From patchwork Mon Jan 25 15:35:10 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Doug Kehn X-Patchwork-Id: 572768 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) by ozlabs.org (Postfix) with ESMTP id 64BB1140557 for ; Tue, 26 Jan 2016 02:35:45 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=yahoo.com header.i=@yahoo.com header.b=ERmlMnWr; dkim-atps=neutral Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id 84E5732E1F; Mon, 25 Jan 2016 15:35:44 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Oy9alFl7AvSe; Mon, 25 Jan 2016 15:35:39 +0000 (UTC) Received: from ash.osuosl.org (ash.osuosl.org [140.211.166.34]) by silver.osuosl.org (Postfix) with ESMTP id C9A4932CC6; Mon, 25 Jan 2016 15:35:38 +0000 (UTC) X-Original-To: buildroot@lists.busybox.net Delivered-To: buildroot@osuosl.org Received: from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137]) by ash.osuosl.org (Postfix) with ESMTP id 87F251C0539 for ; Mon, 25 Jan 2016 15:35:37 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by fraxinus.osuosl.org (Postfix) with ESMTP id 8412A87051 for ; Mon, 25 Jan 2016 15:35:37 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from fraxinus.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id w9wb8JPPwbwz for ; Mon, 25 Jan 2016 15:35:35 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from nm18-vm0.bullet.mail.ne1.yahoo.com (nm18-vm0.bullet.mail.ne1.yahoo.com [98.138.91.37]) by fraxinus.osuosl.org (Postfix) with ESMTPS id 11A1286839 for ; Mon, 25 Jan 2016 15:35:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1453736134; bh=2BL9JiR1gr78vsvDUdBL32Zi/R+Z1kDMYpTYtKkZ4jo=; h=From:To:Cc:Subject:Date:From:Subject; b=ERmlMnWrr2bJVaN31DU4gci7o7VwNYDRhvhp2erULX7VQ5WWzMpMZAhM5RdEcok5YvnwDlZaNgW07/UncYnEtKzPFydmPG+91CiexheAohsYdwKnBX1XzF82C8fgSy9hsuqXKT16za8e8d60UNlIwKtp8QSdxLduji21RgfkQM+DjDhwlny+B7hzrS4IcfMKESA1fTOMUbQxBOJ5x68+X1GQ3Z1ptNTlXygDebseVYlNI5upApNeD8Ay0xv56LpDsL5jESLSdj5+c7X0mclRcpTAtk+PFhA7avRExfyjqTWWeZZNqUtZJQoVm5786eQMCnFeskhv6dJPHIZLg2xFHg== Received: from [98.138.100.114] by nm18.bullet.mail.ne1.yahoo.com with NNFMP; 25 Jan 2016 15:35:34 -0000 Received: from [98.138.226.124] by tm105.bullet.mail.ne1.yahoo.com with NNFMP; 25 Jan 2016 15:35:34 -0000 Received: from [127.0.0.1] by smtp203.mail.ne1.yahoo.com with NNFMP; 25 Jan 2016 15:35:34 -0000 X-Yahoo-Newman-Id: 396295.88835.bm@smtp203.mail.ne1.yahoo.com X-Yahoo-Newman-Property: ymail-3 X-YMail-OSG: 76bh5uEVM1l5mHLU3c_iSXjx7t7XUUvOpc4tMPwjCHG8lj9 9hRX4NsWMg2x7jetKWl_xeRdHkcppEaWlAIteHZ74GVmlaMeOTChEedG.FE8 QCHMaf3__5WfAJ7uWCHG.9ZKBPGb38vQoidWCgvlLCNGnZV.fZJe0YPBxY7n 0mKRFMcEmRM2WhjnNqdMGeiCqiLvtNco09wxxDKfOXjlhmG4oZ0cbLgDbYoB eFr2wulDwEz4k_FZBi0rtfY7q8b7OS7rJBmxyYJnBHVEC4d4rYSsu1eKy4SW Hy2dkhUxR2kkaDiUvMtDBBVa3UIdurCsxQo9P9sew9woHE7HFlYoWmCzagZB 9JyrkH5ht6e9NTQl7CLpNH5TMYi3_G5KHvT6fTwBMFp4WPcDGqMRISW9H4vG tP6Ef8.RZo1Bhqxk2UQ5sY72u_qqfPoP89vVyyB0mpMrX3_Q58glK4Q4ZJyP Q3WDlRFfuPfcuEgFm3K43pyzhWidPExAkjuCWvN.KILyCGHdD75PHOevcRS6 Oruksnx1qiHAqDYabtbxOQ3Uq4oiXzWfOpfM- X-Yahoo-SMTP: tVp.douswBADms9I1_pvnFcs0w-- From: Doug Kehn To: buildroot@buildroot.org Date: Mon, 25 Jan 2016 09:35:10 -0600 Message-Id: <1453736110-11878-1-git-send-email-rdkehn@yahoo.com> X-Mailer: git-send-email 2.7.0 Cc: ricardo.martincoski@gmail.com Subject: [Buildroot] [PATCH v6 1/1] package/dhcp: bump version to 4.3.3-P1 X-BeenThere: buildroot@busybox.net X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: Discussion and development of buildroot List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: buildroot-bounces@busybox.net Sender: "buildroot" bind source tar-ball is now embedded into the dhcp source. The embedded bind tar-ball is extracted after the dhcp source so cross compiling patches can be applied to the dhcp and bind before the package is built. The embedded bind configure is called as part of dhcp make instead of dhcp configure; therefore, needed configure parameters are set in the make env. 0001-dhcp-cross-compile.patch and 0002-bind-cross-compile.patch have been submitted upstream as part of a cross compiling enhancement suggestion to dhcp-suggest@isc.org. Reference ISC-Bugs #41502. 0003-bind-hos-cc.patch is already scheduled for the next dhcp release. Buildroot thread http://lists.busybox.net/pipermail/buildroot/2016-January/149079.html has related information. Signed-off-by: Doug Kehn Cc: Arnout Vandecappelle Cc: Ricardo Martincoski Tested-by: Ricardo Martincoski Reviewed-by: Ricardo Martincoski --- Changes v5 -> v6 - patch configure.ac instead of configure/Makefile.in (suggested by Arnout) - rework dhcp.mk for patch changes. Changes v4 -> v5 - update hash reference (suggested by Arnout) - expand comments (suggested by Arnout) Changes v3 -> v4 - consolidate into single patch (suggested by Arnout) - separate into POST_CONFIGURE_HOOK & PRE_BUILD_HOOK (suggested by Arnout) Changes v2 -> v3 - removed RFC tag - updated version from 4.3.3 to 4.3.3-P1 (suggested by Richardo) - external toolchain support (suggested by Richardo) Changes v1 -> v2 - removed DHCP_PRE_BUILD_HOOKS in favor of patch (suggested by Arnout) --- package/dhcp/0001-dhcp-cross-compile.patch | 34 +++++++++++++++++++++++++ package/dhcp/0002-bind-cross-compile.patch | 24 ++++++++++++++++++ package/dhcp/0003-bind-host-cc.patch | 40 ++++++++++++++++++++++++++++++ package/dhcp/dhcp.hash | 4 +-- package/dhcp/dhcp.mk | 25 +++++++++++++++++-- 5 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 package/dhcp/0001-dhcp-cross-compile.patch create mode 100644 package/dhcp/0002-bind-cross-compile.patch create mode 100644 package/dhcp/0003-bind-host-cc.patch diff --git a/package/dhcp/0001-dhcp-cross-compile.patch b/package/dhcp/0001-dhcp-cross-compile.patch new file mode 100644 index 0000000..95b4689 --- /dev/null +++ b/package/dhcp/0001-dhcp-cross-compile.patch @@ -0,0 +1,34 @@ +dhcp cross compile support integration + +Allow BINDCONFIG to be initialized in environment passed to configure. + +Allow archiver to be determined during configure. + +This patch is submitted upstream as part of a cross compiling enhancement +suggestion to dhcp-suggest@isc.org. Reference ISC-Bugs #41502. + +Signed-off-by: Doug Kehn + +Index: dhcp-4.3.3-P1/configure.ac +=================================================================== +--- dhcp-4.3.3-P1.orig/configure.ac ++++ dhcp-4.3.3-P1/configure.ac +@@ -33,7 +33,7 @@ if test "$GCC" = "yes"; then + fi + + # We can have some flags to pass to bind configure +-BINDCONFIG= ++BINDCONFIG="$BINDCONFIG" + AC_SUBST(BINDCONFIG) + + # POSIX doesn't include the IPv6 Advanced Socket API and glibc hides +@@ -43,6 +43,9 @@ AC_SUBST(BINDCONFIG) + # Use this to define _GNU_SOURCE to pull in the IPv6 Advanced Socket API. + AC_USE_SYSTEM_EXTENSIONS + ++AC_CHECK_TOOL(AR,ar) ++AC_SUBST(AR) ++ + AC_PROG_RANLIB + AC_CONFIG_HEADERS([includes/config.h]) + diff --git a/package/dhcp/0002-bind-cross-compile.patch b/package/dhcp/0002-bind-cross-compile.patch new file mode 100644 index 0000000..f7c42c6 --- /dev/null +++ b/package/dhcp/0002-bind-cross-compile.patch @@ -0,0 +1,24 @@ +bind cross compile support integration + +Pass system types from dhcp configure to bind configure. + +This patch is submitted upstream as part of a cross compiling enhancement +suggestion to dhcp-suggest@isc.org. Reference ISC-Bugs #41502. + +Signed-off-by: Doug Kehn + +Index: dhcp-4.3.3-P1/bind/Makefile.in +=================================================================== +--- dhcp-4.3.3-P1.orig/bind/Makefile.in ++++ dhcp-4.3.3-P1/bind/Makefile.in +@@ -30,7 +30,9 @@ bindconfig = --disable-kqueue --disable- + --without-openssl --without-libxml2 --enable-exportlib \ + --with-gssapi=no --enable-threads=no @BINDCONFIG@ \ + --with-export-includedir=${binddir}/include \ +- --with-export-libdir=${binddir}/lib ++ --with-export-libdir=${binddir}/lib \ ++ --target=@target_alias@ --host=@host_alias@ \ ++ --build=@build_alias@ + + @BIND_ATF_FALSE@cleandirs = ./lib ./include + @BIND_ATF_TRUE@cleandirs = ./lib ./include ./atf diff --git a/package/dhcp/0003-bind-host-cc.patch b/package/dhcp/0003-bind-host-cc.patch new file mode 100644 index 0000000..96c144f --- /dev/null +++ b/package/dhcp/0003-bind-host-cc.patch @@ -0,0 +1,40 @@ +ensure host compiler is used + +dns/Makefile.in patch is derived from: +http://wiki.beyondlogic.org/patches/dhcp-4.3.0b1.bind_arm-linux-gnueabi.patch + +This patch is already accepted upstream and will be included in the next +release: +--[snip]-- +From Francis Dupont via RT +To rdkehn@yahoo.com + +Message body +It was fixed on the master branch sometimes ago. +Quoting master RELNOTES: + +- Made the embedded bind libraries able to be cross compiled + (please refer to the bind9 documentation to learn how to cross + compile DHCP and its bind library dependency). + [ISC-Bugs #38836] + +This is in the Changes since 4.3.3 so for the next release. +--[snip]-- + +Signed-off-by: Doug Kehn + +Index: dhcp-4.3.3-P1/bind/bind-9.9.7-P3/lib/export/dns/Makefile.in +=================================================================== +--- dhcp-4.3.3-P1.orig/bind/bind-9.9.7-P3/lib/export/dns/Makefile.in ++++ dhcp-4.3.3-P1/bind/bind-9.9.7-P3/lib/export/dns/Makefile.in +@@ -168,7 +168,9 @@ code.h: gen + ./gen -s ${srcdir} > code.h + + gen: ${srcdir}/gen.c +- ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o $@ ${srcdir}/gen.c ${LIBS} ++ ${BUILD_CC} ${BUILD_CFLAGS} -I${top_srcdir}/lib/isc/include \ ++ ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} -o $@ ${srcdir}/gen.c \ ++ ${BUILD_LIBS} + + #We don't need rbtdb64 for this library + #rbtdb64.@O@: rbtdb.c diff --git a/package/dhcp/dhcp.hash b/package/dhcp/dhcp.hash index 84e3c63..1baea54 100644 --- a/package/dhcp/dhcp.hash +++ b/package/dhcp/dhcp.hash @@ -1,2 +1,2 @@ -# Verified from ftp://ftp.isc.org/isc/dhcp/4.1-ESV-R12/dhcp-4.1-ESV-R12.tar.gz.sha256.asc -sha256 53265d1bf5e2073379df03c73a1a34d38a904307609c0f9cb77223912e753e5f dhcp-4.1-ESV-R12.tar.gz +# Verified from https://ftp.isc.org/isc/dhcp/4.2.3-P1/dhcp-4.2.3-P1.tar.gz.sha256.asc +sha256 c11e896dffa1bfbc49462965d3f6dec45534e34068603546d9a236f2aa669921 dhcp-4.3.3-P1.tar.gz diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk index c05e694..5255c75 100644 --- a/package/dhcp/dhcp.mk +++ b/package/dhcp/dhcp.mk @@ -4,7 +4,7 @@ # ################################################################################ -DHCP_VERSION = 4.1-ESV-R12 +DHCP_VERSION = 4.3.3-P1 DHCP_SITE = http://ftp.isc.org/isc/dhcp/$(DHCP_VERSION) DHCP_INSTALL_STAGING = YES DHCP_LICENSE = ISC @@ -12,7 +12,8 @@ DHCP_LICENSE_FILES = LICENSE DHCP_CONF_ENV = \ CPPFLAGS='-D_PATH_DHCPD_CONF=\"/etc/dhcp/dhcpd.conf\" \ -D_PATH_DHCLIENT_CONF=\"/etc/dhcp/dhclient.conf\"' \ - ac_cv_file__dev_random=yes + ac_cv_file__dev_random=yes \ + BINDCONFIG='--with-randomdev=/dev/random' DHCP_CONF_OPTS = \ --with-srv-lease-file=/var/lib/dhcp/dhcpd.leases \ --with-srv6-lease-file=/var/lib/dhcp/dhcpd6.leases \ @@ -25,6 +26,26 @@ DHCP_CONF_OPTS = \ --with-relay-pid-file=/var/run/dhcrelay.pid \ --with-relay6-pid-file=/var/run/dhcrelay6.pid +# The source for the bind libraries used by dhcp are embedded in the dhcp source +# as a tar-ball. Extract the bind source to allow any patches to be applied +# during the patch phase. +define DHCP_EXTRACT_BIND + cd $(@D)/bind; tar -xvf bind.tar.gz +endef +DHCP_POST_EXTRACT_HOOKS += DHCP_EXTRACT_BIND + +# The patchset requires configure et.al. to be regenerated. +DHCP_AUTORECONF = YES + +# bind does not support parallel builds. +DHCP_MAKE = $(MAKE1) + +# bind configure is called via dhcp make instead of dhcp configure. The make env +# needs extra values for bind configure. +DHCP_MAKE_ENV = \ + $(TARGET_CONFIGURE_OPTS) \ + BUILD_CC="$(HOSTCC)" + ifeq ($(BR2_PACKAGE_DHCP_SERVER_DELAYED_ACK),y) DHCP_CONF_OPTS += --enable-delayed-ack endif