#!/bin/bash # aaa_elflibs.SlackBuild # by Stuart Winter for ARMedslack # 28-Aug-2006 # Wow! This build script is cool - some times I even surprise myself! ;-) # Paths to skeleton port's source & real Slackware source tree: export CWD=$SLACKSOURCE/$PKGSERIES/$PACKAGE export PORTCWD=$PWD # Temporary build locations: export TMPBUILD=$TMP/build-$PACKAGE export PKG=$TMP/package-$PACKAGE mkpkgdirs # Delete and re-create temporary directories # The basic package framework: mkdir -p $PKG/{lib,usr/lib} # Populate the packages list with the file created by 'find_aaaelflibpkgs' PACKAGES="$( awk -F- '{print $1"-[0-9]*-*.tgz"}' < $PORTCWD/x86_slackware_aaa_elflibs_pkg_list.txt | uniq )" # Iterate through the list and extract them into the temporary dir: for i in ${PACKAGES}; do if [ -s $PKGSTORE/$i ]; then echo "Extracting package $PKGSTORE/$i" tar zxvvf $PKGSTORE/$i lib usr/lib install echo -n "Please wait - running install script" ( bash install/doinst.sh ) > /dev/null 2>&1 # we want the symlinks too echo " ... done" else echo "** WARNING: $PKGSTORE/$i not found **" sleep 5 fi done # Grab the .sos and symlinks. # We don't want to copy *everything* out of the packages - only # a few select things. # Deal with /lib: # # Trick - Grab them from the package list: # cat x86_slackware_aaa_elflibs_pkg_list.txt | grep :lib/ ( cd lib # a/acl: cp -favv libacl*.so* $PKG/lib/ # a/attr: cp -favv libattr*.so* $PKG/lib/ # a/bzip2: cp -favv libbz2*.so* $PKG/lib/ # a/gpm: cp -favv libgpm*.so* $PKG/lib/ # a/sysfsutils: cp -favv libsysfs*.so* $PKG/lib/ # ap/dmapi: cp -favv libdm*.so* $PKG/lib/ # l/db*: cp -favv libdb*.so* $PKG/lib # l/libtermcap: cp -favv libtermcap*.so* $PKG/lib # l/ncurses: cp -favv libncurses*.so* $PKG/lib ) # Trick - grab them from the package list: # cat x86_slackware_aaa_elflibs_pkg_list.txt | grep :usr/lib/ # # /usr/lib ( cd usr/lib # a/cups cp -favv libcups*.so* $PKG/usr/lib/ # d/gcc # & testing/packages-gcc-3.3.x: - no because the libgcc names are identical cp -favv libgcc_s*.so* $PKG/usr/lib # l/alsa-lib: cp -favv libasound*.so* $PKG/usr/lib # l/expat: cp -favv libexpat*.so* $PKG/usr/lib # l/freetype: cp -favv libfreetype*.so* $PKG/usr/lib # l/gdbm: cp -favv libgdbm*.so* $PKG/usr/lib # l/glib2: cp -favv libglib*.so* \ libgmodule*.so* \ libgobject*.so* \ libgthread*.so* \ $PKG/usr/lib # l/gmp: cp -favv libgmp*.so* \ libmp*.so* \ $PKG/usr/lib # l/libjpeg: cp -favv libjpeg*.so* $PKG/usr/lib # l/libpng: cp -favv libpng*.so* $PKG/usr/lib # l/libtiff: cp -favv libtiff*.so* $PKG/usr/lib # l/mm: cp -favv libmm*.so* $PKG/usr/lib # l/ncurses: cp -favv libform*.so* \ libmenu*.so* \ libpanel*.so* \ $PKG/usr/lib # l/libusb: cp -favv libusb*.so* $PKG/usr/lib # l/pcre: cp -favv libpcre*.so* $PKG/usr/lib # l/popt: cp -favv libpopt*.so* $PKG/usr/lib # l/readline: cp -favv libhistory*.so* \ libreadline*.so* \ $PKG/usr/lib # l/svgalib: cp -favv libvga*.so* $PKG/usr/lib # l/slang: cp -favv libslang*.so* $PKG/usr/lib # l/zlib: cp -favv libz*.so* $PKG/usr/lib # n/curl: cp -favv libcurl*.so* $PKG/usr/lib ) # For Oracle 10g RAC support: ( cd $PKG/lib for i in ../usr/lib/libgcc* ; do ln -vvfs $i . done ) # If necessary, start the fakeroot server so we can set file/dir ownerships: start_fakeroot # Slackware policies: cd $PKG slackslack # set all files to root.root, chmod -R og-w, slackchown, slack644docs slackdesc # install slack-desc and doinst.sh # Build the package: if [ $PORTARCH = arm ]; then slackmp # run makepkg else makepkg -l y -c n $PKGSTORE/$PKGSERIES/$PACKAGE-$VERSION-$ARCH-$BUILD.tgz fi # Perform any final checks on the package: cd $PKG slackhlinks # search for any hard links echo "Now run a pkgdiff against Slackware's & ARMedslack's package"