#!/bin/sh RELEASE=$(sed -n "/Mandrake Linux release \([.0-9]*\).*/s//\1/p" < /etc/mandrake-release) PACKAGE="x86-compat-libs-$RELEASE" TMPDIR=/tmp LIBRARIES="ICE PEX5 SM X11 XIE Xaw Xext Xfont Xft Xi Xmu Xmuu Xp Xpm Xrender Xt Xtst Xv Xxf86dga cups dps dpstk psres xrx form menu ncurses panel termcap slang BrokenLocale NoVersion c crypt dl m nsl nss1_compat nss1_nis nss1_files nss1_dns nss1_db nss_compat nss_dns nss_files nss_hesiod nss_nis nss_nisplus pthread resolv rt thread_db util db db1 db2 glib gmodule gthread gtk gdk stdc++ pam pam_misc pwdb proc popt audiofile bz2 GL GLU z crack sasl gdbm gdk_pixbuf gmp mp gsl gpm history readline mng tiff ungif xml png ssl crypto glut pnm utempter lber pbm pgm ppm ldap freetype ttf com_err des425 dyn gssapi_krb5 gssrpc k5crypto kadm5clnt kadm5srv kdb5 krb4 krb5 pty Xaw3d jpeg gtksuperwin gtkxtbin gcc_s nspr4 nss3 odbc odbcinst plc4 plds4 gobject intl lcms png12 softokn3" rm -rf $TMPDIR/$PACKAGE mkdir -p $TMPDIR/$PACKAGE cd $TMPDIR/$PACKAGE function FollowLink() { perl -e '{my $f = shift; $f = readlink $f while (-l $f); print $f, "\n"}' $0 } for lib in $LIBRARIES; do candidates=$(ls /lib/lib$lib.so.* /usr/kerberos/lib/lib$lib.so.* /usr/lib/lib$lib.so.* /usr/X11R6/lib/lib$lib.so.* /lib/lib$lib-[0-9]*.so /usr/lib/lib$lib-[0-9]*.so /usr/X11R6/lib/lib$lib-[0-9]*.so /lib/lib$lib-[0-9]*.so.* /usr/lib/lib$lib-[0-9]*.so.* /usr/X11R6/lib/lib$lib-[0-9]*.so.* 2>/dev/null ||:) echo ">> $lib" for file in $candidates; do if [ -f $file ] && [ ! -L $file ]; then echo $file; libdir=`dirname $file` mkdir -p .$libdir cp $file .$libdir/ fi done if [ -z "$candidates" ]; then candidates=$(ls /lib/lib$lib.so /usr/lib/lib$lib.so /usr/X11R6/lib/lib$lib.so 2>/dev/null ||:) for file in $candidates; do if [ -f $file ] && [ ! -L $file ]; then echo "alt: $file"; libdir=`dirname $file` mkdir -p .$libdir cp $file .$libdir/ fi done fi done # Get all libdirs parsed LIBDIRS=$(find . -type d -name lib) # Remove broken links for libdir in $LIBDIRS; do (cd $libdir; for lib in $(find . -type l -maxdepth 1); do target=`FollowLink $lib` if [ ! -f "$target" ]; then echo "Remove broken symlink $lib" rm -f $lib fi done ) done # We don't need the ncurses 3 things anymore... for libdir in $LIBDIRS; do rm -fv $libdir/lib*.1.9.9* strip -R .comment $libdir/* || : done # Create the soname links for libdir in $LIBDIRS; do chmod +x $libdir/lib*.so.* /sbin/ldconfig -n -N -v $libdir done # We need a linker too mkdir loader cp /lib/ld-linux.so.2 loader/ cd .. tar jcvf $PACKAGE.tar.bz2 $PACKAGE