]> git.pld-linux.org Git - packages/firehol.git/blob - firehol.spec
set paths for AX_NEED_PROG
[packages/firehol.git] / firehol.spec
1 # TODO
2 # - pldize initscript
3 # - unbash initscript
4 # - recheck deps
5 # - update configure not to require tools at build time
6 # - checking whether /usr/sbin/iprange version is 1.0.2 or newer... no
7 #   configure: error: could not find required version of iprange - check http://firehol.org/download/iprange/
8 Summary:        Simple and powerful firewall and traffic shaping languages
9 Name:           firehol
10 Version:        3.0.1
11 Release:        0.1
12 License:        GPL v2+
13 Group:          Applications/Networking
14 Source0:        https://firehol.org/download/firehol/releases/v%{version}/%{name}-%{version}.tar.xz
15 # Source0-md5:  afee409b698ad0707340112ff0e811b2
16 Source1:        %{name}.service
17 Source2:        fireqos.service
18 URL:            https://firehol.org/
19 BuildRequires:  hostname
20 BuildRequires:  iproute2
21 BuildRequires:  iptables
22 BuildRequires:  procps
23 BuildRequires:  systemd-devel
24 BuildRequires:  tar >= 1:1.22
25 BuildRequires:  xz
26 Requires(post,preun):   /sbin/chkconfig
27 Requires:       coreutils
28 Requires:       gawk >= 3.0
29 Requires:       grep >= 2.4.2
30 Requires:       gzip
31 Requires:       hostname
32 Requires:       iproute2 >= 2.2.4
33 Requires:       iptables >= 1.2.4
34 Requires:       kmod
35 Requires:       less
36 Requires:       ipset
37 Requires:       procps
38 Requires:       rc-scripts
39 Requires:       sed
40 Requires:       uname(release) >= 2.4
41 Requires:       util-linux >= 2.11
42 BuildArch:      noarch
43 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
44
45 %description
46 FireHOL is a generic firewall generator, meaning that you can design
47 any kind of local or routing stateful packet filtering firewalls with
48 ease. Install FireHOL if you want an easy way to configure stateful
49 packet filtering firewalls on Linux hosts and routers.
50
51 FireHOL uses an extremely simple but powerful way to define firewall
52 rules which it turns into complete stateful iptables firewalls.
53
54 You can run FireHOL with the 'helpme' argument, to get a configuration
55 file for the system run, which you can modify according to your needs.
56 The default configuration file will allow only client traffic on all
57 interfaces.
58
59 %prep
60 %setup -q
61
62 %build
63 # grep AX_NEED_PROG configure.ac |sort -u|sed -rne 's/.+\(\[([^]]+)\], \[([^]]+)\].+/echo \1=`which \2` \\\\/p'|sh
64 %configure \
65         BASH_SHELL_PATH=/bin/bash \
66         BRIDGE=/sbin/bridge \
67         CAT=/bin/cat \
68         CHMOD=/bin/chmod \
69         CHOWN=/bin/chown \
70         CP=/bin/cp \
71         CURL=/usr/bin/curl \
72         CUT=/usr/bin/cut \
73         DATE=/bin/date \
74         DIFF=/usr/bin/diff \
75         DIRNAME=/usr/bin/dirname \
76         ENV=/usr/bin/env \
77         EXPR=/usr/bin/expr \
78         FIND=/usr/bin/find \
79         FLOCK=/usr/bin/flock \
80         FOLD=/usr/bin/fold \
81         GAWK=/bin/awk \
82         HEAD=/usr/bin/head \
83         IP=/sbin/ip \
84         IPRANGE=/usr/sbin/iprange \
85         IPSET=/usr/sbin/ipset \
86         LN=/bin/ln \
87         LOGGER=/usr/bin/logger \
88         LS=/bin/ls \
89         LSMOD=/sbin/lsmod \
90         MKDIR=/bin/mkdir \
91         MKTEMP=/bin/mktemp \
92         MODPROBE=/sbin/insmod \
93         MORE=/bin/cat \
94         MV=/bin/mv \
95         PING6=/usr/bin/ping6 \
96         PING=/usr/bin/ping \
97         RM=/bin/rm \
98         RMMOD=/sbin/rmmod \
99         SEQ=/usr/bin/seq \
100         SH=/bin/ksh \
101         SLEEP=/bin/sleep \
102         SORT=/bin/sort \
103         SYSCTL=/sbin/sysctl \
104         TAIL=/usr/bin/tail \
105         TAR=/bin/tar \
106         TC=/sbin/tc \
107         TOUCH=/bin/touch \
108         TR=/usr/bin/tr \
109         TRACEROUTE=/usr/bin/traceroute \
110         UNAME=/bin/uname \
111         UNIQ=/usr/bin/uniq \
112         WC=/usr/bin/wc \
113         ZCAT=/usr/bin/gzip \
114         %{nil}
115
116 %{__make}
117
118 %install
119 rm -rf $RPM_BUILD_ROOT
120 %{__make} install \
121         DESTDIR=$RPM_BUILD_ROOT
122
123 # Hack for documentation without crufts.
124 rm -frv $RPM_BUILD_ROOT%{_docdir}
125 find examples/ -name "Makefile*" -delete -print
126
127 # Install systemd units.
128 install -d $RPM_BUILD_ROOT%{systemdunitdir}
129 cp -p %{SOURCE1} %{SOURCE2} $RPM_BUILD_ROOT%{systemdunitdir}
130
131 # Install runtime directories.
132 install -d $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/services
133 install -d $RPM_BUILD_ROOT%{_localstatedir}/spool/firehol
134
135 # Ghost configurations.
136 touch $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/firehol.conf \
137       $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/fireqos.conf
138
139 %clean
140 rm -rf $RPM_BUILD_ROOT
141
142 %post
143 /sbin/chkconfig --add firehol
144 %service firehol restart
145 %systemd_post firehol.service
146 %systemd_post fireqos.service
147
148 %preun
149 if [ "$1" = 0 ]; then
150         %service firehol stop
151         /sbin/chkconfig --del firehol
152 fi
153 %systemd_preun firehol.service
154 %systemd_preun fireqos.service
155
156 %postun
157 %systemd_reload
158
159 %files
160 %defattr(644,root,root,755)
161 %doc AUTHORS NEWS README THANKS examples
162 %doc doc/firehol/firehol-manual.{pdf,html}
163 %doc doc/fireqos/fireqos-manual.{pdf,html}
164 %dir %{_sysconfdir}/firehol
165 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/firehol.conf
166 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/fireqos.conf
167 %{_sysconfdir}/%{name}/*.example
168 %dir %{_sysconfdir}/%{name}/services
169 %{_sysconfdir}/%{name}/services/*.example
170 %attr(755,root,root) %{_sbindir}/firehol
171 %attr(755,root,root) %{_sbindir}/fireqos
172 %{_mandir}/man1/*.1*
173 %{_mandir}/man5/*.5*
174 %{systemdunitdir}/firehol.service
175 %{systemdunitdir}/fireqos.service
176 %{_localstatedir}/spool/%{name}
This page took 0.070789 seconds and 3 git commands to generate.