mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Roland Hieber <rhi@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Roland Hieber <rhi@pengutronix.de>
Subject: [ptxdist] [PATCH v2 3/3] dhcp: version bump 4.1.2 -> 4.4.2
Date: Mon, 24 May 2021 20:35:00 +0200	[thread overview]
Message-ID: <20210524183500.32170-3-rhi@pengutronix.de> (raw)
In-Reply-To: <20210524183500.32170-1-rhi@pengutronix.de>

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 <rhi@pengutronix.de>
---
 ...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 <tmark@isc.org>
+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 <mkl@pengutronix.de>
+#               2021 by Roland Hieber, Pengutronix <rhi@pengutronix.de>
 #
 # 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


  parent reply	other threads:[~2021-05-24 18:36 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-24 18:34 [ptxdist] [PATCH v2 1/3] unzip: version bump 5.52 -> 6.00 Roland Hieber
2021-05-24 18:34 ` [ptxdist] [PATCH v2 2/3] bind: new package Roland Hieber
2021-05-28  7:01   ` [ptxdist] [APPLIED] " Michael Olbrich
2021-05-24 18:35 ` Roland Hieber [this message]
2021-05-28  7:01   ` [ptxdist] [APPLIED] dhcp: version bump 4.1.2 -> 4.4.2 Michael Olbrich
2021-05-28  7:01 ` [ptxdist] [APPLIED] unzip: version bump 5.52 -> 6.00 Michael Olbrich

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210524183500.32170-3-rhi@pengutronix.de \
    --to=rhi@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox