svn commit: trunk/buildroot/package/bind

andersen at uclibc.org andersen at uclibc.org
Fri Apr 14 19:25:55 UTC 2006


Author: andersen
Date: 2006-04-14 12:25:54 -0700 (Fri, 14 Apr 2006)
New Revision: 14864

Log:
664: bind package update: akvadrako writes:

 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


Removed:
   trunk/buildroot/package/bind/bind-dlopen.patch
   trunk/buildroot/package/bind/bind9

Modified:
   trunk/buildroot/package/bind/bind-cross-fix.patch
   trunk/buildroot/package/bind/bind.mk
   trunk/buildroot/package/bind/bind.sysvinit


Changeset:
Modified: trunk/buildroot/package/bind/bind-cross-fix.patch
===================================================================
--- trunk/buildroot/package/bind/bind-cross-fix.patch	2006-04-14 19:25:01 UTC (rev 14863)
+++ trunk/buildroot/package/bind/bind-cross-fix.patch	2006-04-14 19:25:54 UTC (rev 14864)
@@ -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
  

Deleted: trunk/buildroot/package/bind/bind-dlopen.patch
===================================================================
--- trunk/buildroot/package/bind/bind-dlopen.patch	2006-04-14 19:25:01 UTC (rev 14863)
+++ trunk/buildroot/package/bind/bind-dlopen.patch	2006-04-14 19:25:54 UTC (rev 14864)
@@ -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");

Modified: trunk/buildroot/package/bind/bind.mk
===================================================================
--- trunk/buildroot/package/bind/bind.mk	2006-04-14 19:25:01 UTC (rev 14863)
+++ trunk/buildroot/package/bind/bind.mk	2006-04-14 19:25:54 UTC (rev 14864)
@@ -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 @@
 		--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 @@
 $(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:

Modified: trunk/buildroot/package/bind/bind.sysvinit
===================================================================
--- trunk/buildroot/package/bind/bind.sysvinit	2006-04-14 19:25:01 UTC (rev 14863)
+++ trunk/buildroot/package/bind/bind.sysvinit	2006-04-14 19:25:54 UTC (rev 14864)
@@ -18,10 +18,14 @@
 		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 @@
 		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}"

Deleted: trunk/buildroot/package/bind/bind9
===================================================================
--- trunk/buildroot/package/bind/bind9	2006-04-14 19:25:01 UTC (rev 14863)
+++ trunk/buildroot/package/bind/bind9	2006-04-14 19:25:54 UTC (rev 14864)
@@ -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




More information about the uClibc-cvs mailing list