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

  ViewVC Help
Powered by ViewVC 1.1.30