[Buildroot] Analysis of build failures

Thomas De Schampheleire patrickdepinguin at gmail.com
Sat Jan 23 14:26:13 UTC 2016


On Jan 23, 2016 2:56 PM, "Ricardo Martincoski" <
ricardo.martincoski at gmail.com> wrote:
>
> On Sat, Jan 23, 2016 at 11:03 AM, Thomas De Schampheleire <
patrickdepinguin at gmail.com> wrote:
>
> > from: Thomas De Schampheleire <patrickdepinguin at gmail.com>
> > date: Sat, Jan 23 02:03 PM +01:00 2016
> > to: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
> > cc: buildroot at busybox.net, berndkuhls at hotmail.com, Ricardo Martincoski <
ricardo.martincoski at gmail.com>
> > subject: Re: [Buildroot] Analysis of build failures
> >
> > On Jan 23, 2016 1:56 PM, "Thomas Petazzoni" <
> > thomas.petazzoni at free-electrons.com> wrote:
> >>
> >> Ricardo,
> >>
> >> First of all, thanks a lot for this great investigation! Definitely
> >> very useful!
> >>
> >> On Sat, 23 Jan 2016 10:33:20 -0200, Ricardo Martincoski wrote:
> >>
> >> > This error occurs when applying a patch that changes a file with
spaces
> >> > in the name.
> >> > When applying a patch generated by diff v3.3 (the newest version
[2]),
> >> > the tool patch needs to be version 2.7 or any later to ensure any
patch
> >> > will be applied.
> >> > libsoil is the only package today that patches a file with space in
the
> >> > name.
> >>
> >> Aah, this explains the problem. My build server has patch version 2.6.
> >>
> >> > Solution 1: Add patch >= 2.7 as prerequisite to the manual (patch
v2.7
> >> > is from 2012 [2]).
> >> > http://patchwork.ozlabs.org/patch/572097/
> >>
> >> Not really acceptable, as we want to support old distros. Especially
> >> when this is really needed only for one package.
>
> Ok. I changed the state of this patch to Rejected.
> >>
> >> > Solution 2: Add patch >= 2.5.9 as prerequisite to the manual (patch
> >> > v2.5.9 is from 2004 [2]), address on the manual
> >> > 'Format and licensing of the package patches' the workaround needed
when
> >> > a file changed by a patch has spaces in its name, apply the
workaround
> >> > to libsoil (either use diff 3.2 or manually remove the quotes from
the
> >> > filename inside the patch).
> >>
> >> Seems like the best solution. Can you cook such patches (both to the
> >> manual, and the change to libsoil) ?
>
> Yes. No problem.
> >>
> >> BTW, why would we need to require patch >= 2.5.9 ? Just to support file
> >> name with spaces ?
>
> Yes.
> >>
> >> > Solution 3: Create host-patch. Almost every package would depend on
it.
> >> > I don't known if it would be feasible since gcc has patches.
> >>
> >> We only build gcc for the target, so we could certainly build
> >> host-patch. However, this really seems overkill to solve the problem of
> >> just one package, for which there is a separate solution (your solution
> >> 2).
> >>
> >> Thanks again for your investigation. I'm looking forward to seeing your
> >> patches implementing solution (2).
> >
> > What happens if you first make a symlink alternate_makefile ->
'alternate
> > makefile' and apply the patch on the link? Will patch modify the linked
> > file?
>
> I tested using patch 2.6.
> Unfortunately patch breaks the symlink, so I end up with
alternate_makefile
> patched but 'alternate makefile' remains unpatched.

I guess a hard link would work here, then. Care to try?

Thanks,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160123/b3b10ee8/attachment-0002.html>


More information about the buildroot mailing list