1 Summary: A firewall daemon with D-Bus interface providing a dynamic firewall
6 Source0: https://github.com/firewalld/firewalld/releases/download/v%{version}/%{name}-%{version}.tar.gz
7 # Source0-md5: cbb120864ecb83544f7329c09367250f
8 Group: Networking/Admin
9 URL: http://www.firewalld.org/
10 BuildRequires: desktop-file-utils
11 BuildRequires: docbook-style-xsl
12 BuildRequires: gettext
14 # glib2-devel is needed for gsettings.m4
15 BuildRequires: glib2-devel
16 BuildRequires: intltool
17 BuildRequires: python3
18 BuildRequires: python3-modules
19 BuildRequires: rpm-pythonprov
20 BuildRequires: rpmbuild(macros) >= 1.713
21 BuildRequires: sed >= 4.0
22 BuildRequires: systemd-units
25 Requires(post): systemd
26 Requires(preun): systemd
27 Requires(postun): systemd
28 Requires: python3-firewall = %{version}-%{release}
29 Obsoletes: firewalld-config-cloud
30 Obsoletes: firewalld-config-server
31 Obsoletes: firewalld-config-standard
32 Obsoletes: firewalld-config-workstation
34 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
37 firewalld is a firewall service daemon that provides a dynamic
38 customizable firewall with a D-Bus interface.
40 %package -n python-firewall
41 Summary: Python2 bindings for firewalld
42 Group: Libraries/Python
44 Requires: python-decorator
45 Requires: python-slip-dbus
46 Requires: python3-pygobject3
47 Provides: python2-firewall
48 Obsoletes: python2-firewall
50 %description -n python-firewall
51 Python2 bindings for firewalld.
53 %package -n python3-firewall
54 Summary: Python3 bindings for firewalld
55 Group: Libraries/Python
56 Requires: python3-dbus
57 Requires: python3-decorator
58 Requires: python3-pygobject3
59 Requires: python3-slip-dbus
61 %description -n python3-firewall
62 Python3 bindings for firewalld.
64 %package -n firewall-applet
65 Summary: Firewall panel applet
66 Group: X11/Applications
67 Requires: %{name} = %{version}-%{release}
68 Requires: NetworkManager-libs
69 Requires: firewall-config = %{version}-%{release}
70 Requires: hicolor-icon-theme
72 Requires: python3-PyQt5
73 Requires: python3-pygobject3
75 %description -n firewall-applet
76 The firewall panel applet provides a status information of firewalld
77 and also the firewall settings.
79 %package -n firewall-config
80 Summary: Firewall configuration application
82 Requires: %{name} = %{version}-%{release}
83 Requires: NetworkManager-libs
85 Requires: hicolor-icon-theme
86 Requires: python3-pygobject3
88 %description -n firewall-config
89 The firewall configuration application provides an configuration
90 interface for firewalld.
99 --with-systemd-unitdir=%{systemdunitdir} \
100 --with-iptables=%{_sbindir}/iptables \
101 --with-iptables-restore=%{_sbindir}/iptables-restore \
102 --with-ip6tables=%{_sbindir}/ip6tables \
103 --with-ip6tables-restore=%{_sbindir}/ip6tables-restore \
104 --with-ebtables=%{_sbindir}/ebtables \
105 --with-ebtables-restore=%{_sbindir}/ebtables-restore \
106 --with-ipset=%{_sbindir}/ipset \
110 rm -rf $RPM_BUILD_ROOT
112 # Python 2 library, in case anything still wants this
114 install-nobase_dist_pythonDATA \
115 pythondir=%{py_sitescriptdir} \
116 pyexecdir=%{py_sitescriptdir} \
118 DESTDIR=$RPM_BUILD_ROOT
121 pythondir=%{py3_sitescriptdir} \
122 pyexecdir=%{py3_sitescriptdir} \
123 PYTHON=%{__python3} \
124 DESTDIR=$RPM_BUILD_ROOT
126 %find_lang %{name} --all-name
128 desktop-file-install --delete-original \
129 --dir $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart \
130 $RPM_BUILD_ROOT%{_sysconfdir}/xdg/autostart/firewall-applet.desktop
132 desktop-file-install --delete-original \
133 --dir $RPM_BUILD_ROOT%{_desktopdir} \
134 $RPM_BUILD_ROOT%{_desktopdir}/firewall-config.desktop
136 install -d $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/zones/
138 %{__rm} $RPM_BUILD_ROOT%{_prefix}/lib/firewalld/ipsets/README.md
140 %{__sed} -E -i -e '1s,#!\s*/usr/bin/env\s+python(\s|$),#!%{__python3}\1,' \
141 -e '1s,#!\s*/usr/bin/python(\s|$),#!%{__python3}\1,' $RPM_BUILD_ROOT{%{_sbindir},%{_bindir}}/*
143 %py_comp $RPM_BUILD_ROOT%{py_sitescriptdir}/firewall
144 %py_ocomp $RPM_BUILD_ROOT%{py_sitescriptdir}/firewall
146 for module in "" "/config" "/core" "/core/io" "/server" ; do
147 %{__python3} -m compileall -l -d %{py3_sitescriptdir}/firewall$module $RPM_BUILD_ROOT%{py3_sitescriptdir}/firewall$module
148 %{__python3} -O -m compileall -l -d %{py3_sitescriptdir}/firewall$module $RPM_BUILD_ROOT%{py3_sitescriptdir}/firewall$module
150 %{__python3} -m compileall -l -d %{_datadir}/firewalld $RPM_BUILD_ROOT%{_datadir}/firewalld
151 %{__python3} -O -m compileall -l -d %{_datadir}/firewalld $RPM_BUILD_ROOT%{_datadir}/firewalld
154 rm -rf $RPM_BUILD_ROOT
157 %systemd_post firewalld.service
160 %systemd_preun firewalld.service
163 %systemd_reload firewalld.service
165 %post -n firewall-applet
166 %update_icon_cache hicolor
168 %postun -n firewall-applet
169 %update_icon_cache hicolor
170 %glib_compile_schemas
172 %posttrans -n firewall-applet
173 %update_icon_cache hicolor
174 %glib_compile_schemas
176 %post -n firewall-config
177 %update_icon_cache hicolor
179 %postun -n firewall-config
180 %update_icon_cache hicolor
181 %glib_compile_schemas
183 %posttrans -n firewall-config
184 %update_icon_cache hicolor
185 %glib_compile_schemas
187 %files -f %{name}.lang
188 %defattr(644,root,root,755)
189 %attr(755,root,root) %{_sbindir}/firewalld
190 %attr(755,root,root) %{_bindir}/firewall-cmd
191 %attr(755,root,root) %{_bindir}/firewall-offline-cmd
192 %{bash_compdir}/firewall-cmd
193 %dir %{_prefix}/lib/firewalld
194 %dir %{_prefix}/lib/firewalld/helpers
195 %{_prefix}/lib/firewalld/helpers/*.xml
196 %dir %{_prefix}/lib/firewalld/icmptypes
197 %{_prefix}/lib/firewalld/icmptypes/*.xml
198 %dir %{_prefix}/lib/firewalld/policies
199 %{_prefix}/lib/firewalld/policies/*.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 %attr(750,root,root) %dir %{_sysconfdir}/firewalld
205 %config(noreplace) %{_sysconfdir}/firewalld/firewalld.conf
206 %attr(750,root,root) %dir %{_sysconfdir}/firewalld/icmptypes
207 %attr(750,root,root) %dir %{_sysconfdir}/firewalld/services
208 %attr(750,root,root) %dir %{_sysconfdir}/firewalld/zones
209 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/firewalld/lockdown-whitelist.xml
210 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/firewalld
211 %config(noreplace) %{_sysconfdir}/logrotate.d/firewalld
212 %config(noreplace) %{_sysconfdir}/modprobe.d/firewalld-sysctls.conf
213 %{systemdunitdir}/firewalld.service
214 %{_datadir}/dbus-1/system.d/FirewallD.conf
215 %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.desktop.policy.choice
216 %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.server.policy.choice
217 %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy
218 %dir %{_datadir}/firewalld
219 %{_datadir}/%{name}/testsuite
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}/metainfo/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*