#!/bin/sh CWD=`pwd` TMP=/tmp PKG=$TMP/package-yptools VERSION=2.10 ARCH=alpha BUILD=2 YPTOOLS=$VERSION YPBINDMT=1.19.1 YPSERV=2.19 TARGET=$ARCH-alphaslack-linux rm -rf $PKG mkdir -p $PKG echo "+===================+" echo "| yp-tools-$YPTOOLS |" echo "+===================+" ( cd $TMP mkdir -p $PKG/etc # Add etc/nsswitch.conf-nis as a full NIS+ example config file: zcat $CWD/nsswitch.conf-nis.gz > $PKG/etc/nsswitch.conf-nis.new rm -rf yp-tools-$YPTOOLS tar xjf $CWD/yp-tools-$YPTOOLS.tar.bz2 cd yp-tools-$YPTOOLS ./configure \ --prefix=/usr \ --mandir=/usr/man \ --disable-domainname \ $TARGET make || exit make DESTDIR=$PKG install ( cd $PKG/usr/bin rm -rf ypchfn ypchsh ln -sf yppasswd ypchfn ln -sf yppasswd ypchsh ) mv $PKG/var/yp/nicknames $PKG/var/yp/nicknames.new mkdir -p $PKG/usr/doc/yp-tools-$YPTOOLS cp -a ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS TODO $PKG/usr/doc/yp-tools-$YPTOOLS chown -R root:root $PKG/usr/doc/yp-tools-$YPTOOLS chmod 644 $PKG/usr/doc/yp-tools-$YPTOOLS/* echo "+=====================+" echo "| ypbind-mt-$YPBINDMT |" echo "+=====================+" cd $TMP rm -rf ypbind-mt-$YPBINDMT tar xjf $CWD/ypbind-mt-$YPBINDMT.tar.bz2 cd ypbind-mt-$YPBINDMT ./configure \ --prefix=/usr \ $TARGET # Hard to believe how sloppy these tarballs are. This is why I got complaints # that YP didn't work but it was "fixed with a simple recompile." make clean ./configure \ --prefix=/usr \ --mandir=/usr/man \ $TARGET make || exit make DESTDIR=$PKG install mkdir -p $PKG/etc cat etc/yp.conf > $PKG/etc/yp.conf.new mkdir -p $PKG/usr/doc/ypbind-mt-$YPBINDMT cp -a ABOUT-NLS AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS TODO $PKG/usr/doc/ypbind-mt-$YPBINDMT chown root.root $PKG/usr/doc/ypbind-mt-$YPBINDMT/* chmod 644 $PKG/usr/doc/ypbind-mt-$YPBINDMT/* echo "+============+" echo "| ypserv-$YPSERV |" echo "+============+" cd $TMP rm -rf ypserv-$YPSERV tar xjf $CWD/ypserv-$YPSERV.tar.bz2 cd ypserv-$YPSERV ./configure \ --prefix=/usr \ --mandir=/usr/man \ --enable-fqdn \ --enable-yppasswd \ $TARGET make || exit make DESTDIR=$PKG install mv $PKG/var/yp/Makefile $PKG/var/yp/Makefile.new cat etc/securenets > $PKG/var/yp/securenets.new mkdir -p $PKG/etc/rc.d echo "# This file is part of the YP server package -- see 'man netgroup'" > $PKG/etc/netgroup.new cat etc/netgroup >> $PKG/etc/netgroup.new mkdir -p $PKG/usr/doc/ypserv-$YPSERV cp -a AUTHORS COPYING ChangeLog INSTALL NEWS README THANKS TODO $PKG/usr/doc/ypserv-$YPSERV chmod 644 $PKG/usr/doc/ypserv-$YPSERV/* chown root.root $PKG/usr/doc/ypserv-$YPSERV/* zcat $CWD/rc.yp.gz > $PKG/etc/rc.d/rc.yp.new chmod 755 $PKG/etc/rc.d/rc.yp.new ( cd $PKG/usr chown root:bin bin/* sbin/* ) gzip -9 $PKG/usr/man/man?/* ( cd $PKG find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null ) # install script and package description: mkdir -p $PKG/install cat << EOF > $PKG/install/doinst.sh config() { NEW="\$1" OLD="\`dirname \$NEW\`/\`basename \$NEW .new\`" # If there's no config file by that name, mv it over: if [ ! -r \$OLD ]; then mv \$NEW \$OLD elif [ "\`cat \$OLD | md5sum\`" = "\`cat \$NEW | md5sum\`" ]; then # toss the redundant copy rm \$NEW fi # Otherwise, we leave the .new copy for the admin to consider... } config etc/nsswitch.conf-nis.new config etc/netgroup.new config etc/yp.conf.new config etc/rc.d/rc.yp.new config var/yp/nicknames.new config var/yp/Makefile.new config var/yp/securenets.new rm -f etc/nsswitch.conf.new etc/nsswitch.conf-nis.new etc/netgroup.new etc/yp.conf.new var/yp/nicknames.new var/yp/Makefile.new var/yp/securenets.new EOF cat $CWD/slack-desc > $PKG/install/slack-desc cd $PKG makepkg -l y -c n $TMP/yptools-$VERSION-$ARCH-$BUILD.tgz ) 2>&1 | tee $TMP/yptools.build.log