diff --git a/kdeconnect-kde-firewalld.xml b/kdeconnect-kde-firewalld.xml new file mode 100644 index 0000000..fa03324 --- /dev/null +++ b/kdeconnect-kde-firewalld.xml @@ -0,0 +1,7 @@ + + + KDE Connect + KDE Connect is a project that aims to communicate all your devices. + + + diff --git a/kdeconnect-kde.changes b/kdeconnect-kde.changes index b2a5ed1..609264d 100644 --- a/kdeconnect-kde.changes +++ b/kdeconnect-kde.changes @@ -1,12 +1,3 @@ -------------------------------------------------------------------- -Wed Mar 8 17:02:56 UTC 2023 - Robert Frohl - -- Automatically handle firewalld setup during initial install or final removal - of kdeconnect-kde for openSUSE distros. (boo#1175627) -- Drop kdeconnect-kde-firewalld.xml, service definition now shipped with - firewalld package. - * the 'kdeconnect-kde' firewalld service is migrated over to 'kdeconnect' - ------------------------------------------------------------------- Tue Feb 28 09:45:49 UTC 2023 - Christophe Marin diff --git a/kdeconnect-kde.spec b/kdeconnect-kde.spec index cf5bb7d..ba5d199 100644 --- a/kdeconnect-kde.spec +++ b/kdeconnect-kde.spec @@ -31,12 +31,13 @@ Source1: https://download.kde.org/stable/release-service/%{version}/src/% Source2: applications.keyring %endif Source100: kdeconnect-kde.SuSEfirewall +Source101: kdeconnect-kde-firewalld.xml BuildRequires: cmake >= 3.0 BuildRequires: extra-cmake-modules BuildRequires: kf5-filesystem -BuildRequires: libQt5Gui-private-headers-devel BuildRequires: pkgconfig BuildRequires: update-desktop-files +BuildRequires: libQt5Gui-private-headers-devel BuildRequires: cmake(KF5ConfigWidgets) BuildRequires: cmake(KF5DBusAddons) BuildRequires: cmake(KF5Declarative) @@ -59,8 +60,8 @@ BuildRequires: cmake(Qca-qt5) BuildRequires: cmake(Qt5Multimedia) BuildRequires: cmake(Qt5Quick) BuildRequires: cmake(Qt5QuickControls2) -BuildRequires: cmake(Qt5WaylandClient) BuildRequires: cmake(Qt5X11Extras) +BuildRequires: cmake(Qt5WaylandClient) BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(libfakekey) BuildRequires: pkgconfig(x11) @@ -119,64 +120,15 @@ done install -D -m 0644 %{SOURCE100} \ %{buildroot}%{_sysconfdir}/sysconfig/SuSEfirewall2.d/services/%{name} %endif +# firewalld config file +install -D -m 0644 %{SOURCE101} \ + %{buildroot}%{_prefix}/lib/firewalld/services/%{name}.xml %suse_update_desktop_file %{buildroot}%{_kf5_applicationsdir}/org.kde.kdeconnect.app.desktop Network RemoteAccess %suse_update_desktop_file %{buildroot}%{_kf5_applicationsdir}/org.kde.kdeconnect.nonplasma.desktop Network RemoteAccess %suse_update_desktop_file %{buildroot}%{_kf5_applicationsdir}/org.kde.kdeconnect_open.desktop Network RemoteAccess -%pre -# migrate old kdeconnect-kde service -# XXX: can be removed after some time, the author would suggest after 2023-06-15 has passed -if [ -d /etc/firewalld/zones ]; then - grep kdeconnect-kde /etc/firewalld/zones/*.xml > /dev/null 2>&1 - if [ $? -eq 0 ] ; then - echo "Migrating 'kdeconnect-kde' firewalld service to identical 'kdeconnect' shipped with firewalld." - sed -i 's///' /etc/firewalld/zones/*.xml - firewall-cmd --state > /dev/null 2>&1 - if [ $? -eq 0 ]; then - firewall-cmd --reload - fi - fi -fi -# migrate kdeconnect-kde end - -%post -%ldconfig -%if 0%{?is_opensuse} -if [ $1 -eq 1 ]; then # inital/first package install - if [ -x %{_bindir}/firewall-cmd ]; then - echo 'Adding kdeconnect service to default and home firewalld zones' - firewall-cmd --state > /dev/null 2>&1 - if [ $? -eq 0 ]; then - firewall-cmd --add-service=kdeconnect - firewall-cmd --add-service=kdeconnect --zone=home - firewall-cmd --runtime-to-permanent - else - firewall-offline-cmd --add-service=kdeconnect - firewall-offline-cmd --add-service=kdeconnect --zone=home - fi - fi -fi -%endif - -%postun -%ldconfig -%if 0%{?is_opensuse} -if [ $1 -eq 0 ]; then # last/final package removal - if [ -x %{_bindir}/firewall-cmd ]; then - echo 'Removing kdeconnect service from default and home firewalld zones' - firewall-cmd --state > /dev/null 2>&1 - if [ $? -eq 0 ]; then - firewall-cmd --remove-service=kdeconnect - firewall-cmd --remove-service=kdeconnect --zone=home - firewall-cmd --runtime-to-permanent - else - firewall-offline-cmd --remove-service=kdeconnect >/dev/null - firewall-offline-cmd --remove-service-from-zone=kdeconnect --zone=home - fi - fi -fi -%endif +%ldconfig_scriptlets %files zsh-completion %dir %{_datadir}/zsh @@ -196,6 +148,8 @@ fi %dir %{_datadir}/deepin/dde-file-manager/oem-menuextensions %dir %{_datadir}/nautilus-python %dir %{_kf5_sharedir}/kdeconnect +%dir %{_prefix}/lib/firewalld +%dir %{_prefix}/lib/firewalld/services %{_datadir}/Thunar/sendto/ %{_datadir}/contractor/kdeconnect.contract %{_datadir}/deepin/dde-file-manager/oem-menuextensions/kdeconnect-dde.desktop @@ -228,6 +182,7 @@ fi %{_kf5_sharedir}/kdeconnect/kdeconnect_clipboard_config.qml %{_kf5_sharedir}/plasma/ %{_libexecdir}/kdeconnectd +%{_prefix}/lib/firewalld/services/%{name}.xml %files lang -f %{name}.lang