1 Summary: A firewall daemon with D-Bus interface providing a dynamic firewall
6 Source0: https://fedorahosted.org/released/firewalld/%{name}-%{version}.tar.bz2
7 # Source0-md5: 21983c929bd5061df73408a11cb3a8fd
8 Group: Networking/Admin
9 Patch0: MDNS-default.patch
10 URL: http://www.firewalld.org/
11 BuildRequires: desktop-file-utils
12 BuildRequires: docbook-style-xsl
13 BuildRequires: gettext
15 # glib2-devel is needed for gsettings.m4
16 BuildRequires: glib2-devel
17 BuildRequires: intltool
18 BuildRequires: python3
19 BuildRequires: python3-modules
20 BuildRequires: rpm-pythonprov
21 BuildRequires: rpmbuild(macros) >= 1.713
22 BuildRequires: sed >= 4.0
23 BuildRequires: systemd-units
26 Requires(post): systemd
27 Requires(preun): systemd
28 Requires(postun): systemd
29 Requires: python3-firewall = %{version}-%{release}
30 Obsoletes: firewalld-config-cloud
31 Obsoletes: firewalld-config-server
32 Obsoletes: firewalld-config-standard
33 Obsoletes: firewalld-config-workstation
35 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
38 firewalld is a firewall service daemon that provides a dynamic
39 customizable firewall with a D-Bus interface.
41 %package -n python-firewall
42 Summary: Python2 bindings for firewalld
43 Group: Libraries/Python
45 Requires: python-decorator
46 Requires: python-slip-dbus
47 Requires: python3-pygobject3
48 Provides: python2-firewall
49 Obsoletes: python2-firewall
51 %description -n python-firewall
52 Python2 bindings for firewalld.
54 %package -n python3-firewall
55 Summary: Python3 bindings for firewalld
56 Group: Libraries/Python
57 Requires: python3-dbus
58 Requires: python3-decorator
59 Requires: python3-pygobject3
60 Requires: python3-slip-dbus
62 %description -n python3-firewall
63 Python3 bindings for firewalld.
65 %package -n firewall-applet
66 Summary: Firewall panel applet
67 Group: X11/Applications
68 Requires: %{name} = %{version}-%{release}
69 Requires: NetworkManager-libs
70 Requires: firewall-config = %{version}-%{release}
71 Requires: hicolor-icon-theme
73 Requires: python-PyQt4
74 Requires: python3-pygobject3
76 %description -n firewall-applet
77 The firewall panel applet provides a status information of firewalld
78 and also the firewall settings.
80 %package -n firewall-config
81 Summary: Firewall configuration application
83 Requires: %{name} = %{version}-%{release}
84 Requires: NetworkManager-libs
86 Requires: hicolor-icon-theme
87 Requires: python-pygobject3
89 %description -n firewall-config
90 The firewall configuration application provides an configuration
91 interface for firewalld.
101 --with-systemd-unitdir=%{systemdunitdir} \
102 --with-iptables=%{_sbindir}/iptables \
103 --with-iptables-restore=%{_sbindir}/iptables-restore \
104 --with-ip6tables=%{_sbindir}/ip6tables \
105 --with-ip6tables-restore=%{_sbindir}/ip6tables-restore \
106 --with-ebtables=%{_sbindir}/ebtables \
107 --with-ebtables-restore=%{_sbindir}/ebtables-restore \
108 --with-ipset=%{_sbindir}/ipset \
112 rm -rf $RPM_BUILD_ROOT
114 # Python 2 library, in case anything still wants this
116 install-nobase_dist_pythonDATA \
117 pythondir=%{py_sitescriptdir} \
118 pyexecdir=%{py_sitescriptdir} \
120 DESTDIR=$RPM_BUILD_ROOT
123 pythondir=%{py3_sitescriptdir} \
124 pyexecdir=%{py3_sitescriptdir} \
125 PYTHON=%{__python3} \
126 DESTDIR=$RPM_BUILD_ROOT
128 %find_lang %{name} --all-name
130 desktop-file-install --delete-original \
131 --dir $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart \
132 $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart/firewall-applet.desktop
134 desktop-file-install --delete-original \
135 --dir $RPM_BUILD_ROOT%{_desktopdir} \
136 $RPM_BUILD_ROOT%{_desktopdir}/firewall-config.desktop
138 install -d $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/zones/
140 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/ipsets/README
141 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/rpm/macros.d/macros.firewalld
143 %{__sed} -i -e '1s,^#!.*python,#!%{__python3},' $RPM_BUILD_ROOT{%{_sbindir},%{_bindir}}/*
145 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}/firewall
146 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}/firewall
148 for module in "" "/config" "/core" "/core/io" "/server" ; do
149 %{__python3} -m compileall -l -d %{py3_sitescriptdir}/firewall$module $RPM_BUILD_ROOT%{py3_sitescriptdir}/firewall$module
150 %{__python3} -O -m compileall -l -d %{py3_sitescriptdir}/firewall$module $RPM_BUILD_ROOT%{py3_sitescriptdir}/firewall$module
152 %{__python3} -m compileall -l -d %{_datadir}/firewalld $RPM_BUILD_ROOT%{_datadir}/firewalld
153 %{__python3} -O -m compileall -l -d %{_datadir}/firewalld $RPM_BUILD_ROOT%{_datadir}/firewalld
156 rm -rf $RPM_BUILD_ROOT
159 %systemd_post firewalld.service
162 %systemd_preun firewalld.service
165 %systemd_reload firewalld.service
167 %post -n firewall-applet
168 %update_icon_cache hicolor
170 %postun -n firewall-applet
171 %update_icon_cache hicolor
172 %glib_compile_schemas
174 %posttrans -n firewall-applet
175 %update_icon_cache hicolor
176 %glib_compile_schemas
178 %post -n firewall-config
179 %update_icon_cache hicolor
181 %postun -n firewall-config
182 %update_icon_cache hicolor
183 %glib_compile_schemas
185 %posttrans -n firewall-config
186 %update_icon_cache hicolor
187 %glib_compile_schemas
189 %files -f %{name}.lang
190 %defattr(644,root,root,755)
192 %attr(755,root,root) %{_sbindir}/firewalld
193 %attr(755,root,root) %{_bindir}/firewall-cmd
194 %attr(755,root,root) %{_bindir}/firewall-offline-cmd
195 %{bash_compdir}/firewall-cmd
196 %dir %{_prefix}/lib/firewalld
197 %dir %{_prefix}/lib/firewalld/icmptypes
198 %{_prefix}/lib/firewalld/icmptypes/*.xml
199 %dir %{_prefix}/lib/firewalld/services
200 %{_prefix}/lib/firewalld/services/*.xml
201 %dir %{_prefix}/lib/firewalld/zones
202 %{_prefix}/lib/firewalld/zones/*.xml
203 %dir %{_prefix}/lib/firewalld/xmlschema
204 %{_prefix}/lib/firewalld/xmlschema/*.xsd
205 %attr(755,root,root) %{_prefix}/lib/firewalld/xmlschema/check.sh
206 %dir %attr(750,root,root) %dir %{_sysconfdir}/firewalld
207 %config(noreplace) %{_sysconfdir}/firewalld/firewalld.conf
208 %attr(750,root,root) %dir %{_sysconfdir}/firewalld/icmptypes
209 %attr(750,root,root) %dir %{_sysconfdir}/firewalld/services
210 %attr(750,root,root) %dir %{_sysconfdir}/firewalld/zones
211 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/firewalld/lockdown-whitelist.xml
212 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/firewalld
213 %{systemdunitdir}/firewalld.service
214 %config(noreplace) /etc/dbus-1/system.d/FirewallD.conf
215 %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.desktop.policy
216 %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.server.policy
217 %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy
218 %dir %{_datadir}/firewalld
219 %{_datadir}/%{name}/tests
220 %{_mandir}/man1/firewall*cmd*.1*
221 %{_mandir}/man1/firewalld*.1*
222 %{_mandir}/man5/firewall*.5*
224 %files -n python-firewall
225 %defattr(644,root,root,755)
226 %dir %{py_sitescriptdir}/firewall
227 %dir %{py_sitescriptdir}/firewall/config
228 %dir %{py_sitescriptdir}/firewall/core
229 %dir %{py_sitescriptdir}/firewall/core/io
230 %dir %{py_sitescriptdir}/firewall/server
231 %{py_sitescriptdir}/firewall/*.py*
232 %{py_sitescriptdir}/firewall/config/*.py*
233 %{py_sitescriptdir}/firewall/core/*.py*
234 %{py_sitescriptdir}/firewall/core/io/*.py*
235 %{py_sitescriptdir}/firewall/server/*.py*
237 %files -n python3-firewall
238 %defattr(644,root,root,755)
239 %{py3_sitescriptdir}/firewall
241 %files -n firewall-applet
242 %defattr(644,root,root,755)
243 %attr(755,root,root) %{_bindir}/firewall-applet
244 %defattr(0644,root,root)
245 %{_sysconfdir}/xdg/autostart/firewall-applet.desktop
246 %{_iconsdir}/hicolor/*/apps/firewall-applet*.*
247 %{_mandir}/man1/firewall-applet*.1*
248 %dir %{_sysconfdir}/firewall
249 %config(noreplace) %{_sysconfdir}/firewall/applet.conf
251 %files -n firewall-config
252 %defattr(644,root,root,755)
253 %attr(755,root,root) %{_bindir}/firewall-config
254 %defattr(0644,root,root)
255 %{_datadir}/firewalld/__pycache__
256 %{_datadir}/firewalld/firewall-config.glade
257 %{_datadir}/firewalld/gtk3_*
258 %{_desktopdir}/firewall-config.desktop
259 %{_datadir}/appdata/firewall-config.appdata.xml
260 %{_iconsdir}/hicolor/*/apps/firewall-config*.*
261 %{_datadir}/glib-2.0/schemas/org.fedoraproject.FirewallConfig.gschema.xml
262 %{_mandir}/man1/firewall-config*.1*