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

  ViewVC Help
Powered by ViewVC 1.1.30