#Maintainer: Thorsten Muehlfelder pkgname=spkg-pkgtools pkgver=1.0rc13 pkgrel=1tm source=("http://spkg.megous.com/dl/releases/spkg-$pkgver.tar.gz" "get-new-src.sh" "http://thenktor.dyndns.org/packages/a/$pkgname/pkgtools-13.0.src.tar.gz" "http://thenktor.dyndns.org/packages/a/$pkgname/setup.services" "update-icon-cache.patch") url="http://spkg.megous.com/index.php" options=("tgz") slackdesc=\ ( #|-----handy-ruler------------------------------------------------------| "$pkgname - package manager" "spkg is implemented in C and optimized for speed. This package" "contains wrapper script for original Slackware tools installpkg," "upgradepkg and removepkg." ) build() { # ### spkg section # cd $startdir/src/spkg-${pkgver} patch -p1 < $startdir/src/update-icon-cache.patch || exit 1 ./configure --prefix=/usr --libdir=/usr/lib${LIBDIRSUFFIX} --mandir=/usr/man --enable-static || return 1 make || return 1 make DESTDIR=$startdir/pkg install # prepare directories for lib preload mkdir -p $startdir/pkg/usr/lib${LIBDIRSUFFIX}/spkg/bin mkdir -p $startdir/pkg/usr/lib${LIBDIRSUFFIX}/spkg/preload # copy preloaded libs to the package cd $startdir/pkg/usr/bin/ cp `ldd spkg | grep libpopt | awk '{print $3}'` $startdir/pkg/usr/lib${LIBDIRSUFFIX}/spkg/preload || return 1 cp `ldd spkg | grep libglib | awk '{print $3}'` $startdir/pkg/usr/lib${LIBDIRSUFFIX}/spkg/preload || return 1 cp `ldd spkg | grep libJudy | awk '{print $3}'` $startdir/pkg/usr/lib${LIBDIRSUFFIX}/spkg/preload || return 1 cp `ldd spkg | grep libz | awk '{print $3}'` $startdir/pkg/usr/lib${LIBDIRSUFFIX}/spkg/preload || return 1 # move spkg to new dir mv $startdir/pkg/usr/bin/spkg $startdir/pkg/usr/lib${LIBDIRSUFFIX}/spkg/bin/ || return 1 # preload wrapper script mkdir -p $startdir/pkg/sbin if [ ${LIBDIRSUFFIX} = 64 ]; then cat << "EOF" > $startdir/pkg/sbin/spkg || return 1 #!/bin/sh LD_LIBRARY_PATH=/usr/lib64/spkg/preload /usr/lib64/spkg/bin/spkg "$@" exit $? EOF else cat << "EOF" > $startdir/pkg/sbin/spkg || return 1 #!/bin/sh LD_LIBRARY_PATH=/usr/lib/spkg/preload /usr/lib/spkg/bin/spkg "$@" exit $? EOF fi # pkgtools wrapper scripts cat << "EOF" > $startdir/pkg/sbin/installpkg #!/bin/sh /sbin/spkg -i "$@" exit $? EOF cat << "EOF" > $startdir/pkg/sbin/upgradepkg #!/bin/sh /sbin/spkg -u "$@" exit $? EOF cat << "EOF" > $startdir/pkg/sbin/removepkg #!/bin/sh /sbin/spkg -d "$@" exit $? EOF # make wrapper scripts executable chmod 755 $startdir/pkg/sbin/* # ### pkgtools section # cd $startdir/src/pkgtools # Install Slackware script manpages: cd manpages mkdir -p $startdir/pkg/usr/man/man8 for page in installpkg.8 upgradepkg.8 removepkg.8 ; do sed -i 's#installpkg#slack-installpkg#' $page sed -i 's#upgradepkg#slack-upgradepkg#' $page sed -i 's#removepkg#slack-removepkg#' $page cat $page | gzip -9c > $startdir/pkg/usr/man/man8/slack-$page.gz done for page in explodepkg.8 makepkg.8 pkgtool.8 ; do sed -i 's#installpkg#slack-installpkg#' $page sed -i 's#upgradepkg#slack-upgradepkg#' $page sed -i 's#removepkg#slack-removepkg#' $page cat $page | gzip -9c > $startdir/pkg/usr/man/man8/$page.gz done cd .. # Install Slackware scripts: cd scripts # Install the core Slackware package tools: mkdir -p $startdir/pkg/sbin for file in installpkg removepkg upgradepkg ; do sed -i 's#installpkg#slack-installpkg#' $file sed -i 's#upgradepkg#slack-upgradepkg#' $file sed -i 's#removepkg#slack-removepkg#' $file cp -a $file $startdir/pkg/sbin/slack-$file done for file in explodepkg makebootdisk makepkg pkgtool ; do sed -i 's#installpkg#slack-installpkg#' $file sed -i 's#upgradepkg#slack-upgradepkg#' $file sed -i 's#removepkg#slack-removepkg#' $file cp -a $file $startdir/pkg/sbin done chown root:root $startdir/pkg/sbin/* chmod 755 $startdir/pkg/sbin/* # These scripts are used during the installation: mkdir -p $startdir/pkg/var/log/setup/tmp chmod 700 $startdir/pkg/var/log/setup/tmp for file in setup.* ; do sed -i 's#installpkg#slack-installpkg#' $file sed -i 's#upgradepkg#slack-upgradepkg#' $file sed -i 's#removepkg#slack-removepkg#' $file cp -a $file $startdir/pkg/var/log/setup done # use our own setup.services script cd $startdir/src/ mv setup.services $startdir/pkg/var/log/setup/ || return 1 # chown & chmod chown root:root $startdir/pkg/var/log/setup/setup.* chmod 755 $startdir/pkg/var/log/setup/setup.* }