Use bind-export-libs package instead of bind99

Use isc-export-config.sh to configure bind parameters

Change requirement to bind-export-devel

Adjust former patches

Signed-off-by: Petr Menšík <pemensik@redhat.com>
This commit is contained in:
Petr Menšík 2018-02-08 18:21:29 +01:00
parent 67887f7d6a
commit 410937ecd9
4 changed files with 372 additions and 265 deletions

View File

@ -1,7 +1,42 @@
diff -up dhcp-4.3.4/client/dhclient.8.capability dhcp-4.3.4/client/dhclient.8 diff --git a/client/Makefile.am b/client/Makefile.am
--- dhcp-4.3.4/client/dhclient.8.capability 2016-04-29 12:19:40.657129322 +0200 index b1ecf82..387c097 100644
+++ dhcp-4.3.4/client/dhclient.8 2016-04-29 12:19:40.715129297 +0200 --- a/client/Makefile.am
@@ -134,6 +134,9 @@ dhclient - Dynamic Host Configuration Pr +++ b/client/Makefile.am
@@ -15,6 +15,7 @@ dhclient_SOURCES = clparse.c dhclient.c dhc6.c \
scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
scripts/netbsd scripts/nextstep scripts/openbsd \
scripts/solaris scripts/openwrt
-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la $(BIND_LIBS)
+dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
+ $(CAPNG_LDADD) $(BIND_LIBS)
man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
EXTRA_DIST = $(man_MANS)
diff --git a/client/dhclient-script.8 b/client/dhclient-script.8
index 3a3aaf7..fec726c 100644
--- a/client/dhclient-script.8
+++ b/client/dhclient-script.8
@@ -245,6 +245,16 @@ repeatedly initialized to the values provided by one server, and then
the other. Assuming the information provided by both servers is
valid, this shouldn't cause any real problems, but it could be
confusing.
+.PP
+Normally, if dhclient was compiled with libcap-ng support,
+dhclient drops most capabilities immediately upon startup.
+While more secure, this greatly restricts the additional actions that
+hooks in dhclient-script can take. For example, any daemons that
+dhclient-script starts or restarts will inherit the restricted
+capabilities as well, which may interfere with their correct operation.
+Thus, the
+.BI \-nc
+option can be used to prevent dhclient from dropping capabilities.
.SH SEE ALSO
dhclient(8), dhcpd(8), dhcrelay(8), dhclient.conf(5) and
dhclient.leases(5).
diff --git a/client/dhclient.8 b/client/dhclient.8
index aa2238d..005cda5 100644
--- a/client/dhclient.8
+++ b/client/dhclient.8
@@ -134,6 +134,9 @@ dhclient - Dynamic Host Configuration Protocol Client
.B -w .B -w
] ]
[ [
@ -11,10 +46,11 @@ diff -up dhcp-4.3.4/client/dhclient.8.capability dhcp-4.3.4/client/dhclient.8
.B -B .B -B
] ]
[ [
@@ -318,6 +321,32 @@ program can then be used to notify the c @@ -320,6 +323,32 @@ not to exit when it doesn't find any such interfaces. The
program can then be used to notify the client when a network interface
has been added or removed, so that the client can attempt to configure an IP has been added or removed, so that the client can attempt to configure an IP
address on that interface. address on that interface.
.TP +.TP
+.BI \-nc +.BI \-nc
+Do not drop capabilities. +Do not drop capabilities.
+ +
@ -40,13 +76,13 @@ diff -up dhcp-4.3.4/client/dhclient.8.capability dhcp-4.3.4/client/dhclient.8
+.B dhclient +.B dhclient
+was not compiled with libcap-ng support. +was not compiled with libcap-ng support.
+ +
+.TP .TP
.BI \-n .BI \-n
Do not configure any interfaces. This is most likely to be useful in Do not configure any interfaces. This is most likely to be useful in
combination with the diff --git a/client/dhclient.c b/client/dhclient.c
diff -up dhcp-4.3.4/client/dhclient.c.capability dhcp-4.3.4/client/dhclient.c index 09ae09b..2d564ff 100644
--- dhcp-4.3.4/client/dhclient.c.capability 2016-04-29 12:19:40.691129307 +0200 --- a/client/dhclient.c
+++ dhcp-4.3.4/client/dhclient.c 2016-04-29 12:21:07.620091930 +0200 +++ b/client/dhclient.c
@@ -40,6 +40,10 @@ @@ -40,6 +40,10 @@
#include <isc/file.h> #include <isc/file.h>
#include <dns/result.h> #include <dns/result.h>
@ -58,7 +94,7 @@ diff -up dhcp-4.3.4/client/dhclient.c.capability dhcp-4.3.4/client/dhclient.c
/* /*
* Defined in stdio.h when _GNU_SOURCE is set, but we don't want to define * Defined in stdio.h when _GNU_SOURCE is set, but we don't want to define
* that when building ISC code. * that when building ISC code.
@@ -237,6 +241,9 @@ main(int argc, char **argv) { @@ -239,6 +243,9 @@ main(int argc, char **argv) {
int timeout_arg = 0; int timeout_arg = 0;
char *arg_conf = NULL; char *arg_conf = NULL;
int arg_conf_len = 0; int arg_conf_len = 0;
@ -68,7 +104,7 @@ diff -up dhcp-4.3.4/client/dhclient.c.capability dhcp-4.3.4/client/dhclient.c
/* Initialize client globals. */ /* Initialize client globals. */
memset(&default_duid, 0, sizeof(default_duid)); memset(&default_duid, 0, sizeof(default_duid));
@@ -537,6 +544,10 @@ main(int argc, char **argv) { @@ -548,6 +555,10 @@ main(int argc, char **argv) {
} }
dhclient_request_options = argv[i]; dhclient_request_options = argv[i];
@ -79,7 +115,7 @@ diff -up dhcp-4.3.4/client/dhclient.c.capability dhcp-4.3.4/client/dhclient.c
} else if (argv[i][0] == '-') { } else if (argv[i][0] == '-') {
usage("Unknown command: %s", argv[i]); usage("Unknown command: %s", argv[i]);
} else if (interfaces_requested < 0) { } else if (interfaces_requested < 0) {
@@ -597,6 +608,19 @@ main(int argc, char **argv) { @@ -608,6 +619,19 @@ main(int argc, char **argv) {
path_dhclient_script = s; path_dhclient_script = s;
} }
@ -99,42 +135,11 @@ diff -up dhcp-4.3.4/client/dhclient.c.capability dhcp-4.3.4/client/dhclient.c
/* Set up the initial dhcp option universe. */ /* Set up the initial dhcp option universe. */
initialize_common_option_spaces(); initialize_common_option_spaces();
diff -up dhcp-4.3.4/client/dhclient-script.8.capability dhcp-4.3.4/client/dhclient-script.8 diff --git a/configure.ac b/configure.ac
--- dhcp-4.3.4/client/dhclient-script.8.capability 2016-04-29 12:19:40.668129317 +0200 index adc98a8..8bbe5ca 100644
+++ dhcp-4.3.4/client/dhclient-script.8 2016-04-29 12:19:40.717129296 +0200 --- a/configure.ac
@@ -243,6 +243,16 @@ repeatedly initialized to the values pro +++ b/configure.ac
the other. Assuming the information provided by both servers is @@ -592,6 +592,41 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[void foo() __attribute__((noreturn));
valid, this shouldn't cause any real problems, but it could be
confusing.
+.PP
+Normally, if dhclient was compiled with libcap-ng support,
+dhclient drops most capabilities immediately upon startup.
+While more secure, this greatly restricts the additional actions that
+hooks in dhclient-script can take. For example, any daemons that
+dhclient-script starts or restarts will inherit the restricted
+capabilities as well, which may interfere with their correct operation.
+Thus, the
+.BI \-nc
+option can be used to prevent dhclient from dropping capabilities.
.SH SEE ALSO
dhclient(8), dhcpd(8), dhcrelay(8), dhclient.conf(5) and
dhclient.leases(5).
diff -up dhcp-4.3.4/client/Makefile.am.capability dhcp-4.3.4/client/Makefile.am
--- dhcp-4.3.4/client/Makefile.am.capability 2016-04-29 12:19:40.652129324 +0200
+++ dhcp-4.3.4/client/Makefile.am 2016-04-29 12:19:40.717129296 +0200
@@ -13,7 +13,7 @@ dhclient_SOURCES = clparse.c dhclient.c
scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
scripts/netbsd scripts/nextstep scripts/openbsd \
scripts/solaris scripts/openwrt
-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
+dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la $(CAPNG_LDADD) \
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
EXTRA_DIST = $(man_MANS)
diff -up dhcp-4.3.4/configure.ac.capability dhcp-4.3.4/configure.ac
--- dhcp-4.3.4/configure.ac.capability 2016-04-29 12:19:40.652129324 +0200
+++ dhcp-4.3.4/configure.ac 2016-04-29 12:19:40.717129296 +0200
@@ -585,6 +585,41 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
# Look for optional headers. # Look for optional headers.
AC_CHECK_HEADERS(sys/socket.h net/if_dl.h net/if6.h regex.h) AC_CHECK_HEADERS(sys/socket.h net/if_dl.h net/if6.h regex.h)
@ -176,9 +181,23 @@ diff -up dhcp-4.3.4/configure.ac.capability dhcp-4.3.4/configure.ac
# Solaris needs some libraries for functions # Solaris needs some libraries for functions
AC_SEARCH_LIBS(socket, [socket]) AC_SEARCH_LIBS(socket, [socket])
AC_SEARCH_LIBS(inet_ntoa, [nsl]) AC_SEARCH_LIBS(inet_ntoa, [nsl])
diff -up dhcp-4.3.4/relay/dhcrelay.c.capability dhcp-4.3.4/relay/dhcrelay.c diff --git a/relay/Makefile.am b/relay/Makefile.am
--- dhcp-4.3.4/relay/dhcrelay.c.capability 2016-04-29 12:19:40.694129306 +0200 index 316a524..999e543 100644
+++ dhcp-4.3.4/relay/dhcrelay.c 2016-04-29 12:22:30.278056386 +0200 --- a/relay/Makefile.am
+++ b/relay/Makefile.am
@@ -5,7 +5,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localstatedir@"'
sbin_PROGRAMS = dhcrelay
dhcrelay_SOURCES = dhcrelay.c
dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
- $(BIND_LIBS)
+ $(CAPNG_LDADD) $(BIND_LIBS)
man_MANS = dhcrelay.8
EXTRA_DIST = $(man_MANS)
diff --git a/relay/dhcrelay.c b/relay/dhcrelay.c
index eac119c..d2ab448 100644
--- a/relay/dhcrelay.c
+++ b/relay/dhcrelay.c
@@ -32,6 +32,11 @@ @@ -32,6 +32,11 @@
#include <sys/time.h> #include <sys/time.h>
#include <isc/file.h> #include <isc/file.h>
@ -191,18 +210,18 @@ diff -up dhcp-4.3.4/relay/dhcrelay.c.capability dhcp-4.3.4/relay/dhcrelay.c
TIME default_lease_time = 43200; /* 12 hours... */ TIME default_lease_time = 43200; /* 12 hours... */
TIME max_lease_time = 86400; /* 24 hours... */ TIME max_lease_time = 86400; /* 24 hours... */
struct tree_cache *global_options[256]; struct tree_cache *global_options[256];
@@ -454,6 +459,10 @@ main(int argc, char **argv) { @@ -472,6 +477,10 @@ main(int argc, char **argv) {
if (++i == argc)
usage(use_noarg, argv[i-1]); usage(use_noarg, argv[i-1]);
dhcrelay_sub_id = argv[i]; dhcrelay_sub_id = argv[i];
#endif +#endif
+ } else if (!strcmp(argv[i], "-nc")) { + } else if (!strcmp(argv[i], "-nc")) {
+#ifdef HAVE_LIBCAP_NG +#ifdef HAVE_LIBCAP_NG
+ keep_capabilities = 1; + keep_capabilities = 1;
+#endif #endif
} else if (!strcmp(argv[i], "-pf")) { } else if (!strcmp(argv[i], "-pf")) {
if (++i == argc) if (++i == argc)
usage(use_noarg, argv[i-1]); @@ -547,6 +556,17 @@ main(int argc, char **argv) {
@@ -528,6 +537,17 @@ main(int argc, char **argv) {
#endif #endif
} }
@ -220,7 +239,7 @@ diff -up dhcp-4.3.4/relay/dhcrelay.c.capability dhcp-4.3.4/relay/dhcrelay.c
if (!quiet) { if (!quiet) {
log_info("%s %s", message, PACKAGE_VERSION); log_info("%s %s", message, PACKAGE_VERSION);
log_info(copyright); log_info(copyright);
@@ -680,6 +700,15 @@ main(int argc, char **argv) { @@ -699,6 +719,15 @@ main(int argc, char **argv) {
signal(SIGTERM, dhcp_signal_handler); /* kill */ signal(SIGTERM, dhcp_signal_handler); /* kill */
#endif #endif
@ -236,15 +255,3 @@ diff -up dhcp-4.3.4/relay/dhcrelay.c.capability dhcp-4.3.4/relay/dhcrelay.c
/* Start dispatching packets and timeouts... */ /* Start dispatching packets and timeouts... */
dispatch(); dispatch();
diff -up dhcp-4.3.4/relay/Makefile.am.capability dhcp-4.3.4/relay/Makefile.am
--- dhcp-4.3.4/relay/Makefile.am.capability 2016-04-29 12:19:40.653129323 +0200
+++ dhcp-4.3.4/relay/Makefile.am 2016-04-29 12:19:40.718129295 +0200
@@ -2,7 +2,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
sbin_PROGRAMS = dhcrelay
dhcrelay_SOURCES = dhcrelay.c
-dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
+dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la $(CAPNG_LDADD) \
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
man_MANS = dhcrelay.8
EXTRA_DIST = $(man_MANS)

View File

@ -1,151 +1,251 @@
diff -up dhcp-4.3.5b1/client/Makefile.am.remove-bind dhcp-4.3.5b1/client/Makefile.am From 52ede1218eb7426ced8ed51c5c6c00995f92cb5e Mon Sep 17 00:00:00 2001
--- dhcp-4.3.5b1/client/Makefile.am.remove-bind 2016-08-26 20:19:53.000000000 +0200 From: Petr Mensik <pemensik@redhat.com>
+++ dhcp-4.3.5b1/client/Makefile.am 2016-09-12 17:00:22.797902248 +0200 Date: Fri, 9 Feb 2018 15:24:53 +0100
@@ -4,8 +4,6 @@ Subject: [PATCH] Support for isc-config.sh script on --with-libbind parameter
Move checks only to isc-config section
Fix detection of bind flags from config
Add support for with-libbind=config, Improve help message
---
client/Makefile.am | 5 ++-
client/tests/Makefile.am | 8 ++---
common/tests/Makefile.am | 14 +++------
configure.ac | 81 ++++++++++++++++++++++++++++++++++++++++++------
dhcpctl/Makefile.am | 8 ++---
omapip/Makefile.am | 5 ++-
relay/Makefile.am | 5 ++-
server/Makefile.am | 6 ++--
server/tests/Makefile.am | 9 +++---
9 files changed, 95 insertions(+), 46 deletions(-)
diff --git a/client/Makefile.am b/client/Makefile.am
index 2cb83d8..b85f5d2 100644
--- a/client/Makefile.am
+++ b/client/Makefile.am
@@ -4,7 +4,7 @@
# production code. Sadly, we are not there yet. # production code. Sadly, we are not there yet.
SUBDIRS = . tests SUBDIRS = . tests
-BINDLIBDIR = @BINDDIR@/lib -BINDLIBDIR = @BINDDIR@/lib
- +BIND_LIBS = @BIND_LIBS@
AM_CPPFLAGS = -DCLIENT_PATH='"PATH=$(sbindir):/sbin:/bin:/usr/sbin:/usr/bin"' \ AM_CPPFLAGS = -DCLIENT_PATH='"PATH=$(sbindir):/sbin:/bin:/usr/sbin:/usr/bin"' \
-DLOCALSTATEDIR='"$(localstatedir)"' -DLOCALSTATEDIR='"$(localstatedir)"'
@@ -15,7 +15,6 @@ dhclient_SOURCES = clparse.c dhclient.c dhc6.c \
@@ -15,7 +13,7 @@ dhclient_SOURCES = clparse.c dhclient.c
scripts/bsdos scripts/freebsd scripts/linux scripts/macos \ scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
scripts/netbsd scripts/nextstep scripts/openbsd \ scripts/netbsd scripts/nextstep scripts/openbsd \
scripts/solaris scripts/openwrt scripts/solaris scripts/openwrt
-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \ -dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \
- $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a - $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
+dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \ +dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a $(BIND_LIBS)
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5 man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
EXTRA_DIST = $(man_MANS) EXTRA_DIST = $(man_MANS)
diff -up dhcp-4.3.5b1/common/tests/Makefile.am.remove-bind dhcp-4.3.5b1/common/tests/Makefile.am diff --git a/client/tests/Makefile.am b/client/tests/Makefile.am
--- dhcp-4.3.5b1/common/tests/Makefile.am.remove-bind 2016-08-26 20:19:53.000000000 +0200 index 5031d0c..bb1fda4 100644
+++ dhcp-4.3.5b1/common/tests/Makefile.am 2016-09-12 17:07:42.168232452 +0200 --- a/client/tests/Makefile.am
@@ -1,7 +1,5 @@ +++ b/client/tests/Makefile.am
@@ -1,9 +1,9 @@
SUBDIRS = . SUBDIRS = .
-BINDLIBDIR = @BINDDIR@/lib -BINDLIBDIR = @BINDDIR@/lib
- +BIND_LIBS = @BIND_LIBS@
AM_CPPFLAGS = $(ATF_CFLAGS) -DUNIT_TEST -I$(top_srcdir)/includes
-AM_CPPFLAGS += -I@BINDDIR@/include -I$(top_srcdir)
+AM_CPPFLAGS += @BIND_CPPFLAGS@ -I$(top_srcdir)
AM_CPPFLAGS += -DLOCALSTATEDIR='"."'
AM_CPPFLAGS += -DCLIENT_PATH='"."'
@@ -18,9 +18,7 @@ info:
DHCPSRC = ../clparse.c ../dhc6.c ../dhclient.c
DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.a \
- $(top_builddir)/dhcpctl/libdhcpctl.a $(BINDLIBDIR)/libirs.a \
- $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a \
- $(BINDLIBDIR)/libisc.a
+ $(top_builddir)/dhcpctl/libdhcpctl.a $(BIND_LIBS)
ATF_TESTS =
if HAVE_ATF
diff --git a/common/tests/Makefile.am b/common/tests/Makefile.am
index f6a43e4..196aa44 100644
--- a/common/tests/Makefile.am
+++ b/common/tests/Makefile.am
@@ -1,6 +1,6 @@
SUBDIRS = .
-BINDLIBDIR = @BINDDIR@/lib
+BIND_LIBS = @BIND_LIBS@
AM_CPPFLAGS = $(ATF_CFLAGS) -I$(top_srcdir)/includes AM_CPPFLAGS = $(ATF_CFLAGS) -I$(top_srcdir)/includes
EXTRA_DIST = Atffile @@ -15,26 +15,22 @@ ATF_TESTS += alloc_unittest dns_unittest misc_unittest ns_name_unittest
@@ -15,26 +13,26 @@ ATF_TESTS += alloc_unittest dns_unittest
alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c
alloc_unittest_LDADD = $(ATF_LDFLAGS) alloc_unittest_LDADD = $(ATF_LDFLAGS)
alloc_unittest_LDADD += ../libdhcp.a \ alloc_unittest_LDADD += ../libdhcp.a \
- ../../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \ - ../../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \
- $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a - $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
+ ../../omapip/libomapi.a \ + ../../omapip/libomapi.a $(BIND_LIBS)
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
dns_unittest_SOURCES = dns_unittest.c $(top_srcdir)/tests/t_api_dhcp.c dns_unittest_SOURCES = dns_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
dns_unittest_LDADD = $(ATF_LDFLAGS) dns_unittest_LDADD = $(ATF_LDFLAGS)
dns_unittest_LDADD += ../libdhcp.a \ dns_unittest_LDADD += ../libdhcp.a \
- ../../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \ - ../../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \
- $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a - $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
+ ../../omapip/libomapi.a \ + ../../omapip/libomapi.a $(BIND_LIBS)
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
misc_unittest_SOURCES = misc_unittest.c $(top_srcdir)/tests/t_api_dhcp.c misc_unittest_SOURCES = misc_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
misc_unittest_LDADD = $(ATF_LDFLAGS) misc_unittest_LDADD = $(ATF_LDFLAGS)
misc_unittest_LDADD += ../libdhcp.a \ misc_unittest_LDADD += ../libdhcp.a \
- ../../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \ - ../../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \
- $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a - $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
+ ../../omapip/libomapi.a \ + ../../omapip/libomapi.a $(BIND_LIBS)
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
ns_name_unittest_SOURCES = ns_name_test.c $(top_srcdir)/tests/t_api_dhcp.c ns_name_unittest_SOURCES = ns_name_test.c $(top_srcdir)/tests/t_api_dhcp.c
ns_name_unittest_LDADD = $(ATF_LDFLAGS) ns_name_unittest_LDADD = $(ATF_LDFLAGS)
ns_name_unittest_LDADD += ../libdhcp.a \ ns_name_unittest_LDADD += ../libdhcp.a \
- ../../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \ - ../../omapip/libomapi.a $(BINDLIBDIR)/libirs.a \
- $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a - $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
+ ../../omapip/libomapi.a \ + ../../omapip/libomapi.a $(BIND_LIBS)
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
check: $(ATF_TESTS) check: $(ATF_TESTS)
@if test $(top_srcdir) != ${top_builddir}; then \ @if test $(top_srcdir) != ${top_builddir}; then \
diff -up dhcp-4.3.5b1/configure.ac.remove-bind dhcp-4.3.5b1/configure.ac diff --git a/configure.ac b/configure.ac
--- dhcp-4.3.5b1/configure.ac.remove-bind 2016-08-26 20:24:41.000000000 +0200 index 79325d2..1dead8c 100644
+++ dhcp-4.3.5b1/configure.ac 2016-09-12 17:00:22.798902249 +0200 --- a/configure.ac
@@ -682,20 +682,33 @@ AC_CHECK_MEMBER(struct tpacket_auxdata.t +++ b/configure.ac
@@ -688,8 +688,12 @@ AC_CHECK_MEMBER(struct tpacket_auxdata.tp_vlan_tci,
BINDDIR= BINDDIR=
BINDSRCDIR= BINDSRCDIR=
+BIND_CONFIG=
+BIND_CPPFLAGS=
+BIND_LIBS=
AC_ARG_WITH(libbind, AC_ARG_WITH(libbind,
- AS_HELP_STRING([--with-libbind=PATH],[bind includes and libraries are in PATH - AS_HELP_STRING([--with-libbind=PATH],[bind includes and libraries are in PATH
- (default is ./bind)]), + AS_HELP_STRING([--with-libbind=PATH|config],[bind includes and libraries are in PATH.
+ AS_HELP_STRING([--with-libbind=PATH],[bind includes are in PATH + Use config to obtain libraries from isc-config.sh.
+ (default is ./bind/includes)]), (default is ./bind)]),
use_libbind="$withval", use_libbind="no") use_libbind="$withval", use_libbind="no")
case "$use_libbind" in case "$use_libbind" in
+yes|no) @@ -701,23 +705,82 @@ no)
+ libbind="\${top_srcdir}/bind/include" BINDDIR="\${top_srcdir}/bind"
+ ;; BINDSRCDIR="\${top_srcdir}/bind"
+*)
+ libbind="$use_libbind"
+ ;;
+esac
+
+BIND9_LIBDIR='-L$(top_builddir)/bind/lib'
+AC_ARG_WITH(libbind-libs,
+ AC_HELP_STRING([--with-libbind-libs=PATH],
+ [bind9 export libraries are in PATH]),
+ [libbind_libs="$withval"], [libbind_libs='no'])
+case "$libbind_libs" in
yes)
- BINDDIR="\${top_srcdir}/bind"
- BINDSRCDIR="\${top_srcdir}/bind"
+ AC_MSG_ERROR([Specify path to bind9 libraries])
;;
no)
- BINDDIR="\${top_srcdir}/bind"
- BINDSRCDIR="\${top_srcdir}/bind"
+ BUNDLED_BIND=yes
;; ;;
+config)
+ AC_PATH_PROG(BIND_CONFIG, [isc-config.sh bind9-config])
+ ;;
*) *)
- BINDDIR="$use_libbind" - BINDDIR="$use_libbind"
+ BIND9_LIBDIR="-L$libbind_libs" - if test ! -d "$srcdir/bind"; then
+ BUNDLED_BIND=no - # no bind directory, create it with a fake Makefile.in
if test ! -d "$srcdir/bind"; then - # (AC_CONFIG_FILES and top Makefile refer to it so
# no bind directory, create it with a fake Makefile.in - # it must exits)
# (AC_CONFIG_FILES and top Makefile refer to it so - mkdir $srcdir/bind
@@ -709,8 +722,8 @@ EOF - cat > $srcdir/bind/Makefile.in << EOF
+ if test -f "$use_libbind" -a -x "$use_libbind"; then
+ # passed full path of isc-config.sh
+ BIND_CONFIG="$use_libbind"
+ else
+ BINDDIR="$use_libbind"
+ if test ! -d "$srcdir/bind"; then
+ # no bind directory, create it with a fake Makefile.in
+ # (AC_CONFIG_FILES and top Makefile refer to it so
+ # it must exits)
+ mkdir $srcdir/bind
+ cat > $srcdir/bind/Makefile.in << EOF
# placeholder
all check clean distclean distdir install uninstall:
EOF
+ fi
fi fi
;; ;;
esac esac
-AC_SUBST(BINDDIR) +if test -z "$BIND_CONFIG"; then
-AC_SUBST(BINDSRCDIR) + BIND_CPPFLAGS="-I$BINDDIR/include"
+AM_CONDITIONAL([BUNDLED_BIND], [test "$BUNDLED_BIND" = yes]) + BIND_LIBDIR="$BINDDIR/lib"
+AC_SUBST([BIND9_LIBDIR]) + BIND_LIBS="$(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a"
+else
+ BIND_CPPFLAGS=`$BIND_CONFIG --cflags`
+ BIND_LIBS=`$BIND_CONFIG --libs irs dns isccfg isc`
+
+ # bind is already built
+ AC_CHECKING([Checking bind libraries have no thread support])
+ saved_libs="$LIBS"
+ saved_CPPFLAGS="$CPPFLAGS"
+ CPPFLAGS="${CPPFLAGS} ${BIND_CPPFLAGS}"
+ LIBS="${LIBS} ${BIND_LIBS}"
+AC_TRY_LINK([
+#include <isc/bind9.h>
+#include <isc/lib.h>
+],[
+#ifdef BIND9
+#error Export BIND library has to be used with BIND version up to 9.9
+#endif
+isc_lib_register();
+], [AC_MSG_RESULT(Bind export library found)
+ BIND_EXPORT=yes], [BIND_EXPORT=no]
+)
+
+# Allow build with disabled threads for dhcp
+AC_TRY_LINK([
+#include <isc/platform.h>
+#include <isc/bind9.h>
+#include <isc/lib.h>
+],[
+#ifdef ISC_PLATFORM_USETHREADS
+#error Bind library must not be compiled with threads
+#endif
+isc_lib_register();
+if (isc_bind9 != 0) {}
+], [AC_MSG_RESULT(Bind single thread library found)
+ BIND_SINGLETHREAD=yes], [BIND_SINGLETHREAD=no]
+)
+
+ if test "x$BIND_EXPORT" != xyes -a "x$BIND_SINGLETHREADED" != xyes
+ then
+ AC_MSG_ERROR([Bind libraries are not useable for dhcp])
+ fi
+ CPPFLAGS="$saved_CPPFLAGS"
+ LIBS="$saved_LIBS"
+fi
+
AC_SUBST(BINDDIR)
AC_SUBST(BINDSRCDIR)
+AC_SUBST(BIND_CPPFLAGS)
+AC_SUBST(BIND_LIBS)
# OpenLDAP support. # OpenLDAP support.
AC_ARG_WITH(ldap, AC_ARG_WITH(ldap,
@@ -788,7 +801,7 @@ fi @@ -795,7 +858,7 @@ fi
CFLAGS="$CFLAGS $STD_CWARNINGS" CFLAGS="$CFLAGS $STD_CWARNINGS"
# Try to add the bind and dhcp include directories # Try to add the bind and dhcp include directories
-CFLAGS="$CFLAGS -I\$(top_srcdir)/includes -I$BINDDIR/include" -CFLAGS="$CFLAGS -I\$(top_srcdir)/includes -I$BINDDIR/include"
+CFLAGS="$CFLAGS -I$libbind" +CFLAGS="$CFLAGS -I\$(top_srcdir)/includes $BIND_CPPFLAGS"
case "$host" in case "$host" in
*-darwin*) *-darwin*)
diff -up dhcp-4.3.5b1/dhcpctl/Makefile.am.remove-bind dhcp-4.3.5b1/dhcpctl/Makefile.am diff --git a/dhcpctl/Makefile.am b/dhcpctl/Makefile.am
--- dhcp-4.3.5b1/dhcpctl/Makefile.am.remove-bind 2016-08-26 20:19:53.000000000 +0200 index ceb0de1..fa20a78 100644
+++ dhcp-4.3.5b1/dhcpctl/Makefile.am 2016-09-12 17:00:22.798902249 +0200 --- a/dhcpctl/Makefile.am
@@ -1,5 +1,3 @@ +++ b/dhcpctl/Makefile.am
@@ -1,4 +1,4 @@
-BINDLIBDIR = @BINDDIR@/lib -BINDLIBDIR = @BINDDIR@/lib
- +BIND_LIBS = @BIND_LIBS@
bin_PROGRAMS = omshell bin_PROGRAMS = omshell
lib_LIBRARIES = libdhcpctl.a lib_LIBRARIES = libdhcpctl.a
noinst_PROGRAMS = cltest @@ -8,12 +8,10 @@ EXTRA_DIST = $(man_MANS)
@@ -8,12 +6,10 @@ EXTRA_DIST = $(man_MANS)
omshell_SOURCES = omshell.c omshell_SOURCES = omshell.c
omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \ omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
- $(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a \ - $(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a \
- $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a - $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export + $(BIND_LIBS)
libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c
@ -153,49 +253,33 @@ diff -up dhcp-4.3.5b1/dhcpctl/Makefile.am.remove-bind dhcp-4.3.5b1/dhcpctl/Makef
cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \ cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
- $(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a \ - $(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a \
- $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a - $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export + $(BIND_LIBS)
diff -up dhcp-4.3.5b1/Makefile.am.remove-bind dhcp-4.3.5b1/Makefile.am diff --git a/omapip/Makefile.am b/omapip/Makefile.am
--- dhcp-4.3.5b1/Makefile.am.remove-bind 2016-08-26 20:19:53.000000000 +0200 index 446a594..b0d2680 100644
+++ dhcp-4.3.5b1/Makefile.am 2016-09-12 17:00:22.798902249 +0200 --- a/omapip/Makefile.am
@@ -26,7 +26,13 @@ EXTRA_DIST = RELNOTES LICENSE \ +++ b/omapip/Makefile.am
bind/Makefile.in bind/bind.tar.gz bind/version.tmp \ @@ -1,4 +1,4 @@
common/tests/Atffile server/tests/Atffile
-SUBDIRS = @BINDSRCDIR@ includes tests common omapip client dhcpctl relay server
+if BUNDLED_BIND
+SUBDIRS = bind
+else
+SUBDIRS =
+endif
+
+SUBDIRS += includes tests common omapip client dhcpctl relay server
nobase_include_HEADERS = dhcpctl/dhcpctl.h
diff -up dhcp-4.3.5b1/omapip/Makefile.am.remove-bind dhcp-4.3.5b1/omapip/Makefile.am
--- dhcp-4.3.5b1/omapip/Makefile.am.remove-bind 2016-08-26 20:19:53.000000000 +0200
+++ dhcp-4.3.5b1/omapip/Makefile.am 2016-09-12 17:00:22.798902249 +0200
@@ -1,5 +1,3 @@
-BINDLIBDIR = @BINDDIR@/lib -BINDLIBDIR = @BINDDIR@/lib
- +BIND_LIBS = @BIND_LIBS@
lib_LIBRARIES = libomapi.a lib_LIBRARIES = libomapi.a
noinst_PROGRAMS = svtest noinst_PROGRAMS = svtest
@@ -12,6 +12,5 @@ man_MANS = omapi.3
@@ -12,6 +10,6 @@ man_MANS = omapi.3
EXTRA_DIST = $(man_MANS) EXTRA_DIST = $(man_MANS)
svtest_SOURCES = test.c svtest_SOURCES = test.c
-svtest_LDADD = libomapi.a $(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a \ -svtest_LDADD = libomapi.a $(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a \
- $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a - $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
+svtest_LDADD = libomapi.a \ +svtest_LDADD = libomapi.a $(BIND_LIBS)
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
diff -up dhcp-4.3.5b1/relay/Makefile.am.remove-bind dhcp-4.3.5b1/relay/Makefile.am diff --git a/relay/Makefile.am b/relay/Makefile.am
--- dhcp-4.3.5b1/relay/Makefile.am.remove-bind 2016-08-26 20:19:53.000000000 +0200 index 3060eca..c9a1cba 100644
+++ dhcp-4.3.5b1/relay/Makefile.am 2016-09-12 17:00:22.798902249 +0200 --- a/relay/Makefile.am
@@ -1,12 +1,9 @@ +++ b/relay/Makefile.am
@@ -1,12 +1,11 @@
-BINDLIBDIR = @BINDDIR@/lib -BINDLIBDIR = @BINDDIR@/lib
- +BIND_LIBS = @BIND_LIBS@
AM_CPPFLAGS = -DLOCALSTATEDIR='"@localstatedir@"' AM_CPPFLAGS = -DLOCALSTATEDIR='"@localstatedir@"'
sbin_PROGRAMS = dhcrelay sbin_PROGRAMS = dhcrelay
@ -203,59 +287,62 @@ diff -up dhcp-4.3.5b1/relay/Makefile.am.remove-bind dhcp-4.3.5b1/relay/Makefile.
dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \ dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
- $(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a \ - $(BINDLIBDIR)/libirs.a $(BINDLIBDIR)/libdns.a \
- $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a - $(BINDLIBDIR)/libisccfg.a $(BINDLIBDIR)/libisc.a
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export + $(BIND_LIBS)
man_MANS = dhcrelay.8 man_MANS = dhcrelay.8
EXTRA_DIST = $(man_MANS) EXTRA_DIST = $(man_MANS)
diff -up dhcp-4.3.5b1/server/Makefile.am.remove-bind dhcp-4.3.5b1/server/Makefile.am diff --git a/server/Makefile.am b/server/Makefile.am
--- dhcp-4.3.5b1/server/Makefile.am.remove-bind 2016-08-26 20:19:53.000000000 +0200 index 54feedf..30cf2b1 100644
+++ dhcp-4.3.5b1/server/Makefile.am 2016-09-12 17:00:22.798902249 +0200 --- a/server/Makefile.am
@@ -4,8 +4,6 @@ +++ b/server/Makefile.am
@@ -4,7 +4,7 @@
# production code. Sadly, we are not there yet. # production code. Sadly, we are not there yet.
SUBDIRS = . tests SUBDIRS = . tests
-BINDLIBDIR = @BINDDIR@/lib -BINDLIBDIR = @BINDDIR@/lib
- +BIND_LIBS = @BIND_LIBS@
AM_CPPFLAGS = -I.. -DLOCALSTATEDIR='"@localstatedir@"' AM_CPPFLAGS = -I.. -DLOCALSTATEDIR='"@localstatedir@"'
dist_sysconf_DATA = dhcpd.conf.example @@ -16,9 +16,7 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c confpars.c db.c class.c failover.c \
@@ -15,10 +13,9 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
dhcpv6.c mdb6.c ldap.c ldap_casa.c leasechain.c ldap_krb_helper.c
dhcpd_CFLAGS = $(LDAP_CFLAGS) dhcpd_CFLAGS = $(LDAP_CFLAGS)
-dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \ dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
- ../dhcpctl/libdhcpctl.a $(BINDLIBDIR)/libirs.a \ - ../dhcpctl/libdhcpctl.a $(BINDLIBDIR)/libirs.a \
- $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a \ - $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a \
- $(BINDLIBDIR)/libisc.a $(LDAP_LIBS) - $(BINDLIBDIR)/libisc.a $(LDAP_LIBS)
+dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a ../dhcpctl/libdhcpctl.a \ + ../dhcpctl/libdhcpctl.a $(BIND_LIBS) $(LDAP_LIBS)
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export \
+ $(LDAP_LIBS)
man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5 man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
EXTRA_DIST = $(man_MANS) EXTRA_DIST = $(man_MANS)
diff -up dhcp-4.3.5b1/server/tests/Makefile.am.remove-bind dhcp-4.3.5b1/server/tests/Makefile.am diff --git a/server/tests/Makefile.am b/server/tests/Makefile.am
--- dhcp-4.3.5b1/server/tests/Makefile.am.remove-bind 2016-08-26 20:19:53.000000000 +0200 index a87c5e7..771de06 100644
+++ dhcp-4.3.5b1/server/tests/Makefile.am 2016-09-12 17:00:22.799902249 +0200 --- a/server/tests/Makefile.am
@@ -1,9 +1,7 @@ +++ b/server/tests/Makefile.am
@@ -1,9 +1,10 @@
SUBDIRS = . SUBDIRS = .
-BINDLIBDIR = @BINDDIR@/lib -BINDLIBDIR = @BINDDIR@/lib
- +BIND_LIBS = @BIND_LIBS@
+
AM_CPPFLAGS = $(ATF_CFLAGS) -DUNIT_TEST -I$(top_srcdir)/includes AM_CPPFLAGS = $(ATF_CFLAGS) -DUNIT_TEST -I$(top_srcdir)/includes
-AM_CPPFLAGS += -I@BINDDIR@/include -I$(top_srcdir) -AM_CPPFLAGS += -I@BINDDIR@/include -I$(top_srcdir)
+AM_CPPFLAGS += -I$(top_srcdir) +AM_CPPFLAGS += $(BIND_CPPFLAGS) -I$(top_srcdir)
AM_CPPFLAGS += -DLOCALSTATEDIR='"."' AM_CPPFLAGS += -DLOCALSTATEDIR='"."'
EXTRA_DIST = Atffile EXTRA_DIST = Atffile
@@ -20,9 +18,8 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpa @@ -20,9 +21,7 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpars.c ../db.c ../class.c \
../ldap.c ../ldap_casa.c ../dhcpd.c ../leasechain.c ../ldap.c ../ldap_casa.c ../dhcpd.c ../leasechain.c
DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.a \ DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.a \
- $(top_builddir)/dhcpctl/libdhcpctl.a $(BINDLIBDIR)/libirs.a \ - $(top_builddir)/dhcpctl/libdhcpctl.a $(BINDLIBDIR)/libirs.a \
- $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a \ - $(BINDLIBDIR)/libdns.a $(BINDLIBDIR)/libisccfg.a \
- $(BINDLIBDIR)/libisc.a - $(BINDLIBDIR)/libisc.a
+ $(top_builddir)/dhcpctl/libdhcpctl.a \ + $(top_builddir)/dhcpctl/libdhcpctl.a $(BIND_LIBS)
+ $(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
ATF_TESTS = ATF_TESTS =
if HAVE_ATF if HAVE_ATF
--
2.14.3

View File

@ -1,52 +1,51 @@
diff -up dhcp-4.3.4/client/Makefile.am.sharedlib dhcp-4.3.4/client/Makefile.am diff --git a/client/Makefile.am b/client/Makefile.am
--- dhcp-4.3.4/client/Makefile.am.sharedlib 2016-04-29 11:48:30.389923087 +0200 index b85f5d2..b1ecf82 100644
+++ dhcp-4.3.4/client/Makefile.am 2016-04-29 11:48:30.393923084 +0200 --- a/client/Makefile.am
@@ -13,7 +13,7 @@ dhclient_SOURCES = clparse.c dhclient.c +++ b/client/Makefile.am
@@ -15,6 +15,6 @@ dhclient_SOURCES = clparse.c dhclient.c dhc6.c \
scripts/bsdos scripts/freebsd scripts/linux scripts/macos \ scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
scripts/netbsd scripts/nextstep scripts/openbsd \ scripts/netbsd scripts/nextstep scripts/openbsd \
scripts/solaris scripts/openwrt scripts/solaris scripts/openwrt
-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \ -dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a $(BIND_LIBS)
+dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \ +dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la $(BIND_LIBS)
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5 man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
EXTRA_DIST = $(man_MANS) EXTRA_DIST = $(man_MANS)
diff -up dhcp-4.3.4/common/tests/Makefile.am.sharedlib dhcp-4.3.4/common/tests/Makefile.am diff --git a/common/tests/Makefile.am b/common/tests/Makefile.am
--- dhcp-4.3.4/common/tests/Makefile.am.sharedlib 2016-04-29 11:48:30.394923084 +0200 index 196aa44..1ccaa05 100644
+++ dhcp-4.3.4/common/tests/Makefile.am 2016-04-29 11:54:16.890716651 +0200 --- a/common/tests/Makefile.am
@@ -13,25 +13,25 @@ ATF_TESTS += alloc_unittest dns_unittest +++ b/common/tests/Makefile.am
@@ -15,22 +15,22 @@ ATF_TESTS += alloc_unittest dns_unittest misc_unittest ns_name_unittest
alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c
alloc_unittest_LDADD = $(ATF_LDFLAGS) alloc_unittest_LDADD = $(ATF_LDFLAGS)
alloc_unittest_LDADD += ../libdhcp.a \ alloc_unittest_LDADD += ../libdhcp.a \
- ../../omapip/libomapi.a \ - ../../omapip/libomapi.a $(BIND_LIBS)
+ ../../omapip/libomapi.la \ + ../../omapip/libomapi.la $(BIND_LIBS)
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
dns_unittest_SOURCES = dns_unittest.c $(top_srcdir)/tests/t_api_dhcp.c dns_unittest_SOURCES = dns_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
dns_unittest_LDADD = $(ATF_LDFLAGS) dns_unittest_LDADD = $(ATF_LDFLAGS)
dns_unittest_LDADD += ../libdhcp.a \ dns_unittest_LDADD += ../libdhcp.a \
- ../../omapip/libomapi.a \ - ../../omapip/libomapi.a $(BIND_LIBS)
+ ../../omapip/libomapi.la \ + ../../omapip/libomapi.la $(BIND_LIBS)
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
misc_unittest_SOURCES = misc_unittest.c $(top_srcdir)/tests/t_api_dhcp.c misc_unittest_SOURCES = misc_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
misc_unittest_LDADD = $(ATF_LDFLAGS) misc_unittest_LDADD = $(ATF_LDFLAGS)
misc_unittest_LDADD += ../libdhcp.a \ misc_unittest_LDADD += ../libdhcp.a \
- ../../omapip/libomapi.a \ - ../../omapip/libomapi.a $(BIND_LIBS)
+ ../../omapip/libomapi.la \ + ../../omapip/libomapi.la $(BIND_LIBS)
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
ns_name_unittest_SOURCES = ns_name_test.c $(top_srcdir)/tests/t_api_dhcp.c ns_name_unittest_SOURCES = ns_name_test.c $(top_srcdir)/tests/t_api_dhcp.c
ns_name_unittest_LDADD = $(ATF_LDFLAGS) ns_name_unittest_LDADD = $(ATF_LDFLAGS)
ns_name_unittest_LDADD += ../libdhcp.a \ ns_name_unittest_LDADD += ../libdhcp.a \
- ../../omapip/libomapi.a \ - ../../omapip/libomapi.a $(BIND_LIBS)
+ ../../omapip/libomapi.la \ + ../../omapip/libomapi.la $(BIND_LIBS)
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
check: $(ATF_TESTS) check: $(ATF_TESTS)
diff -up dhcp-4.3.4/configure.ac.sharedlib dhcp-4.3.4/configure.ac @if test $(top_srcdir) != ${top_builddir}; then \
--- dhcp-4.3.4/configure.ac.sharedlib 2016-04-29 11:48:30.394923084 +0200 diff --git a/configure.ac b/configure.ac
+++ dhcp-4.3.4/configure.ac 2016-04-29 11:55:22.729691668 +0200 index f594cfa..adc98a8 100644
@@ -47,7 +47,8 @@ AM_CONDITIONAL(CROSS_COMPILING, test "$c --- a/configure.ac
+++ b/configure.ac
@@ -47,7 +47,8 @@ AM_CONDITIONAL(CROSS_COMPILING, test "$cross_compiling" = "yes")
# Use this to define _GNU_SOURCE to pull in the IPv6 Advanced Socket API. # Use this to define _GNU_SOURCE to pull in the IPv6 Advanced Socket API.
AC_USE_SYSTEM_EXTENSIONS AC_USE_SYSTEM_EXTENSIONS
@ -56,10 +55,13 @@ diff -up dhcp-4.3.4/configure.ac.sharedlib dhcp-4.3.4/configure.ac
AC_PATH_PROG(AR, ar) AC_PATH_PROG(AR, ar)
AC_SUBST(AR) AC_SUBST(AR)
diff -up dhcp-4.3.4/dhcpctl/Makefile.am.sharedlib dhcp-4.3.4/dhcpctl/Makefile.am diff --git a/dhcpctl/Makefile.am b/dhcpctl/Makefile.am
--- dhcp-4.3.4/dhcpctl/Makefile.am.sharedlib 2016-04-29 11:48:30.394923084 +0200 index fa20a78..dd016e4 100644
+++ dhcp-4.3.4/dhcpctl/Makefile.am 2016-04-29 11:56:18.390670546 +0200 --- a/dhcpctl/Makefile.am
@@ -1,15 +1,15 @@ +++ b/dhcpctl/Makefile.am
@@ -1,17 +1,17 @@
BIND_LIBS = @BIND_LIBS@
bin_PROGRAMS = omshell bin_PROGRAMS = omshell
-lib_LIBRARIES = libdhcpctl.a -lib_LIBRARIES = libdhcpctl.a
+lib_LTLIBRARIES = libdhcpctl.la +lib_LTLIBRARIES = libdhcpctl.la
@ -70,7 +72,7 @@ diff -up dhcp-4.3.4/dhcpctl/Makefile.am.sharedlib dhcp-4.3.4/dhcpctl/Makefile.am
omshell_SOURCES = omshell.c omshell_SOURCES = omshell.c
-omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \ -omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
+omshell_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \ +omshell_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export $(BIND_LIBS)
-libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c -libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c
+libdhcpctl_la_SOURCES = dhcpctl.c callback.c remote.c +libdhcpctl_la_SOURCES = dhcpctl.c callback.c remote.c
@ -78,11 +80,14 @@ diff -up dhcp-4.3.4/dhcpctl/Makefile.am.sharedlib dhcp-4.3.4/dhcpctl/Makefile.am
cltest_SOURCES = cltest.c cltest_SOURCES = cltest.c
-cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \ -cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
+cltest_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \ +cltest_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export $(BIND_LIBS)
diff -up dhcp-4.3.4/omapip/Makefile.am.sharedlib dhcp-4.3.4/omapip/Makefile.am diff --git a/omapip/Makefile.am b/omapip/Makefile.am
--- dhcp-4.3.4/omapip/Makefile.am.sharedlib 2016-04-29 11:48:30.392923085 +0200 index b0d2680..265bcef 100644
+++ dhcp-4.3.4/omapip/Makefile.am 2016-04-29 11:57:33.709641969 +0200 --- a/omapip/Makefile.am
@@ -1,7 +1,7 @@ +++ b/omapip/Makefile.am
@@ -1,9 +1,9 @@
BIND_LIBS = @BIND_LIBS@
-lib_LIBRARIES = libomapi.a -lib_LIBRARIES = libomapi.a
+lib_LTLIBRARIES = libomapi.la +lib_LTLIBRARIES = libomapi.la
noinst_PROGRAMS = svtest noinst_PROGRAMS = svtest
@ -92,49 +97,53 @@ diff -up dhcp-4.3.4/omapip/Makefile.am.sharedlib dhcp-4.3.4/omapip/Makefile.am
errwarn.c listener.c dispatch.c generic.c support.c \ errwarn.c listener.c dispatch.c generic.c support.c \
handle.c message.c convert.c hash.c auth.c inet_addr.c \ handle.c message.c convert.c hash.c auth.c inet_addr.c \
array.c trace.c toisc.c iscprint.c isclib.c array.c trace.c toisc.c iscprint.c isclib.c
@@ -10,6 +10,6 @@ man_MANS = omapi.3 @@ -12,5 +12,5 @@ man_MANS = omapi.3
EXTRA_DIST = $(man_MANS) EXTRA_DIST = $(man_MANS)
svtest_SOURCES = test.c svtest_SOURCES = test.c
-svtest_LDADD = libomapi.a \ -svtest_LDADD = libomapi.a $(BIND_LIBS)
+svtest_LDADD = libomapi.la \ +svtest_LDADD = libomapi.la $(BIND_LIBS)
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
diff -up dhcp-4.3.4/relay/Makefile.am.sharedlib dhcp-4.3.4/relay/Makefile.am diff --git a/relay/Makefile.am b/relay/Makefile.am
--- dhcp-4.3.4/relay/Makefile.am.sharedlib 2016-04-29 11:48:30.392923085 +0200 index c9a1cba..316a524 100644
+++ dhcp-4.3.4/relay/Makefile.am 2016-04-29 11:48:30.395923083 +0200 --- a/relay/Makefile.am
@@ -2,7 +2,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst +++ b/relay/Makefile.am
@@ -4,7 +4,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localstatedir@"'
sbin_PROGRAMS = dhcrelay sbin_PROGRAMS = dhcrelay
dhcrelay_SOURCES = dhcrelay.c dhcrelay_SOURCES = dhcrelay.c
-dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \ -dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
+dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \ +dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export $(BIND_LIBS)
man_MANS = dhcrelay.8 man_MANS = dhcrelay.8
EXTRA_DIST = $(man_MANS) EXTRA_DIST = $(man_MANS)
diff -up dhcp-4.3.4/server/Makefile.am.sharedlib dhcp-4.3.4/server/Makefile.am diff --git a/server/Makefile.am b/server/Makefile.am
--- dhcp-4.3.4/server/Makefile.am.sharedlib 2016-04-29 11:48:30.392923085 +0200 index 30cf2b1..f56f310 100644
+++ dhcp-4.3.4/server/Makefile.am 2016-04-29 11:48:30.395923083 +0200 --- a/server/Makefile.am
@@ -13,7 +13,7 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c +++ b/server/Makefile.am
@@ -15,8 +15,8 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c confpars.c db.c class.c failover.c \
dhcpv6.c mdb6.c ldap.c ldap_casa.c leasechain.c ldap_krb_helper.c dhcpv6.c mdb6.c ldap.c ldap_casa.c leasechain.c ldap_krb_helper.c
dhcpd_CFLAGS = $(LDAP_CFLAGS) dhcpd_CFLAGS = $(LDAP_CFLAGS)
-dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a ../dhcpctl/libdhcpctl.a \ -dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
+dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.la ../dhcpctl/libdhcpctl.la \ - ../dhcpctl/libdhcpctl.a $(BIND_LIBS) $(LDAP_LIBS)
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export \ +dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
$(LDAP_LIBS) + ../dhcpctl/libdhcpctl.la $(BIND_LIBS) $(LDAP_LIBS)
diff -up dhcp-4.3.4/server/tests/Makefile.am.sharedlib dhcp-4.3.4/server/tests/Makefile.am man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
--- dhcp-4.3.4/server/tests/Makefile.am.sharedlib 2016-04-29 11:48:30.395923083 +0200 EXTRA_DIST = $(man_MANS)
+++ dhcp-4.3.4/server/tests/Makefile.am 2016-04-29 11:59:13.414604130 +0200 diff --git a/server/tests/Makefile.am b/server/tests/Makefile.am
@@ -17,8 +17,8 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpa index 771de06..8d8a2c1 100644
--- a/server/tests/Makefile.am
+++ b/server/tests/Makefile.am
@@ -20,8 +20,8 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpars.c ../db.c ../class.c \
../ddns.c ../dhcpleasequery.c ../dhcpv6.c ../mdb6.c \ ../ddns.c ../dhcpleasequery.c ../dhcpv6.c ../mdb6.c \
../ldap.c ../ldap_casa.c ../dhcpd.c ../leasechain.c ../ldap.c ../ldap_casa.c ../dhcpd.c ../leasechain.c
-DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.a \ -DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.a \
- $(top_builddir)/dhcpctl/libdhcpctl.a \ - $(top_builddir)/dhcpctl/libdhcpctl.a $(BIND_LIBS)
+DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.la \ +DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.la \
+ $(top_builddir)/dhcpctl/libdhcpctl.la \ + $(top_builddir)/dhcpctl/libdhcpctl.la $(BIND_LIBS)
$(BIND9_LIBDIR) -lirs-export -ldns-export -lisccfg-export -lisc-export
ATF_TESTS = ATF_TESTS =
if HAVE_ATF

View File

@ -18,7 +18,7 @@
Summary: Dynamic host configuration protocol software Summary: Dynamic host configuration protocol software
Name: dhcp Name: dhcp
Version: 4.3.6 Version: 4.3.6
Release: 13%{?dist} Release: 14%{?dist}
# NEVER CHANGE THE EPOCH on this package. The previous maintainer (prior to # NEVER CHANGE THE EPOCH on this package. The previous maintainer (prior to
# dcantrell maintaining the package) made incorrect use of the epoch and # dcantrell maintaining the package) made incorrect use of the epoch and
# that's why it is at 12 now. It should have never been used, but it was. # that's why it is at 12 now. It should have never been used, but it was.
@ -86,7 +86,7 @@ BuildRequires: openldap-devel
BuildRequires: krb5-devel BuildRequires: krb5-devel
BuildRequires: libcap-ng-devel BuildRequires: libcap-ng-devel
# https://fedorahosted.org/fpc/ticket/502#comment:3 # https://fedorahosted.org/fpc/ticket/502#comment:3
BuildRequires: bind99-devel BuildRequires: bind-export-devel
BuildRequires: systemd systemd-devel BuildRequires: systemd systemd-devel
# dhcp-sd_notify.patch # dhcp-sd_notify.patch
BuildRequires: pkgconfig(libsystemd) BuildRequires: pkgconfig(libsystemd)
@ -379,8 +379,7 @@ CFLAGS="%{optflags} -fno-strict-aliasing" \
--with-cli-pid-file=%{_localstatedir}/run/dhclient.pid \ --with-cli-pid-file=%{_localstatedir}/run/dhclient.pid \
--with-cli6-pid-file=%{_localstatedir}/run/dhclient6.pid \ --with-cli6-pid-file=%{_localstatedir}/run/dhclient6.pid \
--with-relay-pid-file=%{_localstatedir}/run/dhcrelay.pid \ --with-relay-pid-file=%{_localstatedir}/run/dhcrelay.pid \
--with-libbind=%{_includedir}/bind99 \ --with-libbind=/usr/bin/isc-export-config.sh \
--with-libbind-libs=%{_libdir}/bind99 \
--with-ldap \ --with-ldap \
--with-ldapcrypto \ --with-ldapcrypto \
--with-ldap-gssapi \ --with-ldap-gssapi \
@ -665,6 +664,11 @@ done
%endif %endif
%changelog %changelog
* Thu Feb 22 2018 Petr Menšík <pemensik@redhat.com> - 12:4.3.6-14
- Use bind-export-libs package instead of bind99
- Use isc-config.sh to configure bind libs
- Change requirement to bind-export-devel
* Thu Feb 22 2018 Pavel Zhukov <pzhukov@redhat.com> - 12:4.3.6-13 * Thu Feb 22 2018 Pavel Zhukov <pzhukov@redhat.com> - 12:4.3.6-13
- Do not parse sysconfig/network-scripts if initscripts not installed (#1098172) - Do not parse sysconfig/network-scripts if initscripts not installed (#1098172)