diff --git a/firewalld.spec b/firewalld.spec index dd78895..06b5b05 100644 --- a/firewalld.spec +++ b/firewalld.spec @@ -1,15 +1,25 @@ +%if (0%{?fedora} >= 13 || 0%{?rhel} >= 7) +%define with_python3 1 +%if (0%{?fedora} >= 22 || 0%{?rhel} >= 8) +%define use_python3 1 +%endif +%endif + Summary: A firewall daemon with D-Bus interface providing a dynamic firewall Name: firewalld Version: 0.3.13 -Release: 1%{?dist} +Release: 2%{?dist} URL: http://www.firewalld.org License: GPLv2+ Source0: https://fedorahosted.org/released/firewalld/%{name}-%{version}.tar.bz2 %if 0%{?fedora} Source1: FedoraServer.xml Source2: FedoraWorkstation.xml +%endif +%if 0%{?fedora} Patch0: firewalld-0.2.6-MDNS-default.patch %endif +Patch1: firewalld-0.3.13-python3.patch BuildArch: noarch BuildRequires: desktop-file-utils BuildRequires: gettext @@ -18,21 +28,50 @@ BuildRequires: intltool BuildRequires: glib2, glib2-devel BuildRequires: systemd-units BuildRequires: docbook-style-xsl -Requires: dbus-python -Requires: python-slip-dbus -Requires: python-decorator -Requires: pygobject3-base +BuildRequires: python2-devel +%if 0%{?with_python3} +BuildRequires: python3-devel +%endif #0%{?with_python3} Requires: iptables, ebtables Requires(post): systemd Requires(preun): systemd Requires(postun): systemd Requires: firewalld-filesystem = %{version}-%{release} +%if 0%{?use_python3} +Requires: python3-firewall = %{version}-%{release} +%else #0%{?use_python3} +Requires: python2-firewall = %{version}-%{release} +%endif #0%{?use_python3} +%if 0%{?fedora} > 20 Requires: firewalld-config +%endif %description firewalld is a firewall service daemon that provides a dynamic customizable firewall with a D-Bus interface. +%package -n python2-firewall +Summary: Python2 bindings for firewalld +Requires: dbus-python +Requires: python-slip-dbus +Requires: python-decorator +Requires: pygobject3-base + +%description -n python2-firewall +Python2 bindings for firewalld. + +%if 0%{?with_python3} +%package -n python3-firewall +Summary: Python3 bindings for firewalld +Requires: python3-dbus +Requires: python3-slip-dbus +Requires: python3-decorator +Requires: python3-gobject + +%description -n python3-firewall +Python3 bindings for firewalld. +%endif #0%{?with_python3} + %package -n firewalld-filesystem Summary: Firewalld directory layout and rpm macros @@ -107,12 +146,42 @@ Workstation product specific firewalld configuration settings. %if 0%{?fedora} %patch0 -p1 %endif +%patch1 -p1 + +%if 0%{?with_python3} +rm -rf %{py3dir} +cp -a . %{py3dir} +%if 0%{?use_python3} +sed -i -e 's|/usr/bin/python -Es|%{__python3} -Es|' %{py3dir}/fix_python_shebang.sh +sed -i 's|/usr/bin/python|%{__python3}|' %{py3dir}/config/lockdown-whitelist.xml +%endif #0%{?use_python3} +%endif #0%{?with_python3} %build %configure --enable-sysconfig --enable-rpmmacros +%if 0%{?with_python3} +pushd %{py3dir} +%configure --enable-sysconfig --enable-rpmmacros PYTHON=%{__python3} +popd +%endif #0%{?with_python3} + %install -make install DESTDIR=%{buildroot} +%if 0%{?use_python3} +make -C src install-nobase_dist_pythonDATA PYTHON=%{__python2} DESTDIR=%{buildroot} +%else +make install PYTHON=%{__python2} DESTDIR=%{buildroot} +%endif #0%{?use_python3} + +%if 0%{?with_python3} +pushd %{py3dir} +%if 0%{?use_python3} +make install PYTHON=%{__python3} DESTDIR=%{buildroot} +%else +make -C src install-nobase_dist_pythonDATA PYTHON=%{__python3} DESTDIR=%{buildroot} +%endif #0%{?use_python3} +popd +%endif #0%{?with_python3} desktop-file-install --delete-original \ --dir %{buildroot}%{_sysconfdir}/xdg/autostart \ @@ -121,11 +190,11 @@ desktop-file-install --delete-original \ --dir %{buildroot}%{_datadir}/applications \ %{buildroot}%{_datadir}/applications/firewall-config.desktop +%if 0%{?fedora} > 20 install -d -m 755 %{buildroot}%{_prefix}/lib/firewalld/zones/ install -c -m 644 %{SOURCE1} %{buildroot}%{_prefix}/lib/firewalld/zones/FedoraServer.xml install -c -m 644 %{SOURCE2} %{buildroot}%{_prefix}/lib/firewalld/zones/FedoraWorkstation.xml -%if 0%{?fedora} > 20 # standard firewalld.conf mv %{buildroot}%{_sysconfdir}/firewalld/firewalld.conf \ %{buildroot}%{_sysconfdir}/firewalld/firewalld-standard.conf @@ -256,20 +325,49 @@ fi %config(noreplace) %{_sysconfdir}/dbus-1/system.d/FirewallD.conf %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.desktop.policy %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.server.policy -%attr(0755,root,root) %dir %{python_sitelib}/firewall -%attr(0755,root,root) %dir %{python_sitelib}/firewall/config -%attr(0755,root,root) %dir %{python_sitelib}/firewall/core -%attr(0755,root,root) %dir %{python_sitelib}/firewall/core/io -%attr(0755,root,root) %dir %{python_sitelib}/firewall/server -%{python_sitelib}/firewall/*.py* -%{python_sitelib}/firewall/config/*.py* -%{python_sitelib}/firewall/core/*.py* -%{python_sitelib}/firewall/core/io/*.py* -%{python_sitelib}/firewall/server/*.py* +%if 0%{?fedora} <= 20 +%{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy +%endif %{_mandir}/man1/firewall*cmd*.1* %{_mandir}/man1/firewalld*.1* %{_mandir}/man5/firewall*.5* +%files -n python2-firewall +%attr(0755,root,root) %dir %{python2_sitelib}/firewall +%attr(0755,root,root) %dir %{python2_sitelib}/firewall/config +%attr(0755,root,root) %dir %{python2_sitelib}/firewall/core +%attr(0755,root,root) %dir %{python2_sitelib}/firewall/core/io +%attr(0755,root,root) %dir %{python2_sitelib}/firewall/server +%{python2_sitelib}/firewall/*.py* +%{python2_sitelib}/firewall/config/*.py* +%{python2_sitelib}/firewall/core/*.py* +%{python2_sitelib}/firewall/core/io/*.py* +%{python2_sitelib}/firewall/server/*.py* + +%if 0%{?with_python3} +%files -n python3-firewall +%attr(0755,root,root) %dir %{python3_sitelib}/firewall +%attr(0755,root,root) %dir %{python3_sitelib}/firewall/__pycache__ +%attr(0755,root,root) %dir %{python3_sitelib}/firewall/config +%attr(0755,root,root) %dir %{python3_sitelib}/firewall/config/__pycache__ +%attr(0755,root,root) %dir %{python3_sitelib}/firewall/core +%attr(0755,root,root) %dir %{python3_sitelib}/firewall/core/__pycache__ +%attr(0755,root,root) %dir %{python3_sitelib}/firewall/core/io +%attr(0755,root,root) %dir %{python3_sitelib}/firewall/core/io/__pycache__ +%attr(0755,root,root) %dir %{python3_sitelib}/firewall/server +%attr(0755,root,root) %dir %{python3_sitelib}/firewall/server/__pycache__ +%{python3_sitelib}/firewall/__pycache__/*.py* +%{python3_sitelib}/firewall/*.py* +%{python3_sitelib}/firewall/config/*.py* +%{python3_sitelib}/firewall/config/__pycache__/*.py* +%{python3_sitelib}/firewall/core/*.py* +%{python3_sitelib}/firewall/core/__pycache__/*.py* +%{python3_sitelib}/firewall/core/io/*.py* +%{python3_sitelib}/firewall/core/io/__pycache__/*.py* +%{python3_sitelib}/firewall/server/*.py* +%{python3_sitelib}/firewall/server/__pycache__/*.py* +%endif #0%{?with_python3} + %files -n firewalld-filesystem %dir %{_prefix}/lib/firewalld %dir %{_prefix}/lib/firewalld/icmptypes @@ -315,6 +413,11 @@ fi %endif %changelog +* Wed Jan 28 2015 Thomas Woerner - 0.3.13-2 +- enable python2 and python3 bindings for fedora >= 20 and rhel >= 7 +- use python3 bindings on fedora >= 22 and rhel >= 8 for firewalld, + firewall-config and firewall-applet + * Thu Dec 04 2014 Jiri Popelka - 0.3.13-1 - firewalld: - ipXtables: use -w or -w2 if supported (RHBZ#1161745, RHBZ#1151067)