Build dhcp's libraries as shared libs instead of static libs.
Signed-off-by: Adam Tkac <atkac@redhat.com>
This commit is contained in:
parent
9819e31780
commit
81227ae2b3
39
dhcp.spec
39
dhcp.spec
@ -7,7 +7,7 @@
|
|||||||
Summary: Dynamic host configuration protocol software
|
Summary: Dynamic host configuration protocol software
|
||||||
Name: dhcp
|
Name: dhcp
|
||||||
Version: 4.2.0
|
Version: 4.2.0
|
||||||
Release: 14%{?dist}
|
Release: 15%{?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.
|
||||||
@ -58,6 +58,7 @@ Patch29: dhcp-4.2.0-PIE-RELRO.patch
|
|||||||
Patch30: dhcp-4.2.0-honor-expired.patch
|
Patch30: dhcp-4.2.0-honor-expired.patch
|
||||||
Patch31: dhcp-4.2.0-noprefixavail.patch
|
Patch31: dhcp-4.2.0-noprefixavail.patch
|
||||||
Patch32: dhcp420-rh637017.patch
|
Patch32: dhcp420-rh637017.patch
|
||||||
|
Patch33: dhcp420-sharedlib.patch
|
||||||
|
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildRequires: autoconf
|
BuildRequires: autoconf
|
||||||
@ -110,13 +111,21 @@ To use DHCP on your network, install a DHCP service (or relay agent),
|
|||||||
and on clients run a DHCP client daemon. The dhclient package
|
and on clients run a DHCP client daemon. The dhclient package
|
||||||
provides the ISC DHCP client daemon.
|
provides the ISC DHCP client daemon.
|
||||||
|
|
||||||
|
%package libs
|
||||||
|
Summary: Shared libraries used by ISC dhcp client and server
|
||||||
|
Group: System Environment/Base
|
||||||
|
|
||||||
|
%description libs
|
||||||
|
This package contains shared libraries used by ISC dhcp client and server
|
||||||
|
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development headers and libraries for interfacing to the DHCP server
|
Summary: Development headers and libraries for interfacing to the DHCP server
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Obsoletes: libdhcp4client-devel <= 12:4.0.0-34.fc10
|
Obsoletes: libdhcp4client-devel <= 12:4.0.0-34.fc10
|
||||||
Obsoletes: libdhcp-devel <= 1.99.8-1
|
Obsoletes: libdhcp-devel <= 1.99.8-1
|
||||||
Provides: %{name}-static = %{epoch}:%{version}-%{release}
|
Provides: %{name}-static = %{epoch}:%{version}-%{release}
|
||||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
Requires: %{name}-libs = %{epoch}:%{version}-%{release}
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
Header files and API documentation for using the ISC DHCP libraries. The
|
Header files and API documentation for using the ISC DHCP libraries. The
|
||||||
@ -255,6 +264,7 @@ rm bind/bind.tar.gz
|
|||||||
# prefix in IA_PD (as a preference) and this prefix was not in any of server's pools.
|
# prefix in IA_PD (as a preference) and this prefix was not in any of server's pools.
|
||||||
%patch31 -p1 -b .noprefixavail
|
%patch31 -p1 -b .noprefixavail
|
||||||
%patch32 -p1 -b .rh637017
|
%patch32 -p1 -b .rh637017
|
||||||
|
%patch33 -p1 -b .sharedlib
|
||||||
|
|
||||||
# Copy in the Fedora/RHEL dhclient script
|
# Copy in the Fedora/RHEL dhclient script
|
||||||
%{__install} -p -m 0755 %{SOURCE4} client/scripts/linux
|
%{__install} -p -m 0755 %{SOURCE4} client/scripts/linux
|
||||||
@ -315,6 +325,7 @@ for page in server/dhcpd.conf.5 server/dhcpd.leases.5 server/dhcpd.8 ; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
libtoolize --copy --force
|
||||||
autoreconf --verbose --force --install
|
autoreconf --verbose --force --install
|
||||||
|
|
||||||
CFLAGS="%{optflags} -fno-strict-aliasing -D_GNU_SOURCE" \
|
CFLAGS="%{optflags} -fno-strict-aliasing -D_GNU_SOURCE" \
|
||||||
@ -330,7 +341,8 @@ CFLAGS="%{optflags} -fno-strict-aliasing -D_GNU_SOURCE" \
|
|||||||
--with-relay-pid-file=%{_localstatedir}/run/dhcrelay.pid \
|
--with-relay-pid-file=%{_localstatedir}/run/dhcrelay.pid \
|
||||||
--with-ldap \
|
--with-ldap \
|
||||||
--with-ldapcrypto \
|
--with-ldapcrypto \
|
||||||
--with-libbind=%{_includedir} --with-libbind-libs=%{_libdir}
|
--with-libbind=%{_includedir} --with-libbind-libs=%{_libdir} \
|
||||||
|
--disable-static
|
||||||
%{__make} %{?_smp_mflags}
|
%{__make} %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -423,6 +435,9 @@ EOF
|
|||||||
%{__mkdir} -p %{buildroot}%{_libdir}/pm-utils/sleep.d
|
%{__mkdir} -p %{buildroot}%{_libdir}/pm-utils/sleep.d
|
||||||
%{__install} -p -m 0755 %{SOURCE8} %{buildroot}%{_libdir}/pm-utils/sleep.d
|
%{__install} -p -m 0755 %{SOURCE8} %{buildroot}%{_libdir}/pm-utils/sleep.d
|
||||||
|
|
||||||
|
# Don't package libtool *.la files
|
||||||
|
find ${RPM_BUILD_ROOT}/%{_libdir} -name '*.la' -exec '/bin/rm' '-f' '{}' ';';
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
%{__rm} -rf %{buildroot}
|
%{__rm} -rf %{buildroot}
|
||||||
|
|
||||||
@ -484,6 +499,10 @@ if [ $1 -ge 1 ]; then
|
|||||||
/sbin/service dhcrelay condrestart >/dev/null 2>&1 || :
|
/sbin/service dhcrelay condrestart >/dev/null 2>&1 || :
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
%post libs -p /sbin/ldconfig
|
||||||
|
|
||||||
|
%postun libs -p /sbin/ldconfig
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%doc LICENSE README RELNOTES dhcpd.conf.sample dhcpd6.conf.sample
|
%doc LICENSE README RELNOTES dhcpd.conf.sample dhcpd6.conf.sample
|
||||||
@ -535,18 +554,26 @@ fi
|
|||||||
%attr(0644,root,root) %{_mandir}/man5/dhcp-options.5.gz
|
%attr(0644,root,root) %{_mandir}/man5/dhcp-options.5.gz
|
||||||
%attr(0644,root,root) %{_mandir}/man5/dhcp-eval.5.gz
|
%attr(0644,root,root) %{_mandir}/man5/dhcp-eval.5.gz
|
||||||
|
|
||||||
|
%files libs
|
||||||
|
%{_libdir}/libdhcpctl.so.*
|
||||||
|
%{_libdir}/libomapi.so.*
|
||||||
|
%{_libdir}/libdst.so.*
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
%{_includedir}/dhcpctl
|
%{_includedir}/dhcpctl
|
||||||
%{_includedir}/isc-dhcp
|
%{_includedir}/isc-dhcp
|
||||||
%{_includedir}/omapip
|
%{_includedir}/omapip
|
||||||
%{_libdir}/libdhcpctl.a
|
%{_libdir}/libdhcpctl.so
|
||||||
%{_libdir}/libomapi.a
|
%{_libdir}/libomapi.so
|
||||||
%{_libdir}/libdst.a
|
%{_libdir}/libdst.so
|
||||||
%attr(0644,root,root) %{_mandir}/man3/dhcpctl.3.gz
|
%attr(0644,root,root) %{_mandir}/man3/dhcpctl.3.gz
|
||||||
%attr(0644,root,root) %{_mandir}/man3/omapi.3.gz
|
%attr(0644,root,root) %{_mandir}/man3/omapi.3.gz
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Oct 20 2010 Adam Tkac <atkac redhat com> - 12:4.2.0-15
|
||||||
|
- build dhcp's libraries as shared libs instead of static libs
|
||||||
|
|
||||||
* Wed Oct 20 2010 Adam Tkac <atkac redhat com> - 12:4.2.0-14
|
* Wed Oct 20 2010 Adam Tkac <atkac redhat com> - 12:4.2.0-14
|
||||||
- fire away bundled BIND source
|
- fire away bundled BIND source
|
||||||
|
|
||||||
|
121
dhcp420-sharedlib.patch
Normal file
121
dhcp420-sharedlib.patch
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
diff -up dhcp-4.2.0/client/Makefile.am.sharedlib dhcp-4.2.0/client/Makefile.am
|
||||||
|
--- dhcp-4.2.0/client/Makefile.am.sharedlib 2010-10-01 14:22:36.020002772 +0200
|
||||||
|
+++ dhcp-4.2.0/client/Makefile.am 2010-10-01 14:22:36.030002772 +0200
|
||||||
|
@@ -6,7 +6,7 @@ dhclient_SOURCES = clparse.c dhclient.c
|
||||||
|
scripts/solaris scripts/openwrt
|
||||||
|
dhclient_CPPFLAGS = -DCLIENT_PATH='"$(sbindir)"' -DLOCALSTATEDIR='"$(localstatedir)"'
|
||||||
|
dhclient_CFLAGS = -fpie
|
||||||
|
-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||||
|
+dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
|
||||||
|
$(BIND9_LIBDIR) -ldns-export -lisc-export $(CAPNG_LDADD)
|
||||||
|
dhclient_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now
|
||||||
|
|
||||||
|
diff -up dhcp-4.2.0/configure.ac.sharedlib dhcp-4.2.0/configure.ac
|
||||||
|
--- dhcp-4.2.0/configure.ac.sharedlib 2010-10-01 14:22:36.020002772 +0200
|
||||||
|
+++ dhcp-4.2.0/configure.ac 2010-10-01 14:22:36.060002772 +0200
|
||||||
|
@@ -30,7 +30,8 @@ fi
|
||||||
|
# Use this to define _GNU_SOURCE to pull in the IPv6 Advanced Socket API.
|
||||||
|
AC_USE_SYSTEM_EXTENSIONS
|
||||||
|
|
||||||
|
-AC_PROG_RANLIB
|
||||||
|
+# Use libtool to simplify building of shared libraries
|
||||||
|
+AC_PROG_LIBTOOL
|
||||||
|
AC_CONFIG_HEADERS([includes/config.h])
|
||||||
|
|
||||||
|
# we sometimes need to know byte order for building packets
|
||||||
|
diff -up dhcp-4.2.0/dhcpctl/Makefile.am.sharedlib dhcp-4.2.0/dhcpctl/Makefile.am
|
||||||
|
--- dhcp-4.2.0/dhcpctl/Makefile.am.sharedlib 2010-10-01 14:22:36.020002772 +0200
|
||||||
|
+++ dhcp-4.2.0/dhcpctl/Makefile.am 2010-10-01 14:22:36.030002772 +0200
|
||||||
|
@@ -1,15 +1,15 @@
|
||||||
|
bin_PROGRAMS = omshell
|
||||||
|
-lib_LIBRARIES = libdhcpctl.a
|
||||||
|
+lib_LTLIBRARIES = libdhcpctl.la
|
||||||
|
noinst_PROGRAMS = cltest
|
||||||
|
man_MANS = omshell.1 dhcpctl.3
|
||||||
|
EXTRA_DIST = $(man_MANS)
|
||||||
|
|
||||||
|
omshell_SOURCES = omshell.c
|
||||||
|
-omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
|
||||||
|
+omshell_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
|
||||||
|
$(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||||
|
|
||||||
|
-libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c
|
||||||
|
+libdhcpctl_la_SOURCES = dhcpctl.c callback.c remote.c
|
||||||
|
|
||||||
|
cltest_SOURCES = cltest.c
|
||||||
|
-cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
|
||||||
|
+cltest_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
|
||||||
|
$(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||||
|
diff -up dhcp-4.2.0/dst/base64.c.sharedlib dhcp-4.2.0/dst/base64.c
|
||||||
|
--- dhcp-4.2.0/dst/base64.c.sharedlib 2010-10-01 14:27:18.280002774 +0200
|
||||||
|
+++ dhcp-4.2.0/dst/base64.c 2010-10-01 14:28:10.650002773 +0200
|
||||||
|
@@ -64,6 +64,7 @@ static const char rcsid[] = "$Id: base64
|
||||||
|
|
||||||
|
#include <sys/socket.h>
|
||||||
|
|
||||||
|
+#include "dst_internal.h"
|
||||||
|
#include "cdefs.h"
|
||||||
|
#include "osdep.h"
|
||||||
|
#include "arpa/nameser.h"
|
||||||
|
diff -up dhcp-4.2.0/dst/Makefile.am.sharedlib dhcp-4.2.0/dst/Makefile.am
|
||||||
|
--- dhcp-4.2.0/dst/Makefile.am.sharedlib 2007-05-29 18:32:10.000000000 +0200
|
||||||
|
+++ dhcp-4.2.0/dst/Makefile.am 2010-10-01 14:22:36.030002772 +0200
|
||||||
|
@@ -1,8 +1,8 @@
|
||||||
|
AM_CPPFLAGS = -DMINIRES_LIB -DHMAC_MD5
|
||||||
|
|
||||||
|
-lib_LIBRARIES = libdst.a
|
||||||
|
+lib_LTLIBRARIES = libdst.la
|
||||||
|
|
||||||
|
-libdst_a_SOURCES = dst_support.c dst_api.c hmac_link.c md5_dgst.c \
|
||||||
|
+libdst_la_SOURCES = dst_support.c dst_api.c hmac_link.c md5_dgst.c \
|
||||||
|
base64.c prandom.c
|
||||||
|
|
||||||
|
EXTRA_DIST = dst_internal.h md5.h md5_locl.h
|
||||||
|
diff -up dhcp-4.2.0/omapip/Makefile.am.sharedlib dhcp-4.2.0/omapip/Makefile.am
|
||||||
|
--- dhcp-4.2.0/omapip/Makefile.am.sharedlib 2010-10-01 14:22:36.020002772 +0200
|
||||||
|
+++ dhcp-4.2.0/omapip/Makefile.am 2010-10-01 14:22:36.030002772 +0200
|
||||||
|
@@ -1,9 +1,9 @@
|
||||||
|
AM_CFLAGS = -fpic
|
||||||
|
|
||||||
|
-lib_LIBRARIES = libomapi.a
|
||||||
|
+lib_LTLIBRARIES = libomapi.la
|
||||||
|
noinst_PROGRAMS = svtest
|
||||||
|
|
||||||
|
-libomapi_a_SOURCES = protocol.c buffer.c alloc.c result.c connection.c \
|
||||||
|
+libomapi_la_SOURCES = protocol.c buffer.c alloc.c result.c connection.c \
|
||||||
|
errwarn.c listener.c dispatch.c generic.c support.c \
|
||||||
|
handle.c message.c convert.c hash.c auth.c inet_addr.c \
|
||||||
|
array.c trace.c toisc.c iscprint.c isclib.c
|
||||||
|
@@ -13,5 +13,5 @@ EXTRA_DIST = $(man_MANS)
|
||||||
|
|
||||||
|
svtest_SOURCES = test.c
|
||||||
|
svtest_CFLAGS = -fpie
|
||||||
|
-svtest_LDADD = libomapi.a $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||||
|
+svtest_LDADD = libomapi.la $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||||
|
|
||||||
|
diff -up dhcp-4.2.0/relay/Makefile.am.sharedlib dhcp-4.2.0/relay/Makefile.am
|
||||||
|
--- dhcp-4.2.0/relay/Makefile.am.sharedlib 2010-10-01 14:22:36.020002772 +0200
|
||||||
|
+++ dhcp-4.2.0/relay/Makefile.am 2010-10-01 14:22:36.030002772 +0200
|
||||||
|
@@ -3,7 +3,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
|
||||||
|
sbin_PROGRAMS = dhcrelay
|
||||||
|
dhcrelay_SOURCES = dhcrelay.c
|
||||||
|
dhcrelay_CFLAGS = -fpie
|
||||||
|
-dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||||
|
+dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
|
||||||
|
$(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||||
|
dhcrelay_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now
|
||||||
|
|
||||||
|
diff -up dhcp-4.2.0/server/Makefile.am.sharedlib dhcp-4.2.0/server/Makefile.am
|
||||||
|
--- dhcp-4.2.0/server/Makefile.am.sharedlib 2010-10-01 14:22:36.020002772 +0200
|
||||||
|
+++ dhcp-4.2.0/server/Makefile.am 2010-10-01 14:22:36.030002772 +0200
|
||||||
|
@@ -7,8 +7,8 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
|
||||||
|
dhcpv6.c mdb6.c ldap.c ldap_casa.c
|
||||||
|
|
||||||
|
dhcpd_CFLAGS = $(LDAP_CFLAGS) -fpie
|
||||||
|
-dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||||
|
- ../dhcpctl/libdhcpctl.a $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||||
|
+dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
|
||||||
|
+ ../dhcpctl/libdhcpctl.la $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||||
|
dhcpd_LDFLAGS = -pie -Wl,-z,relro -Wl,-z,now
|
||||||
|
|
||||||
|
man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
|
Loading…
Reference in New Issue
Block a user