3 %bcond_without ldap # without support for ldap storage
6 Summary(es.UTF-8): Servidor DHCP
7 Summary(pl.UTF-8): Serwer DHCP
8 Summary(pt_BR.UTF-8): Servidor DHCP (Protocolo de configuração dinâmica de hosts)
11 # don't put int release until all patches are updated/ported(!)
15 Group: Networking/Daemons
16 Source0: ftp://ftp.isc.org/isc/dhcp/%{name}-%{version}.tar.gz
17 # Source0-md5: 31d79b27ce4a94089a0b9ce7f72307fa
19 Source2: %{name}6.init
20 Source3: %{name}-relay.init
21 Source4: %{name}.sysconfig
22 Source5: %{name}-relay.sysconfig
23 Source6: %{name}-libdhcp4client.pc
24 Source7: %{name}-dhcp4client.h
25 Source8: %{name}-libdhcp4client.make
26 Source9: %{name}-libdhcp_control.h
27 Source10: %{name}.schema
28 Patch0: %{name}-dhclient.script.patch
29 Patch1: %{name}-release-by-ifup.patch
31 Patch2: %{name}-ldap.patch
32 Patch3: %{name}-client-script-redhat.patch
33 Patch4: %{name}-3.0.3-x-option.patch
35 Patch6: %{name}-arg-concat.patch
36 Patch7: %{name}-split-VARDB.patch
37 Patch8: %{name}-timeouts.patch
38 Patch9: %{name}-options.patch
39 Patch10: %{name}-libdhcp4client.patch
40 Patch11: %{name}-prototypes.patch
41 URL: http://www.isc.org/sw/dhcp/
42 BuildRequires: autoconf
43 BuildRequires: automake
44 BuildRequires: libtool
46 %{?with_ldap:BuildRequires: openldap-devel}
47 %{?with_ldap:BuildRequires: openssl-devel}
48 BuildRequires: rpmbuild(macros) >= 1.304
49 Requires(post): coreutils
50 Requires(post,preun): /sbin/chkconfig
51 Requires: rc-scripts >= 0.2.0
53 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
55 %define _sbindir /sbin
56 %define schemadir /usr/share/openldap/schema
59 DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
60 individual devices on an IP network to get their own network
61 configuration information (IP address, subnetmask, broadcast address,
62 etc.) from a DHCP server. The overall purpose of DHCP is to make it
63 easier to administer a large network.
65 %description -l es.UTF-8
66 DHCP permite que hosts en una red TCP/IP soliciten y tengan sus
67 direcciones IP alocadas dinámicamente, permite también descubrir
68 información sobre la red en que están conectados. BOOTP provee una
69 funcionalidad similar, con ciertas restricciones. Este servidor
72 %description -l pl.UTF-8
73 Serwer DHCP (Dynamic Host Configuration Protocol).
75 DHCP to protokół pozwalający urządzeniom pracującym w sieci IP na
76 pobieranie ich konfiguracji IP (adresu, maski podsieci, adresu
77 rozgłoszeniowego itp.) z serwera DHCP. Ułatwia on administrowanie
80 %description -l pt_BR.UTF-8
81 DHCP permite que hosts numa rede TCP/IP requisitem e tenham seus
82 endereços IP alocados dinamicamente, permite também descobrir
83 informações sobre a rede em que estão conectados. BOOTP provê uma
84 funcionalidade similar, com certas restrições. Este servidor também
85 atende aquelas requisições. Esta versão é ainda considerada um
88 %package -n openldap-schema-dhcp
89 Summary: LDAP Schema for DHCP Server
90 Summary(pl.UTF-8): Schemat LDAP dla serwera DHCP
91 Group: Networking/Daemons
92 Requires(post,postun): sed >= 4.0
93 Requires: openldap-servers
95 %description -n openldap-schema-dhcp
96 This package contains LDAPv3 schema for use with the DHCP Server.
98 %description -n openldap-schema-dhcp -l pl.UTF-8
99 Ten pakiet zawiera schemat LDAPv3 do używania z serwerem DHCP.
103 Summary(pl.UTF-8): Klient DHCP
104 Group: Networking/Daemons
111 Dynamic Host Configuration Protocol Client.
113 %description client -l pl.UTF-8
114 Klient DHCP (Dynamic Host Configuration Protocol).
117 Summary: DHCP Relay Agent
118 Summary(pl.UTF-8): Agent przekazywania informacji DHCP
119 Group: Networking/Daemons
120 Requires(post): coreutils
121 Requires(post,preun): /sbin/chkconfig
122 Requires: rc-scripts >= 0.2.0
125 Dhcp relay is a relay agent for DHCP packets. It is used on a subnet
126 with DHCP clients to "relay" their requests to a subnet that has a
127 DHCP server on it. Because DHCP packets can be broadcast, they will
128 not be routed off of the local subnet. The DHCP relay takes care of
131 %description relay -l pl.UTF-8
132 Agent przekazywania DHCP (Dynamic Host Configuration Protocol) między
133 podsieciami. Ponieważ komunikaty DHCP mogą być przekazywane w formie
134 rozgłoszeniowej, bez tego agenta nie zostaną przerutowane do innej
138 Summary: DHCP development includes and libs
139 Summary(pl.UTF-8): Pliki nagłówkowe i biblioteki dla oprogramowania DHCP
140 Group: Development/Libraries
143 Includes OMAPI and dhcptl libraries.
145 OMAPI is an programming layer designed for controlling remote
146 applications, and for querying them for their state. It is currently
147 used by the ISC DHCP server.
149 The dhcpctl set of functions provide an API that can be used to
150 communicate with and manipulate a running ISC DHCP server.
152 %description devel -l pl.UTF-8
153 Zawiera biblioteki OMAPI oraz dhcpctl.
155 OMAPI to warstwa programowa stworzona do kontroli zdalnych aplikacji i
156 odpytywania o ich stan. Aktualnie jest używana przez serwer ISC DHCP.
158 dhcpctl to zbiór funkcji tworzących API, które może być używane do
159 komunikacji z działającym serwerem ISC DHCP i jego kontroli.
161 %package -n libdhcp4client
162 Summary: The DHCP client in a library for invocation by other programs
163 Summary(pl.UTF-8): Klient DHCP w postaci biblioteki do wykorzystania w innych programach
164 Group: Development/Libraries
166 %description -n libdhcp4client
167 Provides the client for the DHCP protocol.
169 %description -n libdhcp4client -l pl.UTF-8
170 Ten pakiet zawiera klienta protokołu DHCP.
172 %package -n libdhcp4client-devel
173 Summary: Header files for development with the DHCP client library
174 Summary(pl.UTF-8): Pliki nagłówkowe do programowania z użyciem biblioteki klienckiej DHCP
175 Group: Development/Libraries
177 Requires: libdhcp4client = %{epoch}:%{version}-%{release}
179 %description -n libdhcp4client-devel
180 Header files for development with the DHCP client library.
182 %description -n libdhcp4client-devel -l pl.UTF-8
183 Pliki nagłówkowe do programowania z użyciem biblioteki klienckiej DHCP.
185 %package -n libdhcp4client-static
186 Summary: Static DHCP client library
187 Summary(pl.UTF-8): Statyczna biblioteka kliencka DHCP
188 Group: Development/Libraries
189 Requires: libdhcp4client-devel = %{epoch}:%{version}-%{release}
191 %description -n libdhcp4client-static
192 Static DHCP client library.
194 %description -n libdhcp4client-static -l pl.UTF-8
195 Statyczna biblioteka kliencka DHCP.
201 %{?with_ldap:%patch2 -p1}
202 # These two patches are required for dhcdbd to function
214 sed 's/@DHCP_VERSION@/'%{version}'/' < %{SOURCE5} > libdhcp4client.pc
215 mkdir -p libdhcp4client
216 cp %{SOURCE7} libdhcp4client/dhcp4client.h
217 cp %{SOURCE8} libdhcp4client/Makefile.dist
218 cp %{SOURCE9} includes/isc-dhcp/libdhcp_control.h
226 CFLAGS="%{rpmcflags} -fPIC"
229 --with-srv-lease-file="/var/lib/%{name}/dhcpd.leases" \
230 --with-cli-lease-file="/var/lib/dhclient/dhclient.leases"
234 rm -rf $RPM_BUILD_ROOT
235 install -d $RPM_BUILD_ROOT{/etc/{rc.d/init.d,sysconfig},%{schemadir},%{_pkgconfigdir},/var/lib/{%{name},dhclient}}
238 DESTDIR=$RPM_BUILD_ROOT
240 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/dhcpd
241 install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/dhcpd6
242 install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/dhcp-relay
243 install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/dhcpd
244 install %{SOURCE5} $RPM_BUILD_ROOT/etc/sysconfig/dhcp-relay
246 install server/dhcpd.conf $RPM_BUILD_ROOT%{_sysconfdir}
248 install %{SOURCE10} $RPM_BUILD_ROOT%{schemadir}
251 touch $RPM_BUILD_ROOT%{_sysconfdir}/dhclient.conf
253 touch $RPM_BUILD_ROOT/var/lib/%{name}/dhcpd.leases
254 touch $RPM_BUILD_ROOT/var/lib/dhclient/dhclient.leases
256 install libdhcp4client.pc $RPM_BUILD_ROOT%{_libdir}/pkgconfig/libdhcp4client.pc
259 rm -rf $RPM_BUILD_ROOT
262 /sbin/chkconfig --add dhcpd
263 /sbin/chkconfig --add dhcpd6
264 touch /var/lib/%{name}/dhcpd.leases
265 %service dhcpd restart "dhcpd daemon"
266 %service dhcpd6 restart "dhcpd IPv6 daemon"
269 if [ "$1" = "0" ];then
272 /sbin/chkconfig --del dhcpd
273 /sbin/chkconfig --del dhcpd6
276 %triggerpostun -- dhcp < 3.0
277 if [ "`grep ddns-update-style /etc/dhcpd.conf`" = "" ]; then
279 echo "ddns-update-style none;" > /etc/dhcpd.conf.tmp
280 echo "" >> /etc/dhcpd.conf.tmp
281 cat /etc/dhcpd.conf >>/etc/dhcpd.conf.tmp
282 mv -f /etc/dhcpd.conf.tmp /etc/dhcpd.conf
285 %post -n openldap-schema-dhcp
286 %openldap_schema_register %{schemadir}/dhcp.schema -d core
287 %service -q ldap restart
289 %postun -n openldap-schema-dhcp
290 if [ "$1" = "0" ]; then
291 %openldap_schema_unregister %{schemadir}/dhcp.schema
292 %service -q ldap restart
296 if [ -f /var/lib/dhcp/dhclient.leases.rpmsave ]; then
297 mv /var/lib/dhcp/dhclient.leases.rpmsave /var/lib/dhclient/dhclient.leases
301 /sbin/chkconfig --add dhcp-relay
302 if [ -f /var/lock/subsys/dhcrelay ]; then
303 mv -f /var/lock/subsys/{dhcrelay,dhcp-relay}
305 %service dhcp-relay restart "dhcrelay daemon"
308 if [ "$1" = "0" ];then
309 %service dhcp-relay stop
310 /sbin/chkconfig --del dhcp-relay
313 %post -n libdhcp4client -p /sbin/ldconfig
314 %postun -n libdhcp4client -p /sbin/ldconfig
317 %defattr(644,root,root,755)
318 %doc doc/* README RELNOTES server/dhcpd.conf LICENSE contrib/ms2isc
319 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/dhcpd
320 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dhcpd.conf
321 %attr(755,root,root) %{_bindir}/omshell
322 %attr(755,root,root) %{_sbindir}/dhcpd
323 %attr(754,root,root) /etc/rc.d/init.d/dhcpd
324 %attr(754,root,root) /etc/rc.d/init.d/dhcpd6
325 %attr(750,root,root) %dir /var/lib/%{name}
326 %ghost /var/lib/%{name}/dhcpd.leases
327 %{_mandir}/man1/omshell.1*
328 %{_mandir}/man5/dhcp-eval.5*
329 %{_mandir}/man5/dhcp-options.5*
330 %{_mandir}/man5/dhcpd.conf.5*
331 %{_mandir}/man5/dhcpd.leases.5*
332 %{_mandir}/man8/dhcpd.8*
335 %files -n openldap-schema-dhcp
336 %defattr(644,root,root,755)
337 %{schemadir}/dhcp.schema
341 %defattr(644,root,root,755)
342 %doc contrib/sethostname.sh
343 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dhclient.conf
344 %attr(755,root,root) /sbin/dhclient
345 #%attr(755,root,root) /sbin/dhclient-script
346 %{_mandir}/man5/dhclient.conf.5*
347 %{_mandir}/man5/dhclient.leases.5*
348 %{_mandir}/man8/dhclient.8*
349 %{_mandir}/man8/dhclient-script.8*
350 %attr(750,root,root) %dir /var/lib/dhclient
351 %ghost /var/lib/dhclient/dhclient.leases
354 %defattr(644,root,root,755)
355 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/dhcp-relay
356 %attr(755,root,root) %{_sbindir}/dhcrelay
357 %attr(754,root,root) /etc/rc.d/init.d/dhcp-relay
358 %{_mandir}/man8/dhcrelay.8*
361 %defattr(644,root,root,755)
362 %{_libdir}/libdhcpctl.a
364 %{_libdir}/libomapi.a
365 %{_includedir}/dhcpctl
366 %{_includedir}/isc-dhcp
367 %{_includedir}/omapip
368 %{_mandir}/man3/dhcpctl.3*
369 %{_mandir}/man3/omapi.3*
371 %files -n libdhcp4client
372 %defattr(644,root,root,755)
373 %attr(755,root,root) %{_libdir}/libdhcp4client-*.so.*
375 %files -n libdhcp4client-devel
376 %defattr(644,root,root,755)
377 %attr(755,root,root) %{_libdir}/libdhcp4client.so
378 %{_pkgconfigdir}/libdhcp4client.pc
379 %{_libdir}/libdhcp4client.la
381 %files -n libdhcp4client-static
382 %defattr(644,root,root,755)
383 %{_libdir}/libdhcp4client.a