From: Roland Hieber <rhi@pengutronix.de>
To: ptxdist@pengutronix.de
Cc: Roland Hieber <rhi@pengutronix.de>
Subject: [ptxdist] [PATCH 2/2] dhcp: version bump 4.1.2 -> 4.4.2
Date: Mon, 17 May 2021 22:59:08 +0200 [thread overview]
Message-ID: <20210517205908.5785-2-rhi@pengutronix.de> (raw)
In-Reply-To: <20210517205908.5785-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
next prev parent reply other threads:[~2021-05-17 21:00 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-17 20:59 [ptxdist] [PATCH 1/2] bind: new package Roland Hieber
2021-05-17 20:59 ` Roland Hieber [this message]
2021-05-17 21:02 ` [ptxdist] [PATCH 2/2] dhcp: version bump 4.1.2 -> 4.4.2 Roland Hieber
2021-05-21 10:01 ` [ptxdist] [PATCH 1/2] bind: new package Michael Olbrich
2021-05-24 18:37 ` Roland Hieber
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=20210517205908.5785-2-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