diff --git a/kf5-kservice.spec b/kf5-kservice.spec new file mode 100644 index 0000000..45c6163 --- /dev/null +++ b/kf5-kservice.spec @@ -0,0 +1,98 @@ +%global framework kservice + +Name: kf5-%{framework} +Summary: KDE Frameworks 5 Tier 3 solution for advanced plugin and service introspection +Version: 5.55.0 +Release: 1 + +# mixture of LGPLv2 and LGPLv2+ (mostly the latter) +License: LGPLv2 +URL: https://cgit.kde.org/%{framework}.git + +%global majmin %(echo %{version} | cut -d. -f1-2) +%global revision %(echo %{version} | cut -d. -f3) +%if %{revision} >= 50 +%global stable unstable +%else +%global stable stable +%endif +Source0: http://download.kde.org/%{stable}/frameworks/%{majmin}/%{framework}-%{version}.tar.xz + +## downstream patches +# adds the Administration menu from redhat-menus which equals System + Settings +# This prevents the stuff getting listed twice, under both System and Settings. +Patch100: kservice-5.15.0-xdg-menu.patch + +# kbuildsycoca5 always gives: +# kf5.kservice.sycoca: Parse error in "$HOME/.config/menus/applications-merged/xdg-desktop-menu-dummy.menu" , line 1 , col 1 : "unexpected end of file" +# hide that by default, make it qCDebug instead (of qCWarning) +Patch101: kservice-5.17.0-vfolder_spam.patch + +BuildRequires: extra-cmake-modules >= %{majmin} kf5-kconfig-devel >= %{majmin} kf5-kcoreaddons-devel >= %{majmin} kf5-kcrash-devel >= %{majmin} kf5-kdbusaddons-devel >= %{majmin} kf5-kdoctools-devel >= %{majmin} kf5-ki18n-devel >= %{majmin} kf5-rpm-macros qt5-qtbase-devel flex bison +# for the Administration category +Requires: redhat-menus + +%description +KDE Frameworks 5 Tier 3 solution for advanced plugin and service +introspection. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} kf5-kconfig-devel >= %{majmin} kf5-kcoreaddons-devel >= %{majmin} + +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + + +%prep +%autosetup -n %{framework}-%{version} -p1 + + +%build +mkdir %{_target_platform} +pushd %{_target_platform} +%{cmake_kf5} .. +popd + +%make_build -C %{_target_platform} + + +%install +make install/fast DESTDIR=%{buildroot} -C %{_target_platform} + +%find_lang %{name} --all-name --with-man + +mv %{buildroot}%{_kf5_sysconfdir}/xdg/menus/applications.menu \ + %{buildroot}%{_kf5_sysconfdir}/xdg/menus/kf5-applications.menu + +mkdir -p %{buildroot}%{_kf5_datadir}/kservices5 +mkdir -p %{buildroot}%{_kf5_datadir}/kservicetypes5 + + +%ldconfig_scriptlets + +%files -f %{name}.lang +%doc README.md +%license COPYING.LIB +# this is not a config file, despite rpmlint complaining otherwise -- rex +%{_kf5_sysconfdir}/xdg/menus/kf5-applications.menu +%{_kf5_sysconfdir}/xdg/%{framework}.* +%{_kf5_bindir}/kbuildsycoca5 +%{_kf5_libdir}/libKF5Service.so.5* +%{_kf5_datadir}/kservicetypes5/ +%{_kf5_datadir}/kservices5/ +%{_kf5_mandir}/man8/*.8* + +%files devel +%{_kf5_includedir}/kservice_version.h +%{_kf5_includedir}/KService/ +%{_kf5_libdir}/libKF5Service.so +%{_kf5_libdir}/cmake/KF5Service/ +%{_kf5_archdatadir}/mkspecs/modules/qt_KService.pri + + +%changelog +* Mon Aug 17 2020 yeqinglong - 5.55.0-1 +- Initial release for OpenEuler + diff --git a/kf5-kservice.yaml b/kf5-kservice.yaml new file mode 100644 index 0000000..df8e371 --- /dev/null +++ b/kf5-kservice.yaml @@ -0,0 +1,4 @@ +version_control: github +src_repo: KDE/kservice +tag_prefix: "^v" +seperator: "." diff --git a/kservice-5.15.0-xdg-menu.patch b/kservice-5.15.0-xdg-menu.patch new file mode 100644 index 0000000..db68867 --- /dev/null +++ b/kservice-5.15.0-xdg-menu.patch @@ -0,0 +1,75 @@ +diff -ur kservice-5.15.0/kbuildsycoca/applications.menu kservice-5.15.0-xdg-menu/kbuildsycoca/applications.menu +--- kservice-5.15.0/src/applications.menu 2015-07-05 11:13:00.000000000 +0200 ++++ kservice-5.15.0-xdg-menu/src/applications.menu 2015-08-16 00:29:20.823019434 +0200 +@@ -31,29 +31,31 @@ + Core + KDE + ++ X-Red-Hat-Base + + X-SuSE-YaST +- X-KDE-settings-hardware +- X-KDE-settings-accessibility +- X-KDE-settings-components +- X-KDE-settings-desktop +- X-KDE-settings-looknfeel +- X-KDE-settings-network +- X-KDE-settings-webbrowsing +- X-KDE-settings-peripherals +- X-KDE-settings-hardware +- X-KDE-settings-power +- X-KDE-settings-security +- X-KDE-settings-sound +- X-KDE-settings-system +- X-KDE-information +- kde-kcm_knetworkconfmodule_ss.desktop +- kde-medianotifications.desktop +- kde-audioencoding.desktop + + + + ++ System Settings ++ SystemConfig.directory ++ ++ ++ System ++ Settings ++ X-Red-Hat-ServerConfig ++ ++ ++ ++ Server ++ ServerConfig.directory ++ ++ X-Red-Hat-ServerConfig ++ ++ ++ ++ + Development + kf5-development.directory + +@@ -369,7 +371,11 @@ + Settingsmenu + kf5-settingsmenu.directory + +- Settings ++ ++ Settings ++ System ++ X-Red-Hat-ServerConfig ++ + + + +@@ -378,7 +384,9 @@ + + + System ++ Settings + X-KDE-More ++ X-Red-Hat-ServerConfig + + + diff --git a/kservice-5.17.0-vfolder_spam.patch b/kservice-5.17.0-vfolder_spam.patch new file mode 100644 index 0000000..37b3603 --- /dev/null +++ b/kservice-5.17.0-vfolder_spam.patch @@ -0,0 +1,12 @@ +diff -up kservice-5.17.0/src/sycoca/vfolder_menu.cpp.vfolder_spam kservice-5.17.0/src/sycoca/vfolder_menu.cpp +--- kservice-5.17.0/src/sycoca/vfolder_menu.cpp.vfolder_spam 2015-12-06 15:38:04.000000000 -0600 ++++ kservice-5.17.0/src/sycoca/vfolder_menu.cpp 2015-12-09 08:51:46.339401871 -0600 +@@ -464,7 +464,7 @@ VFolderMenu::loadDoc() + int errorRow; + int errorCol; + if (!doc.setContent(&file, &errorMsg, &errorRow, &errorCol)) { +- qCWarning(SYCOCA) << "Parse error in " << m_docInfo.path << ", line " << errorRow << ", col " << errorCol << ": " << errorMsg; ++ qCDebug(SYCOCA) << "Parse error in " << m_docInfo.path << ", line " << errorRow << ", col " << errorCol << ": " << errorMsg; + file.close(); + return doc; + } diff --git a/kservice-5.55.0.tar.xz b/kservice-5.55.0.tar.xz new file mode 100644 index 0000000..729a18c Binary files /dev/null and b/kservice-5.55.0.tar.xz differ