/[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 233565 - (show annotations) (download)
Fri Apr 27 22:05:37 2012 UTC (11 years, 11 months ago) by tmb
File size: 11022 byte(s)
rebuild for versioned rpm-helper requires
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 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}/%{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
43 %description
44 DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
45 individual devices on an IP network to get their own network configuration
46 information (IP address, subnetmask, broadcast address, etc.) from a DHCP
47 server. The overall purpose of DHCP is to make it easier to administer a
48 large network. The dhcp package includes the DHCP server and a DHCP relay
49 agent. You will also need to install the dhcp-client or dhcpcd package,
50 or pump or dhcpxd, which provides the DHCP client daemon, on client machines.
51
52 If you want the DHCP server and/or relay, you will also need to install the
53 dhcp-server and/or dhcp-relay packages.
54
55 %package common
56 Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server
57 Group: System/Servers
58
59 %description common
60 DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
61 individual devices on an IP network to get their own network
62 configuration information (IP address, subnetmask, broadcast address,
63 etc.) from a DHCP server. The overall purpose of DHCP is to make it
64 easier to administer a large network. The dhcp package includes the
65 DHCP server and a DHCP relay agent.
66
67 You will also need to install the dhcp-client or dhcpcd package, or pump or
68 dhcpxd, which provides the DHCP client daemon, on client machines. If you
69 want the DHCP server and/or relay, you will also need to install the
70 dhcp-server and/or dhcp-relay packages.
71
72 %package doc
73 Summary: Documentation about the ISC DHCP server/client
74 Group: System/Servers
75
76 %description doc
77 This package contains RFC/API/protocol documentation about the ISC
78 DHCP server and client.
79
80 DHCP (Dynamic Host Configuration Protocol) is a protocol which allows
81 individual devices on an IP network to get their own network
82 configuration information (IP address, subnetmask, broadcast address,
83 etc.) from a DHCP server. The overall purpose of DHCP is to make it
84 easier to administer a large network. The dhcp package includes the
85 DHCP server and a DHCP relay agent.
86
87 %package server
88 Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server
89 Group: System/Servers
90 Requires: dhcp-common = %{epoch}:%{version}-%{release}
91
92 %description server
93 DHCP server is the Internet Software Consortium (ISC) DHCP server for various
94 UNIX operating systems. It allows a UNIX mac hine to serve DHCP requests from
95 the network.
96
97 You should install dhcp-server if you want to set up a DHCP server on your
98 network. You will also need to install the base dhcp package.
99
100 %package client
101 Summary: The ISC DHCP (Dynamic Host Configuration Protocol) client
102 Group: System/Servers
103 Requires: dhcp-common = %{epoch}:%{version}-%{release}
104
105 %description client
106 DHCP client is the Internet Software Consortium (ISC) DHCP client for various
107 UNIX operating systems. It allows a UNIX mac hine to obtain it's networking
108 parameters from a DHCP server.
109
110 You should install dhcp-client if you want to use the ISC DHCP client instead
111 of the Red Hat DHCP client, pump, or dhcpcd, or dhcpxd. You will also need to
112 install the base dhcp package.
113
114 %package relay
115 Summary: The ISC DHCP (Dynamic Host Configuration Protocol) relay
116 Group: System/Servers
117 Requires: dhcp-common = %{epoch}:%{version}-%{release}
118
119 %description relay
120 DHCP relay is the Internet Software Consortium (ISC) relay agent for DHCP
121 packets. It is used on a subnet with DHCP clients to "relay" their requests
122 to a subnet that has a DHCP server on it. Because DHCP packets can be
123 broadcast, they will not be routed off of the local subnet. The DHCP relay
124 takes care of this for the client. You will need to set the environment
125 variable SERVERS and optionally OPTIONS in /etc/sysconfig/dhcrelay before
126 starting the server.
127
128 %package devel
129 Summary: Development headers and libraries for the dhcpctl API
130 Group: Development/Other
131 Requires: dhcp-common = %{epoch}:%{version}-%{release}
132
133 %description devel
134 DHCP devel contains all of the libraries and headers for developing with the
135 Internet Software Consortium (ISC) dhcpctl API.
136
137 %prep
138 %setup -q -n %{name}-%{major_version}-%{patch_version}
139 %patch100 -p1 -b .ifup
140 %patch101 -p1 -b .format_not_a_string_literal_and_no_format_arguments
141 %patch102 -p1 -b .prevent_wireless_deassociation
142
143 # Handle Xen partial UDP checksums
144 %patch8 -p1 -b .xen
145 # If the ipv6 kernel module is missing, do not segfault
146 # (Submitted to dhcp-bugs@isc.org - [ISC-Bugs #19367])
147 %patch15 -p1 -b .noipv6
148 # Handle cases in add_timeout() where the function is called with a NULL
149 # value for the 'when' parameter
150 %patch17 -p1 -b .dracut
151 # Ensure 64-bit platforms parse lease file dates & times correctly
152 %patch18 -p1 -b .64-bit_lease_parse
153
154 install -m0644 %{SOURCE10} doc
155
156 %build
157 %serverbuild
158 %configure2_5x --enable-paranoia --enable-early-chroot \
159 --with-ldapcrypto \
160 --with-srv-lease-file=%{_var}/lib/dhcp/dhcpd.leases \
161 --with-srv6-lease-file=%{_var}/lib/dhcp/dhcpd6.leases \
162 --with-cli-lease-file=%{_var}/lib/dhcp/dhclient.leases \
163 --with-cli6-lease-file=%{_var}/lib/dhcp/dhclient6.leases \
164 --with-srv-pid-file=%{_var}/run/dhcpd/dhcpd.pid \
165 --with-srv6-pid-file=%{_var}/run/dhcpd/dhcpd6.pid \
166 --with-cli-pid-file=%{_var}/run/dhclient.pid \
167 --with-cli6-pid-file=%{_var}/run/dhclient6.pid \
168 --with-relay-pid-file=%{_var}/run/dhcrelay.pid
169
170 %make
171
172 %install
173 rm -rf %{buildroot}
174
175 install -d %{buildroot}%{_bindir}
176 install -d %{buildroot}%{_sysconfdir}/sysconfig
177 install -d %{buildroot}%{_initrddir}
178 install -d %{buildroot}/lib/systemd/system
179 install -d %{buildroot}%{_var}/lib/dhcp
180 install -d %{buildroot}%{_var}/run/dhcpd
181
182 %makeinstall_std
183
184 # Install correct dhclient-script
185 %{__mkdir} -p %{buildroot}/sbin
186 %{__mv} %{buildroot}%{_sbindir}/dhclient %{buildroot}/sbin/dhclient
187 %{__install} -p -m 0755 client/scripts/linux %{buildroot}/sbin/dhclient-script
188
189
190 install -m0755 %{SOURCE11} %{buildroot}%{_initrddir}/dhcpd
191 install -m0755 %{SOURCE13} %{buildroot}%{_initrddir}/dhcpd6
192 install -m0755 %{SOURCE15} %{buildroot}%{_initrddir}/dhcrelay
193 install -m 644 %{SOURCE12} %{buildroot}/lib/systemd/system/dhcpd.service
194 install -m 644 %{SOURCE14} %{buildroot}/lib/systemd/system/dhcpd6.service
195 install -m 644 %{SOURCE16} %{buildroot}/lib/systemd/system/dhcrelay.service
196 install -m0755 %{SOURCE7} %{SOURCE8} %{buildroot}%{_sbindir}/
197 install -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/
198 install -m0755 contrib/ldap/dhcpd-conf-to-ldap %{buildroot}%{_sbindir}/
199
200 # install exit-hooks script to /etc/
201 install -m0755 %{SOURCE9} %{buildroot}%{_sysconfdir}/
202
203 cat > %{buildroot}%{_sysconfdir}/sysconfig/dhcpd <<EOF
204 # You can set here various option for dhcpd
205
206 # Which configuration file to use.
207 # CONFIGFILE="/etc/dhcpd.conf"
208
209 # Where to store the lease state information.
210 # LEASEFILE="/var/lib/dhcp/dhcpd.leases"
211
212 # Define INTERFACES to limit which network interfaces dhcpd listens on.
213 # The default null value causes dhcpd to listen on all interfaces.
214 #INTERFACES=""
215
216 # Define OPTIONS with any other options to pass to the dhcpd server.
217 # See dhcpd(8) for available options and syntax.
218 OPTIONS="-q"
219
220 EOF
221
222 touch %{buildroot}%{_var}/lib/dhcp/dhcpd.leases
223 touch %{buildroot}%{_var}/lib/dhcp/dhclient.leases
224
225 cat > %{buildroot}%{_sysconfdir}/sysconfig/dhcrelay <<EOF
226 # Define SERVERS with a list of one or more DHCP servers where
227 # DHCP packets are to be relayed to and from. This is mandatory.
228 #SERVERS="10.11.12.13 10.9.8.7"
229 SERVERS=""
230
231 # Define OPTIONS with any other options to pass to the dhcrelay server.
232 # See dhcrelay(8) for available options and syntax.
233 #OPTIONS="-q -i eth0 -i eth1"
234 OPTIONS="-q"
235 EOF
236
237 find . -type d -exec chmod 0755 {} \;
238 find . -type f -exec chmod 0644 {} \;
239
240 rm -rf doc/ja_JP.eucJP
241
242 # remove empty files
243 find -size 0 |grep ldap | xargs rm -rf
244
245 # remove unwanted file
246 rm -f $RPM_BUILD_ROOT%{_sysconfdir}/dhclient.conf
247
248 %pre server
249 %_pre_useradd dhcpd /dev/null /bin/false
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.service
287 /lib/systemd/system/dhcpd6.service
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.service
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.30