Accepting request 1072540 from home:Vogtinator:branches:KDE:Applications

Not tested yet!

- Fix some potential scriptlet bugs and style issues

- 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'

OBS-URL: https://build.opensuse.org/request/show/1072540
OBS-URL: https://build.opensuse.org/package/show/KDE:Applications/kdeconnect-kde?expand=0&rev=101
This commit is contained in:
Christophe Marin 2023-03-17 09:24:08 +00:00 committed by Git OBS Bridge
parent 6f500fa543
commit 9a3aa43020
3 changed files with 66 additions and 17 deletions

View File

@ -1,7 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<service>
<short>KDE Connect</short>
<description>KDE Connect is a project that aims to communicate all your devices.</description>
<port protocol="tcp" port="1714-1764"/>
<port protocol="udp" port="1714-1764"/>
</service>

View File

@ -1,3 +1,17 @@
-------------------------------------------------------------------
Fri Mar 17 09:00:05 UTC 2023 - Fabian Vogt <fabian@ritter-vogt.de>
- Fix some potential scriptlet bugs and style issues
-------------------------------------------------------------------
Wed Mar 8 17:02:56 UTC 2023 - Robert Frohl <rfrohl@suse.com>
- 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 <christophe@krop.fr>

View File

@ -31,13 +31,12 @@ 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)
@ -60,8 +59,8 @@ BuildRequires: cmake(Qca-qt5)
BuildRequires: cmake(Qt5Multimedia)
BuildRequires: cmake(Qt5Quick)
BuildRequires: cmake(Qt5QuickControls2)
BuildRequires: cmake(Qt5X11Extras)
BuildRequires: cmake(Qt5WaylandClient)
BuildRequires: cmake(Qt5X11Extras)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(libfakekey)
BuildRequires: pkgconfig(x11)
@ -120,15 +119,61 @@ 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
%ldconfig_scriptlets
%pre
# migrate old kdeconnect-kde service
# XXX: can be removed after some time, the author would suggest after 2023-06-15 has passed
if grep -q kdeconnect-kde /etc/firewalld/zones/*.xml 2>/dev/null; then
echo "Migrating 'kdeconnect-kde' firewalld service to identical 'kdeconnect' shipped with firewalld."
sed -i 's/<service name="kdeconnect-kde"\/>/<service name="kdeconnect"\/>/' /etc/firewalld/zones/*.xml
if firewall-cmd -q --state; then
firewall-cmd --reload
fi
fi
true
# 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'
if firewall-cmd -q --state; 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
true
%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'
if firewall-cmd -q --state; 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
firewall-offline-cmd --remove-service-from-zone=kdeconnect --zone=home
fi
fi
fi
true
%endif
%files zsh-completion
%dir %{_datadir}/zsh
@ -148,8 +193,6 @@ install -D -m 0644 %{SOURCE101} \
%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
@ -182,7 +225,6 @@ install -D -m 0644 %{SOURCE101} \
%{_kf5_sharedir}/kdeconnect/kdeconnect_clipboard_config.qml
%{_kf5_sharedir}/plasma/
%{_libexecdir}/kdeconnectd
%{_prefix}/lib/firewalld/services/%{name}.xml
%files lang -f %{name}.lang