summaryrefslogtreecommitdiffstats
path: root/source/n/dnsmasq
diff options
context:
space:
mode:
Diffstat (limited to 'source/n/dnsmasq')
-rwxr-xr-xsource/n/dnsmasq/dnsmasq.SlackBuild31
-rw-r--r--source/n/dnsmasq/dnsmasq.leasedir.diff30
-rw-r--r--source/n/dnsmasq/doinst.sh16
3 files changed, 54 insertions, 23 deletions
diff --git a/source/n/dnsmasq/dnsmasq.SlackBuild b/source/n/dnsmasq/dnsmasq.SlackBuild
index 170cfab47..7b89d3efd 100755
--- a/source/n/dnsmasq/dnsmasq.SlackBuild
+++ b/source/n/dnsmasq/dnsmasq.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
@@ -21,11 +21,21 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-VERSION=2.49
-ARCH=${ARCH:-x86_64}
-NUMJOBS=${NUMJOBS:-" -j7 "}
+VERSION=${VERSION:-$(echo dnsmasq-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
+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-dnsmasq
@@ -34,7 +44,7 @@ rm -rf $PKG
mkdir -p $TMP $PKG
cd $TMP
rm -rf dnsmasq-$VERSION
-tar xvf $CWD/dnsmasq-$VERSION.tar.bz2 || exit 1
+tar xvf $CWD/dnsmasq-$VERSION.tar.?*z || exit 1
cd dnsmasq-$VERSION || exit 1
chown -R root:root .
find . \
@@ -45,6 +55,7 @@ find . \
zcat $CWD/dnsmasq.leasedir.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+# Default CFLAGS are "-W -Wall -O2" - that's good enough.
make $NUMJOBS all-i18n PREFIX=/usr MANDIR=/usr/man || exit 1
make install-i18n PREFIX=/usr DESTDIR=$PKG MANDIR=/usr/man || exit 1
chmod 0755 $PKG/usr/sbin/dnsmasq
@@ -77,9 +88,17 @@ zcat $CWD/rc.dnsmasq.gz > $PKG/etc/rc.d/rc.dnsmasq.new
mkdir -p $PKG/usr/doc/dnsmasq-$VERSION
cp -a \
- CHANGELOG COPYING FAQ doc.html setup.html \
+ COPYING FAQ doc.html setup.html \
$PKG/usr/doc/dnsmasq-$VERSION
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r CHANGELOG ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/*-$VERSION)
+ cat CHANGELOG | head -n 1000 > $DOCSDIR/CHANGELOG
+ touch -r CHANGELOG $DOCSDIR/CHANGELOG
+fi
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
diff --git a/source/n/dnsmasq/dnsmasq.leasedir.diff b/source/n/dnsmasq/dnsmasq.leasedir.diff
index d0a4dafd7..9fec6b439 100644
--- a/source/n/dnsmasq/dnsmasq.leasedir.diff
+++ b/source/n/dnsmasq/dnsmasq.leasedir.diff
@@ -1,17 +1,7 @@
---- ./src/config.h.orig 2009-02-05 06:14:24.000000000 -0600
-+++ ./src/config.h 2009-02-19 17:51:07.000000000 -0600
-@@ -45,7 +45,7 @@
- # elif defined(__sun__) || defined (__sun)
- # define LEASEFILE "/var/cache/dnsmasq.leases"
- # else
--# define LEASEFILE "/var/lib/misc/dnsmasq.leases"
-+# define LEASEFILE "/var/state/dnsmasq/dnsmasq.leases"
- # endif
- #endif
-
---- ./dnsmasq.conf.example.orig 2009-01-03 14:28:51.000000000 -0600
-+++ ./dnsmasq.conf.example 2009-02-19 17:50:29.000000000 -0600
-@@ -381,7 +381,7 @@
+diff -Nur dnsmasq-2.52.orig/dnsmasq.conf.example dnsmasq-2.52/dnsmasq.conf.example
+--- dnsmasq-2.52.orig/dnsmasq.conf.example 2009-11-25 06:55:16.000000000 -0600
++++ dnsmasq-2.52/dnsmasq.conf.example 2010-01-22 15:32:41.137807274 -0600
+@@ -415,7 +415,7 @@
# The DHCP server needs somewhere on disk to keep its lease database.
# This defaults to a sane location, but if you want to change it, use
# the line below.
@@ -20,3 +10,15 @@
# Set the DHCP server to authoritative mode. In this mode it will barge in
# and take over the lease for any client which broadcasts on the network,
+diff -Nur dnsmasq-2.52.orig/src/config.h dnsmasq-2.52/src/config.h
+--- dnsmasq-2.52.orig/src/config.h 2010-01-21 08:22:06.000000000 -0600
++++ dnsmasq-2.52/src/config.h 2010-01-22 15:32:41.136833058 -0600
+@@ -47,7 +47,7 @@
+ # elif defined(__sun__) || defined (__sun)
+ # define LEASEFILE "/var/cache/dnsmasq.leases"
+ # else
+-# define LEASEFILE "/var/lib/misc/dnsmasq.leases"
++# define LEASEFILE "/var/state/dnsmasq/dnsmasq.leases"
+ # endif
+ #endif
+
diff --git a/source/n/dnsmasq/doinst.sh b/source/n/dnsmasq/doinst.sh
index 5a1ca426a..9aadc3e55 100644
--- a/source/n/dnsmasq/doinst.sh
+++ b/source/n/dnsmasq/doinst.sh
@@ -1,16 +1,26 @@
config() {
NEW="$1"
- OLD="`dirname $NEW`/`basename $NEW .new`"
+ 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
+ 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...
}
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname ${NEW})/$(basename ${NEW} .new)"
+ if [ -e ${OLD} ]; then
+ cp -a ${OLD} ${NEW}.incoming
+ cat ${NEW} > ${NEW}.incoming
+ mv ${NEW}.incoming ${NEW}
+ fi
+ config ${NEW}
+}
config etc/dnsmasq.conf.new
-config etc/rc.d/rc.dnsmasq.new
+preserve_perms etc/rc.d/rc.dnsmasq.new
# This should be mostly useless...
rm -f etc/rc.d/rc.dnsmasq.new