diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2010-05-19 08:58:23 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2018-05-31 22:43:05 +0200 |
commit | b76270bf9e6dd375e495fec92140a79a79415d27 (patch) | |
tree | 3dbed78b2279bf9f14207a16dc634b90995cbd40 /source/n/dhcp | |
parent | 5a12e7c134274dba706667107d10d231517d3e05 (diff) | |
download | current-b76270bf9e6dd375e495fec92140a79a79415d27.tar.gz |
Slackware 13.1slackware-13.1
Wed May 19 08:58:23 UTC 2010
Slackware 13.1 x86_64 stable is released!
Lots of thanks are due -- see the RELEASE_NOTES and the rest of the
ChangeLog for credits. The ISOs are on their way to replication,
a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD.
We are taking pre-orders now at store.slackware.com, and offering
a discount if you sign up for a subscription. Consider picking up
a copy to help support the project. Thanks again to the Slackware
community for testing, contributing, and generally holding us to a
high level of quality. :-)
Enjoy!
Diffstat (limited to 'source/n/dhcp')
-rw-r--r-- | source/n/dhcp/dhclient-script.PATH.diff | 13 | ||||
-rwxr-xr-x | source/n/dhcp/dhcp.SlackBuild | 132 | ||||
-rw-r--r-- | source/n/dhcp/doinst.sh | 21 |
3 files changed, 121 insertions, 45 deletions
diff --git a/source/n/dhcp/dhclient-script.PATH.diff b/source/n/dhcp/dhclient-script.PATH.diff new file mode 100644 index 00000000..5dfe9f09 --- /dev/null +++ b/source/n/dhcp/dhclient-script.PATH.diff @@ -0,0 +1,13 @@ +diff -Nur dhcp-4.1.1.orig//client/scripts/linux dhcp-4.1.1/client/scripts/linux +--- dhcp-4.1.1.orig//client/scripts/linux 2009-04-21 09:21:09.000000000 -0500 ++++ dhcp-4.1.1/client/scripts/linux 2010-03-03 09:14:33.261713322 -0600 +@@ -22,6 +22,9 @@ + # 4. TIMEOUT not tested. ping has a flag I don't know, and I'm suspicious + # of the $1 in its args. + ++PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin ++export PATH ++ + # 'ip' just looks too weird. /sbin/ip looks less weird. + ip=/sbin/ip + diff --git a/source/n/dhcp/dhcp.SlackBuild b/source/n/dhcp/dhcp.SlackBuild index 10c211ce..6baf041a 100755 --- a/source/n/dhcp/dhcp.SlackBuild +++ b/source/n/dhcp/dhcp.SlackBuild @@ -1,6 +1,6 @@ #!/bin/sh -# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA +# Copyright 2008, 2009, 2010 Patrick J. Volkerding, Sebeka, MN, USA # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -20,22 +20,38 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -VERSION=3.1.2p1 -ARCH=${ARCH:-x86_64} -BUILD=${BUILD:-1} + +VERSION=${VERSION:-$(echo dhcp-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)} +BUILD=${BUILD:-2} NUMJOBS=${NUMJOBS:-" -j7 "} +# Automatically determine the architecture we're building on: +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) export ARCH=i486 ;; + arm*) export ARCH=arm ;; + # Unless $ARCH is already set, use uname -m for all other archs: + *) export ARCH=$( uname -m ) ;; + esac +fi + CWD=$(pwd) TMP=${TMP:-/tmp} PKG=$TMP/package-dhcp if [ "$ARCH" = "i486" ]; then SLKCFLAGS="-O2 -march=i486 -mtune=i686" + LIBDIRSUFFIX="" elif [ "$ARCH" = "s390" ]; then SLKCFLAGS="-O2" + LIBDIRSUFFIX="" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" fi rm -rf $PKG @@ -43,27 +59,55 @@ mkdir -p $TMP $PKG cd $TMP rm -rf dhcp-$VERSION -tar xvf $CWD/dhcp-$VERSION.tar.gz || exit 1 +tar xvf $CWD/dhcp-$VERSION.tar.?z* || exit 1 cd dhcp-$VERSION || exit 1 -./configure -make DEBUG="$SLKCFLAGS" || exit 1 -make DEBUG="$SLKCFLAGS" install DESTDIR=$PKG || exit 1 +chown -R root:root . +find . \ + \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \ + -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \ + -exec chmod 644 {} \; + +# Add PATH setting to /sbin/dhclient-script +zcat $CWD/dhclient-script.PATH.diff.gz | patch -p1 || exit 1 + +CFLAGS="$SLKCFLAGS" \ +./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --infodir=/usr/info \ + --mandir=/usr/man \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --docdir=/usr/doc/dhcp-$VERSION \ + --build=$ARCH-slackware-linux \ + --with-srv-lease-file=/var/state/dhcp/dhcpd.leases \ + --with-srv6-lease-file=/var/state/dhcp/dhcpd6.leases \ + --with-cli-lease-file=/var/state/dhcp/dhclient.leases \ + --with-cli6-lease-file=/var/state/dhcp/dhclient6.leases +# Default pid dir is still /var/run, so no need to declare it + +make $NUMJOBS || make || exit 1 +make install DESTDIR=$PKG || exit 1 + +# DHCP libraries need not be included, yet. +rm -rf $PKG/usr/{include,lib${LIBDIRSUFFIX}} + +# We need this in /sbin +mkdir -p $PKG/sbin +mv $PKG/usr/sbin/dhclient $PKG/sbin + +# Install the dhclient-script for linux +cat client/scripts/linux > $PKG/sbin/dhclient-script +chmod 700 $PKG/sbin/dhclient-script mkdir -p $PKG/var/state/dhcp -rm -f $PKG/var/state/dhcp/dhcpd.leases -touch $PKG/var/state/dhcp/dhcpd.leases.new - -rm -rf $PKG/usr/local - -mkdir -p $PKG/usr/doc/dhcp-$VERSION -cp -a \ - LICENSE README RELNOTES \ - $PKG/usr/doc/dhcp-$VERSION -mkdir -p $PKG/usr/doc/dhcp-$VERSION/examples -cp -a client/dhclient.conf server/dhcpd.conf \ - $PKG/usr/doc/dhcp-$VERSION/examples -chown -R root:root $PKG/usr/doc/dhcp-$VERSION +# The daemon should create these automatically as needed +#touch $PKG/var/state/dhcp/dhcpd.leases.new +#touch $PKG/var/state/dhcp/dhcpd6.leases.new +#touch $PKG/var/state/dhcp/dhclient.leases.new +#touch $PKG/var/state/dhcp/dhclient6.leases.new cat << EOF > $PKG/etc/dhcpd.conf.new # dhcpd.conf @@ -79,37 +123,35 @@ cat << EOF > $PKG/etc/dhclient.conf.new # EOF -cat client/scripts/linux > $PKG/sbin/dhclient-script -chmod 700 $PKG/sbin/dhclient-script - -gzip -9 $PKG/usr/man/man?/* -find $PKG/usr/man -type f -exec chmod 644 {} \; +# Compress and if needed symlink the man pages: +if [ -d $PKG/usr/man ]; then + ( cd $PKG/usr/man + for manpagedir in $(find . -type d -name "man*") ; do + ( cd $manpagedir + for eachpage in $( find . -type l -maxdepth 1) ; do + ln -s $( readlink $eachpage ).gz $eachpage.gz + rm $eachpage + done + gzip -9 *.? + ) + done + ) +fi find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null +mkdir -p $PKG/usr/doc/dhcp-$VERSION/examples +cp -a \ + LICENSE README RELNOTES \ + $PKG/usr/doc/dhcp-$VERSION +mv $PKG/etc/dhcpd.conf $PKG/etc/dhclient.conf \ + $PKG/usr/doc/dhcp-$VERSION/examples + mkdir -p $PKG/install cat $CWD/slack-desc > $PKG/install/slack-desc -cat << EOF > $PKG/install/doinst.sh -#!/bin/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/dhcpd.conf.new -config etc/dhclient.conf.new -config var/state/dhcp/dhcpd.leases.new -rm -f var/state/dhcp/dhcpd.leases.new -EOF +zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh -# Build the package: cd $PKG /sbin/makepkg -l y -c n $TMP/dhcp-$VERSION-$ARCH-$BUILD.txz diff --git a/source/n/dhcp/doinst.sh b/source/n/dhcp/doinst.sh new file mode 100644 index 00000000..88d284f6 --- /dev/null +++ b/source/n/dhcp/doinst.sh @@ -0,0 +1,21 @@ +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/dhcpd.conf.new +config etc/dhclient.conf.new +#config var/state/dhcp/dhcpd.leases.new +#config var/state/dhcp/dhcpd6.leases.new +#config var/state/dhcp/dhclient.leases.new +#config var/state/dhcp/dhclient6.leases.new +#rm -f var/state/dhcp/*.leases.new + |