]> git.ipfire.org Git - thirdparty/dhcp.git/commitdiff
ticket 20687
authorShawn Routhier <sar@isc.org>
Wed, 2 Dec 2009 20:43:52 +0000 (20:43 +0000)
committerShawn Routhier <sar@isc.org>
Wed, 2 Dec 2009 20:43:52 +0000 (20:43 +0000)
Update README and RELNOTES for 4.2
Include building the bind libraries as part of the make system instead
of as a separate step by the customer.

Makefile.am
README
RELNOTES
configure.ac
util/Makefile.bind [new file with mode: 0644]
util/bind.sh
util/bindvar.sh [new file with mode: 0644]

index e940e2be5521baed1f9276a0be833c89c1af706d..6987401425db160397c960eb6ce114c0b8513d1d 100644 (file)
@@ -17,10 +17,10 @@ EXTRA_DIST = RELNOTES LICENSE \
             doc/ja_JP.eucJP/dhclient.conf.5 doc/ja_JP.eucJP/dhclient.leases.5 \
             doc/ja_JP.eucJP/dhcp-eval.5 doc/ja_JP.eucJP/dhcp-options.5 \
             doc/examples/dhclient-dhcpv6.conf doc/examples/dhcpd-dhcpv6.conf \
-            util/bind.sh util/bindlib.sh util/bindcus.sh \
-            bind/bind.tar.gz bind/version.tmp 
+            util/bindvar.sh \
+            bind/Makefile bind/bind.tar.gz bind/version.tmp 
 
-SUBDIRS = includes tests common dst omapip client dhcpctl relay server
+SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server
 
 nobase_include_HEADERS = dhcpctl/dhcpctl.h
 
diff --git a/README b/README
index 5b0b3e8a67bc9ae164c923586f2c91ac0da713b4..6b1b24c340f02f39d73a5976f1de28ed6be7836b 100644 (file)
--- a/README
+++ b/README
@@ -94,8 +94,7 @@ directory, it may not have up-to-date information).
 
                            RELEASE STATUS
 
-This is ISC DHCP 4.1.0, which adds new DHCPv6 features omitted from
-ISC DHCP 4.0.0.
+This is ISC DHCP 4.2.0, which modifies the DDNS code to be asynchronous.
 
 In this release, the DHCPv6 server should be fully functional on Linux,
 Solaris, or any BSD.  The DHCPv6 client should be similarly functional
@@ -131,23 +130,12 @@ information.   On Digital Unix, type ``man pfilt''.
 To build the DHCP Distribution, unpack the compressed tar file using
 the tar utility and the gzip command - type something like:
 
-       gunzip dhcp-4.1.0.tar.gz
-       tar xvf dhcp-4.1.0.tar
-
-                           BUILDING BIND LIBRARIES
-
-To build the BIND libraries used by DHCP cd to the dhcp-4.1.0 subdirectory
-that you've just created and run the bindcus.sh from the the util 
-subdirectory - something like this:
-       
-       sh util/bindcus.sh
-
-In order to build the necessary libraries you will need to have "gmake"
-available on your build system.
+       gunzip dhcp-4.2.0.tar.gz
+       tar xvf dhcp-4.2.0.tar
 
                            CONFIGURING IT
 
-Now, cd to the dhcp-4.1.0 subdirectory that you've just created and
+Now, cd to the dhcp-4.2.0 subdirectory that you've just created and
 configure the source tree by typing:
 
        ./configure
@@ -162,7 +150,11 @@ your own.
 
 A fully-featured implementation of dynamic DNS updates is included in
 this release.  It uses libraries from BIND and, to avoid issues with
-different versions, includes the necessary BIND version.
+different versions, includes the necessary BIND version.  The appropriate
+BIND libraries will be compiled and installed in the bind subdirectory
+as part of the make step.  In order to build the necessary libraries you
+will need to have "gmake" available on your build system.
+
 
 There is documentation for the DDNS support in the dhcpd.conf manual
 page - see the beginning of this document for information on finding
index eb9e17f5d5e8e5188b7ea807adfca2c0a678b9fb..09215a472a3cef4b85bf5fdeeee70e531fca2a8a 100644 (file)
--- a/RELNOTES
+++ b/RELNOTES
@@ -40,13 +40,6 @@ work on other platforms. Please report any problems and suggested fixes to
 <dhcp-users@isc.org>.
 
 
-                       Changes since 4.2.0a1
-
-- Clean up to allow compilation with gcc 2.95.4 on FreeBSD.  Remove an
-  extra semi-colon from common/dns.c and moved setting a variable to NULL
-  in server/dhcpv6.c to allow the compiler to decide that the variable
-  was always properly set.  
-
                        Changes since 4.1.0 (new features)
 
 - Failover port configuration can now be left to defaults (port 647) as
@@ -229,6 +222,11 @@ work on other platforms. Please report any problems and suggested fixes to
   this error was a segfault when a failover secondary attempted to connect
   to the failover primary if their clocks were not synchronized.
 
+- Clean up to allow compilation with gcc 2.95.4 on FreeBSD.  Remove an
+  extra semi-colon from common/dns.c and moved setting a variable to NULL
+  in server/dhcpv6.c to allow the compiler to decide that the variable
+  was always properly set.  
+
                        Changes since 4.1.0b1
 
 - A missing "else" in dhcrelay.c could have caused an interface not to
index 023c8cad47c7349043eec9c5107459b83d7a9b4e..2af548c4152db1f2c275582143dd40e07ad2cfab 100644 (file)
@@ -522,3 +522,4 @@ AC_OUTPUT([
   tests/Makefile
 ])
 
+sh util/bindvar.sh
diff --git a/util/Makefile.bind b/util/Makefile.bind
new file mode 100644 (file)
index 0000000..ab685d5
--- /dev/null
@@ -0,0 +1,67 @@
+#
+# Copyright (C) 2009  Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id: Makefile.bind,v 1.2 2009/12/02 20:43:52 sar Exp $
+
+# Configure and build the bind libraries for use by DHCP
+
+include ./version.tmp
+version=${MAJORVER}.${MINORVER}.${PATCHVER}${RELEASETYPE}${RELEASEVER}
+
+# bindvar.tmp is constructed by configure, it has the paths for
+# if GMAKE is blank the shell script couldn't find a gmake to use.
+# binddir=
+# GMAKE=
+include ./bindvar.tmp
+
+bindsrcdir=bind-${version}
+
+all:
+# Extract the source from the tarball, if it hasn't been already.
+       @if test -d ${bindsrcdir} ; then                    \
+               echo ${bindsrcdir} already unpacked... ;    \
+       else                                                \
+               gunzip -c bind.tar.gz | tar xf - ;          \
+       fi
+
+       @if test -z "${GMAKE}"; then                        \
+               echo "unable to find gmake" 1>&2 ;          \
+               exit 1;                                     \
+       fi
+
+# Configure the export libraries
+# Currently disable the epoll and devpoll options as they don't interact
+# well with the DHCP code.
+       @echo Configuring BIND Export libraries for DHCP.
+       @(cd ${bindsrcdir} && ./configure --disable-epoll --disable-devpoll --without-openssl --without-libxml2 --enable-exportlib --enable-threads=no --with-export-includedir=${binddir}/include --with-export-libdir=${binddir}/lib > ${binddir}/configure.log)
+
+# Build the export libraries
+       @echo Building BIND Export libraries - this takes some time.
+       @(cd ${bindsrcdir}/lib/export ; \
+         echo building in `pwd` ; \
+         MAKE=${GMAKE} ${GMAKE} > ${binddir}/build.log)
+
+       @echo Installing BIND Export libraries to ${binddir}.
+       @(cd ${bindsrcdir}/lib/export ; \
+         MAKE=${GMAKE} ${GMAKE} install > ${binddir}/install.log)
+
+clean:
+       @echo Cleaning BIND export library.
+       rm -rf ${bindsrcdir} ./lib ./include ./configure.log ./build.log \
+               ./install.log
+
+distdir:
+
+
index 57e6ca2db65bbd8aca26e03189a91643801e85df..a8936c4b05602c3faa7827efd6793ed30acdff31 100644 (file)
 # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
 # PERFORMANCE OF THIS SOFTWARE.
 
-# $Id: bind.sh,v 1.6 2009/11/20 00:10:14 sar Exp $
+# $Id: bind.sh,v 1.7 2009/12/02 20:43:52 sar Exp $
 
 # Get the bind distribution for the libraries
 # This script is used to build the DHCP distribution and shouldn't be shipped
 #
-# Usage: sh bind.sh
+# Usage: sh bind.sh <DHCP version>
 #
-# Currently no arguments
 #
 
 topdir=`pwd`
@@ -46,6 +45,7 @@ rm -rf bind
 
 # Make and move to our directory for all things bind
 mkdir $binddir
+cp util/Makefile.bind bind/Makefile
 cd $binddir
 
 # Get the bind release kit shell script
@@ -68,5 +68,6 @@ mv bind-9.7*.tar.gz bind.tar.gz
 #mv $binddir/bind-9.7* $binddir/$bindsrcdir
 
 # Run the script to build and install the export libraries
-sh $topdir/util/bindlib.sh $binddir $bindsrcdir
+# Let make do this now.
+#sh $topdir/util/bindlib.sh $binddir $bindsrcdir
 
diff --git a/util/bindvar.sh b/util/bindvar.sh
new file mode 100644 (file)
index 0000000..e51cf9d
--- /dev/null
@@ -0,0 +1,35 @@
+#!/bin/sh
+#
+# Copyright (C) 2009  Internet Systems Consortium, Inc. ("ISC")
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+# AND FITNESS.  IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+# PERFORMANCE OF THIS SOFTWARE.
+
+# $Id: bindvar.sh,v 1.2 2009/12/02 20:43:52 sar Exp $
+
+# Create a file with the base directory and gmake pat for
+# use by the bind/Makefile, we do this to minimize portability
+# concerns.
+
+binddir=`pwd`
+gmake=
+for x in gmake gnumake make; do
+       if $x --version 2>/dev/null | grep GNU > /dev/null; then
+               gmake=$x
+               break;
+       fi
+done
+
+cat <<EOF > bind/bindvar.tmp
+binddir=$binddir/bind
+GMAKE=$gmake
+EOF