> 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
