#!/bin/bash # portmap.SlackBuild # Heavily based on the original Slackware build script, # Modified by Stuart Winter for the Slackware porting Project. # 09-Jul-2004 # Record toolchain & other info for the build log: slackbuildinfo # 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 & re-create temporary directories then cd into $TMPBUILD # Determine the CFLAGS for the known architectures: case $PORTARCH in arm) export SLKCFLAGS="-O2 -march=armv3 -mtune=xscale" ;; powerpc) export SLKCFLAGS="-O2" ;; sparc) export SLKCFLAGS="-O2" ;; hppa) export SLKCFLAGS="-O2" ;; *) export SLKCFLAGS="-O2" ;; esac # Extract source: tar zxvvf $CWD/${PACKAGE}_5.tar.gz # the version is '5.0' but the source name '5' cd $PACKAGE* slackhousekeeping # Create package framework: mkdir -pm755 $PKG/{usr/{sbin,doc/$PACKAGE-$VERSION,man/man8},sbin,etc/rc.d} # Apply Patches: #zcat $CWD/portmap_5-2.1.diff.gz | patch -p1 --backup --verbose --suffix=.orig || failpatch # Apply a newer Debian patch: zcat $PORTCWD/sources/portmap_5-20.diff.gz | patch -p1 --verbose || failpatch # Build: make || failmake # Install components into the package: install -m755 portmap $PKG/sbin/rpc.portmap install -m755 pmap_dump pmap_set $PKG/usr/sbin install -m644 *.8 $PKG/usr/man/man8 ( cd $PKG/usr/man/man8 ; ln -sf portmap.8 rpc.portmap.8 ) # Add a recent version of /etc/rpc for good measure (/etc/rpc comes from glibc): if [ -r /etc/rpc ]; then cp -favv /etc/rpc $PKG/etc/rpc else echo "WARNING: no /etc/rpc on this system, can't include!" echo -n "hit enter..." read errorfodder echo fi # Install rc: zcat $CWD/rc.rpc.gz > $PKG/etc/rc.d/rc.rpc.new # Off by default. chmod 644 $PKG/etc/rc.d/rc.rpc.new # Install docs: cp -favv BLURB CHANGES README \ $PKG/usr/doc/$PACKAGE-$VERSION # If necessary, start the fakeroot server so we can set file/dir ownerships: start_fakeroot # Apply generic Slackware packaging policies: cd $PKG slackstripall # strip all .a archives and all ELFs slackgzpages -i # compress man & info pages and delete usr/info/dir slackslack # chown -R 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