X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=dhcp.spec;h=e08bd591d76c4f7102a35c310546ce8dcfa3985c;hb=e5ebac8b369ad6949b39bedba4387dad5a2dbafe;hp=99848a072844f7ade7cdcf1431f063848ca3901a;hpb=e83890e68f94cdc31116b760a54276230e03c85e;p=packages%2Fdhcp.git diff --git a/dhcp.spec b/dhcp.spec index 99848a0..e08bd59 100644 --- a/dhcp.spec +++ b/dhcp.spec @@ -1,37 +1,56 @@ # # Conditional build: -%bcond_with ldap # with support for ldap storage +%bcond_without ldap # without support for ldap storage # Summary: DHCP Server -Summary(es): Servidor DHCP (Protocolo de configuración dinámica de hosts) -Summary(pl): Serwer DHCP -Summary(pt_BR): Servidor DHCP (Protocolo de configuração dinâmica de hosts) +Summary(es.UTF-8): Servidor DHCP +Summary(pl.UTF-8): Serwer DHCP +Summary(pt_BR.UTF-8): Servidor DHCP (Protocolo de configuração dinâmica de hosts) Name: dhcp -Version: 3.0.1 -Release: 3 -Epoch: 3 -Vendor: ISC -License: distributable +Version: 4.0.0 +# don't put int release until all patches are updated/ported(!) +Release: 0.1 +Epoch: 4 +License: MIT Group: Networking/Daemons Source0: ftp://ftp.isc.org/isc/dhcp/%{name}-%{version}.tar.gz -# Source0-md5: 44f72d16a12acc3fbe09703157aa42d2 +# Source0-md5: 31d79b27ce4a94089a0b9ce7f72307fa Source1: %{name}.init -Source2: %{name}-relay.init -Source3: %{name}-relay.sysconfig -Source4: %{name}d.conf.sample -Source5: %{name}.sysconfig -Patch0: %{name}-if_buffer_size.patch -Patch1: %{name}-ldap.patch -Patch2: %{name}-ldap1.patch +Source2: %{name}6.init +Source3: %{name}-relay.init +Source4: %{name}.sysconfig +Source5: %{name}-relay.sysconfig +Source6: %{name}-libdhcp4client.pc +Source7: %{name}-dhcp4client.h +Source8: %{name}-libdhcp4client.make +Source9: %{name}-libdhcp_control.h +Patch0: %{name}-dhclient.script.patch +Patch1: %{name}-if_buffer_size.patch +# http://home.ntelos.net/~masneyb/dhcp-3.0.5-ldap-patch +Patch2: %{name}-ldap.patch +Patch3: %{name}-client-script-redhat.patch +Patch4: %{name}-3.0.3-x-option.patch +Patch5: %{name}-typo.patch +Patch6: %{name}-arg-concat.patch +Patch7: %{name}-split-VARDB.patch +Patch8: %{name}-timeouts.patch +Patch9: %{name}-options.patch +Patch10: %{name}-libdhcp4client.patch +Patch11: %{name}-prototypes.patch URL: http://www.isc.org/sw/dhcp/ BuildRequires: groff %{?with_ldap:BuildRequires: openldap-devel} -PreReq: rc-scripts >= 0.2.0 +%{?with_ldap:BuildRequires: openssl-devel} +BuildRequires: rpmbuild(macros) >= 1.304 +Requires(post): coreutils Requires(post,preun): /sbin/chkconfig -Requires(post): fileutils +Requires: rc-scripts >= 0.2.0 Provides: dhcpd BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) +%define _sbindir /sbin +%define schemadir /usr/share/openldap/schema + %description DHCP (Dynamic Host Configuration Protocol) is a protocol which allows individual devices on an IP network to get their own network @@ -39,50 +58,64 @@ configuration information (IP address, subnetmask, broadcast address, etc.) from a DHCP server. The overall purpose of DHCP is to make it easier to administer a large network. -%description -l es +%description -l es.UTF-8 DHCP permite que hosts en una red TCP/IP soliciten y tengan sus -direcciones IP alocadas dinámicamente, permite también descubrir -información sobre la red en que están conectados. BOOTP provee una +direcciones IP alocadas dinámicamente, permite también descubrir +información sobre la red en que están conectados. BOOTP provee una funcionalidad similar, con ciertas restricciones. Este servidor -también las atiende. Esta versión aún está considerada como un -software BETA. +también las atiende. -%description -l pl +%description -l pl.UTF-8 Serwer DHCP (Dynamic Host Configuration Protocol). -DHCP to protokó³ pozwalaj±cy urz±dzeniom pracuj±cym w sieci IP na +DHCP to protokół pozwalający urządzeniom pracującym w sieci IP na pobieranie ich konfiguracji IP (adresu, maski podsieci, adresu -rozg³oszeniowego itp.) z serwera DHCP. U³atwia on administrowanie -du¿ymi sieciami IP. +rozgłoszeniowego itp.) z serwera DHCP. Ułatwia on administrowanie +dużymi sieciami IP. -%description -l pt_BR +%description -l pt_BR.UTF-8 DHCP permite que hosts numa rede TCP/IP requisitem e tenham seus -endereços IP alocados dinamicamente, permite também descobrir -informações sobre a rede em que estão conectados. BOOTP provê uma -funcionalidade similar, com certas restrições. Este servidor também -atende aquelas requisições. Esta versão é ainda considerada um +endereços IP alocados dinamicamente, permite também descobrir +informações sobre a rede em que estão conectados. BOOTP provê uma +funcionalidade similar, com certas restrições. Este servidor também +atende aquelas requisições. Esta versão é ainda considerada um software BETA. +%package -n openldap-schema-dhcp +Summary: LDAP Schema for DHCP Server +Summary(pl.UTF-8): Schemat LDAP dla serwera DHCP +Group: Networking/Daemons +Requires(post,postun): sed >= 4.0 +Requires: openldap-servers + +%description -n openldap-schema-dhcp +This package contains LDAPv3 schema for use with the DHCP Server. + +%description -n openldap-schema-dhcp -l pl.UTF-8 +Ten pakiet zawiera schemat LDAPv3 do używania z serwerem DHCP. + %package client Summary: DHCP Client -Summary(pl): Klient DHCP +Summary(pl.UTF-8): Klient DHCP Group: Networking/Daemons -Requires(post): fileutils -Obsoletes: pump +Requires: coreutils +Requires: iproute2 +Requires: net-tools +Obsoletes: dhclient %description client Dynamic Host Configuration Protocol Client. -%description client -l pl +%description client -l pl.UTF-8 Klient DHCP (Dynamic Host Configuration Protocol). %package relay Summary: DHCP Relay Agent -Summary(pl): Agent przekazywania informacji DHCP +Summary(pl.UTF-8): Agent przekazywania informacji DHCP Group: Networking/Daemons -PreReq: rc-scripts >= 0.2.0 +Requires(post): coreutils Requires(post,preun): /sbin/chkconfig -Requires(post): fileutils +Requires: rc-scripts >= 0.2.0 %description relay Dhcp relay is a relay agent for DHCP packets. It is used on a subnet @@ -91,15 +124,15 @@ DHCP server on it. Because DHCP packets can be broadcast, they will not be routed off of the local subnet. The DHCP relay takes care of this for the client. -%description relay -l pl -Agent przekazywania DHCP (Dynamic Host Configuration Protocol) miêdzy -podsieciami. Poniewa¿ komunikaty DHCP mog± byæ przekazywane w formie -rozg³oszeniowej, bez tego agenta nie zostan± przerutowane do innej +%description relay -l pl.UTF-8 +Agent przekazywania DHCP (Dynamic Host Configuration Protocol) między +podsieciami. Ponieważ komunikaty DHCP mogą być przekazywane w formie +rozgłoszeniowej, bez tego agenta nie zostaną przerutowane do innej podsieci. %package devel Summary: DHCP development includes and libs -Summary(pl): Pliki nag³ówkowe i biblioteki dla oprogramowania DHCP +Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki dla oprogramowania DHCP Group: Development/Libraries %description devel @@ -112,162 +145,238 @@ used by the ISC DHCP server. The dhcpctl set of functions provide an API that can be used to communicate with and manipulate a running ISC DHCP server. -%description devel -l pl +%description devel -l pl.UTF-8 Zawiera biblioteki OMAPI oraz dhcpctl. OMAPI to warstwa programowa stworzona do kontroli zdalnych aplikacji i -odpytywania o ich stan. Aktualnie jest u¿ywana przez serwer ISC DHCP. +odpytywania o ich stan. Aktualnie jest używana przez serwer ISC DHCP. + +dhcpctl to zbiór funkcji tworzących API, które może być używane do +komunikacji z działającym serwerem ISC DHCP i jego kontroli. + +%package -n libdhcp4client +Summary: The DHCP client in a library for invocation by other programs +Summary(pl.UTF-8): Klient DHCP w postaci biblioteki do wykorzystania w innych programach +Group: Development/Libraries + +%description -n libdhcp4client +Provides the client for the DHCP protocol. + +%description -n libdhcp4client -l pl.UTF-8 +Ten pakiet zawiera klienta protokołu DHCP. -dhcpctl to zbiór funkcji tworz±cych API, które mo¿e byæ u¿ywane do -komunikacji z dzia³aj±cym serwerem ISC DHCP i jego kontroli. +%package -n libdhcp4client-devel +Summary: Header files for development with the DHCP client library +Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem biblioteki klienckiej DHCP +Group: Development/Libraries +License: GPL v2+ +Requires: libdhcp4client = %{epoch}:%{version}-%{release} + +%description -n libdhcp4client-devel +Header files for development with the DHCP client library. + +%description -n libdhcp4client-devel -l pl.UTF-8 +Pliki nagłówkowe do programowania z użyciem biblioteki klienckiej DHCP. + +%package -n libdhcp4client-static +Summary: Static DHCP client library +Summary(pl.UTF-8): Statyczna biblioteka kliencka DHCP +Group: Development/Libraries +Requires: libdhcp4client-devel = %{epoch}:%{version}-%{release} + +%description -n libdhcp4client-static +Static DHCP client library. + +%description -n libdhcp4client-static -l pl.UTF-8 +Statyczna biblioteka kliencka DHCP. %prep %setup -q -install %{SOURCE4} . -%patch0 -p1 -%{?with_ldap:%patch1 -p1} +# CHECK ME +#%patch0 -p1 +# CHECK ME +#%patch1 -p1 +# FIXME %{?with_ldap:%patch2 -p1} - -cd doc -echo "dhcpd complies with the following RFCs:" > rfc-compliance -ls rfc*.txt >> rfc-compliance -rm -f rfc*.txt -cd .. +# These two patches are required for dhcdbd to function +%patch3 -p1 +# CHECK ME +#%patch4 -p1 +# +# CHECK ME +#%patch5 -p1 +%patch6 -p1 +# CHECK ME +#%patch7 -p1 +%patch8 -p1 +# CHECK ME +#%patch9 -p1 +#%patch10 -p1 +%patch11 -p1 + +sed 's/@DHCP_VERSION@/'%{version}'/' < %{SOURCE5} > libdhcp4client.pc +mkdir -p libdhcp4client +cp %{SOURCE7} libdhcp4client/dhcp4client.h +cp %{SOURCE8} libdhcp4client/Makefile.dist +cp %{SOURCE9} includes/isc-dhcp/libdhcp_control.h %build -# Notice: this is not autoconf configure!!!!!!! -# do not change it to %%configure -./configure - -%{__make} \ - COPTS="%{rpmcflags} \ - -D_PATH_DHCPD_DB=\\\"/var/lib/%{name}/dhcpd.leases\\\" \ - -D_PATH_DHCLIENT_DB=\\\"/var/lib/%{name}/dhclient.leases\\\"" \ - DEBUG="" VARDB="/var/lib/%{name}" +%configure \ + --enable-dhcpv6 \ + --with-srv-lease-file="/var/lib/%{name}/dhcpd.leases" \ + --with-cli-lease-file="/var/lib/dhclient/dhclient.leases" +%{__make} %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/sbin,%{_sbindir},%{_bindir},%{_mandir}/man{5,8}} \ - $RPM_BUILD_ROOT{/var/lib/%{name},%{_sysconfdir}/{rc.d/init.d,sysconfig}} +install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig},%{schemadir},%{_pkgconfigdir},/var/lib/{%{name},dhclient}} %{__make} install \ - DESTDIR=$RPM_BUILD_ROOT \ - CLIENTBINDIR=/sbin \ - BINDIR=%{_sbindir} \ - LIBDIR=%{_libdir} \ - INCDIR=%{_includedir} \ - ADMMANDIR=%{_mandir}/man8 \ - ADMMANEXT=.8 \ - FFMANDIR=%{_mandir}/man5 \ - LIBMANDIR=%{_mandir}/man3 \ - LIBMANEXT=.3 \ - USRMANDIR=%{_mandir}/man1 \ - USRMANEXT=.1 \ - VARDB=/var/lib/%{name} \ - FFMANEXT=.5 + DESTDIR=$RPM_BUILD_ROOT install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/dhcpd -install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/dhcp-relay -install %{SOURCE3} $RPM_BUILD_ROOT/etc/sysconfig/dhcp-relay -install %{SOURCE4} $RPM_BUILD_ROOT/etc/dhcpd.conf -install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/dhcpd +install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/dhcpd6 +install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/dhcp-relay +install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/dhcpd +install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/dhcp-relay + +install server/dhcpd.conf $RPM_BUILD_ROOT%{_sysconfdir} +%if %{with ldap} +install contrib/dhcp.schema $RPM_BUILD_ROOT%{schemadir} +%endif -mv $RPM_BUILD_ROOT%{_mandir}/man3/omshell.3 \ - $RPM_BUILD_ROOT%{_mandir}/man1/omshell.1 +touch $RPM_BUILD_ROOT%{_sysconfdir}/dhclient.conf -install client/scripts/linux $RPM_BUILD_ROOT%{_sbindir}/dhclient-script +touch $RPM_BUILD_ROOT/var/lib/%{name}/dhcpd.leases +touch $RPM_BUILD_ROOT/var/lib/dhclient/dhclient.leases -touch $RPM_BUILD_ROOT/var/lib/%{name}/{dhcpd,dhclient}.leases +install libdhcp4client.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libdhcp4client.pc %clean rm -rf $RPM_BUILD_ROOT %post /sbin/chkconfig --add dhcpd +/sbin/chkconfig --add dhcpd6 touch /var/lib/%{name}/dhcpd.leases +%service dhcpd restart "dhcpd daemon" +%service dhcpd6 restart "dhcpd IPv6 daemon" -if [ ! -d /var/lib/dhcp ]; then - install -d /var/lib/dhcp +%preun +if [ "$1" = "0" ];then + %service dhcpd stop + %service dhcpd6 stop + /sbin/chkconfig --del dhcpd + /sbin/chkconfig --del dhcpd6 fi -if [ -f /var/lock/subsys/dhcpd ]; then - /etc/rc.d/init.d/dhcpd restart >&2 -else - echo "Run \"/etc/rc.d/init.d/dhcpd start\" to start dhcpd daemon." +%triggerpostun -- dhcp < 3.0 +if [ "`grep ddns-update-style /etc/dhcpd.conf`" = "" ]; then + umask 027 + echo "ddns-update-style none;" > /etc/dhcpd.conf.tmp + echo "" >> /etc/dhcpd.conf.tmp + cat /etc/dhcpd.conf >>/etc/dhcpd.conf.tmp + mv -f /etc/dhcpd.conf.tmp /etc/dhcpd.conf fi -%preun -if [ "$1" = "0" ];then - if [ -f /var/lock/subsys/dhcpd ]; then - /etc/rc.d/init.d/dhcpd stop >&2 - fi - /sbin/chkconfig --del dhcpd +%post -n openldap-schema-dhcp +%openldap_schema_register %{schemadir}/dhcp.schema -d core +%service -q ldap restart + +%postun -n openldap-schema-dhcp +if [ "$1" = "0" ]; then + %openldap_schema_unregister %{schemadir}/dhcp.schema + %service -q ldap restart fi %post client -if [ -d /var/lib/dhcp ]; then - install -d /var/lib/dhcp +if [ -f /var/lib/dhcp/dhclient.leases.rpmsave ]; then + mv /var/lib/dhcp/dhclient.leases.rpmsave /var/lib/dhclient/dhclient.leases fi %post relay /sbin/chkconfig --add dhcp-relay if [ -f /var/lock/subsys/dhcrelay ]; then - mv -f /var/lock/subsys/dhcrelay /var/lock/subsys/dhcp-relay -fi -if [ -f /var/lock/subsys/dhcp-relay ]; then - /etc/rc.d/init.d/dhcp-relay restart >&2 -else - echo "Run \"/etc/rc.d/init.d/dhcp-relay start\" to start dhcrelay daemon." + mv -f /var/lock/subsys/{dhcrelay,dhcp-relay} fi +%service dhcp-relay restart "dhcrelay daemon" %preun relay if [ "$1" = "0" ];then - if [ -f /var/lock/subsys/dhcp-relay ]; then - /etc/rc.d/init.d/dhcp-relay stop >&2 - fi + %service dhcp-relay stop /sbin/chkconfig --del dhcp-relay fi -%triggerpostun -- dhcp < 3.0 -if [ `grep ddns-update-style /etc/dhcpd.conf` = "" ]; then - umask 027 - echo "ddns-update-style none;" > /etc/dhcpd.conf.tmp - echo "" >> /etc/dhcpd.conf.tmp - cat /etc/dhcpd.conf >>/etc/dhcpd.conf.tmp - mv -f /etc/dhcpd.conf.tmp /etc/dhcpd.conf -fi +%post -n libdhcp4client -p /sbin/ldconfig +%postun -n libdhcp4client -p /sbin/ldconfig %files %defattr(644,root,root,755) -%doc doc/* README RELNOTES dhcpd.conf.sample -%{?with_ldap:%doc contrib/*} -%{_mandir}/man1/* -%{_mandir}/man5/dhcp* -%{_mandir}/man8/dhcp* -%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/dhcpd -%config(noreplace) %verify(not size mtime md5) /etc/dhcpd.conf -%attr(755,root,root) %{_bindir}/* +%doc doc/* README RELNOTES server/dhcpd.conf LICENSE contrib/ms2isc +%{?with_ldap:%doc README.ldap Changelog-LDAP contrib/dhcpd-conf-to-ldap.pl} +%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/dhcpd +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dhcpd.conf +%attr(755,root,root) %{_bindir}/omshell %attr(755,root,root) %{_sbindir}/dhcpd %attr(754,root,root) /etc/rc.d/init.d/dhcpd +%attr(754,root,root) /etc/rc.d/init.d/dhcpd6 %attr(750,root,root) %dir /var/lib/%{name} %ghost /var/lib/%{name}/dhcpd.leases +%{_mandir}/man1/omshell.1* +%{_mandir}/man5/dhcp-eval.5* +%{_mandir}/man5/dhcp-options.5* +%{_mandir}/man5/dhcpd.conf.5* +%{_mandir}/man5/dhcpd.leases.5* +%{_mandir}/man8/dhcpd.8* + +%if %{with ldap} +%files -n openldap-schema-dhcp +%defattr(644,root,root,755) +%doc contrib/dhcpd-conf-to-ldap.pl +%{schemadir}/dhcp.schema +%endif %files client %defattr(644,root,root,755) +%doc contrib/sethostname.sh +%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dhclient.conf %attr(755,root,root) /sbin/dhclient -%attr(755,root,root) /sbin/dhclient-script -%{_mandir}/man[58]/dhclient* -%ghost /var/lib/%{name}/dhclient.leases +#%attr(755,root,root) /sbin/dhclient-script +%{_mandir}/man5/dhclient.conf.5* +%{_mandir}/man5/dhclient.leases.5* +%{_mandir}/man8/dhclient.8* +%{_mandir}/man8/dhclient-script.8* +%attr(750,root,root) %dir /var/lib/dhclient +%ghost /var/lib/dhclient/dhclient.leases %files relay %defattr(644,root,root,755) -%{_mandir}/man8/dhcrelay* -%config(noreplace) %verify(not size mtime md5) /etc/sysconfig/dhcp-relay +%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/dhcp-relay %attr(755,root,root) %{_sbindir}/dhcrelay %attr(754,root,root) /etc/rc.d/init.d/dhcp-relay +%{_mandir}/man8/dhcrelay.8* %files devel %defattr(644,root,root,755) -%{_mandir}/man3/* -%{_libdir}/*.a -%{_includedir}/* +%{_libdir}/libdhcpctl.a +%{_libdir}/libdst.a +%{_libdir}/libomapi.a +%{_includedir}/dhcpctl +%{_includedir}/isc-dhcp +%{_includedir}/omapip +%{_mandir}/man3/dhcpctl.3* +%{_mandir}/man3/omapi.3* + +#%files -n libdhcp4client +#%defattr(644,root,root,755) +#%attr(755,root,root) %{_libdir}/libdhcp4client-%{version}.so.0 + +#%files -n libdhcp4client-devel +#%defattr(644,root,root,755) +#%attr(755,root,root) %{_libdir}/libdhcp4client.so +#%{_includedir}/dhcp4client +#%{_pkgconfigdir}/libdhcp4client.pc + +#%files -n libdhcp4client-static +#%defattr(644,root,root,755) +#%{_libdir}/libdhcp4client.a