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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 333469 - (hide annotations) (download)
Thu Dec 20 21:03:14 2012 UTC (11 years, 3 months ago) by kamil
File size: 14456 byte(s)
- don't set OPTIMIZE=1, it's already enabled
1 ennael 50066 %define debug_package %{nil}
2    
3 kamil 333436 %define version_major 4.5
4     %define version_minor 10.1
5 ennael 50066 %define version %{version_major}.%{version_minor}
6     %define version_main %{version}
7     %define version_lite %{version}
8     %define ipv6_ver %{version}
9     %define ipv6_lite_ver %{version}
10 kamil 333436 %define sha1sums_ver %{version}
11     %define ftp_ver %{version_major}.10
12     %define ftp_path ftp://ftp.shorewall.net/pub/shorewall/%{version_major}/%{name}-%{ftp_ver}
13 ennael 50066
14     %define name6 %{name}6
15    
16     Summary: Iptables-based firewall for Linux systems
17     Name: shorewall
18     Version: %{version}
19 kamil 333459 Release: %mkrel 1
20 kamil 222372 License: GPLv2+ and LGPLv2.1+
21 ennael 50066 Group: System/Servers
22     URL: http://www.shorewall.net/
23 kamil 333436 Source0: %ftp_path/%{name}-%{version}.tar.bz2
24 ennael 50066 Source1: %ftp_path/%{name}-lite-%{version_lite}.tar.bz2
25     Source2: %ftp_path/%{name}-docs-html-%{version}.tar.bz2
26     Source3: %ftp_path/%{name6}-%{ipv6_ver}.tar.bz2
27     Source4: %ftp_path/%{name6}-lite-%{ipv6_lite_ver}.tar.bz2
28     Source5: %ftp_path/%{sha1sums_ver}.sha1sums
29     Patch0: %{name}-common-4.2.5-init-script.patch
30     Patch1: %{name}-lite-4.2.5-init-script.patch
31     Patch2: %{name6}-4.2.5-init-script.patch
32     Patch3: %{name6}-lite-4.2.5-init-script.patch
33 alien 229827 Patch4: %{name}-4.4.23-allow-netmask-0.patch
34 kamil 333449 Requires: iptables
35 ennael 50066 Requires: iproute2
36 tmb 94462 Requires: dash
37 ennael 50066 Requires(post): rpm-helper
38 ahmad 105489 Requires(preun): rpm-helper
39 ennael 50066 BuildConflicts: apt-common
40     BuildArch: noarch
41    
42     %description
43     The Shoreline Firewall, more commonly known as "Shorewall", is a Netfilter
44     (iptables) based firewall that can be used on a dedicated firewall system,
45     a multi-function gateway/ router/server or on a standalone GNU/Linux system.
46    
47     %package ipv6
48     Summary: IPv6 capable Shorewall
49     Group: System/Servers
50     Requires: %{name} = %{version}-%{release}
51     Requires: iptables-ipv6
52     Requires: iproute2
53     Requires(post): rpm-helper
54     Requires(preun): rpm-helper
55    
56     %description ipv6
57     An IPv6 enabled and capable Shoreline Firewall.
58    
59     %package ipv6-lite
60     Summary: Lite version of ipv6 shorewall
61     Group: System/Servers
62     Requires: %{name}-ipv6 = %{version}-%{release}
63     Requires(post): rpm-helper
64     Requires(preun): rpm-helper
65    
66     %description ipv6-lite
67     Shorewall IPv6 Lite is a companion product to Shorewall IPv6 that allows
68     network administrators to centralize the configuration of Shorewall-based
69     firewalls.
70    
71     %package lite
72     Summary: Lite version of shorewall
73     Group: System/Servers
74     Requires: %{name} = %{version}-%{release}
75     Requires(post): rpm-helper
76     Requires(preun): rpm-helper
77    
78     %description lite
79     Shorewall Lite is a companion product to Shorewall that allows network
80     administrators to centralize the configuration of Shorewall-based firewalls.
81    
82     %package doc
83     Summary: Firewall scripts
84     Group: System/Servers
85    
86     %description doc
87     The Shoreline Firewall, more commonly known as "Shorewall", is a Netfilter
88     (iptables) based firewall that can be used on a dedicated firewall system,
89     a multi-function gateway/ router/server or on a standalone GNU/Linux system.
90    
91     This package contains the docs.
92    
93     %prep
94     %setup -q -c -n %{name}-%{version}
95     %setup -q -T -D -a 1
96     %setup -q -T -D -a 2
97     %setup -q -T -D -a 3
98     %setup -q -T -D -a 4
99    
100     pushd %{name}-%{version_main}
101     %patch0 -p1 -b .init
102 alien 229827 %patch4 -p1 -b .allow-netmask-0
103 ennael 50066 popd
104    
105     pushd %{name}-lite-%{version_lite}
106     %patch1 -p1 -b .initlite
107     popd
108    
109     pushd %{name6}-%{ipv6_ver}
110     %patch2 -p1 -b .init6
111     popd
112    
113     pushd %{name6}-lite-%{ipv6_lite_ver}
114     %patch3 -p1 -b .init6lite
115     popd
116    
117     %build
118     # (tpg) we do nothing here
119    
120     %install
121     export PREFIX=%{buildroot}
122     export OWNER=`id -n -u`
123     export GROUP=`id -n -g`
124     export DEST=%{_initrddir}
125    
126     pushd %{name}-%{version_main}
127     export CONFDIR=%{_sysconfdir}/%{name}
128     # (blino) enable startup (new setting as of 2.1.3)
129     perl -pi -e 's/STARTUP_ENABLED=.*/STARTUP_ENABLED=Yes/' configfiles/%{name}.conf
130    
131     # Keep synced with net.ipv4.ip_forward var in /etc/sysctl.conf
132     perl -pi -e 's/IP_FORWARDING=.*/IP_FORWARDING=Keep/' configfiles/%{name}.conf
133    
134     # blank Internal option
135     perl -pi -e 's/TC_ENABLED=Internal/TC_ENABLED=/' configfiles/%{name}.conf
136    
137     # (tpg) enable IPv6
138     perl -pi -e 's#DISABLE_IPV6=.*#DISABLE_IPV6=No#' configfiles/%{name}.conf
139    
140     # (tpg) set config path
141     perl -pi -e 's#CONFIG_PATH=.*#CONFIG_PATH=configfiles/%{/g_sysconfdir}/%{name}#' configpath
142    
143 lmenut 189975 # (lmenut) mga kernel modules are compressed by default (mga #1147)
144 lmenut 209011 perl -pi -e 's#MODULE_SUFFIX=.*#MODULE_SUFFIX="ko ko.xz ko.gz"#' configfiles/%{name}.conf
145 lmenut 189975
146 alien 229729 # (alien) have accounting by default in the mangle table
147     perl -pi -e 's#ACCOUNT_TABLE=.*#ACCOUNT_TABLE=mangle#' configfiles/%{name}.conf
148    
149 ennael 50066 # let's do the install
150     ./install.sh
151     popd
152    
153     #(tpg) IPv6
154     pushd %{name6}-%{ipv6_ver}
155     # (blino) enable startup (new setting as of 2.1.3)
156 lmenut 189975 perl -pi -e 's/STARTUP_ENABLED=.*/STARTUP_ENABLED=Yes/' configfiles/%{name6}.conf
157 ennael 50066 # Keep synced with net.ipv4.ip_forward var in /etc/sysctl.conf
158 lmenut 189975 perl -pi -e 's/IP_FORWARDING=.*/IP_FORWARDING=Keep/' configfiles/%{name6}.conf
159     # (lmenut) mga kernel modules are compressed by default (mga #1147)
160 lmenut 209011 perl -pi -e 's#MODULE_SUFFIX=.*#MODULE_SUFFIX="ko ko.xz ko.gz"#' configfiles/%{name6}.conf
161 ennael 50066
162     ./install.sh
163     popd
164    
165     pushd %{name6}-lite-%{ipv6_lite_ver}
166     ./install.sh
167     popd
168    
169     pushd %{name}-lite-%{version_lite}
170     ./install.sh
171     popd
172    
173     # Suppress automatic replacement of "echo" by "gprintf" in the shorewall
174     # startup script by RPM. This automatic replacement is broken.
175     export DONT_GPRINTIFY=1
176    
177     #(tpg) looks like these files are needed
178     touch %{buildroot}/%{_var}/lib/shorewall/{chains,nat,proxyarp,restarted,zones,restore-base,restore-tail,state,.modules,.modulesdir,.iptables-restore-input,.start,.restart,.restore}
179     touch %{buildroot}/%{_var}/lib/shorewall-lite/firewall
180    
181     #(tpg) ipv6
182     touch %{buildroot}/%{_var}/lib/%{name6}/{chains,restarted,zones,restore-base,restore-tail,state,.modules,.modulesdir,.iptables-restore-input,.start,.restart,.restore}
183     touch %{buildroot}/%{_var}/lib/%{name6}-lite/firewall
184    
185     #(tpg) remove hash-bang
186     find %{buildroot} -name "lib.*" -exec sed -i -e '/\#\!\/bin\/sh/d' {} \;
187    
188     # (tpg) let's use dash everywhere!
189     find %{buildroot} -type f -exec sed -i -e 's@/bin/sh@/bin/dash@' {} \;
190    
191 ennael 50105 #remove unused files because of %exclude misbehaviour
192     rm -f %{buildroot}%{_datadir}/%{name6}/configfiles/*
193     rm -f %{buildroot}%{_datadir}/shorewall/configfiles/*
194    
195 ennael 50066 %post
196 blino 225082 if [ "$1" -ge 1 ] ; then
197 lmenut 209011 perl -pi -e 's#MODULE_SUFFIX=ko$#MODULE_SUFFIX="ko ko.xz ko.gz"#' %{_sysconfdir}/%{name}/%{name}.conf
198     perl -pi -e 's#MODULE_SUFFIX=\"ko ko.gz\"$#MODULE_SUFFIX="ko ko.xz ko.gz"#' %{_sysconfdir}/%{name}/%{name}.conf
199 lmenut 193495 fi
200 ennael 50066 %_post_service shorewall
201    
202     %create_ghostfile %{_var}/lib/%{name}/chains root root 644
203     %create_ghostfile %{_var}/lib/%{name}/nat root root 644
204     %create_ghostfile %{_var}/lib/%{name}/proxyarp root root 644
205     %create_ghostfile %{_var}/lib/%{name}/restarted root root 644
206     %create_ghostfile %{_var}/lib/%{name}/zones root root 644
207     %create_ghostfile %{_var}/lib/%{name}/restore-base root root 644
208     %create_ghostfile %{_var}/lib/%{name}/restore-tail root root 644
209     %create_ghostfile %{_var}/lib/%{name}/state root root 644
210     %create_ghostfile %{_var}/lib/%{name}/.modules root root 644
211     %create_ghostfile %{_var}/lib/%{name}/.modulesdir root root 644
212     %create_ghostfile %{_var}/lib/%{name}/.iptables-restore-input root root 644
213     %create_ghostfile %{_var}/lib/%{name}/.restart root root 700
214     %create_ghostfile %{_var}/lib/%{name}/.restore root root 700
215     %create_ghostfile %{_var}/lib/%{name}/.start root root 700
216    
217     %preun
218     %_preun_service %{name}
219     if [ $1 = 0 ] ; then
220 kamil 222372 rm -f %{_sysconfdir}/%{name}/startup_disabled
221     rm -f %{_var}/lib/%{name}/*
222 ennael 50066 fi
223    
224     %post lite
225     %_post_service %{name}-lite
226     %create_ghostfile %{_var}/lib/%{name}-lite/firewall root root 644
227    
228     %preun lite
229     %_preun_service %{name}-lite
230    
231     %post ipv6
232 lmenut 193495 if [ $1 > 1 ] ; then
233 lmenut 209012 perl -pi -e 's#MODULE_SUFFIX=ko$#MODULE_SUFFIX="ko ko.xz ko.gz"#' %{_sysconfdir}/%{name6}/%{name6}.conf
234     perl -pi -e 's#MODULE_SUFFIX=\"ko ko.gz\"$#MODULE_SUFFIX="ko ko.xz ko.gz"#' %{_sysconfdir}/%{name6}/%{name6}.conf
235 lmenut 193495 fi
236 ennael 50066 %_post_service %{name6}
237    
238     %create_ghostfile %{_var}/lib/%{name6}/chains root root 644
239     %create_ghostfile %{_var}/lib/%{name6}/restarted root root 644
240     %create_ghostfile %{_var}/lib/%{name6}/zones root root 644
241     %create_ghostfile %{_var}/lib/%{name6}/restore-base root root 644
242     %create_ghostfile %{_var}/lib/%{name6}/restore-tail root root 644
243     %create_ghostfile %{_var}/lib/%{name6}/state root root 644
244     %create_ghostfile %{_var}/lib/%{name6}/.modules root root 644
245     %create_ghostfile %{_var}/lib/%{name6}/.modulesdir root root 644
246     %create_ghostfile %{_var}/lib/%{name6}/.iptables-restore-input root root 644
247     %create_ghostfile %{_var}/lib/%{name6}/.restart root root 700
248     %create_ghostfile %{_var}/lib/%{name6}/.restore root root 700
249     %create_ghostfile %{_var}/lib/%{name6}/.start root root 700
250    
251     %preun ipv6
252     %_preun_service %{name6}
253     if [ $1 = 0 ] ; then
254 kamil 222372 rm -f %{_sysconfdir}/%{name6}/startup_disabled
255     rm -f %{_var}/lib/%{name6}/*
256 ennael 50066 fi
257    
258     %post ipv6-lite
259     %_post_service %{name6}-lite
260     %create_ghostfile %{_var}/lib/%{name6}-lite/firewall root root 644
261    
262     %preun ipv6-lite
263     %_preun_service %{name6}-lite
264    
265     %files
266 kamil 333442 %doc %{name}-%{version_main}/{changelog.txt,releasenotes.txt,Samples}
267 ennael 50066 %dir %{_sysconfdir}/%{name}
268     %dir %{_datadir}/%{name}
269     %dir %attr(755,root,root) %{_var}/lib/%{name}
270     %ghost %{_var}/lib/%{name}/*
271     %ghost %{_var}/lib/%{name}/.??*
272     %config %{_sysconfdir}/logrotate.d/%{name}
273     %attr(700,root,root) %{_initrddir}/%{name}
274     %attr(0600,root,root) %config(noreplace) %{_sysconfdir}/%{name}/*
275     %attr(755,root,root) /sbin/%{name}
276     %{_datadir}/%{name}/action*
277     %{_datadir}/%{name}/configpath
278     %{_datadir}/%{name}/functions
279 ahmad 90647 %{_datadir}/%{name}/getparams
280 ennael 50066 %{_datadir}/%{name}/helpers
281     %{_datadir}/%{name}/lib.*
282     %{_datadir}/%{name}/macro.*
283 ahmad 90647 %{_datadir}/%{name}/modules*
284 ennael 50066 %{_datadir}/%{name}/version
285     %{_datadir}/%{name}/wait4ifup
286     %{_mandir}/man5/%{name}-accounting.5.*
287     %{_mandir}/man5/%{name}-actions.5.*
288     %{_mandir}/man5/%{name}-blacklist.5.*
289     %{_mandir}/man5/%{name}-ecn.5.*
290     %{_mandir}/man5/%{name}-exclusion.5.*
291     %{_mandir}/man5/%{name}-hosts.5.*
292     %{_mandir}/man5/%{name}-interfaces.5.*
293 ahmad 90647 %{_mandir}/man5/%{name}-ipsets.5.*
294 ennael 50066 %{_mandir}/man5/%{name}-maclist.5.*
295     %{_mandir}/man5/%{name}-masq.5.*
296     %{_mandir}/man5/%{name}-modules.5.*
297     %{_mandir}/man5/%{name}-nat.5.*
298     %{_mandir}/man5/%{name}-nesting.5.*
299     %{_mandir}/man5/%{name}-notrack.5.*
300     %{_mandir}/man5/%{name}-netmap.5.*
301     %{_mandir}/man5/%{name}-params.5.*
302     %{_mandir}/man5/%{name}-policy.5.*
303     %{_mandir}/man5/%{name}-providers.5.*
304     %{_mandir}/man5/%{name}-proxyarp.5.*
305     %{_mandir}/man5/%{name}-route_rules.5.*
306 ahmad 90647 %{_mandir}/man5/%{name}-routes.5.*
307 ennael 50066 %{_mandir}/man5/%{name}-routestopped.5.*
308     %{_mandir}/man5/%{name}-rules.5.*
309 ahmad 90647 %{_mandir}/man5/%{name}-secmarks.5.*
310 ennael 50066 %{_mandir}/man5/%{name}-tcclasses.5.*
311     %{_mandir}/man5/%{name}-tcinterfaces.5.*
312     %{_mandir}/man5/%{name}-tcpri.5.*
313     %{_mandir}/man5/%{name}-tcdevices.5.*
314     %{_mandir}/man5/%{name}-tcfilters.5.*
315     %{_mandir}/man5/%{name}-tcrules.5.*
316     %{_mandir}/man5/%{name}-tos.5.*
317     %{_mandir}/man5/%{name}-tunnels.5.*
318     %{_mandir}/man5/%{name}-vardir.5.*
319     %{_mandir}/man5/%{name}-zones.5.*
320     %{_mandir}/man5/%{name}.conf.5.*
321     %{_mandir}/man8/%{name}.8.*
322     %{_mandir}/man8/%{name}-init.8.*
323 tv 142806 %dir %{_datadir}/shorewall/Shorewall
324 ennael 50066 %{_datadir}/shorewall/Shorewall/*.pm
325     %{_datadir}/shorewall/compiler.pl
326     %{_datadir}/shorewall/prog.footer
327     %{_datadir}/shorewall/prog.header
328    
329     %files ipv6
330     %doc %{name6}-%{ipv6_ver}/{changelog.txt,releasenotes.txt,tunnel,ipsecvpn,Samples6}
331     %dir %{_sysconfdir}/%{name6}
332     %dir %{_datadir}/%{name6}
333     %dir %attr(755,root,root) %{_var}/lib/%{name6}
334     %ghost %{_var}/lib/%{name6}/*
335     %ghost %{_var}/lib/%{name6}/.??*
336     %attr(700,root,root) %{_initrddir}/%{name6}
337     %config(noreplace) %{_sysconfdir}/%{name6}/*
338     %config %{_sysconfdir}/logrotate.d/%{name6}
339     %attr(755,root,root) /sbin/%{name6}
340     %{_datadir}/%{name6}/action*
341     %{_datadir}/%{name}/prog.footer6
342     %{_datadir}/%{name}/prog.header6
343     %{_datadir}/%{name6}/configpath
344     %{_datadir}/%{name6}/functions
345     %{_datadir}/%{name6}/helpers
346     %{_datadir}/%{name6}/lib.*
347     %{_datadir}/%{name6}/macro.*
348 ahmad 90647 %{_datadir}/%{name6}/modules*
349 ennael 50066 %{_datadir}/%{name6}/version
350     %{_datadir}/%{name6}/wait4ifup
351     %{_mandir}/man5/%{name6}-accounting.5.*
352     %{_mandir}/man5/%{name6}-actions.5.*
353     %{_mandir}/man5/%{name6}-blacklist.5.*
354     %{_mandir}/man5/%{name6}-exclusion.5.*
355     %{_mandir}/man5/%{name6}-hosts.5.*
356     %{_mandir}/man5/%{name6}-interfaces.5.*
357 tv 142806 %{_mandir}/man5/%{name6}-ipsets.5.*
358 ennael 50066 %{_mandir}/man5/%{name6}-maclist.5.*
359     %{_mandir}/man5/%{name6}-modules.5.*
360     %{_mandir}/man5/%{name6}-nesting.5.*
361     %{_mandir}/man5/%{name6}-notrack.5.*
362     %{_mandir}/man5/%{name6}-params.5.*
363     %{_mandir}/man5/%{name6}-policy.5.*
364     %{_mandir}/man5/%{name6}-providers.5.*
365 ahmad 90647 %{_mandir}/man5/%{name6}-proxyndp.5.*
366 ennael 50066 %{_mandir}/man5/%{name6}-route_rules.5.*
367 ahmad 90647 %{_mandir}/man5/%{name6}-routes.5.*
368 ennael 50066 %{_mandir}/man5/%{name6}-routestopped.5.*
369     %{_mandir}/man5/%{name6}-rules.5.*
370 ahmad 90647 %{_mandir}/man5/%{name6}-secmarks.5.*
371 ennael 50066 %{_mandir}/man5/%{name6}-tcclasses.5.*
372     %{_mandir}/man5/%{name6}-tcdevices.5.*
373 ahmad 90647 %{_mandir}/man5/%{name6}-tcfilters.5.*
374 ennael 50066 %{_mandir}/man5/%{name6}-tcinterfaces.5.*
375     %{_mandir}/man5/%{name6}-tcpri.5.*
376     %{_mandir}/man5/%{name6}-tcrules.5.*
377     %{_mandir}/man5/%{name6}-tos.5.*
378     %{_mandir}/man5/%{name6}-tunnels.5.*
379     %{_mandir}/man5/%{name6}-vardir.5.*
380     %{_mandir}/man5/%{name6}-zones.5.*
381     %{_mandir}/man5/%{name6}.conf.5.*
382     %{_mandir}/man8/%{name6}.8.*
383    
384     %files lite
385     %doc %{name}-lite-%{version_lite}/*.txt
386     %dir %{_datadir}/%{name}-lite
387     %dir %attr(755,root,root) %{_var}/lib/%{name}-lite
388     %ghost %{_var}/lib/%{name}-lite/*
389     %attr(700,root,root) %{_initrddir}/%{name}-lite
390     %config(noreplace) %{_sysconfdir}/%{name}-lite/*
391     %config %{_sysconfdir}/logrotate.d/%{name}-lite
392     %attr(755,root,root) /sbin/%{name}-lite
393     %{_datadir}/%{name}-lite/configpath
394     %{_datadir}/%{name}-lite/functions
395 ahmad 90647 %{_datadir}/%{name}-lite/helpers
396 ennael 50066 %{_datadir}/%{name}-lite/lib.*
397 ahmad 90647 %{_datadir}/%{name}-lite/modules*
398 ennael 50066 %{_datadir}/%{name}-lite/shorecap
399     %{_datadir}/%{name}-lite/version
400     %{_datadir}/%{name}-lite/wait4ifup
401     %{_mandir}/man5/%{name}-lite*
402     %{_mandir}/man8/%{name}-lite*
403    
404     %files ipv6-lite
405     %doc %{name6}-lite-%{ipv6_lite_ver}/*.txt
406     %dir %{_datadir}/%{name6}-lite
407     %dir %attr(755,root,root) %{_var}/lib/%{name6}-lite
408     %ghost %{_var}/lib/%{name6}-lite/*
409     %attr(700,root,root) %{_initrddir}/%{name6}-lite
410     %config(noreplace) %{_sysconfdir}/%{name6}-lite/*
411     %config %{_sysconfdir}/logrotate.d/%{name6}-lite
412     %attr(755,root,root) /sbin/%{name6}-lite
413     %{_datadir}/%{name6}-lite/configpath
414     %{_datadir}/%{name6}-lite/functions
415 ahmad 90647 %{_datadir}/%{name6}-lite/helpers
416 ennael 50066 %{_datadir}/%{name6}-lite/lib.*
417 ahmad 90647 %{_datadir}/%{name6}-lite/modules*
418 ennael 50066 %{_datadir}/%{name6}-lite/shorecap
419     %{_datadir}/%{name6}-lite/version
420     %{_datadir}/%{name6}-lite/wait4ifup
421     %{_mandir}/man5/%{name6}-lite*
422     %{_mandir}/man8/%{name6}-lite*
423    
424     %files doc
425     %doc %{name}-docs-html-%{version}/*

  ViewVC Help
Powered by ViewVC 1.1.30