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
27 Requires(post): systemd
28 Requires(preun): systemd
29 Requires(postun): systemd
30 Requires: python3-firewall = %{version}-%{release}
31 Obsoletes: firewalld-config-cloud
32 Obsoletes: firewalld-config-server
33 Obsoletes: firewalld-config-standard
34 Obsoletes: firewalld-config-workstation
36 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
39 firewalld is a firewall service daemon that provides a dynamic
40 customizable firewall with a D-Bus interface.
42 %package -n python-firewall
43 Summary: Python2 bindings for firewalld
44 Group: Libraries/Python
46 Requires: python-decorator
47 Requires: python-slip-dbus
48 Requires: python3-pygobject3
49 Provides: python2-firewall
50 Obsoletes: python2-firewall
52 %description -n python-firewall
53 Python2 bindings for firewalld.
55 %package -n python3-firewall
56 Summary: Python3 bindings for firewalld
57 Group: Libraries/Python
58 Requires: python3-dbus
59 Requires: python3-decorator
60 Requires: python3-pygobject3
61 Requires: python3-slip-dbus
63 %description -n python3-firewall
64 Python3 bindings for firewalld.
66 %package -n firewall-applet
67 Summary: Firewall panel applet
68 Group: X11/Applications
69 Requires: %{name} = %{version}-%{release}
70 Requires: NetworkManager-libs
71 Requires: firewall-config = %{version}-%{release}
72 Requires: hicolor-icon-theme
74 Requires: python-PyQt4
75 Requires: python3-pygobject3
77 %description -n firewall-applet
78 The firewall panel applet provides a status information of firewalld
79 and also the firewall settings.
81 %package -n firewall-config
82 Summary: Firewall configuration application
84 Requires: %{name} = %{version}-%{release}
85 Requires: NetworkManager-libs
87 Requires: hicolor-icon-theme
88 Requires: python-pygobject3
90 %description -n firewall-config
91 The firewall configuration application provides an configuration
92 interface for firewalld.
102 --with-systemd-unitdir=%{systemdunitdir} \
103 --with-iptables=%{_sbindir}/iptables \
104 --with-iptables-restore=%{_sbindir}/iptables-restore \
105 --with-ip6tables=%{_sbindir}/ip6tables \
106 --with-ip6tables-restore=%{_sbindir}/ip6tables-restore \
107 --with-ebtables=%{_sbindir}/ebtables \
108 --with-ebtables-restore=%{_sbindir}/ebtables-restore \
109 --with-ipset=%{_sbindir}/ipset \
113 rm -rf $RPM_BUILD_ROOT
115 # Python 2 library, in case anything still wants this
117 install-nobase_dist_pythonDATA \
118 pythondir=%{py_sitescriptdir} \
119 pyexecdir=%{py_sitescriptdir} \
121 DESTDIR=$RPM_BUILD_ROOT
124 pythondir=%{py3_sitescriptdir} \
125 pyexecdir=%{py3_sitescriptdir} \
126 PYTHON=%{__python3} \
127 DESTDIR=$RPM_BUILD_ROOT
129 %find_lang %{name} --all-name
131 desktop-file-install --delete-original \
132 --dir $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart \
133 $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart/firewall-applet.desktop
135 desktop-file-install --delete-original \
136 --dir $RPM_BUILD_ROOT%{_desktopdir} \
137 $RPM_BUILD_ROOT%{_desktopdir}/firewall-config.desktop
139 install -d $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/zones/
141 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/ipsets/README
142 rm -f $RPM_BUILD_ROOT%{_prefix}/lib/rpm/macros.d/macros.firewalld
144 %{__sed} -i -e '1s,^#!.*python,#!%{__python3},' $RPM_BUILD_ROOT{%{_sbindir},%{_bindir}}/*
146 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}/firewall
147 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}/firewall
149 for module in "" "/config" "/core" "/core/io" "/server" ; do
150 %{__python3} -m compileall -l -d %{py3_sitescriptdir}/firewall$module $RPM_BUILD_ROOT%{py3_sitescriptdir}/firewall$module
151 %{__python3} -O -m compileall -l -d %{py3_sitescriptdir}/firewall$module $RPM_BUILD_ROOT%{py3_sitescriptdir}/firewall$module
153 %{__python3} -m compileall -l -d %{_datadir}/firewalld $RPM_BUILD_ROOT%{_datadir}/firewalld
154 %{__python3} -O -m compileall -l -d %{_datadir}/firewalld $RPM_BUILD_ROOT%{_datadir}/firewalld
157 rm -rf $RPM_BUILD_ROOT
160 %systemd_post firewalld.service
163 %systemd_preun firewalld.service
166 %systemd_reload firewalld.service
168 %post -n firewall-applet
169 %update_icon_cache hicolor
171 %postun -n firewall-applet
172 %update_icon_cache hicolor
173 %glib_compile_schemas
175 %posttrans -n firewall-applet
176 %update_icon_cache hicolor
177 %glib_compile_schemas
179 %post -n firewall-config
180 %update_icon_cache hicolor
182 %postun -n firewall-config
183 %update_icon_cache hicolor
184 %glib_compile_schemas
186 %posttrans -n firewall-config
187 %update_icon_cache hicolor
188 %glib_compile_schemas
190 %files -f %{name}.lang
191 %defattr(644,root,root,755)
193 %attr(755,root,root) %{_sbindir}/firewalld
194 %attr(755,root,root) %{_bindir}/firewall-cmd
195 %attr(755,root,root) %{_bindir}/firewall-offline-cmd
196 %{bash_compdir}/firewall-cmd
197 %dir %{_prefix}/lib/firewalld
198 %dir %{_prefix}/lib/firewalld/icmptypes
199 %{_prefix}/lib/firewalld/icmptypes/*.xml
200 %dir %{_prefix}/lib/firewalld/services
201 %{_prefix}/lib/firewalld/services/*.xml
202 %dir %{_prefix}/lib/firewalld/zones
203 %{_prefix}/lib/firewalld/zones/*.xml
204 %dir %{_prefix}/lib/firewalld/xmlschema
205 %{_prefix}/lib/firewalld/xmlschema/*.xsd
206 %attr(755,root,root) %{_prefix}/lib/firewalld/xmlschema/check.sh
207 %dir %attr(750,root,root) %dir %{_sysconfdir}/firewalld
208 %config(noreplace) %{_sysconfdir}/firewalld/firewalld.conf
209 %attr(750,root,root) %dir %{_sysconfdir}/firewalld/icmptypes
210 %attr(750,root,root) %dir %{_sysconfdir}/firewalld/services
211 %attr(750,root,root) %dir %{_sysconfdir}/firewalld/zones
212 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/firewalld/lockdown-whitelist.xml
213 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/firewalld
214 %{systemdunitdir}/firewalld.service
215 %config(noreplace) /etc/dbus-1/system.d/FirewallD.conf
216 %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.desktop.policy
217 %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.server.policy
218 %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy
219 %dir %{_datadir}/firewalld
220 %{_datadir}/%{name}/tests
221 %{_mandir}/man1/firewall*cmd*.1*
222 %{_mandir}/man1/firewalld*.1*
223 %{_mandir}/man5/firewall*.5*
225 %files -n python-firewall
226 %defattr(644,root,root,755)
227 %dir %{py_sitescriptdir}/firewall
228 %dir %{py_sitescriptdir}/firewall/config
229 %dir %{py_sitescriptdir}/firewall/core
230 %dir %{py_sitescriptdir}/firewall/core/io
231 %dir %{py_sitescriptdir}/firewall/server
232 %{py_sitescriptdir}/firewall/*.py*
233 %{py_sitescriptdir}/firewall/config/*.py*
234 %{py_sitescriptdir}/firewall/core/*.py*
235 %{py_sitescriptdir}/firewall/core/io/*.py*
236 %{py_sitescriptdir}/firewall/server/*.py*
238 %files -n python3-firewall
239 %defattr(644,root,root,755)
240 %{py3_sitescriptdir}/firewall
242 %files -n firewall-applet
243 %defattr(644,root,root,755)
244 %attr(755,root,root) %{_bindir}/firewall-applet
245 %defattr(0644,root,root)
246 %{_sysconfdir}/xdg/autostart/firewall-applet.desktop
247 %{_iconsdir}/hicolor/*/apps/firewall-applet*.*
248 %{_mandir}/man1/firewall-applet*.1*
249 %dir %{_sysconfdir}/firewall
250 %config(noreplace) %{_sysconfdir}/firewall/applet.conf
252 %files -n firewall-config
253 %defattr(644,root,root,755)
254 %attr(755,root,root) %{_bindir}/firewall-config
255 %defattr(0644,root,root)
256 %{_datadir}/firewalld/__pycache__
257 %{_datadir}/firewalld/firewall-config.glade
258 %{_datadir}/firewalld/gtk3_*
259 %{_desktopdir}/firewall-config.desktop
260 %{_datadir}/appdata/firewall-config.appdata.xml
261 %{_iconsdir}/hicolor/*/apps/firewall-config*.*
262 %{_datadir}/glib-2.0/schemas/org.fedoraproject.FirewallConfig.gschema.xml
263 %{_mandir}/man1/firewall-config*.1*