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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 233666 - (hide annotations) (download)
Sat Apr 28 00:11:29 2012 UTC (11 years, 11 months ago) by tmb
File size: 11261 byte(s)
Require rpm-helper >= 0.24.8-1 for systemd support
1 dmorgan 16733 %define _catdir /var/cache/man
2    
3 guillomovitch 197339 %define major_version 4.2.3
4     %define patch_version P2
5 anssi 188952
6 dmorgan 16733 Name: dhcp
7     Epoch: 3
8 guillomovitch 197339 Version: %{major_version}%{patch_version}
9 tmb 233666 Release: %mkrel 6
10 guillomovitch 197339 Summary: The ISC DHCP (Dynamic Host Configuration Protocol) server/relay agent/client
11 dmorgan 16733 License: Distributable
12     Group: System/Servers
13 guillomovitch 136282 URL: http://www.isc.org/software/dhcp
14 guillomovitch 197339 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 dmorgan 16733 Source2: dhcpd.conf
17     Source4: dhcp-dynamic-dns-examples.tar.bz2
18     Source7: dhcpreport.pl
19     Source8: dhcpd-chroot.sh
20 tv 84559 # (eugeni) dhclient-exit-hooks script
21     Source9: dhclient-exit-hooks
22 guillomovitch 138691 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 guillomovitch 142670 # mageia patches
30     Patch100: dhcp-4.2.2-ifup.patch
31     Patch101: dhcp-4.2.2-fix-format-errors.patch
32 dmorgan 16733 # prevents needless deassociation, working around mdv bug #43441
33 guillomovitch 142670 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 guillomovitch 136282 BuildRequires: groff-for-man
40 dmorgan 16733 BuildRequires: openldap-devel
41 guillomovitch 136282 BuildRequires: bind-devel
42 tmb 233666 Requires(post): rpm-helper >= 0.24.8-1
43     Requires(preun): rpm-helper >= 0.24.8-1
44 dmorgan 16733
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 tmb 233666 Requires(post): rpm-helper >= 0.24.8-1
94     Requires(preun): rpm-helper >= 0.24.8-1
95 dmorgan 16733
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 tmb 233666 Requires(post): rpm-helper >= 0.24.8-1
123     Requires(preun): rpm-helper >= 0.24.8-1
124 dmorgan 16733
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 guillomovitch 197339 %setup -q -n %{name}-%{major_version}-%{patch_version}
145 guillomovitch 142670 %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 dmorgan 16733
149 guillomovitch 142670 # 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 guillomovitch 138691 install -m0644 %{SOURCE10} doc
161 dmorgan 16733
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 guillomovitch 138691 install -d %{buildroot}/lib/systemd/system
185 dmorgan 16733 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 guillomovitch 138691 install -m0755 %{SOURCE11} %{buildroot}%{_initrddir}/dhcpd
197     install -m0755 %{SOURCE13} %{buildroot}%{_initrddir}/dhcpd6
198     install -m0755 %{SOURCE15} %{buildroot}%{_initrddir}/dhcrelay
199 dmorgan 203641 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 guillomovitch 136282 install -m0755 %{SOURCE7} %{SOURCE8} %{buildroot}%{_sbindir}/
203 dmorgan 16733 install -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/
204     install -m0755 contrib/ldap/dhcpd-conf-to-ldap %{buildroot}%{_sbindir}/
205    
206 tv 84559 # install exit-hooks script to /etc/
207     install -m0755 %{SOURCE9} %{buildroot}%{_sysconfdir}/
208    
209 dmorgan 16733 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 dmorgan 203650 %pre server
255     %_pre_useradd dhcpd /dev/null /bin/false
256    
257 dmorgan 16733 %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 guillomovitch 138691 %{_initrddir}/dhcpd6
292 dmorgan 203641 /lib/systemd/system/dhcpd.service
293     /lib/systemd/system/dhcpd6.service
294 dmorgan 16733 %config(noreplace) %{_sysconfdir}/dhcpd.conf
295 tv 84559 %config(noreplace) %{_sysconfdir}/dhclient-exit-hooks
296 dmorgan 16733 %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 dmorgan 203641 /lib/systemd/system/dhcrelay.service
314 dmorgan 16733 %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.30