664: bind package update: akvadrako writes:
authorEric Andersen <andersen@codepoet.org>
Fri, 14 Apr 2006 19:25:54 +0000 (19:25 -0000)
committerEric Andersen <andersen@codepoet.org>
Fri, 14 Apr 2006 19:25:54 +0000 (19:25 -0000)
 This patch consists of:
 (1) bind version bump
 (2) removing some X-compiling build fixes merged upstream
 (3) removing the bind-dlopen patch: not of general enough use
 (4) remove the package/bind/bind9 file - it isn't used
 (5) Use $(STAGING_DIR)/lib instead of $(STAGING_DIR)/usr/lib
 (6) Fix chroot'ed bind handling by init script

package/bind/bind-cross-fix.patch
package/bind/bind-dlopen.patch [deleted file]
package/bind/bind.mk
package/bind/bind.sysvinit
package/bind/bind9 [deleted file]

index 07a9084677e86d10df8ca3ffa4199f4fd96a78e6..deaf5274711b451022b8f917c95dc3fa2901f0fe 100644 (file)
@@ -1,37 +1,5 @@
-diff -Naur bind-9.3.1/configure bind/configure
---- bind-9.3.1/configure       2004-12-08 20:09:03.000000000 -0800
-+++ bind/configure     2005-09-09 16:06:50.000000000 -0700
-@@ -23678,11 +23678,9 @@
- echo "$as_me:$LINENO: checking for inet_ntop with IPv6 support" >&5
- echo $ECHO_N "checking for inet_ntop with IPv6 support... $ECHO_C" >&6
- if test "$cross_compiling" = yes; then
--  { { echo "$as_me:$LINENO: error: cannot run test program while cross compiling
--See \`config.log' for more details." >&5
--echo "$as_me: error: cannot run test program while cross compiling
--See \`config.log' for more details." >&2;}
--   { (exit 1); exit 1; }; }
-+  echo "$as_me:$LINENO: result: assuming target platform has working inet_ntop" >&5
-+echo "${ECHO_T}assuming target platform has working inet_ntop" >&6
-+      ISC_PLATFORM_NEEDNTOP="#undef ISC_PLATFORM_NEEDNTOP"
- else
-   cat >conftest.$ac_ext <<_ACEOF
- /* confdefs.h.  */
-diff -Naur bind-9.3.1/configure.in bind/configure.in
---- bind-9.3.1/configure.in    2004-12-08 20:07:10.000000000 -0800
-+++ bind/configure.in  2005-09-09 16:06:39.000000000 -0700
-@@ -1414,7 +1414,9 @@
-         [AC_MSG_RESULT(no)
-         ISC_EXTRA_OBJS="$ISC_EXTRA_OBJS inet_ntop.$O"
-         ISC_EXTRA_SRCS="$ISC_EXTRA_SRCS inet_ntop.c"
--        ISC_PLATFORM_NEEDNTOP="#define ISC_PLATFORM_NEEDNTOP 1"])
-+        ISC_PLATFORM_NEEDNTOP="#define ISC_PLATFORM_NEEDNTOP 1"],
-+        [AC_MSG_RESULT(assuming target platform has working inet_ntop)
-+        ISC_PLATFORM_NEEDNTOP="#undef ISC_PLATFORM_NEEDNTOP"])
- # On NetBSD 1.4.2 and maybe others, inet_pton() incorrectly accepts
---- bind-9.3.1/lib/dns/Makefile.in     2005-09-09 16:21:34.000000000 -0700
-+++ bind/lib/dns/Makefile.in   2005-09-09 16:28:16.000000000 -0700
+--- bind-9.3.2/lib/dns/Makefile.in
++++ bind-9.3.2/lib/dns/Makefile.in
 @@ -156,7 +156,7 @@
        ./gen -s ${srcdir} > code.h
  
diff --git a/package/bind/bind-dlopen.patch b/package/bind/bind-dlopen.patch
deleted file mode 100644 (file)
index b846d47..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
---- bind-9.3.1/bin/named/Makefile.in   2004-09-06 14:47:25.000000000 -0700
-+++ bind/bin/named/Makefile.in 2005-09-19 15:55:17.000000000 -0700
-@@ -29,7 +29,7 @@
- DBDRIVER_OBJS =
- DBDRIVER_SRCS =
- DBDRIVER_INCLUDES =
--DBDRIVER_LIBS =
-+DBDRIVER_LIBS = -ldl
- CINCLUDES =   -I${srcdir}/include -I${srcdir}/unix/include \
-               ${LWRES_INCLUDES} ${DNS_INCLUDES} ${BIND9_INCLUDES} \
-diff -aur bind-9.3.1/bin/named/main.c bind/bin/named/main.c
---- bind-9.3.1/bin/named/main.c        2004-10-24 17:42:54.000000000 -0700
-+++ bind/bin/named/main.c      2005-09-14 10:49:28.000000000 -0700
-@@ -22,6 +22,7 @@
- #include <ctype.h>
- #include <stdlib.h>
- #include <string.h>
-+#include <dlfcn.h>
- #include <isc/app.h>
- #include <isc/commandline.h>
-@@ -540,6 +541,7 @@
- static void
- setup(void) {
-       isc_result_t result;
-+      void        *handle;
-       /*
-        * Get the user and group information before changing the root
-@@ -655,13 +657,33 @@
-       /*
-        * Add calls to register sdb drivers here.
-        */
--      /* xxdb_init(); */
--
-+      handle = dlopen ("cadb.so", RTLD_NOW);
-+      if (!handle) {
-+          fprintf (stderr, "failed to load cadb driver: %s\n", dlerror());
-+      } else {
-+          isc_result_t (*cadbinit)(void);
-+          const char *error;
-+          
-+          dlerror();    /* Clear any existing error */
-+          *(void **) (&cadbinit) = dlsym(handle, "cadb_init");
-+          if ((error = dlerror()) != NULL)  {
-+              fprintf (stderr, "failing loading cadbinit symbol: %s\n", error);
-+              exit(1);
-+          }
-+         
-+          if((*cadbinit)() != ISC_R_SUCCESS) {
-+              fprintf (stderr, "cadbinit failed");
-+              exit(1);
-+          }
-+      }
-+      
-       ns_server_create(ns_g_mctx, &ns_g_server);
- }
- static void
- cleanup(void) {
-+      void *handle;
-+
-       destroy_managers();
-       ns_server_destroy(&ns_g_server);
-@@ -671,7 +693,21 @@
-       /*
-        * Add calls to unregister sdb drivers here.
-        */
--      /* xxdb_clear(); */
-+      handle = dlopen ("cadb.so", RTLD_NOW);
-+      if (!handle) {
-+          fprintf (stderr, "failed to load cadb driver: %s\n", dlerror());
-+      } else {
-+          isc_result_t (*cadbclear)(void);
-+          const char *error;
-+          
-+          dlerror();    /* Clear any existing error */
-+          *(void **) (&cadbclear) = dlsym(handle, "cadb_clear");
-+          if ((error = dlerror()) != NULL)  {
-+              fprintf (stderr, "failing loading cadbclear symbol: %s\n", error);
-+          } else {
-+              (*cadbclear)();
-+          }
-+      }
-       isc_log_write(ns_g_lctx, NS_LOGCATEGORY_GENERAL, NS_LOGMODULE_MAIN,
-                     ISC_LOG_NOTICE, "exiting");
index c321cabecd06d2893752e2c1c78795755feeb6be..8872da77ee50c06176975328a00391fae96dca0c 100644 (file)
@@ -3,7 +3,7 @@
 # bind
 #
 #############################################################
-BIND_VER:=9.3.1
+BIND_VER:=9.3.2
 BIND_SOURCE:=bind-$(BIND_VER).tar.gz
 BIND_SITE:=ftp://ftp.isc.org/isc/bind9/$(BIND_VER)
 BIND_DIR1:=$(TOOL_BUILD_DIR)/bind-$(BIND_VER)
@@ -44,8 +44,8 @@ $(BIND_DIR2)/Makefile: $(BIND_DIR2)/.unpacked
                --without-openssl \
                --with-randomdev=/dev/random \
                --enable-ipv6 \
-               --disable-static \
                --with-libtool \
+               --with-pic \
        );
 
 $(BIND_DIR2)/$(BIND_BINARY): $(BIND_DIR2)/Makefile
@@ -73,18 +73,17 @@ bind-bin: $(TARGET_DIR)/$(BIND_TARGET_BINARY) bind-lib
 $(STAGING_DIR)/lib/libdns.so: $(BIND_DIR2)/$(BIND_BINARY)
        $(MAKE) $(TARGET_CONFIGURE_OPTS) -j1 DESTDIR=$(STAGING_DIR) -C $(BIND_DIR2)/lib install
 
-$(TARGET_DIR)/usr/lib/libdns.so: $(STAGING_DIR)/lib/libdns.so
-       mkdir -p $(TARGET_DIR)/usr/lib
+$(TARGET_DIR)/lib/libdns.so: $(STAGING_DIR)/lib/libdns.so
+       mkdir -p $(TARGET_DIR)/lib
        cd $(STAGING_DIR)/lib; \
-           cp -a libdns.* libisc.* libisccc.* libbind9.* liblwres.* libisccfg.* \
-               $(TARGET_DIR)/usr/lib
+           cp -a libdns*so* libisc*so* libbind9*so* \
+           liblwres*so* $(TARGET_DIR)/lib
                                        
-bind-lib: $(STAGING_DIR)/lib/libdns.so $(TARGET_DIR)/usr/lib/libdns.so
+bind-lib: $(STAGING_DIR)/lib/libdns.so $(TARGET_DIR)/lib/libdns.so
                                      
 bind: uclibc bind-bin bind-lib
 
 bind-clean:
-       $(MAKE) DESTDIR=$(TARGET_DIR) CC=$(TARGET_CC) -C $(BIND_DIR2) uninstall
        -$(MAKE) -C $(BIND_DIR2) clean
 
 bind-dirclean:
index a9babd21537a151d9626ef4827c25726652c2a12..171d3208aafcf2252bf0b4a2a3cdbdf161c20bde 100644 (file)
@@ -18,10 +18,14 @@ case "$1" in
                test -z "$CHROOT" || ARGS="$ARGS -t $CHROOT"
                test -z "$SETUID" || ARGS="$ARGS -u $SETUID"
                if [ ! -f $CHROOT/etc/rndc.key ]; then
-                   echo -n "Initializing $NAME control key: rndc-confgen"
-                   set +e 
-                   touch $CHROOT/etc/rndc.key # handle symlinks
-                   rndc-confgen -a -r /dev/urandom $ARGS || echo "."
+                   echo "Initializing $NAME control key: rndc-confgen"
+                   set +e
+
+                    # if rndc.key is a symlink, the target must exist
+                   touch $CHROOT/etc/rndc.key
+                   touch etc/rndc.key
+
+                   rndc-confgen -a -r /dev/urandom $ARGS || true
                    set -e
                fi
                test -z "$CONF" || ARGS="$ARGS -c $CONF"
@@ -37,12 +41,12 @@ case "$1" in
                echo "."
                ;;
        restart)
-               $0 stop
+               $0 stop || true
                sleep 2
-               $0 start && exit $?
+               $0 start
                ;;
        reload|force-reload)
-               rndc reload && exit $?
+               rndc reload || $0 restart
                ;;
        *)
                echo "Usage: $0 {start|stop|restart|reload|force-reload}"
diff --git a/package/bind/bind9 b/package/bind/bind9
deleted file mode 100644 (file)
index aa07b41..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-#!/bin/sh
-
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
-
-# for a chrooted server: "-u bind -t /var/lib/named"
-OPTIONS=""
-
-test -x /usr/sbin/rndc || exit 0
-
-case "$1" in
-    start)
-       echo -n "Starting domain name service: named"
-
-       # dirs under /var/run can go away on reboots.
-       mkdir -p /var/run/bind/run
-       chmod 775 /var/run/bind/run
-       chown root:bind /var/run/bind/run >/dev/null 2>&1 || true
-
-       if [ ! -x /usr/sbin/named ]; then
-           echo "named binary missing - not starting"
-           exit 1
-       fi
-       if start-stop-daemon --start --quiet --exec /usr/sbin/named \
-               --pidfile /var/run/bind/run/named.pid -- $OPTIONS; then
-           if [ -x /sbin/resolvconf ] ; then
-               echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo
-           fi
-       fi
-       echo "."        
-    ;;
-
-    stop)
-       echo -n "Stopping domain name service: named"
-       if [ -x /sbin/resolvconf ]; then
-           /sbin/resolvconf -d lo
-       fi
-       /usr/sbin/rndc stop
-       echo "."        
-    ;;
-
-    reload)
-       /usr/sbin/rndc reload
-    ;;
-
-    restart|force-reload)
-       $0 stop
-       sleep 2
-       $0 start
-    ;;
-    
-    *)
-       echo "Usage: /etc/init.d/bind {start|stop|reload|restart|force-reload}" >&2
-       exit 1
-    ;;
-esac
-
-exit 0