> Date: Sat, 04 Jan 2014 11:13:07 +0000
> From: [email protected] (akhiezer)
> To: BLFS Support List <[email protected]>
> Subject: Re: [blfs-support] Destdir installation question
>
> > Date: Sat, 04 Jan 2014 12:29:24 +0200
> > From: Thanos Baloukas <[email protected]>
> > To: BLFS support <[email protected]>
> > Subject: [blfs-support] Destdir installation question
> >
> > I installed libffi-3.0.13 in chroot using destdir method
> > with which I'm not familiar. I did
> >
> > make DESTDIR=${fakeroot} install
> > cd ${fakeroot}
> > sudo bash -c "tar cf - . | (cd / ; tar xf - --no-same-owner)"
> >
> > as the LFS fakeroot hint suggests
> > (I added 'sudo bash -c' and --no-same-owner).
> > That broke compiler because libffi installed it's libs in
> > $DESTDIR/usr/lib64 directory
> > and tar replaced the /usr/lib64 symlink with  the directory.
> > I also tried to do those as root,
> > withought sudo and --no-same-owner, but nothing changed.
> > I added -h (--dereference) option to tar xf and that fixed the problem.
> > Did someone else have that? Will the constant use of -h option to tar
> > cause other problems? Is there another - more reliable maybe - way
> > to place files on / ?
> >
>
>
> You might find useful the summary-discussion & workaround at:
> ----
> Ref: 
> * 
> ftp://ftp.slackware.com/pub/slackware/slackware64-14.1/source/a/tar/tar.SlackBuild
> * ( ftp://ftp.slackware.com/pub/slackware/slackware64-14.1/source/a/tar/ )
> --
> "# This old version is the only one that won't clobber symlinks, e.g.:
>  # someone moves /opt to /usr/opt and makes a symlink.  With newer
>  # versions of tar, installing any new package will remove the /opt
>  # symlink and plop down a new directory there.
>       .
>       .
>               "
> --
> ----
>


 - meant to add: as a general principle, I'd expect you wouldn't want to use 
'-h' systematically; for, in general, I'd expect that if you have symlinks 
in the destdir/tarball, then you'd want to re-create those when you 
un-tar/install. In Slackware, any _extra_, 'special' handling that's 
required for some symlinks, is usually done in the package's 'doinst.sh' 
script - ref e.g. near the end of:
--
* ftp://ftp.slackware.com/pub/slackware/slackware64-14.1/source/a/sysvinit/
--


rgds,
akh





--
-- 
http://linuxfromscratch.org/mailman/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to