diff options
-rw-r--r-- | scripts/Makefile | 1 | ||||
-rwxr-xr-x | scripts/scrubtree | 15 | ||||
-rwxr-xr-x | scripts/upd-instroot | 15 |
3 files changed, 18 insertions, 13 deletions
diff --git a/scripts/Makefile b/scripts/Makefile index 979698b88..028f08379 100644 --- a/scripts/Makefile +++ b/scripts/Makefile @@ -6,5 +6,6 @@ install: install -m 755 upd-instroot $(DESTDIR)/$(RUNTIMEDIR) install -m 755 mk-images* $(DESTDIR)/$(RUNTIMEDIR) install -m 755 buildinstall $(DESTDIR)/$(RUNTIMEDIR) + install -m 755 scrubtree $(DESTDIR)/$(RUNTIMEDIR) depend: diff --git a/scripts/scrubtree b/scripts/scrubtree new file mode 100755 index 000000000..61a3ff77c --- /dev/null +++ b/scripts/scrubtree @@ -0,0 +1,15 @@ +#!/bin/bash -x + +p=$1 + +# Must create ld.so.conf, because ldconfig does not cache +# dirs specified on the command line. +touch $p/etc/ld.so.conf +[ -d $p/usr/X11R6/lib ] && echo /usr/X11R6/lib > $p/etc/ld.so.conf +(cd $p; chroot $p usr/sbin/ldconfig ) +rm -f $p/usr/sbin/ldconfig $p/etc/ld.so.conf + +for l in `find $p -type f -perm +100 | grep -v "usr/X11R6/lib/modules" | xargs file | sed -n 's/^\([^:]*\):.*ELF.*$/\1/p'`; do + $STRIP $l -R .comment -R .note `objdump -h $l | \ + sed -n 's/^.*\(\.gnu\.warning\.[^ ]*\) .*$/-R \1/p'` +done diff --git a/scripts/upd-instroot b/scripts/upd-instroot index 34457da0f..74de9cd9d 100755 --- a/scripts/upd-instroot +++ b/scripts/upd-instroot @@ -467,7 +467,6 @@ for p in $DEST $DESTGR; do mv $p/usr/lib/anaconda-runtime/lib* $p/usr/lib mv $p/usr/lib/anaconda-runtime/collage $p/usr/bin - (cd $p/usr/bin; ./collage | $p/usr/lib/anaconda-runtime/mkcollagelinks ./collage) find $p -type d | xargs chmod 755 @@ -485,24 +484,14 @@ for p in $DEST $DESTGR; do rm -rf $p/boot $p/home $p/root $p/tmp - # Must create ld.so.conf, because ldconfig does not cache - # dirs specified on the command line. - touch $p/etc/ld.so.conf - [ -d $p/usr/X11R6/lib ] && echo /usr/X11R6/lib > $p/etc/ld.so.conf - (cd $p; chroot $p usr/sbin/ldconfig ) - rm -f $p/usr/sbin/ldconfig $p/etc/ld.so.conf - find $p -name "*.a" | grep -v "usr/X11R6/lib/modules" | xargs rm -rf - for l in `find $p -type f -perm +100 | grep -v "usr/X11R6/lib/modules" | xargs file | sed -n 's/^\([^:]*\):.*ELF.*$/\1/p'`; do - $STRIP $l -R .comment -R .note `objdump -h $l | \ - sed -n 's/^.*\(\.gnu\.warning\.[^ ]*\) .*$/-R \1/p'` - done - (cd /usr/share/zoneinfo; find . -type f -or -type l | grep '^./[A-Z]' | sort | sed 's/^..//' | gzip -9) > $p/usr/lib/timezones.gz + REALPATH=`(cd $p; /bin/pwd)` + runroot dist-7.0 --arch $ARCH "cd $REALPATH\; usr/lib/anaconda-runtime/scrubtree $REALPATH" echo -n -e "\rScrubbing trees..." "$(echo $p | sed 's/./ /g')" done |