/[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 188952 - (show annotations) (download)
Fri Dec 30 04:46:28 2011 UTC (9 years, 5 months ago) by anssi
File size: 10925 byte(s)
- new version 4.2.3-P1 (fixes CVE-2011-4539)

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

  ViewVC Help
Powered by ViewVC 1.1.28