/[packages]/cauldron/dhcp/current/SPECS/dhcp.spec
ViewVC logotype

Contents of /cauldron/dhcp/current/SPECS/dhcp.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 233666 - (show annotations) (download)
Sat Apr 28 00:11:29 2012 UTC (7 years, 11 months ago) by tmb
File size: 11261 byte(s)
Require rpm-helper >= 0.24.8-1 for systemd support
1 %define _catdir /var/cache/man
2
3 %define major_version 4.2.3
4 %define patch_version P2
5
6 Name: dhcp
7 Epoch: 3
8 Version: %{major_version}%{patch_version}
9 Release: %mkrel 6
10 Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server/relay agent/client
11 License: Distributable
12 Group: System/Servers
13 URL: http://www.isc.org/software/dhcp
14 Source0: ftp://ftp.isc.org/isc/%{name}/%{major_version}/%{name}-%{major_version}-%{patch_version}.tar.gz
15 Source1: ftp://ftp.isc.org/isc/%{name}/%{major_version}/%{name}-%{major_version}-%{patch_version}.tar.gz.sha512.asc
16 Source2: dhcpd.conf
17 Source4: dhcp-dynamic-dns-examples.tar.bz2
18 Source7: dhcpreport.pl
19 Source8: dhcpd-chroot.sh
20 # (eugeni) dhclient-exit-hooks script
21 Source9: dhclient-exit-hooks
22 Source10: draft-ietf-dhc-ldap-schema-01.txt
23 Source11: dhcpd.init
24 Source12: dhcpd.service
25 Source13: dhcpd6.init
26 Source14: dhcpd6.service
27 Source15: dhcrelay.init
28 Source16: dhcrelay.service
29 # mageia patches
30 Patch100: dhcp-4.2.2-ifup.patch
31 Patch101: dhcp-4.2.2-fix-format-errors.patch
32 # prevents needless deassociation, working around mdv bug #43441
33 Patch102: dhcp-4.1.1-prevent_wireless_deassociation.patch
34 # fedora patches
35 Patch8: dhcp-4.2.2-xen-checksum.patch
36 Patch15: dhcp-4.2.2-missing-ipv6-not-fatal.patch
37 Patch17: dhcp-4.2.0-add_timeout_when_NULL.patch
38 Patch18: dhcp-4.2.1-64_bit_lease_parse.patch
39 BuildRequires: groff-for-man
40 BuildRequires: openldap-devel
41 BuildRequires: bind-devel
42 Requires(post): rpm-helper >= 0.24.8-1
43 Requires(preun): rpm-helper >= 0.24.8-1
44
45 %description
46 DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
47 individual devices on an IP network to get their own network configuration
48 information (IP address, subnetmask, broadcast address, etc.) from a DHCP
49 server. The overall purpose of DHCP is to make it easier to administer a
50 large network. The dhcp package includes the DHCP server and a DHCP relay
51 agent. You will also need to install the dhcp-client or dhcpcd package,
52 or pump or dhcpxd, which provides the DHCP client daemon, on client machines.
53
54 If you want the DHCP server and/or relay, you will also need to install the
55 dhcp-server and/or dhcp-relay packages.
56
57 %package common
58 Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server
59 Group: System/Servers
60
61 %description common
62 DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
63 individual devices on an IP network to get their own network
64 configuration information (IP address, subnetmask, broadcast address,
65 etc.) from a DHCP server. The overall purpose of DHCP is to make it
66 easier to administer a large network. The dhcp package includes the
67 DHCP server and a DHCP relay agent.
68
69 You will also need to install the dhcp-client or dhcpcd package, or pump or
70 dhcpxd, which provides the DHCP client daemon, on client machines. If you
71 want the DHCP server and/or relay, you will also need to install the
72 dhcp-server and/or dhcp-relay packages.
73
74 %package doc
75 Summary: Documentation about the ISC DHCP server/client
76 Group: System/Servers
77
78 %description doc
79 This package contains RFC/API/protocol documentation about the ISC
80 DHCP server and client.
81
82 DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
83 individual devices on an IP network to get their own network
84 configuration information (IP address, subnetmask, broadcast address,
85 etc.) from a DHCP server. The overall purpose of DHCP is to make it
86 easier to administer a large network. The dhcp package includes the
87 DHCP server and a DHCP relay agent.
88
89 %package server
90 Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server
91 Group: System/Servers
92 Requires: dhcp-common = %{epoch}:%{version}-%{release}
93 Requires(post): rpm-helper >= 0.24.8-1
94 Requires(preun): rpm-helper >= 0.24.8-1
95
96 %description server
97 DHCP server is the Internet Software Consortium (ISC) DHCP server for various
98 UNIX operating systems. It allows a UNIX mac hine to serve DHCP requests from
99 the network.
100
101 You should install dhcp-server if you want to set up a DHCP server on your
102 network. You will also need to install the base dhcp package.
103
104 %package client
105 Summary: The ISC DHCP (Dynamic Host Configuration Protocol) client
106 Group: System/Servers
107 Requires: dhcp-common = %{epoch}:%{version}-%{release}
108
109 %description client
110 DHCP client is the Internet Software Consortium (ISC) DHCP client for various
111 UNIX operating systems. It allows a UNIX mac hine to obtain it's networking
112 parameters from a DHCP server.
113
114 You should install dhcp-client if you want to use the ISC DHCP client instead
115 of the Red Hat DHCP client, pump, or dhcpcd, or dhcpxd. You will also need to
116 install the base dhcp package.
117
118 %package relay
119 Summary: The ISC DHCP (Dynamic Host Configuration Protocol) relay
120 Group: System/Servers
121 Requires: dhcp-common = %{epoch}:%{version}-%{release}
122 Requires(post): rpm-helper >= 0.24.8-1
123 Requires(preun): rpm-helper >= 0.24.8-1
124
125 %description relay
126 DHCP relay is the Internet Software Consortium (ISC) relay agent for DHCP
127 packets. It is used on a subnet with DHCP clients to "relay" their requests
128 to a subnet that has a DHCP server on it. Because DHCP packets can be
129 broadcast, they will not be routed off of the local subnet. The DHCP relay
130 takes care of this for the client. You will need to set the environment
131 variable SERVERS and optionally OPTIONS in /etc/sysconfig/dhcrelay before
132 starting the server.
133
134 %package devel
135 Summary: Development headers and libraries for the dhcpctl API
136 Group: Development/Other
137 Requires: dhcp-common = %{epoch}:%{version}-%{release}
138
139 %description devel
140 DHCP devel contains all of the libraries and headers for developing with the
141 Internet Software Consortium (ISC) dhcpctl API.
142
143 %prep
144 %setup -q -n %{name}-%{major_version}-%{patch_version}
145 %patch100 -p1 -b .ifup
146 %patch101 -p1 -b .format_not_a_string_literal_and_no_format_arguments
147 %patch102 -p1 -b .prevent_wireless_deassociation
148
149 # Handle Xen partial UDP checksums
150 %patch8 -p1 -b .xen
151 # If the ipv6 kernel module is missing, do not segfault
152 # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #19367])
153 %patch15 -p1 -b .noipv6
154 # Handle cases in add_timeout() where the function is called with a NULL
155 # value for the 'when' parameter
156 %patch17 -p1 -b .dracut
157 # Ensure 64-bit platforms parse lease file dates & times correctly
158 %patch18 -p1 -b .64-bit_lease_parse
159
160 install -m0644 %{SOURCE10} doc
161
162 %build
163 %serverbuild
164 %configure2_5x --enable-paranoia --enable-early-chroot \
165 --with-ldapcrypto \
166 --with-srv-lease-file=%{_var}/lib/dhcp/dhcpd.leases \
167 --with-srv6-lease-file=%{_var}/lib/dhcp/dhcpd6.leases \
168 --with-cli-lease-file=%{_var}/lib/dhcp/dhclient.leases \
169 --with-cli6-lease-file=%{_var}/lib/dhcp/dhclient6.leases \
170 --with-srv-pid-file=%{_var}/run/dhcpd/dhcpd.pid \
171 --with-srv6-pid-file=%{_var}/run/dhcpd/dhcpd6.pid \
172 --with-cli-pid-file=%{_var}/run/dhclient.pid \
173 --with-cli6-pid-file=%{_var}/run/dhclient6.pid \
174 --with-relay-pid-file=%{_var}/run/dhcrelay.pid
175
176 %make
177
178 %install
179 rm -rf %{buildroot}
180
181 install -d %{buildroot}%{_bindir}
182 install -d %{buildroot}%{_sysconfdir}/sysconfig
183 install -d %{buildroot}%{_initrddir}
184 install -d %{buildroot}/lib/systemd/system
185 install -d %{buildroot}%{_var}/lib/dhcp
186 install -d %{buildroot}%{_var}/run/dhcpd
187
188 %makeinstall_std
189
190 # Install correct dhclient-script
191 %{__mkdir} -p %{buildroot}/sbin
192 %{__mv} %{buildroot}%{_sbindir}/dhclient %{buildroot}/sbin/dhclient
193 %{__install} -p -m 0755 client/scripts/linux %{buildroot}/sbin/dhclient-script
194
195
196 install -m0755 %{SOURCE11} %{buildroot}%{_initrddir}/dhcpd
197 install -m0755 %{SOURCE13} %{buildroot}%{_initrddir}/dhcpd6
198 install -m0755 %{SOURCE15} %{buildroot}%{_initrddir}/dhcrelay
199 install -m 644 %{SOURCE12} %{buildroot}/lib/systemd/system/dhcpd.service
200 install -m 644 %{SOURCE14} %{buildroot}/lib/systemd/system/dhcpd6.service
201 install -m 644 %{SOURCE16} %{buildroot}/lib/systemd/system/dhcrelay.service
202 install -m0755 %{SOURCE7} %{SOURCE8} %{buildroot}%{_sbindir}/
203 install -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/
204 install -m0755 contrib/ldap/dhcpd-conf-to-ldap %{buildroot}%{_sbindir}/
205
206 # install exit-hooks script to /etc/
207 install -m0755 %{SOURCE9} %{buildroot}%{_sysconfdir}/
208
209 cat > %{buildroot}%{_sysconfdir}/sysconfig/dhcpd <<EOF
210 # You can set here various option for dhcpd
211
212 # Which configuration file to use.
213 # CONFIGFILE="/etc/dhcpd.conf"
214
215 # Where to store the lease state information.
216 # LEASEFILE="/var/lib/dhcp/dhcpd.leases"
217
218 # Define INTERFACES to limit which network interfaces dhcpd listens on.
219 # The default null value causes dhcpd to listen on all interfaces.
220 #INTERFACES=""
221
222 # Define OPTIONS with any other options to pass to the dhcpd server.
223 # See dhcpd(8) for available options and syntax.
224 OPTIONS="-q"
225
226 EOF
227
228 touch %{buildroot}%{_var}/lib/dhcp/dhcpd.leases
229 touch %{buildroot}%{_var}/lib/dhcp/dhclient.leases
230
231 cat > %{buildroot}%{_sysconfdir}/sysconfig/dhcrelay <<EOF
232 # Define SERVERS with a list of one or more DHCP servers where
233 # DHCP packets are to be relayed to and from. This is mandatory.
234 #SERVERS="10.11.12.13 10.9.8.7"
235 SERVERS=""
236
237 # Define OPTIONS with any other options to pass to the dhcrelay server.
238 # See dhcrelay(8) for available options and syntax.
239 #OPTIONS="-q -i eth0 -i eth1"
240 OPTIONS="-q"
241 EOF
242
243 find . -type d -exec chmod 0755 {} \;
244 find . -type f -exec chmod 0644 {} \;
245
246 rm -rf doc/ja_JP.eucJP
247
248 # remove empty files
249 find -size 0 |grep ldap | xargs rm -rf
250
251 # remove unwanted file
252 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/dhclient.conf
253
254 %pre server
255 %_pre_useradd dhcpd /dev/null /bin/false
256
257 %post server
258 %_post_service dhcpd
259 # New dhcpd lease file
260 if [ ! -f %{_var}/lib/dhcp/dhcpd.leases ]; then
261 touch %{_var}/lib/dhcp/dhcpd.leases
262 fi
263
264 %preun server
265 %_preun_service dhcpd
266
267 %post relay
268 %_post_service dhcrelay
269
270 %preun relay
271 %_preun_service dhcrelay
272
273 %post client
274 touch /var/lib/dhcp/dhclient.leases
275
276 %postun client
277 rm -rf /var/lib/dhcp/dhclient.leases
278
279 %files common
280 %doc README contrib/ldap/README.ldap RELNOTES
281 %doc contrib/3.0b1-lease-convert
282 %dir %{_var}/lib/dhcp
283 %{_mandir}/man5/dhcp-options.5*
284
285 %files doc
286 %doc doc/*
287
288 %files server
289 %doc server/dhcpd.conf tests/failover contrib/ldap/dhcp.schema
290 %{_initrddir}/dhcpd
291 %{_initrddir}/dhcpd6
292 /lib/systemd/system/dhcpd.service
293 /lib/systemd/system/dhcpd6.service
294 %config(noreplace) %{_sysconfdir}/dhcpd.conf
295 %config(noreplace) %{_sysconfdir}/dhclient-exit-hooks
296 %config(noreplace) %{_sysconfdir}/sysconfig/dhcpd
297 %config(noreplace) %ghost %{_var}/lib/dhcp/dhcpd.leases
298 %{_sbindir}/dhcpd
299 %{_sbindir}/dhcpreport.pl
300 %{_sbindir}/dhcpd-conf-to-ldap
301 %{_sbindir}/dhcpd-chroot.sh
302 %{_bindir}/omshell
303 %{_mandir}/man1/omshell.1*
304 %{_mandir}/man3/omapi.3*
305 %{_mandir}/man5/dhcpd.conf.5*
306 %{_mandir}/man5/dhcpd.leases.5*
307 %{_mandir}/man5/dhcp-eval.5*
308 %{_mandir}/man8/dhcpd.8*
309 %dir %{_var}/run/dhcpd
310
311 %files relay
312 %{_initrddir}/dhcrelay
313 /lib/systemd/system/dhcrelay.service
314 %config(noreplace) %{_sysconfdir}/sysconfig/dhcrelay
315 %{_sbindir}/dhcrelay
316 %{_mandir}/man8/dhcrelay.8*
317
318 %files client
319 %doc client/dhclient.conf
320 %config(noreplace) %ghost %{_var}/lib/dhcp/dhclient.leases
321 %attr (0755,root,root) /sbin/dhclient-script
322 /sbin/dhclient
323 %{_mandir}/man5/dhclient.conf.5*
324 %{_mandir}/man5/dhclient.leases.5*
325 %{_mandir}/man8/dhclient.8*
326 %{_mandir}/man8/dhclient-script.8*
327
328 %files devel
329 %{_includedir}/*
330 %{_libdir}/*.a
331 %{_mandir}/man3/*

  ViewVC Help
Powered by ViewVC 1.1.26