summaryrefslogtreecommitdiffstats
path: root/source/n/dhcpcd
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2009-08-26 10:00:38 -0500
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:41:17 +0200
commit5a12e7c134274dba706667107d10d231517d3e05 (patch)
tree55718d5acb710fde798d9f38d0bbaf594ed4b296 /source/n/dhcpcd
downloadcurrent-5a12e7c134274dba706667107d10d231517d3e05.tar.gz
current-5a12e7c134274dba706667107d10d231517d3e05.tar.xz
Slackware 13.0slackware-13.0
Wed Aug 26 10:00:38 CDT 2009 Slackware 13.0 x86_64 is released as stable! Thanks to everyone who helped make this release possible -- see the RELEASE_NOTES for the credits. The ISOs are off to the replicator. This time it will be a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. We're taking pre-orders now at store.slackware.com. Please consider picking up a copy to help support the project. Once again, thanks to the entire Slackware community for all the help testing and fixing things and offering suggestions during this development cycle. As always, have fun and enjoy! -P.
Diffstat (limited to 'source/n/dhcpcd')
-rw-r--r--source/n/dhcpcd/COPYRIGHT26
-rwxr-xr-xsource/n/dhcpcd/dhcpcd.SlackBuild114
-rw-r--r--source/n/dhcpcd/dhcpcd.vararg.diff30
-rw-r--r--source/n/dhcpcd/patches/config.h.diff17
-rw-r--r--source/n/dhcpcd/patches/dhcpcd.8.in.diff12
-rw-r--r--source/n/dhcpcd/patches/dhcpcd.sh.diff17
-rw-r--r--source/n/dhcpcd/slack-desc19
7 files changed, 235 insertions, 0 deletions
diff --git a/source/n/dhcpcd/COPYRIGHT b/source/n/dhcpcd/COPYRIGHT
new file mode 100644
index 000000000..07d9e683b
--- /dev/null
+++ b/source/n/dhcpcd/COPYRIGHT
@@ -0,0 +1,26 @@
+/*
+ * dhcpcd - DHCP client daemon
+ * Copyright 2006-2008 Roy Marples <roy@marples.name>
+ * All rights reserved
+
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
diff --git a/source/n/dhcpcd/dhcpcd.SlackBuild b/source/n/dhcpcd/dhcpcd.SlackBuild
new file mode 100755
index 000000000..409118746
--- /dev/null
+++ b/source/n/dhcpcd/dhcpcd.SlackBuild
@@ -0,0 +1,114 @@
+#!/bin/sh
+
+# Copyright 2008, 2009 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+VERSION=${VERSION:-3.2.3}
+ARCH=${ARCH:-x86_64}
+BUILD=${BUILD:-1}
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-dhcpcd
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+fi
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+rm -rf dhcpcd-$VERSION
+tar xvf $CWD/dhcpcd-$VERSION.tar.bz2 || exit 1
+cd dhcpcd-$VERSION
+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 {} \;
+
+# This changes the default locations where *.pid and other files are
+# written - instead of various locations, use /etc/dhcpc
+# The latter directory was long traditional, and (more importantly)
+# you can't be sure that /var is mounted yet when dhcpcd is invoked.
+zcat $CWD/patches/config.h.diff.gz | patch -p1 || exit 1
+
+# Fixup the sample dhcpcd.sh script to reflect our changes
+zcat $CWD/patches/dhcpcd.sh.diff.gz | patch -p1 || exit 1
+
+# Fix a typo in the manpage
+zcat $CWD/patches/dhcpcd.8.in.diff.gz | patch -p1 || exit 1
+
+# Disable zeroconf support
+# I'm not sure if this is necessary, to be honest. If we do this though,
+# I think we'll want to edit the man page to remove references to it.
+#sed -i 's%#define ENABLE_IPV4LL%#undef ENABLE_IPV4LL%' config.h
+
+# Fix segfaulting on x86_64. Apparently i?86 is more forgiving
+#zcat $CWD/dhcpcd.vararg.diff.gz | patch -p1 --verbose || exit 1
+
+CFLAGS="$SLKCFLAGS" \
+ make INFODIR=/etc/dhcpc || exit 1
+
+# We'll install this manually, as the only thing "make install" actually
+# installs is the executable and the man page, and the man page goes to
+# the wrong place :-)
+mkdir -p $PKG/sbin
+cp -a dhcpcd $PKG/sbin
+
+mkdir -p $PKG/usr/man/man8
+gzip -9c dhcpcd.8 > $PKG/usr/man/man8/dhcpcd.8.gz
+
+# This script (or its equivalent) has been installed non-executable for
+# several dhcpcd releases leading me to believe this is intentional on the
+# part of the developers. Indeed, the script is called a "sample" in the
+# included comments, and there's been at least one security issue related
+# to its use in the past, so it's probably a safer bet to not install it so
+# that it works "out of the box". However, making it non-executable is not
+# the best solution for this as it leads to error messages in the system
+# logs which I hear about from time to time. Instead, we'll make it
+# executable, but will give it a suffix of -sample so that dhcpcd won't
+# attempt to run it unless the admin specifically configure it to do so.
+# As far as I can tell it does nothing more than add some extra verbosity
+# to the logs anyway, and rc.inet1 already does that. There's really no
+# need that I can see to enable the script.
+mkdir -p $PKG/etc/dhcpc
+cp -a dhcpcd.sh $PKG/etc/dhcpc/dhcpcd.sh-sample
+chmod 755 $PKG/etc/dhcpc/dhcpcd.sh-sample
+
+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/dhcpcd-$VERSION
+cp -a README $PKG/usr/doc/dhcpcd-$VERSION
+zcat $CWD/COPYRIGHT.gz > $PKG/usr/doc/dhcpcd-$VERSION/COPYRIGHT
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/dhcpcd-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/source/n/dhcpcd/dhcpcd.vararg.diff b/source/n/dhcpcd/dhcpcd.vararg.diff
new file mode 100644
index 000000000..b3ac81ca5
--- /dev/null
+++ b/source/n/dhcpcd/dhcpcd.vararg.diff
@@ -0,0 +1,30 @@
+--- dhcpcd-2.0.8.orig/src/logger.c 2008-11-07 00:10:23.000000000 +0000
++++ dhcpcd-2.0.8/src/logger.c 2008-11-07 00:13:46.000000000 +0000
+@@ -46,21 +46,25 @@
+ {
+ va_list p;
+ va_list p2;
++ va_list p3;
+ FILE *f = stderr;
+
+ va_start(p, fmt);
+ va_copy(p2, p);
++ va_copy(p3, p);
+ /* The default to send debug to stderr is just WAY too much console noise, IMHO */
+ if(!Daemonized && strcmp(syslog_level_msg[level],"Info")) {
+ f = stdout;
+ /* fprintf(f, "%s, ", syslog_level_msg[level]); */
+ vfprintf(f, fmt, p);
+ fputc('\n', f);
+- vsyslog(level, fmt, p);
++ vsyslog(level, fmt, p2);
+ }
+ if ( level <= LogLevel )
+- vsyslog(level, fmt, p2);
++ vsyslog(level, fmt, p3);
+ va_end(p);
++ va_end(p2);
++ va_end(p3);
+ }
+
+ // vim: set ts=4 :
diff --git a/source/n/dhcpcd/patches/config.h.diff b/source/n/dhcpcd/patches/config.h.diff
new file mode 100644
index 000000000..7bdefb600
--- /dev/null
+++ b/source/n/dhcpcd/patches/config.h.diff
@@ -0,0 +1,17 @@
+diff -Nur dhcpcd-3.2.3.orig/config.h dhcpcd-3.2.3/config.h
+--- dhcpcd-3.2.3.orig/config.h 2008-02-25 02:28:19.000000000 -0600
++++ dhcpcd-3.2.3/config.h 2009-03-06 14:55:01.998436374 -0600
+@@ -71,10 +71,10 @@
+
+ #define OPENNTPFILE ETCDIR "/ntpd.conf"
+
+-#define DEFAULT_SCRIPT ETCDIR "/" PACKAGE ".sh"
++#define DEFAULT_SCRIPT INFODIR "/" PACKAGE ".sh"
+
+-#define STATEDIR "/var"
+-#define PIDFILE STATEDIR "/run/" PACKAGE "-%s.pid"
++#define STATEDIR INFODIR
++#define PIDFILE INFODIR "/" PACKAGE "-%s.pid"
+
+ #ifndef INFODIR
+ # define INFODIR "/var/lib/dhcpcd"
diff --git a/source/n/dhcpcd/patches/dhcpcd.8.in.diff b/source/n/dhcpcd/patches/dhcpcd.8.in.diff
new file mode 100644
index 000000000..7486c769a
--- /dev/null
+++ b/source/n/dhcpcd/patches/dhcpcd.8.in.diff
@@ -0,0 +1,12 @@
+diff -Nur dhcpcd-3.2.3.orig/dhcpcd.8.in dhcpcd-3.2.3/dhcpcd.8.in
+--- dhcpcd-3.2.3.orig/dhcpcd.8.in 2008-02-25 02:28:19.000000000 -0600
++++ dhcpcd-3.2.3/dhcpcd.8.in 2009-03-06 19:36:02.207109931 -0600
+@@ -117,7 +117,7 @@
+ up, down or new depending on the state of
+ .Nm .
+ .Nm
+-ignores the exist code of the script.
++ignores the exit code of the script.
+ .Ss Fine tuning
+ You can fine tune the behaviour of
+ .Nm
diff --git a/source/n/dhcpcd/patches/dhcpcd.sh.diff b/source/n/dhcpcd/patches/dhcpcd.sh.diff
new file mode 100644
index 000000000..290665a98
--- /dev/null
+++ b/source/n/dhcpcd/patches/dhcpcd.sh.diff
@@ -0,0 +1,17 @@
+--- a/dhcpcd.sh 2009-03-06 19:22:41.247171672 -0600
++++ b/dhcpcd.sh 2009-03-06 19:24:19.186014526 -0600
+@@ -1,10 +1,10 @@
+ #!/bin/sh
+ #
+-# This is a sample /etc/dhcpcd.sh script.
+-# /etc/dhcpcd.sh script is executed by dhcpcd daemon
++# This is a sample /etc/dhcpc/dhcpcd.sh script.
++# /etc/dhcpc/dhcpcd.sh script is executed by dhcpcd daemon
+ # any time it configures or shuts down interface.
+-# The following parameters are passed to dhcpcd.exe script:
+-# $1 = HostInfoFilePath, e.g "/var/lib/dhcpcd/dhcpcd-eth0.info"
++# The following parameters are passed to the dhcpcd.sh script:
++# $1 = HostInfoFilePath, e.g "/etc/dhcpc/dhcpcd-eth0.info"
+ # $2 = "up" if interface has been configured with the same
+ # IP address as before reboot;
+ # $2 = "down" if interface has been shut down;
diff --git a/source/n/dhcpcd/slack-desc b/source/n/dhcpcd/slack-desc
new file mode 100644
index 000000000..04859d7cb
--- /dev/null
+++ b/source/n/dhcpcd/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+dhcpcd: dhcpcd (DHCP client daemon)
+dhcpcd:
+dhcpcd: The DHCP client program dhcpcd is used to connect to a network by
+dhcpcd: contacting a DHCP server. dhcpcd gets an IP address and other
+dhcpcd: information from a corresponding DHCP server, configures the network
+dhcpcd: interface automatically, and tries to renew the lease time according
+dhcpcd: to RFC2131 or RFC1541 depending on the command line option.
+dhcpcd:
+dhcpcd:
+dhcpcd:
+dhcpcd: