From mboxrd@z Thu Jan 1 00:00:00 1970 Delivery-date: Mon, 24 May 2021 20:36:03 +0200 Received: from metis.ext.pengutronix.de ([2001:67c:670:201:290:27ff:fe1d:cc33]) by lore.white.stw.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1llFQp-0001YZ-MN for lore@lore.pengutronix.de; Mon, 24 May 2021 20:36:03 +0200 Received: from localhost ([127.0.0.1] helo=metis.ext.pengutronix.de) by metis.ext.pengutronix.de with esmtp (Exim 4.92) (envelope-from ) id 1llFQp-0006bh-BS; Mon, 24 May 2021 20:36:03 +0200 Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1llFPx-0006DT-6X; Mon, 24 May 2021 20:35:09 +0200 Received: from rhi by dude.hi.pengutronix.de with local (Exim 4.92) (envelope-from ) id 1llFPw-0008RM-U1; Mon, 24 May 2021 20:35:08 +0200 From: Roland Hieber To: ptxdist@pengutronix.de Date: Mon, 24 May 2021 20:35:00 +0200 Message-Id: <20210524183500.32170-3-rhi@pengutronix.de> X-Mailer: git-send-email 2.29.2 In-Reply-To: <20210524183500.32170-1-rhi@pengutronix.de> References: <20210524183500.32170-1-rhi@pengutronix.de> MIME-Version: 1.0 Subject: [ptxdist] [PATCH v2 3/3] dhcp: version bump 4.1.2 -> 4.4.2 X-BeenThere: ptxdist@pengutronix.de X-Mailman-Version: 2.1.29 Precedence: list List-Id: PTXdist Development Mailing List List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: ptxdist@pengutronix.de Cc: Roland Hieber Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "ptxdist" X-SA-Exim-Connect-IP: 127.0.0.1 X-SA-Exim-Mail-From: ptxdist-bounces@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false Don't use the in-tree bind because dhcp's make will try to configure it in the compile stage. Zlib is now required too. Clean up the old-style variable names too, and pin down all configure options. The package now builds fine without the need for removing the -Werror compiler option. The license was changed to MPL-2.0 in most places, also add the respective license MD5 sums. A patch is needed to make it build with GCC 10. Signed-off-by: Roland Hieber --- ...0001-Fixed-gcc-10-compilation-issues.patch | 82 +++++++++++++++++++ patches/dhcp-4.4.2/series | 4 + rules/dhcp.in | 2 + rules/dhcp.make | 48 ++++++++--- 4 files changed, 126 insertions(+), 10 deletions(-) create mode 100644 patches/dhcp-4.4.2/0001-Fixed-gcc-10-compilation-issues.patch create mode 100644 patches/dhcp-4.4.2/series diff --git a/patches/dhcp-4.4.2/0001-Fixed-gcc-10-compilation-issues.patch b/patches/dhcp-4.4.2/0001-Fixed-gcc-10-compilation-issues.patch new file mode 100644 index 000000000000..f0e3cc450bbe --- /dev/null +++ b/patches/dhcp-4.4.2/0001-Fixed-gcc-10-compilation-issues.patch @@ -0,0 +1,82 @@ +From: Thomas Markwalder +Date: Thu, 30 Jul 2020 10:01:36 -0400 +Subject: [PATCH] Fixed gcc 10 compilation issues + +client/dhclient.c +relay/dhcrelay.c + extern'ed local_port,remote_port + +common/discover.c + init local_port,remote_port to 0 + +server/mdb.c + extern'ed dhcp_type_host + +server/mdb6.c + create_prefix6() - eliminated memcpy string overflow error + +Origin: https://sources.debian.org/patches/isc-dhcp/4.4.1-2.2/Fixed_gcc_10_compilation_issues.patch/ +--- + client/dhclient.c | 5 +++-- + relay/dhcrelay.c | 4 ++-- + server/mdb.c | 2 +- + server/mdb6.c | 2 +- + 4 files changed, 7 insertions(+), 6 deletions(-) + +diff --git a/client/dhclient.c b/client/dhclient.c +index 189e527094e8..7a7837cb8152 100644 +--- a/client/dhclient.c ++++ b/client/dhclient.c +@@ -83,8 +83,9 @@ static const char message [] = "Internet Systems Consortium DHCP Client"; + static const char url [] = "For info, please visit https://www.isc.org/software/dhcp/"; + #endif /* UNIT_TEST */ + +-u_int16_t local_port = 0; +-u_int16_t remote_port = 0; ++extern u_int16_t local_port; ++extern u_int16_t remote_port; ++ + #if defined(DHCPv6) && defined(DHCP4o6) + int dhcp4o6_state = -1; /* -1 = stopped, 0 = polling, 1 = started */ + #endif +diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c +index 883d5058f2ee..7211e3bbbec9 100644 +--- a/relay/dhcrelay.c ++++ b/relay/dhcrelay.c +@@ -95,8 +95,8 @@ enum { forward_and_append, /* Forward and append our own relay option. */ + forward_untouched, /* Forward without changes. */ + discard } agent_relay_mode = forward_and_replace; + +-u_int16_t local_port; +-u_int16_t remote_port; ++extern u_int16_t local_port; ++extern u_int16_t remote_port; + + /* Relay agent server list. */ + struct server_list { +diff --git a/server/mdb.c b/server/mdb.c +index ff8a707fac1b..8266d76432b8 100644 +--- a/server/mdb.c ++++ b/server/mdb.c +@@ -67,7 +67,7 @@ static host_id_info_t *host_id_info = NULL; + + int numclasseswritten; + +-omapi_object_type_t *dhcp_type_host; ++extern omapi_object_type_t *dhcp_type_host; + + isc_result_t enter_class(cd, dynamicp, commit) + struct class *cd; +diff --git a/server/mdb6.c b/server/mdb6.c +index da7baf6e50df..ebe01e5607cb 100644 +--- a/server/mdb6.c ++++ b/server/mdb6.c +@@ -1945,7 +1945,7 @@ create_prefix6(struct ipv6_pool *pool, struct iasubopt **pref, + } + new_ds.data = new_ds.buffer->data; + memcpy(new_ds.buffer->data, ds.data, ds.len); +- memcpy(new_ds.buffer->data + ds.len, &tmp, sizeof(tmp)); ++ memcpy(&new_ds.buffer->data[0] + ds.len, &tmp, sizeof(tmp)); + data_string_forget(&ds, MDL); + data_string_copy(&ds, &new_ds, MDL); + data_string_forget(&new_ds, MDL); diff --git a/patches/dhcp-4.4.2/series b/patches/dhcp-4.4.2/series new file mode 100644 index 000000000000..de5f31877455 --- /dev/null +++ b/patches/dhcp-4.4.2/series @@ -0,0 +1,4 @@ +# generated by git-ptx-patches +#tag:base --start-number 1 +0001-Fixed-gcc-10-compilation-issues.patch +# dd19bdbd49b780e973ed9392604d03fe - git-ptx-patches magic diff --git a/rules/dhcp.in b/rules/dhcp.in index 924882bf925b..7e609f74d432 100644 --- a/rules/dhcp.in +++ b/rules/dhcp.in @@ -2,6 +2,8 @@ menuconfig DHCP tristate prompt "dhcp " + select BIND + select ZLIB help This is the DHCP server from version 3 of the Internet Software Consortium DHCP package. For more information visit the ISC web diff --git a/rules/dhcp.make b/rules/dhcp.make index 5452f4676adc..5cdc7be214ca 100644 --- a/rules/dhcp.make +++ b/rules/dhcp.make @@ -3,6 +3,7 @@ # Copyright (C) 2003 by Benedikt Spranger # 2009 by Wolfram Sang, Pengutronix # 2010 by Marc Kleine-Budde +# 2021 by Roland Hieber, Pengutronix # # For further information about the PTXdist project and license conditions # see the README file. @@ -16,17 +17,21 @@ PACKAGES-$(PTXCONF_DHCP) += dhcp # # Paths and names # -DHCP_VERSION := 4.1.2 -DHCP_MD5 := 23bc6016297aa831dc9f321403e30ddc +DHCP_VERSION := 4.4.2 +DHCP_MD5 := 2afdaf8498dc1edaf3012efdd589b3e1 DHCP := dhcp-$(DHCP_VERSION) DHCP_SUFFIX := tar.gz DHCP_URL := \ + https://ftp.isc.org/isc/dhcp/$(DHCP_VERSION)/$(DHCP).$(DHCP_SUFFIX) \ https://ftp.isc.org/isc/dhcp/$(DHCP).$(DHCP_SUFFIX) \ https://ftp.isc.org/isc/dhcp/dhcp-4.1-history/$(DHCP).$(DHCP_SUFFIX) DHCP_SOURCE := $(SRCDIR)/$(DHCP).$(DHCP_SUFFIX) DHCP_DIR := $(BUILDDIR)/$(DHCP) -DHCP_LICENSE := ISC - +DHCP_LICENSE := MPL-2.0 AND BSD-3-Clause AND ISC +DHCP_LICENSE_FILES := \ + file://LICENSE;md5=b9c6e660b3d9260de9a342d2fb77540a \ + file://server/ldap.c;startline=6;endline=35;md5=8e5f9d2cd6b641d599871fd2430708c4 \ + file://server/ldap_casa.c;startline=35;endline=48;md5=d2ea64a00aeacb447c6634d984486afe # ---------------------------------------------------------------------------- # Prepare @@ -35,13 +40,36 @@ DHCP_LICENSE := ISC # # autoconf # -DHCP_AUTOCONF := \ +DHCP_CONF_TOOL := autoconf +DHCP_CONF_OPT := \ $(CROSS_AUTOCONF_USR) \ - --$(call ptx/endis, PTXCONF_GLOBAL_IPV6)-dhcpv6 - -# overwrite CFLAGS to remove -Werror -DHCP_MAKE_OPT := \ - CFLAGS="-g -O2 -Wall -fno-strict-aliasing" + --disable-debug \ + --enable-failover \ + --disable-execute \ + --enable-tracing \ + --enable-delayed-ack \ + --$(call ptx/endis, PTXCONF_GLOBAL_IPV6)-dhcpv6 \ + --disable-dhcpv4o6 \ + --disable-relay-port \ + --enable-paranoia \ + --enable-early-chroot \ + --disable-ipv4-pktinfo \ + --enable-use-sockets \ + --disable-log-pid \ + --disable-binary-leases \ + --disable-kqueue \ + --disable-epoll \ + --disable-devpoll \ + --disable-libtool \ + --disable-bind-install \ + --without-atf \ + --with-randomdev=/dev/random \ + --with-libbind=$(SYSROOT)/usr \ + --without-bind-extra-config \ + --without-ldap \ + --without-ldapcrypto \ + --without-ldap-gssapi \ + --without-ldapcasa # ---------------------------------------------------------------------------- # Target-Install -- 2.29.2 _______________________________________________ ptxdist mailing list ptxdist@pengutronix.de To unsubscribe, send a mail with subject "unsubscribe" to ptxdist-request@pengutronix.de