HEADS UP: /bin and /sbin are now dynamically linked

Matthew D. Fuller fullermd at over-yonder.net
Wed Nov 26 08:25:28 PST 2003


On Tue, Nov 25, 2003 at 02:17:02PM -0500 I heard the voice of
slave-mike, and lo! it spake thus:
> Would it be possible to get a copy of this script?
> 
> Please! :)

Oh, it's pretty simplistic.  It's actually on a box that's in the closet
right now, but I think this is an older working version:
---
liblist:
    @echo '==> Getting needed libraries'
    -@(cd ${SRCBASE}/bin && ldd ${BINFILES}) > liblist.raw
    -@(cd ${SRCBASE}/sbin && ldd ${SBINFILES}) >> liblist.raw
[ ... similar stuff for other dirs ... ]
    - at grep -v '^[a-z]' liblist.raw | awk '{print $$3}' | sort | uniq \
        | sed 's,^${SRCBASE},,' | sed 's,^/,,' > liblist.cooked
    - at echo >> liblist.cooked
    @tar -cf - -C ${SRCBASE} `cat liblist.cooked` \
        | tar -xvpf - -C ${DSTBASE}
    -@(cd ${SRCBASE}/usr/lib && install -c -m 444 pam_* ${DSTBASE}/usr/lib)
    @echo '<== Done libraries'
---

You'll note that I already manually slipped in the pam_* .so's, which is
one of those additional non-obvious "extra files" things that Garance
mentioned in the other message.  I could probably replace the whole
transformation pipeline with a few lines of actual scripted awk(1); I
just did it all inline in the Makefile because I was lazy.

${SRCBASE} is somewhere I DESTDIR='d an installworld previously, and
${DSTBASE} becomes (as a result of a bunch of other make targets, of
which this is one of the later ones) a dir I can tar up and untar
somewhere as /.


-- 
Matthew Fuller     (MF4839)   |  fullermd at over-yonder.net
Systems/Network Administrator |  http://www.over-yonder.net/~fullermd/

"The only reason I'm burning my candle at both ends, is because I
      haven't figured out how to light the middle yet"


More information about the freebsd-current mailing list