[OE-core] [OE-Core][PATCH 07/13] musl: Ensure GLIBC_LDSO symlink target does not exist on reinstall

Richard Purdie richard.purdie at linuxfoundation.org
Sat Dec 15 11:00:26 UTC 2018


On Fri, 2018-12-14 at 11:09 -0800, Andre McCurdy wrote:
> On Fri, Dec 14, 2018 at 9:57 AM Serhey Popovych
> <serhe.popovych at gmail.com> wrote:
> > Otherwise do_install task will fail on rebuild.
> > 
> > Signed-off-by: Serhey Popovych <serhe.popovych at gmail.com>
> > ---
> >  meta/recipes-core/musl/musl_git.bb | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/meta/recipes-core/musl/musl_git.bb b/meta/recipes-
> > core/musl/musl_git.bb
> > index 9cc875c..4593cde 100644
> > --- a/meta/recipes-core/musl/musl_git.bb
> > +++ b/meta/recipes-core/musl/musl_git.bb
> > @@ -61,7 +61,7 @@ do_install() {
> >         oe_runmake install DESTDIR='${D}'
> > 
> >         install -d ${D}${bindir}
> > -       rm -f ${D}${bindir}/ldd
> > +       rm -f ${D}${bindir}/ldd ${D}${GLIBC_LDSO}
> 
> The correct fix here is actually to remove this line entirely. The
> official ruling is that there should be no expectation that re-
> running do_install should work and patches to make it work are not
> acceptable.
> 
>   
> http://lists.openembedded.org/pipermail/openembedded-core/2018-September/273723.html

Lets be clear, re-running the do_install task *is* supported and works
today. It is actually meant to work when re-run. do_install clears out
${D} at its start so we can assume in do_install functions that it is
empty at the start of the function.

The only problem may be if you're manually re-running the do_install
script in WORKDIR/temp. If you're doing that, you have other problems
like the missing fakeroot environment to handle so the non-empty
directory is only one minor issue, you're missing other setup pieces as
well.

Cheers,

Richard





More information about the Openembedded-core mailing list