[firewalld] Remove per-edition config files

Stephen Gallagher sgallagh at fedoraproject.org
Fri Mar 13 17:49:15 UTC 2015


commit 4c9547c6016e353d11785c83de82d6cbbea6d91a
Author: Stephen Gallagher <sgallagh at redhat.com>
Date:   Thu Mar 12 16:27:57 2015 -0400

    Remove per-edition config files
    
    - Decide on default configuration based on /etc/os-release

 firewalld.spec | 155 ++++++++++++++++++---------------------------------------
 1 file changed, 48 insertions(+), 107 deletions(-)
---
diff --git a/firewalld.spec b/firewalld.spec
index 3aeef0a..0366f7c 100644
--- a/firewalld.spec
+++ b/firewalld.spec
@@ -8,7 +8,7 @@
 Summary: A firewall daemon with D-Bus interface providing a dynamic firewall
 Name: firewalld
 Version: 0.3.13
-Release: 3%{?dist}
+Release: 4%{?dist}
 URL:     http://www.firewalld.org
 License: GPLv2+
 Source0: https://fedorahosted.org/released/firewalld/%{name}-%{version}.tar.bz2
@@ -42,9 +42,12 @@ 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
+
+# Remove old config subpackages
+Obsoletes: firewalld-config-standard <= 0.3.13
+Obsoletes: firewalld-config-cloud <= 0.3.13
+Obsoletes: firewalld-config-server <= 0.3.13
+Obsoletes: firewalld-config-workstation <= 0.3.13
 
 %description
 firewalld is a firewall service daemon that provides a dynamic customizable 
@@ -105,42 +108,6 @@ Requires: NetworkManager-glib
 The firewall configuration application provides an configuration interface for 
 firewalld.
 
-%if 0%{?fedora} > 20
-%package config-standard
-Summary: Firewalld standard configuration settings
-Requires: firewalld = %{version}-%{release}
-Provides: firewalld-config
-Conflicts: system-release-server
-Conflicts: firewalld-config-server
-Conflicts: system-release-workstation
-Conflicts: firewalld-config-workstation
-
-%description config-standard
-Standard product firewalld configuration settings.
-
-%package config-server
-Summary: Firewalld server configuration settings
-Provides: firewalld-config
-Requires: firewalld = %{version}-%{release}
-Requires: system-release-server
-Conflicts: firewalld-config-workstation
-Conflicts: firewalld-config-standard
-
-%description config-server
-Server product specific firewalld configuration settings.
-
-%package config-workstation
-Summary: Firewalld workstation configuration settings
-Provides: firewalld-config
-Requires: firewalld = %{version}-%{release}
-Requires: system-release-workstation
-Conflicts: firewalld-config-server
-Conflicts: firewalld-config-standard
-
-%description config-workstation
-Workstation product specific firewalld configuration settings.
-%endif
-
 %prep
 %setup -q
 %if 0%{?fedora}
@@ -225,6 +192,37 @@ rm -f %{buildroot}%{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.poli
 %postun
 %systemd_postun_with_restart firewalld.service 
 
+%posttrans
+# Only on initial installation, not upgrades
+if [ $1 -eq 0 ]
+    # Select the default config file based on /etc/os-release
+    variant=$(awk -F "=" '/VARIANT/ {print $2}' /etc/os-release) || :
+
+    rm -f %{_sysconfdir}/firewalld/firewalld.conf
+    rm -f %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy
+
+    case $variant in
+        "Cloud")
+            ln -sf firewalld-cloud.conf %{_sysconfdir}/firewalld/firewalld.conf || :
+            # The Cloud edition will share the Server policy for now
+            ln -sf org.fedoraproject.FirewallD1.server.policy %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy || :
+            ;;
+        "Server")
+            ln -sf firewalld-server.conf %{_sysconfdir}/firewalld/firewalld.conf || :
+            ln -sf org.fedoraproject.FirewallD1.server.policy %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy || :
+            ;;
+        "Workstation")
+            ln -sf firewalld-workstation.conf %{_sysconfdir}/firewalld/firewalld.conf || :
+            ln -sf org.fedoraproject.FirewallD1.desktop.policy %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy || :
+            ;;
+        *)
+            ln -sf firewalld-standard.conf %{_sysconfdir}/firewalld/firewalld.conf
+            # The standard firewall policy will be the same as Server
+            ln -sf org.fedoraproject.FirewallD1.server.policy %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy || :
+            ;;
+    esac
+fi
+
 
 %post -n firewall-applet
 /bin/touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
@@ -255,50 +253,6 @@ fi
 /usr/bin/gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 /usr/bin/glib-compile-schemas %{_datadir}/glib-2.0/schemas &> /dev/null || :
 
-%if 0%{?fedora} > 20
-%post config-standard
-if [ $1 -eq 1 ]; then # Initial installation
-    # link standard config
-    rm -f %{_sysconfdir}/firewalld/firewalld.conf
-    ln -sf firewalld-standard.conf %{_sysconfdir}/firewalld/firewalld.conf || :
-fi
-
-%triggerin config-standard -- firewalld
-if [ $1 -eq 1 ]; then
-    # link server policy
-    rm -f %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy
-    ln -sf org.fedoraproject.FirewallD1.server.policy %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy || :
-fi
-
-%post config-server
-if [ $1 -eq 1 ]; then # Initial installation
-    # link server config
-    rm -f %{_sysconfdir}/firewalld/firewalld.conf
-    ln -sf firewalld-server.conf %{_sysconfdir}/firewalld/firewalld.conf || :
-fi
-
-%triggerin config-server -- firewalld
-if [ $1 -eq 1 ]; then
-    # link server policy
-    rm -f %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy
-    ln -sf org.fedoraproject.FirewallD1.server.policy %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy || :
-fi
-
-%post config-workstation
-if [ $1 -eq 1 ]; then # Initial installation
-    # link workstation config
-    rm -f %{_sysconfdir}/firewalld/firewalld.conf
-    ln -sf firewalld-workstation.conf %{_sysconfdir}/firewalld/firewalld.conf || :
-fi
-
-%triggerin config-workstation -- firewalld
-if [ $1 -eq 1 ]; then
-    # link desktop policy
-    rm -f %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy
-    ln -sf org.fedoraproject.FirewallD1.desktop.policy %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy || :
-fi
-%endif
-
 %files -f %{name}.lang
 %doc COPYING README
 %{_sbindir}/firewalld
@@ -311,9 +265,11 @@ fi
 %{_prefix}/lib/firewalld/zones/*.xml
 %{_prefix}/lib/firewalld/xmlschema/*.xsd
 %attr(0750,root,root) %dir %{_sysconfdir}/firewalld
-%if 0%{?fedora} <= 20
-%config(noreplace) %{_sysconfdir}/firewalld/firewalld.conf
-%endif
+%ghost %config(noreplace) %{_sysconfdir}/firewalld/firewalld.conf
+%config(noreplace) %{_sysconfdir}/firewalld/firewalld-standard.conf
+%config(noreplace) %{_sysconfdir}/firewalld/firewalld-server.conf
+%config(noreplace) %{_sysconfdir}/firewalld/firewalld-workstation.conf
+
 %config(noreplace) %{_sysconfdir}/firewalld/lockdown-whitelist.xml
 %attr(0750,root,root) %dir %{_sysconfdir}/firewalld/icmptypes
 %attr(0750,root,root) %dir %{_sysconfdir}/firewalld/services
@@ -325,9 +281,7 @@ 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
-%if 0%{?fedora} <= 20
-%{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy
-%endif
+%ghost %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy
 %{_mandir}/man1/firewall*cmd*.1*
 %{_mandir}/man1/firewalld*.1*
 %{_mandir}/man5/firewall*.5*
@@ -395,24 +349,11 @@ fi
 %{_datadir}/glib-2.0/schemas/org.fedoraproject.FirewallConfig.gschema.xml
 %{_mandir}/man1/firewall-config*.1*
 
-%if 0%{?fedora} > 20
-%files config-standard
-%config(noreplace) %{_sysconfdir}/firewalld/firewalld-standard.conf
-%ghost %config(noreplace) %{_sysconfdir}/firewalld/firewalld.conf
-%ghost %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy
-
-%files config-server
-%config(noreplace) %{_sysconfdir}/firewalld/firewalld-server.conf
-%ghost %config(noreplace) %{_sysconfdir}/firewalld/firewalld.conf
-%ghost %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy
-
-%files config-workstation
-%config(noreplace) %{_sysconfdir}/firewalld/firewalld-workstation.conf
-%ghost %config(noreplace) %{_sysconfdir}/firewalld/firewalld.conf
-%ghost %{_datadir}/polkit-1/actions/org.fedoraproject.FirewallD1.policy
-%endif
-
 %changelog
+* Fri Mar 13 2015 Stephen Gallagher <sgallagh at redhat.com> 0.3.13-4
+- Remove per-edition config files
+- Decide on default configuration based on /etc/os-release
+
 * Mon Feb 23 2015 Jiri Popelka <jpopelka at redhat.com> - 0.3.13-3
 - use python3 bindings on fedora >=23
 


More information about the scm-commits mailing list