Question @ 10,000 feet

armencho at gmail.com armencho at gmail.com
Wed Nov 19 05:18:11 PST 2008


DESTDIR is not used so very often outside the software written by the
more responsible people, like folks at FSF (who write most of GNU
software).

I am specifically referring to the myriad of software packages which
you, as a LFS user will be compiling to run in userspace after you are
done with the core packages that comprise your system. Small little
things written by people you do not know, with limited time on their
hands. Betting on DESTDIR support then is not a very wise decision
IMHO, at least because you essentially trust that a responsible
programmer will implement the DESTDIR functionality into their
'./configure && make && make install" scripts, but chances are they
either did not, or would not.

If I am not mistaken, the Hints Project
(http://www.linuxfromscratch.org/hints/list.html) outlines some of the
more stable but simple package management techniques, which have a lot
to do with what you want to achieve: see which files the 'make
install' routine actually installs.

My favourite is using a UnionFS filesystem, which will use the root
filesystem as read-only snapshot, and transparently writing all
filesystem updates to another filesystem, which afterwards essentially
will show the exact changes the package installation caused. It is
like two transparent layers on top of each other, where when reading
the bottom layer is read, but writing involves top layer only, and you
can see exactly what is imposed on the 'background'. Afterwards you
can just pack the whole directory full of changes, and you got
yourself a package.

But there are other very good packaging techniques. Unix/GNU/Linux is
a blessing, because it is the multitude of these little smart tools,
that together make so much possible ;-)

On Wed, Nov 19, 2008 at 9:45 AM, Alan Lord <alanslists at gmail.com> wrote:
> Alexander Haley wrote:
> <snip />
>> Basically, the fundamental thing that bugs me is ... I type 'make
>> install' and scads of files arrive on the file system ... and I really
>> don't quite know their role, purpose or importance ... Do I really
>> need to know the purpose of each and every library file that is
>> installed? Probably not .. but, I am irked that I'm typing 'make
>> install' and just crossing my fingers that the system is getting it
>> right .... (of course the system often gets it right .. but does it
>> teach me? no. or at least, not yet.)
>
> Here's a way (hopefully) to help you understand what is being installed
> at least.
>
> Use the DESTDIR* prefix with make install:
> http://www.gnu.org/prep/standards/html_node/DESTDIR.html
>
> So you can create a ~/tmp/packages area or some such, and install the
> package into there first. You can then see which files are really
> installed (for many, I think you'll find a lot are text files, e.g.
> docs, man pages, config files etc...).
>
> Another really useful tool for viewing all this stuff is the "tree"
> command which can display the contents of your installed package in a
> nice, well, tree fashion ;-)
>
> Finding the source for tree can be tricky but a few pages down in Google
> I came across this link: ftp://mama.indstate.edu/linux/tree/ for it.
>
> (Of course you could try installing it with the DESTDIR variable and
> check what it does before installing properly.
>
> * I gather that DESTDIR is not supported by *all* packages but by most.
> (An alternative is to do a build changing the "--prefix=/path" switch on
> your first configure run. But then you will need to rebuild again when
> you are happy.
>
> The advantage of DESTDIR is it doesn't require you to change the
> "--prefix" switch.
>
> HTH
>
> Alan
>
> --
> http://linuxfromscratch.org/mailman/listinfo/lfs-support
> FAQ: http://www.linuxfromscratch.org/lfs/faq.html
> Unsubscribe: See the above information page
>



More information about the lfs-support mailing list