diff --git a/build-order.txt b/build-order.txt index 14806fe..e1ae29d 100644 --- a/build-order.txt +++ b/build-order.txt @@ -6,6 +6,7 @@ [tier1] SDL2 +kde-filesystem libei silver-sddm sonic-crypto-library @@ -16,10 +17,18 @@ sonic-qt-accounts-library sonic-rpm-macros [tier2] +kde-settings signon-plugin-oauth2 sonic-frameworks-cmake-modules [tier3] +kdegraphics-mobipocket +kdsoap-ws-discovery-client +kf6-kcalendarcore +kf6-ktexttemplate +kf6-threadweaver +libkdcraw +sddm sonic-exiv2-library sonic-frameworks-archive sonic-frameworks-barcode @@ -54,7 +63,9 @@ sonic-pulseaudio-library sonic-workspace-wallpapers [tier4] +kf6-kcontacts ksanecore +libkcompactdisc sonic-activities sonic-decoration sonic-frameworks-auth @@ -87,6 +98,7 @@ sonic-gtk-theme-bridge sonic-write-daemon [tier6] +kf6-kpeople sonic-daemon sonic-frameworks-icon-themes sonic-frameworks-keyring @@ -103,12 +115,16 @@ sonic-frameworks-xml-gui sonic-ssh-password-prompt [tier8] +kdebugsettings sonic-frameworks-bookmarks [tier9] sonic-frameworks-io [tier10] +kdegraphics-thumbnailers +kdenetwork-filesharing +libkgapi sonic-activity-manager-daemon sonic-frameworks-feeds sonic-frameworks-file-search @@ -126,8 +142,12 @@ sonic-system-log [tier11] colord-kde filelight +flatpak-kcm kamera kde-connect +libkcddb +okular +plasma-systemsettings sonic-accounts-integration sonic-disks sonic-dr-robotnik @@ -144,6 +164,10 @@ xdg-desktop-portal-sonicde [tier12] kaccounts-providers +kate +plasma-keyboard +plasma-print-manager +sddm-kcm sonic-audio-applet-pulse sonic-bluetooth-runtime sonic-ecco @@ -160,6 +184,7 @@ sonic-welcome-center [tier13] dolphin-plugins +gwenview skanpage sonic-breeze sonic-oxygen diff --git a/flatpak-kcm/flatpak-kcm-6.7.4.tar.xz b/flatpak-kcm/flatpak-kcm-6.7.4.tar.xz new file mode 100644 index 0000000..dd54efc Binary files /dev/null and b/flatpak-kcm/flatpak-kcm-6.7.4.tar.xz differ diff --git a/flatpak-kcm/flatpak-kcm.spec b/flatpak-kcm/flatpak-kcm.spec new file mode 100644 index 0000000..7ba678b --- /dev/null +++ b/flatpak-kcm/flatpak-kcm.spec @@ -0,0 +1,54 @@ +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +Name: flatpak-kcm +Version: 6.7.4 +Release: 2%{?dist} +License: BSD-2-Clause and BSD-3-Clause and CC0-1.0 and GPL-2.0-or-later +Summary: Flatpak Permissions Management KCM +Url: https://invent.kde.org/plasma/flatpak-kcm + +Source0: https://download.kde.org/%{stable_kf6}/plasma/%{version}/%{name}-%{version}.tar.xz +Source1: https://download.kde.org/%{stable_kf6}/plasma/%{version}/%{name}-%{version}.tar.xz.sig + +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: gcc-c++ +BuildRequires: sonic-rpm-macros +BuildRequires: desktop-file-utils + +BuildRequires: cmake(KF6Declarative) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6ItemModels) +BuildRequires: cmake(KF6KCMUtils) +BuildRequires: cmake(KF6IconThemes) + +BuildRequires: cmake(Qt6Svg) + +BuildRequires: pkgconfig(flatpak) + +%description +%{summary}. + +%prep +%autosetup -p1 + +%build +%cmake_kf6 +%cmake_build + +%install +%cmake_install +desktop-file-validate %{buildroot}%{_datadir}/applications/kcm_app-permissions.desktop +%find_lang kcm_app-permissions + +%files -f kcm_app-permissions.lang +%license LICENSES/* +%{_kf6_qtplugindir}/plasma/kcms/systemsettings/kcm_app-permissions.so +%{_kf6_datadir}/applications/kcm_app-permissions.desktop + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 6.7.4-2 +- SonicDE build for Enterprise Linux 10 + +* Fri Apr 10 2026 Steve Cossette - 6.6.4-1 +- 6.6.4 diff --git a/gwenview/gwenview-26.04.3.tar.xz b/gwenview/gwenview-26.04.3.tar.xz new file mode 100644 index 0000000..e115dd8 Binary files /dev/null and b/gwenview/gwenview-26.04.3.tar.xz differ diff --git a/gwenview/gwenview.spec b/gwenview/gwenview.spec new file mode 100644 index 0000000..d2168d4 --- /dev/null +++ b/gwenview/gwenview.spec @@ -0,0 +1,139 @@ +%global debug_package %{nil} + +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +Name: gwenview +Summary: An image viewer +Epoch: 1 +Version: 26.04.3 +Release: 1%{?dist} + +# app + lib: GPL-2.0-or-later +# lib/jlibjpeg: IJG +# lib/zoomcombobox: LGPL-2.1-or-later +# lib/cms/iccjpeg.c: MIT +# lib/flowlayout.cpp: GPL-2.0-only OR GPL-3.0-only (see https://gitlab.com/fedora/legal/fedora-license-data/-/issues/718 ) +# doc: GFDL-1.2-only (but is not packaged) +License: GPL-2.0-or-later AND IJG AND LGPL-2.1-or-later AND MIT AND (GPL-2.0-only OR GPL-3.0-only) +URL: https://www.kde.org/applications/graphics/gwenview/ + +Source0: https://download.kde.org/%{stable_kf6}/release-service/%{version}/src/%{name}-%{version}.tar.xz + +## upstream patches + +## upstreamable patches + +BuildRequires: desktop-file-utils +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: gettext +BuildRequires: sonic-rpm-macros +BuildRequires: cmake(KF6Baloo) +BuildRequires: cmake(PlasmaActivities) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6ItemModels) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6Parts) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6Notifications) +BuildRequires: cmake(KF6GuiAddons) +BuildRequires: cmake(KF6DocTools) +BuildRequires: cmake(KF6Purpose) +BuildRequires: cmake(KF6Crash) +BuildRequires: cmake(KDcrawQt6) +BuildRequires: cmake(kColorPicker-Qt6) +BuildRequires: cmake(kImageAnnotator-Qt6) +BuildRequires: libappstream-glib +BuildRequires: pkgconfig(libjpeg) +BuildRequires: pkgconfig(exiv2) +BuildRequires: pkgconfig(lcms2) +BuildRequires: pkgconfig(libpng) +BuildRequires: pkgconfig(cfitsio) +BuildRequires: pkgconfig(libtiff-4) +BuildRequires: cmake(phonon4qt6) +BuildRequires: cmake(Qt6DBus) +BuildRequires: cmake(Qt6Widgets) +BuildRequires: cmake(Qt6Test) +BuildRequires: cmake(Qt6Concurrent) +BuildRequires: cmake(Qt6Svg) +BuildRequires: cmake(Qt6OpenGL) +BuildRequires: cmake(Qt6WaylandClient) +BuildRequires: cmake(Qt6WaylandScannerTools) +BuildRequires: cmake(Qt6Multimedia) +BuildRequires: qt6-qtbase-private-devel +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-protocols) + +Requires: %{name}-libs%{?_isa} = %{epoch}:%{version}-%{release} + +# support for more formats, e.g. jp2, tiff, webp +Recommends: qt6-qtimageformats%{?_isa} +# eps, etc... +Recommends: kf6-kimageformats%{?_isa} + +# when split occurred +Conflicts: kdegraphics < 7:4.6.95-10 + +# translations moved here +Conflicts: kde-l10n < 17.03 + +%description +%{summary}. + +%package libs +Summary: Runtime files for %{name} +# lib/cms/iccjpeg.c: MIT +# lib/jlibjpeg: IJG +# lib/zoomcombobox: LGPL-2.1-or-later +# lib/cms/iccjpeg.c: MIT +# lib/flowlayout.cpp: GPL-2.0-only OR GPL-3.0-only (see https://gitlab.com/fedora/legal/fedora-license-data/-/issues/718 ) +License: IJG AND MIT AND LGPL-2.1-or-later AND (GPL-2.0-only OR GPL-3.0-only) +Requires: %{name} = %{epoch}:%{version}-%{release} +%description libs +%{summary}. + + +%prep +%autosetup -p1 + + +%build +%cmake_kf6 \ + -DQT_MAJOR_VERSION=6 + +%cmake_build + + +%install +%cmake_install + +%find_lang %{name} --all-name --with-html + + +%check +appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/org.kde.gwenview.appdata.xml +desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.gwenview.desktop + + +%files -f %{name}.lang +%license COPYING +%{_kf6_bindir}/gwenview +%{_kf6_bindir}/gwenview_importer +%{_kf6_datadir}/applications/org.kde.gwenview.desktop +%{_kf6_datadir}/applications/org.kde.gwenview_importer.desktop +%{_kf6_datadir}/gwenview/ +%{_kf6_datadir}/icons/hicolor/*/*/* +%{_kf6_datadir}/qlogging-categories6/gwenview.categories +%{_kf6_datadir}/solid/actions/gwenview_importer*.desktop +%{_kf6_metainfodir}/org.kde.gwenview.appdata.xml + + +%files libs +%{_kf6_libdir}/libgwenviewlib.so.* +%{_kf6_plugindir}/parts/gvpart.so +%{_kf6_plugindir}/kfileitemaction/slideshowfileitemaction.so + + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 26.04.3-1 +- SonicDE build for Enterprise Linux 10 diff --git a/kate/kate-26.04.3.tar.xz b/kate/kate-26.04.3.tar.xz new file mode 100644 index 0000000..346522b Binary files /dev/null and b/kate/kate-26.04.3.tar.xz differ diff --git a/kate/kate.spec b/kate/kate.spec new file mode 100644 index 0000000..c6a9f6c --- /dev/null +++ b/kate/kate.spec @@ -0,0 +1,194 @@ +%global debug_package %{nil} +# trim changelog included in binary rpms +%global _changelog_trimtime %(date +%s -d "1 year ago") + +## tests busted due to %%{_target_platform} not being used as default anymore -- rex +#global tests 1 + + +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +Name: kate +Summary: Advanced Text Editor +Version: 26.04.3 +Release: 1%{?dist} + +# kwrite LGPLv2+ +# kate: app LGPLv2, plugins, LGPLv2 and LGPLv2+ and GPLv2+ +# ktexteditor: LGPLv2 +License: LGPL-2.0-only AND LGPL-2.0-or-later AND GPL-2.0-or-later +URL: https://apps.kde.org/kate/ +Source0: https://download.kde.org/%{stable_kf6}/release-service/%{version}/src/kate-%{version}.tar.xz + +## upstream patches + +BuildRequires: desktop-file-utils +BuildRequires: gettext +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: sonic-rpm-macros +BuildRequires: libappstream-glib + +# core dependencies +BuildRequires: cmake(Qt6Widgets) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6GuiAddons) +BuildRequires: cmake(KF6Crash) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6TextEditor) +BuildRequires: cmake(KF6DocTools) + +# apps dependencies +BuildRequires: cmake(Qt6Test) +BuildRequires: cmake(KF6DBusAddons) +BuildRequires: cmake(KF6UserFeedback) +BuildRequires: cmake(KF6TextWidgets) +BuildRequires: cmake(KF6WindowSystem) +BuildRequires: qt6-qtbase-private-devel + +# addons dependencies +BuildRequires: cmake(Qt6Concurrent) +BuildRequires: cmake(Qt6Sql) +BuildRequires: cmake(Qt6Keychain) +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6NewStuff) +BuildRequires: cmake(KF6Wallet) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6Archive) + +%if 0%{?tests} +BuildRequires: make +BuildRequires: xorg-x11-server-Xvfb +%endif + +Requires: %{name}-libs = %{version}-%{release} +# not sure if we want -plugins by default, let's play it safe'ish +# and make it optional +Recommends: %{name}-plugins%{?_isa} = %{version}-%{release} + +%description +%{summary}. + +%package libs +Summary: Private runtime libraries for %{name} +%description libs +%{summary}. + +%package plugins +Summary: Kate plugins +License: LGPL-2.0-only +Requires: %{name} = %{version}-%{release} +# Kate integrated terminal plugin doesnt work without Konsole +Recommends: konsole-part >= 24 +%description plugins +%{summary}. + +%package -n kwrite +Summary: Text Editor +License: LGPL-2.0-or-later +Requires: %{name}-libs = %{version}-%{release} +%description -n kwrite +%{summary}. + + +%prep +%autosetup -n kate-%{version} -p1 + + +%build +%cmake_kf6 \ + -Wno-dev \ + -DBUILD_TESTING:BOOL=%{?tests:ON}%{!?tests:OFF} + +%cmake_build + + +%install +%cmake_install + + +%find_lang all --all-name --with-html --with-man + +grep plugin all.lang > plugins.lang +grep -E '(kate.mo|kwrite)' all.lang > kwrite.lang +cat all.lang plugins.lang kwrite.lang | sort | uniq -u > kate.lang + + +%check +appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/org.kde.kate.appdata.xml +desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.kate.desktop +desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.kwrite.desktop +%if 0%{?tests} +export CTEST_OUTPUT_ON_FAILURE=1 +xvfb-run -a \ +make test ARGS="--output-on-failure --timeout 20" -C %{_target_platform} ||: +%endif + + +%files -f kate.lang +%doc README.md +%license LICENSES/* +%{_kf6_bindir}/kate +%{_kf6_datadir}/applications/org.kde.kate.desktop +%{_kf6_datadir}/icons/hicolor/*/apps/kate.* +%{_kf6_metainfodir}/org.kde.kate.appdata.xml +%{_mandir}/man1/kate.1* + + +%files libs +%{_kf6_libdir}/libkateprivate.so.%{version} + +%files plugins -f plugins.lang +%{_kf6_datadir}/kateproject/ +%{_kf6_datadir}/katexmltools/ +%dir %{_kf6_plugindir}/ktexteditor/ +%{_kf6_plugindir}/ktexteditor/compilerexplorer.so +%{_kf6_plugindir}/ktexteditor/externaltoolsplugin.so +%{_kf6_plugindir}/ktexteditor/katebacktracebrowserplugin.so +%{_kf6_plugindir}/ktexteditor/katebuildplugin.so +%{_kf6_plugindir}/ktexteditor/katecloseexceptplugin.so +%{_kf6_plugindir}/ktexteditor/katecolorpickerplugin.so +%{_kf6_plugindir}/ktexteditor/katectagsplugin.so +%{_kf6_plugindir}/ktexteditor/kategpgplugin.so +%{_kf6_plugindir}/ktexteditor/katefilebrowserplugin.so +%{_kf6_plugindir}/ktexteditor/katefiletreeplugin.so +%{_kf6_plugindir}/ktexteditor/kategdbplugin.so +%{_kf6_plugindir}/ktexteditor/kategitblameplugin.so +%{_kf6_plugindir}/ktexteditor/katekonsoleplugin.so +%{_kf6_plugindir}/ktexteditor/kateprojectplugin.so +%{_kf6_plugindir}/ktexteditor/katereplicodeplugin.so +%{_kf6_plugindir}/ktexteditor/katesearchplugin.so +%{_kf6_plugindir}/ktexteditor/katesnippetsplugin.so +%{_kf6_plugindir}/ktexteditor/katesqlplugin.so +%{_kf6_plugindir}/ktexteditor/katesymbolviewerplugin.so +%{_kf6_plugindir}/ktexteditor/katexmlcheckplugin.so +%{_kf6_plugindir}/ktexteditor/katexmltoolsplugin.so +%{_kf6_plugindir}/ktexteditor/keyboardmacrosplugin.so +%{_kf6_plugindir}/ktexteditor/ktexteditorpreviewplugin.so +%{_kf6_plugindir}/ktexteditor/latexcompletionplugin.so +%{_kf6_plugindir}/ktexteditor/lspclientplugin.so +%{_kf6_plugindir}/ktexteditor/openlinkplugin.so +%{_kf6_plugindir}/ktexteditor/rainbowparens.so +%{_kf6_plugindir}/ktexteditor/tabswitcherplugin.so +%{_kf6_plugindir}/ktexteditor/textfilterplugin.so +%{_kf6_plugindir}/ktexteditor/templateplugin.so +%{_kf6_plugindir}/ktexteditor/bookmarksplugin.so +%{_kf6_plugindir}/ktexteditor/cmaketoolsplugin.so +%{_kf6_plugindir}/ktexteditor/eslintplugin.so +%{_kf6_plugindir}/ktexteditor/formatplugin.so +%{_kf6_plugindir}/ktexteditor/rbqlplugin.so +%{_kf6_plugindir}/kio/kio_kateexec.so +# Needed for the kateexec tool +%{_bindir}/exec_inspect.sh + +%files -n kwrite -f kwrite.lang +%{_kf6_bindir}/kwrite +%{_kf6_datadir}/applications/org.kde.kwrite.desktop +%{_kf6_datadir}/icons/hicolor/*/apps/kwrite.* +%{_kf6_metainfodir}/org.kde.kwrite.appdata.xml + + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 26.04.3-1 +- SonicDE build for Enterprise Linux 10 diff --git a/kde-filesystem/applnk-hidden-directory b/kde-filesystem/applnk-hidden-directory new file mode 100644 index 0000000..5e13c4f --- /dev/null +++ b/kde-filesystem/applnk-hidden-directory @@ -0,0 +1,70 @@ +[Desktop Entry] +Encoding=UTF-8 +Type=Directory +Name=Internal Services +Name[af]=Interne Dienste +Name[ar]=الخدمات الداخلية +Name[be]=Сервісы Інтэрнэт +Name[bg]=Вътрешни услуги +Name[bn]=অভ্যন্তরীণ সেবা +Name[br]=Servijoù diabarzh +Name[bs]=Interni servisi +Name[ca]=Serveis interns +Name[cs]=Interní služby +Name[csb]=Bënowé ùsłëżnotë +Name[da]=Interne tjenester +Name[de]=Interne Dienste +Name[el]=Εσωτερικές υπηρεσίες +Name[eo]=Internaj servoj +Name[es]=Servicios internos +Name[et]=Seesmised teenused +Name[eu]=Barne zerbitzuak +Name[fa]=خدمات درونی +Name[fi]=Sisäiset palvelut +Name[fr]=Services internes +Name[fy]=Ynterne funksjes +Name[ga]=Seirbhísí Inmheánacha +Name[gl]=Servizos Internos +Name[he]=שירותים פנימיים +Name[hr]=Interne usluge +Name[hu]=Belső szolgáltatások +Name[id]=Layanan Internal +Name[is]=Innri þjónustur +Name[it]=Servizi interni +Name[ja]=内部サービス +Name[kk]=Ішкі қызметтер +Name[km]=សេវា​ខាង​ក្នុង +Name[ko]=내부 서비스 +Name[lt]=Vidinės tarnybos +Name[mk]=Внатрешни сервиси +Name[ms]=Servis Dalaman +Name[nb]=Interne tjenester +Name[nds]=Interne Deensten +Name[ne]=आन्तरिक सेवा +Name[nl]=Interne diensten +Name[nn]=Interne tenester +Name[pa]=ਅੰਦਰੂਨੀ ਸੇਵਾ +Name[pl]=Usługi wewnętrzne +Name[pt]=Serviços Internos +Name[pt_BR]=Serviços Internos +Name[ro]=Servicii interne +Name[ru]=Внутренние службы +Name[rw]=Amaserivise y'Imbere +Name[se]=Siskkildas bálvalusat +Name[sk]=Vnútorné služby +Name[sl]=Notranje storitve +Name[sr]=Унутрашњи сервиси +Name[sr@Latn]=Unutrašnji servisi +Name[sv]=Interna tjänster +Name[ta]=உள்ளார்ந்தச் சேவைகள் +Name[te]=అంతర్గత సేవలు +Name[tg]=Хадамоти дохилӣ +Name[th]=บริการภายใน +Name[tr]=İç Servisler +Name[tt]=Eçke Xezmätlär +Name[uk]=Внутрішні служби +Name[uz]=Ички хизматлар +Name[vi]=Dịch vụ Internet +Name[wa]=Divintrins Siervices +Name[zh_CN]=内部服务 +NoDisplay=true diff --git a/kde-filesystem/kde-filesystem.spec b/kde-filesystem/kde-filesystem.spec new file mode 100644 index 0000000..f07bb10 --- /dev/null +++ b/kde-filesystem/kde-filesystem.spec @@ -0,0 +1,200 @@ +%global debug_package %{nil} +%define _kde4_prefix %_prefix +%define _kde4_sysconfdir %_sysconfdir +%define _kde4_libdir %_libdir +%define _kde4_libexecdir %_libexecdir/kde4 +%define _kde4_datadir %_datadir +%define _kde4_sharedir %_datadir +%define _kde4_iconsdir %_kde4_sharedir/icons +%define _kde4_configdir %_kde4_sharedir/config +%define _kde4_appsdir %_kde4_sharedir/kde4/apps +%define _kde4_docdir %_kde4_prefix/share/doc +%define _kde4_bindir %_kde4_prefix/bin +%define _kde4_sbindir %_kde4_prefix/sbin +%define _kde4_includedir %_kde4_prefix/include/kde4 +%define _kde4_buildtype release +%define _kde4_macros_api 2 + +%define rpm_macros_dir %{_rpmconfigdir}/macros.d + +Summary: KDE filesystem layout +Name: kde-filesystem +Version: 5 +Release: 4%{?dist} + +License: Public Domain + +# noarch->arch transition +Obsoletes: kde-filesystem < 4-36 + +# teamnames (locales) borrowed from kde-i18n packaging +Source1: teamnames + +Source2: macros.kde4 +# increment whenever dirs change in an incompatible way +# kde4 apps built using macros.kde4 should + +Source3: applnk-hidden-directory + +BuildRequires: gawk + +Requires: filesystem +Requires: rpm + + +%description +This package provides some directories that are required/used by KDE. + +%package -n kde3-filesystem +Summary: Filesystem for KDE 3 +License: Public Domain +Requires: %{name} = %{version}-%{release} + +%description -n kde3-filesystem +This package provides some directories that are required/used by KDE 3 applications. + +%package -n kde4-filesystem +Summary: Filesystem and RPM macros for KDE 4 +License: Public Domain +Provides: kde4-macros(api) = %{_kde4_macros_api} +Requires: %{name} = %{version}-%{release} + +%description -n kde4-filesystem +This package provides some directories that are required/used by KDE 4 applications. + + +%prep + + +%build + + +%install +## KDE3 +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/kde/{env,shutdown,kdm} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/{applications/kde,applnk,apps,autostart,config,config.kcfg,emoticons,mimelnk,services,servicetypes,templates,source} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/apps/konqueror/servicemenus +# not sure who best should own locolor, so we'll included it here, for now. -- Rex +mkdir -p $RPM_BUILD_ROOT%{_datadir}/icons/locolor/{16x16,22x22,32x32,48x48}/{actions,apps,mimetypes} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/applnk/{.hidden,Applications,Edutainment,Graphics,Internet,Settings,System,Toys,Utilities} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/mimelnk/{all,application,audio,fonts,image,inode,interface,media,message,model,multipart,print,text,uri,video} +# do qt3 too? +# mkdir -p $RPM_BUILD_ROOT%{_prefix}/{lib,%{_lib}}/qt-3.3/plugins +mkdir -p $RPM_BUILD_ROOT%{_prefix}/{lib,%{_lib}}/kde3/plugins +mkdir -p $RPM_BUILD_ROOT%{_docdir}/HTML/en + +rm -f %{name}.list +for locale in $(grep '=' %{SOURCE1} | awk -F= '{print $1}') ; do + mkdir -p $RPM_BUILD_ROOT%{_docdir}/HTML/${locale}/common + # do docs/common too, but it could be argued that apps/pkgs using or + # depending on is a bug -- Rex + mkdir -p $RPM_BUILD_ROOT%{_docdir}/HTML/${locale}/docs/ + ln -s ../common $RPM_BUILD_ROOT%{_docdir}/HTML/${locale}/docs/common + echo "%lang($locale) %{_docdir}/HTML/$locale/" >> %{name}.list +done + +# internal services shouldn't be displayed in menu +install -p -m644 -D %{SOURCE3} $RPM_BUILD_ROOT%{_datadir}/applnk/.hidden/.directory + +## KDE4 +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm \ + $RPM_BUILD_ROOT%{_kde4_sysconfdir}/kde/{env,shutdown,kdm} \ + $RPM_BUILD_ROOT%{_kde4_includedir} \ + $RPM_BUILD_ROOT%{_kde4_libexecdir} \ + $RPM_BUILD_ROOT%{_kde4_appsdir}/color-schemes \ + $RPM_BUILD_ROOT%{_kde4_appsdir}/solid/actions \ + $RPM_BUILD_ROOT%{_kde4_datadir}/applications/kde4 \ + $RPM_BUILD_ROOT%{_kde4_datadir}/{autostart,wallpapers} \ + $RPM_BUILD_ROOT%{_kde4_configdir} \ + $RPM_BUILD_ROOT%{_kde4_sharedir}/config.kcfg \ + $RPM_BUILD_ROOT%{_kde4_sharedir}/emoticons \ + $RPM_BUILD_ROOT%{_kde4_sharedir}/kde4/services/ServiceMenus \ + $RPM_BUILD_ROOT%{_kde4_sharedir}/kde4/servicetypes \ + $RPM_BUILD_ROOT%{_kde4_sharedir}/templates/.source \ + $RPM_BUILD_ROOT%{_kde4_datadir}/icons/locolor/{16x16,22x22,32x32,48x48}/{actions,apps,mimetypes} \ + $RPM_BUILD_ROOT%{_kde4_docdir}/HTML/en/common +# do qt4 too? +# mkdir -p $RPM_BUILD_ROOT%{_prefix}/{lib,%{_lib}}/qt4/plugins +mkdir -p $RPM_BUILD_ROOT%{_kde4_prefix}/{lib,%{_lib}}/kde4/plugins/{gui_platform,styles} + +for locale in $(grep '=' %{SOURCE1} | awk -F= '{print $1}') ; do + mkdir -p $RPM_BUILD_ROOT%{_kde4_docdir}/HTML/${locale}/common + echo "%lang($locale) %{_kde4_docdir}/HTML/$locale/" >> %{name}.list +done + +# rpm macros +mkdir -p $RPM_BUILD_ROOT%{rpm_macros_dir} +cat >$RPM_BUILD_ROOT%{rpm_macros_dir}/macros.kde4<> $RPM_BUILD_ROOT%{rpm_macros_dir}/macros.kde4 + +## Plasma5, forward compatibility +mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/xdg/plasma-workspace/{env,shutdown} +mkdir -p $RPM_BUILD_ROOT%{_prefix}/{lib,%{_lib}}/kconf_update_bin +mkdir -p $RPM_BUILD_ROOT%{_datadir}/kconf_update +mkdir -p $RPM_BUILD_ROOT%{_datadir}/knsrcfiles +mkdir -p $RPM_BUILD_ROOT%{_datadir}/kpackage/{genericqml,kcms} +mkdir -p $RPM_BUILD_ROOT%{_datadir}/solid/{actions,devices} + + +%files -f %{name}.list +%{_sysconfdir}/xdg/plasma-workspace/ +%{_prefix}/lib/kconf_update_bin/ +%{_prefix}/%{_lib}/kconf_update_bin/ +%dir %{_docdir}/HTML/ +%lang(en) %{_docdir}/HTML/en/ +%{_datadir}/config.kcfg/ +%{_datadir}/emoticons/ +%{_datadir}/icons/locolor/ +%{_datadir}/kconf_update/ +%{_datadir}/knsrcfiles/ +%{_datadir}/kpackage/ +%{_datadir}/solid/ +%{_datadir}/templates/ +%{_datadir}/wallpapers/ + +%files -n kde3-filesystem +%{_sysconfdir}/kde/ +%{_datadir}/applications/kde/ +%{_datadir}/applnk/ +%{_datadir}/apps/ +%{_datadir}/autostart/ +%{_datadir}/config/ +%{_datadir}/mimelnk/ +%{_datadir}/services/ +%{_datadir}/servicetypes/ +%{_prefix}/lib/kde3/ +%{_prefix}/%{_lib}/kde3/ + +%files -n kde4-filesystem +%{rpm_macros_dir}/macros.kde4 +%{_kde4_sysconfdir}/kde/ +%{_kde4_libexecdir}/ +%{_kde4_includedir}/ +%{_kde4_appsdir}/ +%{_kde4_configdir}/ +%{_kde4_sharedir}/kde4/ +%{_kde4_datadir}/applications/kde4/ +%{_kde4_datadir}/autostart/ +%{_kde4_prefix}/lib/kde4/ +%{_kde4_prefix}/%{_lib}/kde4/ + + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 5-4 +- SonicDE build for Enterprise Linux 10 diff --git a/kde-filesystem/macros.kde4 b/kde-filesystem/macros.kde4 new file mode 100644 index 0000000..df82812 --- /dev/null +++ b/kde-filesystem/macros.kde4 @@ -0,0 +1,32 @@ + +%_kde4_version %((kde4-config --kde-version 2>/dev/null || echo 4.3.98) | cut -d' ' -f1 ) +#_kde4_version %((kde4-config --version 2>/dev/null || echo "KDE: 4.3.98") | grep '^KDE' | sed -e 's/KDE[^:]*:[ ]*//g' | cut -d' ' -f1) + +# api = 2 +# initial try, including only items that vary from defaults +# + +%_kde4_build_tests -DKDE4_BUILD_TESTS:BOOL=OFF + +%cmake_kde4 \ + QTDIR="%{_qt4_prefix}" ; export QTDIR ; \ + PATH="%{_qt4_bindir}:$PATH" ; export PATH ; \ + CFLAGS="${CFLAGS:-%optflags}" ; export CFLAGS ; \ + CXXFLAGS="${CXXFLAGS:-%optflags}" ; export CXXFLAGS ; \ + FFLAGS="${FFLAGS:-%optflags%{?_fmoddir: -I%_fmoddir}}" ; export FFLAGS ; \ + %{?__global_ldflags:LDFLAGS="${LDFLAGS:-%__global_ldflags}" ; export LDFLAGS ;} \ + %{__cmake} \\\ + -DBUILD_SHARED_LIBS:BOOL=ON \\\ + -DCMAKE_BUILD_TYPE=%{_kde4_buildtype} \\\ + -DCMAKE_INSTALL_PREFIX:PATH=%{_kde4_prefix} \\\ + -DCMAKE_USE_RELATIVE_PATHS:BOOL=ON \\\ + -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \\\ + -DDATA_INSTALL_DIR:PATH=%{_kde4_appsdir} \\\ + -DINCLUDE_INSTALL_DIR:PATH=%{_kde4_includedir} \\\ + -DLIB_INSTALL_DIR:PATH=%{_kde4_libdir} \\\ + %{?_kde4_build_tests} \\\ +%if "%{?_lib}" == "lib64" \ + %{?_cmake_lib_suffix64} \\\ +%endif \ + -DLIBEXEC_INSTALL_DIR:PATH=%{_kde4_libexecdir} \\\ + -DSYSCONF_INSTALL_DIR:PATH=%{_kde4_sysconfdir} diff --git a/kde-filesystem/teamnames b/kde-filesystem/teamnames new file mode 100644 index 0000000..ceb0fdc --- /dev/null +++ b/kde-filesystem/teamnames @@ -0,0 +1,100 @@ +############################################################## +# +# Rules: +# 1) empty lines and starting with `#' are comments +# 2) valid entries are formed by ISO code and team name +# pairs seperated by equal sign. Surrounding spaces +# are stripped +# 3) this file is in UTF-8 +# +# Note: +# if you had a language here, do not forget to add it to +# kdelibs/kdecore/all_languages.desktop too +############################################################### + +af=Afrikaans +ar=Arabic +az=Azerbaijani +be=Belarusian +bg=Bulgarian +bn=Bengali +bo=Tibetan +br=Breton +bs=Bosnian +ca=Catalan +ca@valencia=Catalan (Valencian) +cs=Czech +cy=Welsh +da=Danish +de=German +el=Greek +en_GB=British English +eo=Esperanto +es=Spanish +et=Estonian +eu=Basque +fa=Farsi +fi=Finnish +fo=Faroese +fr=French +fy=Frisian +ga=Irish Gaelic +gl=Galician +he=Hebrew +hi=Hindi +hr=Croatian +hsb=Upper Sorbian +hu=Hungarian +id=Indonesian +is=Icelandic +it=Italian +ja=Japanese +ka=Georgian +kk=Kazakh +km=Khmer +ko=Korean +ku=Kurdish +lb=Luxembourgish +lo=Lao +lt=Lithuanian +lv=Latvian +mi=Maori +mk=Macedonian +mn=Mongolian +ms=Malay +mt=Maltese +nl=Dutch +nb=Norwegian Bokmal +nds=Low Saxon +nso=Northern Sotho +nn=Norwegian Nynorsk +oc=Occitan +pl=Polish +pt=Portuguese +pt_BR=Brazilian Portuguese +ro=Romanian +ru=Russian +rw=Kinyarwanda +se=Northern Sami +sk=Slovak +sl=Slovenian +sq=Albanian +sr=Serbian +sr@latin=Serbian Latin +ss=Swati +sv=Swedish +ta=Tamil +te=Telugu +tg=Tajik +th=Thai +tr=Turkish +tt=Tatar +uk=Ukrainian +ven=Venda +vi=Vietnamese +wa=Walloon +xh=Xhosa +zh_CN=Chinese Simplified +zh_HK=Chinese (Hong Kong) +zh_TW=Chinese Traditional +zu=Zulu diff --git a/kde-settings/COPYING b/kde-settings/COPYING new file mode 100644 index 0000000..3e7de2b --- /dev/null +++ b/kde-settings/COPYING @@ -0,0 +1,21 @@ +Copyright (C) 2006-2011 Fedora KDE SIG +(Rex Dieter, Than Ngo, Kevin Kofler, Jaroslav Řezník) + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/kde-settings/kde-settings-44.0.tar.gz b/kde-settings/kde-settings-44.0.tar.gz new file mode 100644 index 0000000..dad0ff7 Binary files /dev/null and b/kde-settings/kde-settings-44.0.tar.gz differ diff --git a/kde-settings/kde-settings.spec b/kde-settings/kde-settings.spec new file mode 100644 index 0000000..30020af --- /dev/null +++ b/kde-settings/kde-settings.spec @@ -0,0 +1,176 @@ +%global debug_package %{nil} +%if 0%{?fedora} >= 40 || 0%{?rhel} >= 10 +%bcond initialsetup_gui_backend 0 +%else +%bcond initialsetup_gui_backend 0 +%endif + +Summary: Config files for KDE +Name: kde-settings +Version: 44.0 +Release: 2%{?dist} + +License: MIT +URL: https://forge.fedoraproject.org/kde/kde-settings +Source0: %{url}/archive/%{version}.tar.gz#/kde-settings-%{version}.tar.gz +Source1: COPYING + +BuildArch: noarch + +BuildRequires: kde-filesystem +# ssh-agent.service +BuildRequires: systemd-rpm-macros +Source10: ssh-agent.sh + +# when kdebugrc was moved here +Conflicts: kf5-kdelibs4support < 5.7.0-3 + +Obsoletes: kde-settings-ksplash < 24-2 +Obsoletes: kde-settings-minimal < 24-3 + +Requires: kde-filesystem +%if 0%{?el10} +Requires: xdg-user-dirs >= 0.18-7 +%else +Requires: xdg-user-dirs >= 0.18-9 +%endif +## add breeze deps here? probably, need more too -- rex +Requires: breeze-icon-theme +# Baseline mimeapps associations, e.g. LibreOffice +Requires: shared-mime-info + +%description +%{summary}. + +%package plasma +Summary: Configuration files for plasma +Requires: %{name} = %{version}-%{release} +Requires: google-noto-sans-fonts +# Not required but expected by users as we use other fonts from the noto "family" +Recommends: google-noto-serif-fonts +%if 0%{?rhel} && 0%{?rhel} < 9 +Requires: google-noto-mono-fonts +%else +Requires: google-noto-sans-mono-fonts +%endif +%description plasma +%{summary}. + +%package sddm +Summary: Configuration files for sddm +Requires: sddm +Requires: breeze-cursor-theme +%description sddm +%{summary}. + +%package pulseaudio +Summary: Enable pulseaudio support in KDE +# nothing here to license +License: LicenseRef-Not-Copyrightable +Requires: %{name} = %{version}-%{release} +%if 0%{?rhel} && 0%{?rhel} < 9 +Requires: pulseaudio +%else +Requires: pulseaudio-daemon +%endif +## legacy apps +Requires: (pipewire-alsa if pipewire-pulseaudio) +Requires: (alsa-plugins-pulseaudio if pulseaudio) +%description pulseaudio +%{summary}. + +%prep +%autosetup -n %{name} -p1 + +# omit crud +rm -fv Makefile + +%build +# Intentionally left blank. Nothing to see here. + +%install +tar cpf - . | tar --directory %{buildroot} -xvpf - + +if [ %{_prefix} != /usr ] ; then + pushd %{buildroot} + mv %{buildroot}/usr %{buildroot}%{_prefix} + mv %{buildroot}/etc %{buildroot}%{_sysconfdir} + popd +fi + +cp -p %{SOURCE1} . + +# Drop files from removed Wayland/qt-settings/plasmalogin subpackages +rm -f %{buildroot}%{_sysconfdir}/Trolltech.conf +rm -rf %{buildroot}%{_prefix}/lib/plasmalogin + +# legacy default wallpaper symlink +mkdir -p %{buildroot}%{_datadir}/wallpapers +ln -s Default %{buildroot}%{_datadir}/wallpapers/Fedora + +%if 0%{?rhel} && 0%{?rhel} < 9 +# for rhel 8 and older with older noto fonts +sed -e "s/Noto Sans Mono/Noto Mono/g" \ + -i %{buildroot}%{_datadir}/kde-settings/kde-profile/default/{share/config/kdeglobals,xdg/kdeglobals} +%endif + +# for ssh-agent.serivce, set SSH_AUTH_SOCK +install -p -m644 -D %{SOURCE10} %{buildroot}%{_sysconfdir}/xdg/plasma-workspace/env/ssh-agent.sh + +%if ! %{with initialsetup_gui_backend} +rm -rv %{buildroot}%{_libexecdir}/initial-setup +%endif + +%check +test -e %{_datadir}/wallpapers/Default || ls -l %{_datadir}/wallpapers + +%files +%license COPYING +%config(noreplace) %{_sysconfdir}/profile.d/kde* +%{_sysconfdir}/fonts/conf.d/10-sub-pixel-rgb-for-kde.conf +%{_sysconfdir}/kde/env/env.sh +%{_sysconfdir}/kde/env/gpg-agent-startup.sh +%{_sysconfdir}/kde/shutdown/gpg-agent-shutdown.sh +%{_sysconfdir}/kde/env/gtk2_rc_files.sh +%if 0%{?fedora} || 0%{?rhel} > 7 +%{_sysconfdir}/kde/env/fedora-bookmarks.sh +%{_datadir}/kde-settings/ +# these can probably go now -- rex +%{_prefix}/lib/rpm/plasma4.prov +%{_prefix}/lib/rpm/plasma4.req +%{_prefix}/lib/rpm/fileattrs/plasma4.attr +%{_datadir}/polkit-1/rules.d/11-fedora-kde-policy.rules +%endif +%config(noreplace) %{_sysconfdir}/xdg/kcm-about-distrorc +%config(noreplace) %{_sysconfdir}/xdg/kdebugrc +%dir %{_sysconfdir}/pam.d +%config(noreplace) %{_sysconfdir}/pam.d/kcheckpass +%config(noreplace) %{_sysconfdir}/pam.d/kscreensaver +# drop noreplace, so we can be sure to get the new kiosk bits +%config %{_sysconfdir}/kderc +%config %{_sysconfdir}/kde4rc +%if 0%{?rhel} && 0%{?rhel} <= 7 +%exclude %{_datadir}/kde-settings/kde-profile/default/share/apps/plasma-desktop/init/00-defaultLayout.js +%endif + +%files plasma +%{_datadir}/plasma/shells/org.kde.plasma.desktop/contents/updates/00-start-here-2.js +%{_sysconfdir}/xdg/plasma-workspace/env/env.sh +%{_sysconfdir}/xdg/plasma-workspace/env/gtk2_rc_files.sh +%{_sysconfdir}/xdg/plasma-workspace/env/gtk3_scrolling.sh +%dir %{_datadir}/plasma/look-and-feel/org.fedoraproject.fedora*.desktop/contents/plasmoidsetupscripts/ +%{_datadir}/plasma/look-and-feel/org.fedoraproject.fedora*.desktop/contents/plasmoidsetupscripts/org.kde.plasma.kicker.js +%{_datadir}/plasma/look-and-feel/org.fedoraproject.fedora*.desktop/contents/plasmoidsetupscripts/org.kde.plasma.kickerdash.js +%{_datadir}/plasma/look-and-feel/org.fedoraproject.fedora*.desktop/contents/plasmoidsetupscripts/org.kde.plasma.kickoff.js +%{_datadir}/wallpapers/Fedora +%{_sysconfdir}/xdg/plasma-workspace/env/ssh-agent.sh + +%files sddm +%{_prefix}/lib/sddm/sddm.conf.d/kde_settings.conf + +%files pulseaudio +# nothing, this is a metapackage + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 44.0-2 +- SonicDE build for Enterprise Linux 10 diff --git a/kde-settings/ssh-agent.sh b/kde-settings/ssh-agent.sh new file mode 100644 index 0000000..ce4ab79 --- /dev/null +++ b/kde-settings/ssh-agent.sh @@ -0,0 +1,4 @@ +if [ "$SSH_AUTH_SOCK" = "" ]; then +SSH_AUTH_SOCK="$XDG_RUNTIME_DIR/ssh-agent.socket" +export SSH_AUTH_SOCK +fi diff --git a/kdebugsettings/kdebugsettings-26.04.3.tar.xz b/kdebugsettings/kdebugsettings-26.04.3.tar.xz new file mode 100644 index 0000000..852e059 Binary files /dev/null and b/kdebugsettings/kdebugsettings-26.04.3.tar.xz differ diff --git a/kdebugsettings/kdebugsettings.spec b/kdebugsettings/kdebugsettings.spec new file mode 100644 index 0000000..a1a3140 --- /dev/null +++ b/kdebugsettings/kdebugsettings.spec @@ -0,0 +1,67 @@ +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +Name: kdebugsettings +Summary: Configure debug output from Qt6 applications +Version: 26.04.3 +Release: 2%{?dist} + +License: LGPL-2.0-or-later +URL: https://apps.kde.org/kdebugsettings/ + +Source0: https://download.kde.org/%{stable_kf6}/release-service/%{version}/src/%{name}-%{version}.tar.xz + +BuildRequires: desktop-file-utils +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: sonic-rpm-macros +BuildRequires: libappstream-glib + +BuildRequires: cmake(Qt6Widgets) + +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6DBusAddons) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6WidgetsAddons) +BuildRequires: cmake(KF6Completion) +BuildRequires: cmake(KF6XmlGui) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6Crash) +BuildRequires: cmake(KF6WindowSystem) + +%description +An application to enable/disable qCDebug + + +%prep +%autosetup + + +%build +%cmake_kf6 +%cmake_build + + +%install +%cmake_install + +%find_lang %{name} --all-name --with-html --with-man + + +%check +# desktop-file-validate and appstream checks are skipped on RHEL + + +%files -f %{name}.lang +%license LICENSES/* +%{_kf6_bindir}/kdebugsettings +%{_kf6_datadir}/applications/org.kde.kdebugsettings.desktop +%{_kf6_datadir}/kdebugsettings/ +%{_kf6_metainfodir}/org.kde.kdebugsettings.*.xml +%{_kf6_datadir}/qlogging-categories6/kde* +%{_kf6_libdir}/libkdebugsettings.so.* +%{_kf6_libdir}/libkdebugsettingscore.so.* + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 26.04.3-2 +- SonicDE build for Enterprise Linux 10 diff --git a/kdegraphics-mobipocket/kdegraphics-mobipocket-26.04.3.tar.xz b/kdegraphics-mobipocket/kdegraphics-mobipocket-26.04.3.tar.xz new file mode 100644 index 0000000..babb1a2 Binary files /dev/null and b/kdegraphics-mobipocket/kdegraphics-mobipocket-26.04.3.tar.xz differ diff --git a/kdegraphics-mobipocket/kdegraphics-mobipocket.spec b/kdegraphics-mobipocket/kdegraphics-mobipocket.spec new file mode 100644 index 0000000..cab8c1a --- /dev/null +++ b/kdegraphics-mobipocket/kdegraphics-mobipocket.spec @@ -0,0 +1,62 @@ +%global debug_package %{nil} +Name: kdegraphics-mobipocket +Summary: A collection of plugins to handle mobipocket files +Version: 26.04.3 +Release: 1%{?dist} + +License: GPL-2.0-or-later AND CC0-1.0 AND LGPL-2.1-or-later +URL: https://www.kde.org/applications/graphics/ +Source0: https://download.kde.org/%{stable_kf6}/release-service/%{version}/src/%{name}-%{version}.tar.xz + +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: sonic-rpm-macros +BuildRequires: cmake(Qt6Gui) +BuildRequires: cmake(Qt6Core5Compat) + +Obsoletes: qmobipocket < 16.12.0 +Provides: qmobipocket = %{version}-%{release} +Provides: qmobipocket%{?_isa} = %{version}-%{release} + +%description +%{summary}. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Obsoletes: qmobipocket-devel < 16.12.0 +Provides: qmobipocket-devel = %{version}-%{release} +Provides: qmobipocket-devel%{?_isa} = %{version}-%{release} +%description devel +%{summary}. + + +%prep +%autosetup + + +%build +%cmake_kf6 \ + -DQT_MAJOR_VERSION=6 +%cmake_build + + +%install +%cmake_install + + +%ldconfig_scriptlets + +%files +%license LICENSES/* +%{_libdir}/libQMobipocket6.so.3* +%{_datadir}/qlogging-categories6/qmobipocket.categories + +%files devel +%{_libdir}/libQMobipocket6.so +%{_includedir}/QMobipocket6/ +%{_libdir}/cmake/QMobipocket6/ + + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 26.04.3-1 +- SonicDE build for Enterprise Linux 10 diff --git a/kdegraphics-thumbnailers/kdegraphics-thumbnailers-26.04.3.tar.xz b/kdegraphics-thumbnailers/kdegraphics-thumbnailers-26.04.3.tar.xz new file mode 100644 index 0000000..5b99283 Binary files /dev/null and b/kdegraphics-thumbnailers/kdegraphics-thumbnailers-26.04.3.tar.xz differ diff --git a/kdegraphics-thumbnailers/kdegraphics-thumbnailers.spec b/kdegraphics-thumbnailers/kdegraphics-thumbnailers.spec new file mode 100644 index 0000000..f84a060 --- /dev/null +++ b/kdegraphics-thumbnailers/kdegraphics-thumbnailers.spec @@ -0,0 +1,55 @@ +%global debug_package %{nil} + +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +Name: kdegraphics-thumbnailers +Summary: Thumbnailers for various graphic types +Version: 26.04.3 +Release: 1%{?dist} + +# most sources GPLv2+, dscparse.* GPL, gscreator.* LGPLv2+, +License: GPL-2.0-or-later +URL: https://www.kde.org/applications/graphics/ + +Source0: https://download.kde.org/%{stable_kf6}/release-service/%{version}/src/%{name}-%{version}.tar.xz + +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: sonic-rpm-macros +BuildRequires: cmake(KF6Archive) +BuildRequires: cmake(KExiv2Qt6) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(QMobipocket6) +BuildRequires: cmake(Qt6Gui) +BuildRequires: cmake(KDcrawQt6) + +%description +%{summary}. + + +%prep +%autosetup + + +%build +%cmake_kf6 \ + -DQT_MAJOR_VERSION=6 +%cmake_build + + +%install +%cmake_install + + +%files +%license COPYING* +%{_kf6_metainfodir}/org.kde.kdegraphics-thumbnailers.metainfo.xml +%{_kf6_qtplugindir}/kf6/thumbcreator/blenderthumbnail.so +%{_kf6_qtplugindir}/kf6/thumbcreator/gsthumbnail.so +%{_kf6_qtplugindir}/kf6/thumbcreator/mobithumbnail.so +%{_kf6_qtplugindir}/kf6/thumbcreator/rawthumbnail.so + + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 26.04.3-1 +- SonicDE build for Enterprise Linux 10 diff --git a/kdenetwork-filesharing/kdenetwork-filesharing-26.04.3.tar.xz b/kdenetwork-filesharing/kdenetwork-filesharing-26.04.3.tar.xz new file mode 100644 index 0000000..471d993 Binary files /dev/null and b/kdenetwork-filesharing/kdenetwork-filesharing-26.04.3.tar.xz differ diff --git a/kdenetwork-filesharing/kdenetwork-filesharing.spec b/kdenetwork-filesharing/kdenetwork-filesharing.spec new file mode 100644 index 0000000..c037799 --- /dev/null +++ b/kdenetwork-filesharing/kdenetwork-filesharing.spec @@ -0,0 +1,81 @@ +%global debug_package %{nil} + +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +Name: kdenetwork-filesharing +Summary: Network filesharing +Version: 26.04.3 +Release: 1%{?dist} + +# KDE e.V. may determine that future GPL versions are accepted +License: BSD-3-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.1-only AND LGPL-3.0-only +URL: https://invent.kde.org/network/%{name} +Source0: https://download.kde.org/%{stable_kf6}/release-service/%{version}/src/%{name}-%{version}.tar.xz + + +# upstream patches + +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: gettext +BuildRequires: sonic-rpm-macros +BuildRequires: libappstream-glib + +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6Widgets) +BuildRequires: cmake(Qt6Qml) +BuildRequires: cmake(Qt6QuickWidgets) + +BuildRequires: cmake(KF6Auth) +BuildRequires: cmake(KF6Completion) +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6WidgetsAddons) + +BuildRequires: cmake(packagekitqt6) +BuildRequires: cmake(QCoro6Core) + +# or gets pulled in via PK at runtime +Recommends: samba +Recommends: samba-usershares + +%description +%{summary}. + + +%prep +%autosetup -p1 + + +%build +%cmake_kf6 + +%cmake_build + + +%install +%cmake_install + +%find_lang %{name} --all-name --with-html + + +%check +appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/org.kde.kdenetwork-filesharing.metainfo.xml + + +%files -f %{name}.lang +%license LICENSES/* +%dir %{_kf6_plugindir}/propertiesdialog/ +%{_kf6_plugindir}/propertiesdialog/sambausershareplugin.so +%{_kf6_plugindir}/propertiesdialog/SambaAcl.so +%{_kf6_metainfodir}/org.kde.kdenetwork-filesharing.metainfo.xml +%{_kf6_libexecdir}/kauth/sambausershareplugin_authhelper +%{_kf6_datadir}/dbus-1/system-services/org.kde.filesharing.samba.service +%{_kf6_datadir}/dbus-1/system.d/org.kde.filesharing.samba.conf +%{_kf6_datadir}/polkit-1/actions/org.kde.filesharing.samba.policy + + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 26.04.3-1 +- SonicDE build for Enterprise Linux 10 diff --git a/kdsoap-ws-discovery-client/kdsoap-ws-discovery-client-0.4.0.tar.xz b/kdsoap-ws-discovery-client/kdsoap-ws-discovery-client-0.4.0.tar.xz new file mode 100644 index 0000000..7f8f908 Binary files /dev/null and b/kdsoap-ws-discovery-client/kdsoap-ws-discovery-client-0.4.0.tar.xz differ diff --git a/kdsoap-ws-discovery-client/kdsoap-ws-discovery-client.spec b/kdsoap-ws-discovery-client/kdsoap-ws-discovery-client.spec new file mode 100644 index 0000000..ea78312 --- /dev/null +++ b/kdsoap-ws-discovery-client/kdsoap-ws-discovery-client.spec @@ -0,0 +1,55 @@ +%global debug_package %{nil} +Name: kdsoap-ws-discovery-client +Version: 0.4.0 +Release: 4%{?dist} +Summary: Library for finding WS-Discovery devices in the network using Qt6 and KDSoap + +License: GPL-3.0-or-later AND LicenseRef-OASIS AND LicenseRef-WS-Addressing AND LicenseRef-Discovery AND W3C +URL: https://invent.kde.org/libraries/kdsoap-ws-discovery-client/ +Source0: https://download.kde.org/stable/%{name}/%{name}-%{version}.tar.xz + +BuildRequires: cmake +BuildRequires: gcc-c++ + +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: cmake(KDSoap-qt6) +BuildRequires: cmake(Qt6) + +%description +%{summary}. + +%package devel +Summary: Development libraries and header files for Qt6 %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: cmake(KDSoap-qt6) +%description devel +%{summary}. + +%prep +%autosetup -p1 +sed -i '/add_subdirectory(docs)/d' CMakeLists.txt + +%build +%cmake_kf6 -DBUILD_WITH_QT6=ON -DBUILD_QCH=OFF -DBUILD_DOCS=OFF +%cmake_build + +%install +%cmake_install + +%check +# Tests fail without internet +%ctest || : + +%files +%doc README.md +%license LICENSES/* +%{_libdir}/libKDSoapWSDiscoveryClient.so.0{,.*} + +%files devel +%{_includedir}/KDSoapWSDiscoveryClient/ +%{_libdir}/cmake/KDSoapWSDiscoveryClient/ +%{_libdir}/libKDSoapWSDiscoveryClient.so + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 0.4.0-4 +- SonicDE build for Enterprise Linux 10 diff --git a/kf6-kcalendarcore/kcalendarcore-6.29.0.tar.xz b/kf6-kcalendarcore/kcalendarcore-6.29.0.tar.xz new file mode 100644 index 0000000..2a299b5 Binary files /dev/null and b/kf6-kcalendarcore/kcalendarcore-6.29.0.tar.xz differ diff --git a/kf6-kcalendarcore/kf6-kcalendarcore.spec b/kf6-kcalendarcore/kf6-kcalendarcore.spec new file mode 100644 index 0000000..8af3da5 --- /dev/null +++ b/kf6-kcalendarcore/kf6-kcalendarcore.spec @@ -0,0 +1,79 @@ +%global debug_package %{nil} +%global framework kcalendarcore + +Name: kf6-%{framework} +Version: 6.29.0 +Release: 1%{?dist} +Summary: KDE Frameworks 6 Tier 1 KCalendarCore Library +License: BSD-3-Clause AND LGPL-2.0-or-later AND LGPL-3.0-or-later +URL: https://invent.kde.org/frameworks/%{framework} +Source0: https://download.kde.org/%{stable_kf6}/frameworks/%{majmin_ver_kf6}/%{framework}-%{version}.tar.xz +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: sonic-rpm-macros +BuildRequires: bison +BuildRequires: libical-devel +BuildRequires: qt6-qtbase-devel +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: cmake(Qt6Qml) + +%description +%{summary}. + +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{version}-%{release} +Requires: libical-devel +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package doc +Summary: Developer Documentation files for %{name} +BuildArch: noarch +%description doc +Developer Documentation files for %{name} for use with KDevelop or QtCreator. + +%package html +Summary: Developer Documentation files for %{name} +BuildArch: noarch +%description html +Developer Documentation files for %{name} in HTML format + +%prep +%autosetup -n %{framework}-%{version} -p1 + +%build +%cmake_kf6 -DBUILD_PYTHON_BINDINGS=OFF +%cmake_build_kf6 + +%install +%cmake_install_kf6 + +%files +%license LICENSES/*.txt +%{_kf6_datadir}/qlogging-categories6/*kcalendarcore.* +%{_kf6_libdir}/libKF6CalendarCore.so.* +%{_kf6_qmldir}/org/kde/calendarcore/ + +%files devel +%{_kf6_includedir}/KCalendarCore/ +%{_kf6_libdir}/libKF6CalendarCore.so +%{_kf6_libdir}/cmake/KF6CalendarCore/ +%{_kf6_libdir}/pkgconfig/KF6CalendarCore.pc +%{_qt6_docdir}/*/*.tags +%{_qt6_docdir}/*/*.index + +%files doc +%{_qt6_docdir}/*.qch + +%files html +%{_qt6_docdir}/*/* +%exclude %{_qt6_docdir}/*/*.tags +%exclude %{_qt6_docdir}/*/*.index + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 6.29.0-1 +- SonicDE build for Enterprise Linux 10 diff --git a/kf6-kcontacts/kcontacts-6.29.0.tar.xz b/kf6-kcontacts/kcontacts-6.29.0.tar.xz new file mode 100644 index 0000000..1b1021d Binary files /dev/null and b/kf6-kcontacts/kcontacts-6.29.0.tar.xz differ diff --git a/kf6-kcontacts/kf6-kcontacts.spec b/kf6-kcontacts/kf6-kcontacts.spec new file mode 100644 index 0000000..96d3363 --- /dev/null +++ b/kf6-kcontacts/kf6-kcontacts.spec @@ -0,0 +1,88 @@ +%global debug_package %{nil} +%global framework kcontacts + +Name: kf6-%{framework} +Version: 6.29.0 +Release: 1%{?dist} +Summary: The KContacts Library + +# The following licenses are present in LICENSES but go unused: BSD-3-Clause, MIT, Unicode-DFS-2016 +License: CC0-1.0 AND LGPL-2.0-or-later +URL: https://projects.kde.org/%{framework} + +Source0: https://download.kde.org/%{stable_kf6}/frameworks/%{majmin_ver_kf6}/%{framework}-%{version}.tar.xz +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: sonic-rpm-macros +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6Codecs) +BuildRequires: qt6-qtbase-devel +BuildRequires: cmake(Qt6Quick) +BuildRequires: pkgconfig(xkbcommon) + +%description +%{summary}. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: cmake(KF6CoreAddons) +Requires: cmake(KF6I18n) +Requires: cmake(KF6Codecs) +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package doc +Summary: Developer Documentation files for %{name} +BuildArch: noarch +%description doc +Developer Documentation files for %{name} for use with KDevelop or QtCreator. + +%package html +Summary: Developer Documentation files for %{name} +BuildArch: noarch +%description html +Developer Documentation files for %{name} in HTML format + +%prep +%autosetup -n %{framework}-%{version} -p1 + + +%build +%cmake_kf6 +%cmake_build_kf6 + +%install +%cmake_install_kf6 + +%find_lang %{name} --all-name --with-html + +%files -f %{name}.lang +%license LICENSES/*.txt +%{_kf6_datadir}/qlogging-categories6/*%{framework}.* +%{_kf6_libdir}/libKF6Contacts.so.* +%{_kf6_qmldir}/org/kde/contacts/ + +%files devel +%{_kf6_includedir}/KContacts/ +%{_kf6_libdir}/libKF6Contacts.so +%{_kf6_libdir}/cmake/KF6Contacts/ +%{_kf6_qmldir}/org/kde/contacts/libkcontactsqml.so +%{_qt6_docdir}/*/*.tags +%{_qt6_docdir}/*/*.index + +%files doc +%{_qt6_docdir}/*.qch + +%files html +%{_qt6_docdir}/*/* +%exclude %{_qt6_docdir}/*/*.tags +%exclude %{_qt6_docdir}/*/*.index + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 6.29.0-1 +- SonicDE build for Enterprise Linux 10 diff --git a/kf6-kpeople/kf6-kpeople.spec b/kf6-kpeople/kf6-kpeople.spec new file mode 100644 index 0000000..133232b --- /dev/null +++ b/kf6-kpeople/kf6-kpeople.spec @@ -0,0 +1,92 @@ +%global debug_package %{nil} +%global framework kpeople + +Name: kf6-%{framework} +Version: 6.29.0 +Release: 1%{?dist} +Summary: KDE Frameworks 6 Tier 3 library for contact and people aggregation + +License: CC0-1.0 AND LGPL-2.1-or-later +URL: https://invent.kde.org/frameworks/%{framework} + +Source0: https://download.kde.org/%{stable_kf6}/frameworks/%{majmin_ver_kf6}/%{framework}-%{version}.tar.xz +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: cmake(KF6Codecs) +BuildRequires: cmake(KF6Contacts) +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6ItemViews) +BuildRequires: cmake(KF6Service) +BuildRequires: cmake(KF6WidgetsAddons) +BuildRequires: sonic-rpm-macros +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qtdeclarative-devel +Requires: kf6-filesystem + +%description +KDE Frameworks 6 Tier 3 library for interaction with XML RPC services. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: qt6-qtbase-devel +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package doc +Summary: Developer Documentation files for %{name} +BuildArch: noarch +%description doc +Developer Documentation files for %{name} for use with KDevelop or QtCreator. + +%package html +Summary: Developer Documentation files for %{name} +BuildArch: noarch +%description html +Developer Documentation files for %{name} in HTML format + +%prep +%autosetup -n %{framework}-%{version} -p1 + +%build +%cmake_kf6 +%cmake_build_kf6 + +%install +%cmake_install_kf6 + +%find_lang %{name} --all-name + +%files -f %{name}.lang +%doc README.md +%license LICENSES/*.txt +%{_kf6_datadir}/qlogging-categories6/%{framework}.* +%{_kf6_libdir}/libKF6People.so.* +%{_kf6_libdir}/libKF6PeopleWidgets.so.* +%{_kf6_libdir}/libKF6PeopleBackend.so.* +%{_kf6_qmldir}/org/kde/people/ +%{_kf6_qtplugindir}/kpeople/datasource/KPeopleVCard.so + +%files devel +%{_kf6_includedir}/KPeople/ +%{_kf6_libdir}/libKF6People.so +%{_kf6_libdir}/libKF6PeopleWidgets.so +%{_kf6_libdir}/libKF6PeopleBackend.so +%{_kf6_libdir}/cmake/KF6People/ +%{_qt6_docdir}/*/*.tags +%{_qt6_docdir}/*/*.index + +%files doc +%{_qt6_docdir}/*.qch + +%files html +%{_qt6_docdir}/*/* +%exclude %{_qt6_docdir}/*/*.tags +%exclude %{_qt6_docdir}/*/*.index + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 6.29.0-1 +- SonicDE build for Enterprise Linux 10 diff --git a/kf6-kpeople/kpeople-6.29.0.tar.xz b/kf6-kpeople/kpeople-6.29.0.tar.xz new file mode 100644 index 0000000..dc73d04 Binary files /dev/null and b/kf6-kpeople/kpeople-6.29.0.tar.xz differ diff --git a/kf6-ktexttemplate/kf6-ktexttemplate.spec b/kf6-ktexttemplate/kf6-ktexttemplate.spec new file mode 100644 index 0000000..60c58c6 --- /dev/null +++ b/kf6-ktexttemplate/kf6-ktexttemplate.spec @@ -0,0 +1,76 @@ +%global debug_package %{nil} +%global framework ktexttemplate + +Name: kf6-%{framework} +Version: 6.29.0 +Release: 1%{?dist} +Summary: Separates the structure of documents from their data +License: CC0-1.0 AND LGPL-2.0-or-later AND LGPL-2.1-or-later +URL: https://invent.kde.org/frameworks/%{framework} + +Source0: https://download.kde.org/%{stable_kf6}/frameworks/%{majmin_ver_kf6}/%{framework}-%{version}.tar.xz +BuildRequires: cmake +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: gcc-c++ +BuildRequires: sonic-rpm-macros +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6Qml) + +%description +The goal of KTextTemplate is to make it easier for application developers to +separate the structure of documents from the data they contain, opening the door +for theming and advanced generation of other text such as code. + +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{version}-%{release} +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package doc +Summary: Developer Documentation files for %{name} +BuildArch: noarch +%description doc +Developer Documentation files for %{name} for use with KDevelop or QtCreator. + +%package html +Summary: Developer Documentation files for %{name} +BuildArch: noarch +%description html +Developer Documentation files for %{name} in HTML format + +%prep +%autosetup -n %{framework}-%{version} + +%build +%cmake_kf6 +%cmake_build_kf6 + +%install +%cmake_install_kf6 + +%files +%license LICENSES/*.txt +%{_libdir}/libKF6TextTemplate.so.* +%{_kf6_plugindir}/ktexttemplate +%{_kf6_datadir}/qlogging-categories6/ktexttemplate.categories + +%files devel +%{_kf6_includedir}/KTextTemplate +%{_libdir}/cmake/KF6TextTemplate +%{_libdir}/libKF6TextTemplate.so +%{_qt6_docdir}/*/*.tags +%{_qt6_docdir}/*/*.index + +%files doc +%{_qt6_docdir}/*.qch + +%files html +%{_qt6_docdir}/*/* +%exclude %{_qt6_docdir}/*/*.tags +%exclude %{_qt6_docdir}/*/*.index + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 6.29.0-1 +- SonicDE build for Enterprise Linux 10 diff --git a/kf6-ktexttemplate/ktexttemplate-6.29.0.tar.xz b/kf6-ktexttemplate/ktexttemplate-6.29.0.tar.xz new file mode 100644 index 0000000..078adff Binary files /dev/null and b/kf6-ktexttemplate/ktexttemplate-6.29.0.tar.xz differ diff --git a/kf6-threadweaver/kf6-threadweaver.spec b/kf6-threadweaver/kf6-threadweaver.spec new file mode 100644 index 0000000..2d24271 --- /dev/null +++ b/kf6-threadweaver/kf6-threadweaver.spec @@ -0,0 +1,76 @@ +%global debug_package %{nil} +%global framework threadweaver + +Name: kf6-%{framework} +Version: 6.29.0 +Release: 1%{?dist} +Summary: KDE Frameworks 6 Tier 1 addon for advanced thread management +License: CC0-1.0 AND LGPL-2.0-or-later +URL: https://invent.kde.org/frameworks/%{framework} +Source0: https://download.kde.org/%{stable_kf6}/frameworks/%{majmin_ver_kf6}/%{framework}-%{version}.tar.xz +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: sonic-rpm-macros +BuildRequires: qt6-qtbase-devel +BuildRequires: cmake +BuildRequires: gcc-c++ +Requires: kf6-filesystem + +%description +KDE Frameworks 6 Tier 1 addon for advanced thread management. + +%package devel +Summary: Development files for %{name} +Requires: %{name} = %{version}-%{release} +Requires: qt6-qtbase-devel +%description devel +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. + +%package doc +Summary: Developer Documentation files for %{name} +BuildArch: noarch +%description doc +Developer Documentation files for %{name} for use with KDevelop or QtCreator. + +%package html +Summary: Developer Documentation files for %{name} +BuildArch: noarch +%description html +Developer Documentation files for %{name} in HTML format + +%prep +%autosetup -n %{framework}-%{version} -p1 + + +%build +%cmake_kf6 +%cmake_build_kf6 + +%install +%cmake_install_kf6 + +%files +%doc README.md +%license LICENSES/*.txt +%{_kf6_libdir}/libKF6ThreadWeaver.so.* + +%files devel +%doc README.md +%license LICENSES/*.txt +%{_kf6_includedir}/ThreadWeaver/ +%{_kf6_libdir}/libKF6ThreadWeaver.so +%{_kf6_libdir}/cmake/KF6ThreadWeaver/ +%{_qt6_docdir}/*/*.tags +%{_qt6_docdir}/*/*.index + +%files doc +%{_qt6_docdir}/*.qch + +%files html +%{_qt6_docdir}/*/* +%exclude %{_qt6_docdir}/*/*.tags +%exclude %{_qt6_docdir}/*/*.index + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 6.29.0-1 +- SonicDE build for Enterprise Linux 10 diff --git a/kf6-threadweaver/threadweaver-6.29.0.tar.xz b/kf6-threadweaver/threadweaver-6.29.0.tar.xz new file mode 100644 index 0000000..b0826e5 Binary files /dev/null and b/kf6-threadweaver/threadweaver-6.29.0.tar.xz differ diff --git a/libkcddb/libkcddb-26.04.3.tar.xz b/libkcddb/libkcddb-26.04.3.tar.xz new file mode 100644 index 0000000..8f59f89 Binary files /dev/null and b/libkcddb/libkcddb-26.04.3.tar.xz differ diff --git a/libkcddb/libkcddb.spec b/libkcddb/libkcddb.spec new file mode 100644 index 0000000..608be19 --- /dev/null +++ b/libkcddb/libkcddb.spec @@ -0,0 +1,102 @@ +%global debug_package %{nil} +Name: libkcddb +Version: 26.04.3 +Release: 1%{?dist} +Summary: CDDB retrieval library + +# Automatically converted from old format: BSD-3-Clause AND CC0-1.0 AND GPL-2.0-or-later AND LGPL-2.0-or-later - review is highly recommended. +License: BSD-3-Clause AND CC0-1.0 AND GPL-2.0-or-later AND LGPL-2.0-or-later +URL: https://invent.kde.org/multimedia/libkcddb + +Source0: https://download.kde.org/%{stable_kf6}/release-service/%{version}/src/%{name}-%{version}.tar.xz + +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: sonic-rpm-macros +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6DocTools) +BuildRequires: cmake(KF6Codecs) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6KCMUtils) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6WidgetsAddons) + +BuildRequires: cmake(Qt6Network) +BuildRequires: cmake(Qt6Widgets) +BuildRequires: cmake(Qt6Core5Compat) + +BuildRequires: pkgconfig(libmusicbrainz5) + +Requires: %{name}-doc = %{version}-%{release} + +# kcmshell5 +Recommends: kde-cli-tools + +# when split occured (kdemultimedia to libkcddb) +Conflicts: kdemultimedia-libs < 6:4.8.80 +# translations moved here (kf5-libkcddb) +Conflicts: kde-l10n < 17.03 +Obsoletes: kf5-libkcddb-kcm < 24.01.85 + + +%description +%{summary}. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +# when split occured +Conflicts: kdemultimedia-devel < 6:4.8.80 +%description devel +%{summary}. + +%package doc +Summary: Documentation for %{name} +# Automatically converted from old format: GFDL - review is highly recommended. +License: LicenseRef-Callaway-GFDL +Requires: %{name} = %{version}-%{release} +BuildArch: noarch +# now ahead of kf5-libkcddb +Conflicts: kf5-libkcddb-doc < 24.01.85 +Obsoletes: kf5-libkcddb-doc < 24.01.85 +%description doc +Documentation for %{name}. + + +%prep +%autosetup -p1 + + +%build + +%cmake_kf6 \ + -DQT_MAJOR_VERSION=6 + +%cmake_build + + +%install +%cmake_install + +%find_lang %{name} --all-name --with-man +%find_lang %{name}-doc --all-name --with-html --without-mo + +%files -f %{name}.lang +%license LICENSES/* +%{_kf6_libdir}/libKCddb6.so.5* +%{_kf6_qtplugindir}/plasma/kcms/systemsettings_qwidgets/kcm_cddb.so +%{_kf6_datadir}/applications/kcm_cddb.desktop +%{_kf6_datadir}/config.kcfg/libkcddb5.kcfg +%{_kf6_datadir}/qlogging-categories6/* + +%files devel +%{_kf6_libdir}/libKCddb6.so +%{_includedir}/KCddb6/ +%{_kf6_libdir}/cmake/KCddb6/ +%{_qt6_archdatadir}/mkspecs/modules/qt_KCddb.pri + +%files doc -f %{name}-doc.lang + + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 26.04.3-1 +- SonicDE build for Enterprise Linux 10 diff --git a/libkcompactdisc/libkcompactdisc-25.12.3.tar.xz b/libkcompactdisc/libkcompactdisc-25.12.3.tar.xz new file mode 100644 index 0000000..2cdff4a Binary files /dev/null and b/libkcompactdisc/libkcompactdisc-25.12.3.tar.xz differ diff --git a/libkcompactdisc/libkcompactdisc.spec b/libkcompactdisc/libkcompactdisc.spec new file mode 100644 index 0000000..ce0a048 --- /dev/null +++ b/libkcompactdisc/libkcompactdisc.spec @@ -0,0 +1,77 @@ +%global debug_package %{nil} +Name: libkcompactdisc +Version: 25.12.3 +Release: 1%{?dist} +Summary: A KDE compact disc library + +# License for this library is very nebulous. +License: GPL-2.0-or-later AND LGPL-2.0-or-later +URL: https://invent.kde.org/multimedia/libkcompactdisc + +Source0: https://download.kde.org/%{stable_kf6}/release-service/%{version}/src/%{name}-%{version}.tar.xz + +## upstreamable patches + +BuildRequires: gcc-c++ +BuildRequires: cmake +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: sonic-rpm-macros +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6Solid) +BuildRequires: cmake(KF6I18n) + +BuildRequires: cmake(Qt6DBus) + +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(phonon4qt6) + +# historical conflicts +# when split occured (kdemultimedia to libkcompactdisc) +Conflicts: kdemultimedia-libs < 6:4.8.80 +# translations moved here (during kf5-libkcompactdisc) +Conflicts: kde-l10n < 17.03 + # translations conflict with kf5-libkcompactdisc +Conflicts: kf5-libkcompactdisc < 24.01.85 +Obsoletes: kf5-libkcompactdisc < 24.01.85 + +%description +%{summary}. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Obsoletes: kf5-libkcompactdisc-devel < 24.01.85 +%description devel +%{summary}. + + +%prep +%autosetup -p1 + + +%build +%cmake_kf6 \ + -DQT_MAJOR_VERSION=6 + +%cmake_build + + +%install +%cmake_install + +%find_lang %{name} --all-name --with-html --with-man + +%files -f %{name}.lang +%license COPYING* +%{_kf6_libdir}/libKCompactDisc6.so.5* + +%files devel +%{_includedir}/KCompactDisc6/ +%{_kf6_libdir}/libKCompactDisc6.so +%{_kf6_libdir}/cmake/KCompactDisc6/ +%{_qt6_archdatadir}/mkspecs/modules/qt_KCompactDisc.pri + + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 25.12.3-1 +- SonicDE build for Enterprise Linux 10 diff --git a/libkdcraw/libkdcraw-26.04.3.tar.xz b/libkdcraw/libkdcraw-26.04.3.tar.xz new file mode 100644 index 0000000..5f1932a Binary files /dev/null and b/libkdcraw/libkdcraw-26.04.3.tar.xz differ diff --git a/libkdcraw/libkdcraw.spec b/libkdcraw/libkdcraw.spec new file mode 100644 index 0000000..934a07c --- /dev/null +++ b/libkdcraw/libkdcraw.spec @@ -0,0 +1,66 @@ +%global debug_package %{nil} +Name: libkdcraw +Summary: A C++ interface around LibRaw library +Version: 26.04.3 +Release: 1%{?dist} + +License: BSD-3-Clause AND CC0-1.0 AND GPL-2.0-or-later +URL: https://invent.kde.org/graphics/%{name} +Source0: http://download.kde.org/%{stable_kf6}/release-service/%{version}/src/%{name}-%{version}.tar.xz + + +## upstream patches + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: gettext +BuildRequires: sonic-rpm-macros +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: cmake(Qt6Gui) +BuildRequires: pkgconfig(libraw) >= 0.15 + +Requires: kf6-filesystem + +%description +Libkdcraw is a C++ interface around LibRaw library used to decode RAW +picture files. More information about LibRaw can be found at +http://www.libraw.org. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: cmake(Qt6Gui) +%description devel +%{summary}. + + +%prep +%autosetup -p1 + + +%build +%cmake_kf6 \ + -DQT_MAJOR_VERSION=6 + +%cmake_build + + +%install +%cmake_install + + +%files +%doc AUTHORS +%license LICENSES/* +%{_kf6_libdir}/libKDcrawQt6.so.* +%{_kf6_datadir}/qlogging-categories6/* + +%files devel +%{_kf6_libdir}/libKDcrawQt6.so +%{_includedir}/KDcrawQt6/ +%{_kf6_libdir}/cmake/KDcrawQt6/ + + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 26.04.3-1 +- SonicDE build for Enterprise Linux 10 diff --git a/libkgapi/libkgapi-26.04.3.tar.xz b/libkgapi/libkgapi-26.04.3.tar.xz new file mode 100644 index 0000000..419e0a6 Binary files /dev/null and b/libkgapi/libkgapi-26.04.3.tar.xz differ diff --git a/libkgapi/libkgapi.spec b/libkgapi/libkgapi.spec new file mode 100644 index 0000000..67a4b34 --- /dev/null +++ b/libkgapi/libkgapi.spec @@ -0,0 +1,80 @@ +%global debug_package %{nil} +# trim changelog included in binary rpms +%global _changelog_trimtime %(date +%s -d "1 year ago") + +# https://bugzilla.redhat.com/show_bug.cgi?id=1895674 +%global _lto_cflags %{nil} + +Name: libkgapi +Version: 26.04.3 +Release: 1%{?dist} +Summary: Library to access to Google services + +License: BSD-3-Clause AND CC0-1.0 AND LGPL-2.1-only AND LGPL-3.0-only +URL: https://invent.kde.org/pim/%{name} + +Source0: https://download.kde.org/%{stable_kf6}/release-service/%{version}/src/%{name}-%{version}.tar.xz + +BuildRequires: sonic-rpm-macros +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: cmake(Qt6Core) +BuildRequires: qt6-qttools-static + +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6Wallet) +BuildRequires: cmake(KF6WindowSystem) + +BuildRequires: cmake(KF6CalendarCore) +BuildRequires: cmake(KF6Contacts) + +BuildRequires: cyrus-sasl-devel + +Obsoletes: libkgoogle < 0.3.2 +Provides: libkgoogle = %{version}-%{release} + +%description +Library to access to Google services, this package is needed by kdepim-runtime +to build akonadi-google resources. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: cmake(KF6CoreAddons) +Requires: cmake(KF6CalendarCore) +Requires: cmake(KF6Contacts) +Obsoletes: libkgoogle-devel < 0.3.2 +Provides: libkgoogle-devel = %{version}-%{release} +%description devel +Libraries and header files for developing applications that use akonadi-google +resources. + +%prep +%autosetup -n %{name}-%{version} + +%build +%cmake_kf6 -DBUILD_QCH=OFF -DBUILD_DOCS=OFF +%cmake_build + +%install +%cmake_install +%find_lang libkgapi_qt --all-name --with-html --with-man --with-qt + +%files -f libkgapi_qt.lang +%doc README* +%license LICENSES/* +%{_kf6_datadir}/qlogging-categories6/*%{name}.* +%{_libdir}/sasl2/libkdexoauth2.so* +%{_kf6_libdir}/libKPim6GAPI*.so.6 +%{_kf6_libdir}/libKPim6GAPI*.so.6.* + +%files devel +%{_kf6_libdir}/libKPim6GAPI*.so +%{_kf6_libdir}/cmake/KPim6GAPI/ +%dir %{_includedir}/KPim6/ +%{_includedir}/KPim6/KGAPI/ + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 26.04.3-1 +- SonicDE build for Enterprise Linux 10 diff --git a/okular/okular-26.04.3.tar.xz b/okular/okular-26.04.3.tar.xz new file mode 100644 index 0000000..3ad4d61 Binary files /dev/null and b/okular/okular-26.04.3.tar.xz differ diff --git a/okular/okular.spec b/okular/okular.spec new file mode 100644 index 0000000..33c2eb5 --- /dev/null +++ b/okular/okular.spec @@ -0,0 +1,222 @@ +%global debug_package %{nil} +## uncomment to enable bootstrap mode +#global bootstrap 1 + +%if !0%{?bootstrap} +%if 0%{?fedora} +%global chm 1 +%global ebook 1 +%global postscript 1 +%endif +# uncomment to include -mobile (currently doesn't work) +# it links libokularpart.so, but fails to file/load at runtime +%global mobile 0 +%endif + +Name: okular +Summary: A document viewer +Version: 26.04.3 +Release: 1%{?dist} + +License: GPL-2.0-only +URL: https://www.kde.org/applications/graphics/okular/ + +%global majmin_ver %(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: https://download.kde.org/%{stable}/release-service/%{version}/src/%{name}-%{version}.tar.xz + +## upstream patches (master branch) + +BuildRequires: desktop-file-utils +BuildRequires: libappstream-glib + +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: sonic-rpm-macros +BuildRequires: cmake(KF6Archive) +BuildRequires: cmake(KF6Bookmarks) +BuildRequires: cmake(KF6Completion) +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6ConfigWidgets) +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6Crash) +BuildRequires: cmake(KF6DBusAddons) +BuildRequires: cmake(KF6DocTools) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6Parts) +BuildRequires: cmake(KF6ThreadWeaver) +BuildRequires: cmake(KF6Wallet) +BuildRequires: cmake(KF6WindowSystem) + +BuildRequires: qt6-qtbase-private-devel +BuildRequires: cmake(Qt6DBus) +BuildRequires: cmake(Qt6Test) +BuildRequires: cmake(Qt6Widgets) +BuildRequires: cmake(Qt6PrintSupport) +BuildRequires: cmake(Qt6Svg) +BuildRequires: cmake(Qt6Qml) +BuildRequires: cmake(Qt6Quick) + +# okular-mobile +Requires: kf6-purpose%{?_isa} + +BuildRequires: pkgconfig(phonon4qt6) +BuildRequires: cmake(Qca-qt6) + +## generater/plugin deps +BuildRequires: cmake(KExiv2Qt6) +BuildRequires: cmake(QMobipocket6) +%if 0%{?chm} +BuildRequires: chmlib-devel +BuildRequires: pkgconfig(libzip) +%endif +%if 0%{?ebook} +BuildRequires: ebook-tools-devel +%endif +%if 0%{?postscript} +BuildRequires: pkgconfig(libspectre) +%endif +BuildRequires: libjpeg-devel +BuildRequires: libtiff-devel +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(libmarkdown) +BuildRequires: pkgconfig(libspectre) +BuildRequires: pkgconfig(poppler-qt6) +BuildRequires: pkgconfig(zlib) +%if 0%{?fedora} +BuildRequires: pkgconfig(ddjvuapi) +%endif + +%if !0%{?bootstrap} +BuildRequires: cmake(Qt6TextToSpeech) +%endif + +Requires: %{name}-part%{?_isa} = %{version}-%{release} + +%description +%{summary}. + +%if 0%{?mobile} +%package mobile +Summary: Document viewer for plasma mobile +# included last in okular-15.12.3-1.fc23 +Obsoletes: okular-active < 16.04 +Requires: %{name}-part%{?_isa} = %{version}-%{release} +%description mobile +%{summary}. +%endif + +%package devel +Summary: Development files for %{name} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +%description devel +%{summary}. + +%package libs +Summary: Runtime files for %{name} +%if 0%{?fedora} +# use Recommends to avoid hard deps -- rex +## lpr +Recommends: cups-client +## ps2pdf,pdf2ps +Recommends: ghostscript-core +%endif +%description libs +%{summary}. + +%package part +Summary: Okular kpart plugin +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +# translations moved here +Conflicts: kde-l10n < 17.03 +%description part +%{summary}. + + +%prep +%autosetup -p1 +# Skip poppler generator if installed poppler is too old +sed -i 's|if(Poppler_Qt6_FOUND)|if(Poppler_Qt6_FOUND AND Poppler_VERSION VERSION_GREATER_EQUAL "24.08.0")|' generators/CMakeLists.txt + +%if ! 0%{?mobile} +# disable/omit mobile, it doesn't work -- rex +sed -i -e 's|^add_subdirectory( mobile )|#add_subdirectory( mobile )|' CMakeLists.txt +%endif + + +%build +%cmake_kf6 -DOKULAR_UI=desktop \ + -DFORCE_NOT_REQUIRED_DEPENDENCIES="CHM;LibZip;DjVuLibre;EPub;KF6Purpose;Qt6TextToSpeech;Poppler" + +%cmake_build + + +%install +%cmake_install + +%find_lang all --all-name --with-html --with-man +grep -v \ + -e %{_mandir} \ + -e %{_kf6_docdir} \ + all.lang > okular-part.lang +cat all.lang okular-part.lang | sort | uniq -u > okular.lang + + +%check +desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.okular.desktop +appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/org.kde.okular.appdata.xml +%if 0%{?mobile} +desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.okular.kirigami.desktop +appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/org.kde.okular.kirigami.appdata.xml +%endif + +%files -f okular.lang +%license LICENSES/* +%{_kf6_bindir}/okular +%{_kf6_datadir}/applications/org.kde.okular.desktop +%{_kf6_metainfodir}/org.kde.okular.appdata.xml +%{_kf6_datadir}/applications/okularApplication_*.desktop +%{_kf6_metainfodir}/org.kde.okular-*.metainfo.xml +%{_kf6_datadir}/okular/ +%{_kf6_datadir}/icons/hicolor/*/*/* +%{_mandir}/man1/okular.1* +%{_kf6_datadir}/qlogging-categories6/okular.categories + +%if 0%{?mobile} +%files mobile +%{_kf6_bindir}/okularkirigami +%{_qt6_qmldir}/org/kde/okular/ +%{_kf6_metainfodir}/org.kde.okular.kirigami.appdata.xml +%{_kf6_datadir}/applications/org.kde.okular.kirigami.desktop +%{_kf6_datadir}/applications/org.kde.mobile.okular_*.desktop +%endif + +%files devel +%{_includedir}/okular/ +%{_libdir}/libOkular6Core.so +%{_libdir}/cmake/Okular6/ + +%ldconfig_scriptlets libs + +%files libs +%{_libdir}/libOkular6Core.so.* + +%files part -f okular-part.lang +%if 0%{?fedora} +# Disabled upstream? +# %%{_kf6_plugindir}/kio/kio_msits.so +%endif +%{_kf6_datadir}/config.kcfg/*.kcfg +%dir %{_qt6_plugindir}/okular_generators/ +%{_qt6_plugindir}/okular_generators/okularGenerator_*.so +%{_kf6_plugindir}/parts/okularpart.so + + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 26.04.3-1 +- SonicDE build for Enterprise Linux 10 diff --git a/plasma-keyboard/plasma-keyboard-6.7.4.tar.xz b/plasma-keyboard/plasma-keyboard-6.7.4.tar.xz new file mode 100644 index 0000000..4d6ce10 Binary files /dev/null and b/plasma-keyboard/plasma-keyboard-6.7.4.tar.xz differ diff --git a/plasma-keyboard/plasma-keyboard.spec b/plasma-keyboard/plasma-keyboard.spec new file mode 100644 index 0000000..d32f5f0 --- /dev/null +++ b/plasma-keyboard/plasma-keyboard.spec @@ -0,0 +1,87 @@ +Name: plasma-keyboard +Epoch: 1 +Version: 6.7.4 +Release: 2%{?dist} +Summary: Virtual Keyboard for Qt based desktops + +License: LGPL-2.1-only AND GPL-2.0-only AND CC0-1.0 AND LGPL-3.0-only AND GPL-3.0-or-later AND GPL-2.0-or-later AND GPL-3.0-only +URL: https://invent.kde.org/plasma/%{name}/ + +Source0: https://download.kde.org/%{stable_kf6}/plasma/%{version}/%{name}-%{version}.tar.xz +Source1: https://download.kde.org/%{stable_kf6}/plasma/%{version}/%{name}-%{version}.tar.xz.sig + +BuildRequires: sonic-rpm-macros +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: desktop-file-utils + +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6Gui) +BuildRequires: cmake(Qt6VirtualKeyboard) +BuildRequires: cmake(Qt6WaylandClient) +BuildRequires: qt6-qtvirtualkeyboard-devel + +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6KCMUtils) +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6Crash) + +BuildRequires: pkgconfig(wayland-server) +BuildRequires: pkgconfig(wayland-cursor) +BuildRequires: pkgconfig(wayland-egl) +BuildRequires: pkgconfig(wayland-protocols) +BuildRequires: qt6-qtbase-private-devel + +BuildRequires: cmake(PlasmaQuick) + +Requires: (kcm-%{name}%{?_isa} if plasma-systemsettings%{?_isa}) + +%description +The plasma-keyboard is a virtual keyboard +based on Qt Virtual Keyboard designed to +integrate in Plasma. + +%package -n kcm-%{name} +Summary: KDE KCM for %{name} +Requires: %{name} = %{epoch}:%{version}-%{release} +%description -n kcm-%{name} +%{summary}. + +%prep +%autosetup -p1 + + +%build +%cmake_kf6 +%cmake_build + +%install +%cmake_install +%find_lang plasma-keyboard +%find_lang kcm_plasmakeyboard + +%check +desktop-file-validate %{buildroot}%{_datadir}/applications/org.kde.plasma.keyboard.desktop + +%files -f plasma-keyboard.lang +%license LICENSES/* +%doc README.md +%{_bindir}/plasma-keyboard +%{_kf6_datadir}/applications/org.kde.plasma.keyboard.desktop +%{_kf6_qmldir}/QtQuick/VirtualKeyboard/ +%{_kf6_qmldir}/org/kde/plasma/keyboard/ +%{_kf6_datadir}/plasma/keyboard/ +%{_kf6_metainfodir}/org.kde.plasma.keyboard.metainfo.xml + +%files -n kcm-%{name} -f kcm_plasmakeyboard.lang +%{_kf6_qtplugindir}/plasma/kcms/systemsettings/kcm_plasmakeyboard.so +%{_datadir}/applications/kcm_plasmakeyboard.desktop + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 1:6.7.4-2 +- SonicDE build for Enterprise Linux 10 + +* Fri Apr 10 2026 Steve Cossette - 1:6.6.4-1 +- 6.6.4 diff --git a/plasma-print-manager/plasma-print-manager.spec b/plasma-print-manager/plasma-print-manager.spec new file mode 100644 index 0000000..3056e25 --- /dev/null +++ b/plasma-print-manager/plasma-print-manager.spec @@ -0,0 +1,120 @@ +%global base_name print-manager + +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +Name: plasma-print-manager +Summary: Printer management for KDE +Version: 6.7.4 +Release: 2%{?dist} + +License: BSD-3-Clause AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-3.0-only AND (LGPL-2.1-only OR LGPL-3.0-only) +URL: https://invent.kde.org/plasma/%{base_name} + +Source0: https://download.kde.org/%{stable_kf6}/plasma/%{version}/%{base_name}-%{version}.tar.xz +Source1: https://download.kde.org/%{stable_kf6}/plasma/%{version}/%{base_name}-%{version}.tar.xz.sig + +BuildRequires: desktop-file-utils +BuildRequires: gettext +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: sonic-rpm-macros + +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6ConfigWidgets) +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6DBusAddons) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6KCMUtils) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6Kirigami2) +BuildRequires: cmake(KF6KirigamiAddons) +BuildRequires: cmake(KF6Notifications) +BuildRequires: cmake(KF6WidgetsAddons) +BuildRequires: cmake(KF6WindowSystem) + +BuildRequires: qt6-qtbase-devel + +BuildRequires: cmake(Qt6Core5Compat) +BuildRequires: cmake(Qt6Qml) + +BuildRequires: cmake(Plasma) + +BuildRequires: cmake(packagekitqt6) + +BuildRequires: cups-devel >= 1.5.0 +# /usr/bin/smbspool (runtime dep, but checked-for at build-time) +BuildRequires: cups +BuildRequires: samba-client + +# Renamed from kde-print-manager +Obsoletes: kde-print-manager < 1:%{version}-%{release} +Provides: kde-print-manager = 1:%{version}-%{release} + +Requires: sonic-workspace + +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +# currently requires local cups for majority of proper function +Requires: cups +# required for the com.redhat.NewPrinterNotification D-Bus service +Requires: system-config-printer-libs +# /usr/bin/smbspool +Recommends: samba-client + +%description +Printer management for KDE. + +%package libs +Summary: Runtime files for %{name} +Requires: %{name} = %{version}-%{release} +Obsoletes: kde-print-manager-libs < 1:%{version}-%{release} +Provides: kde-print-manager-libs = 1:%{version}-%{release} +%description libs +%{summary}. + + +%prep +%autosetup -p1 -n %{base_name}-%{version} + + +%build +%cmake_kf6 +%cmake_build + + +%install +%cmake_install + +%find_lang %{name} --all-name --with-html + + +%check +desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.ConfigurePrinter.desktop +desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.plasma.printqueue.desktop + + +%files -f %{name}.lang +%license LICENSES/* +%{_bindir}/plasma-print-queue +%{_bindir}/configure-printer +%{_kf6_qmldir}/org/kde/plasma/printmanager/ +%{_kf6_datadir}/qlogging-categories6/pmlogs.categories +%{_kf6_datadir}/knotifications6/printmanager.notifyrc +%{_kf6_datadir}/applications/kcm_printer_manager.desktop +%{_kf6_datadir}/applications/org.kde.ConfigurePrinter.desktop +%{_kf6_datadir}/applications/org.kde.plasma.printqueue.desktop +%{_kf6_metainfodir}/org.kde.print-manager.metainfo.xml +%{_kf6_qtplugindir}/plasma/kcms/systemsettings/kcm_printer_manager.so + + +%files libs +%{_libdir}/libkcups.so +%{_kf6_plugindir}/kded/printmanager.so +%{_kf6_qtplugindir}/plasma/applets/org.kde.plasma.printmanager.so + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 6.7.4-2 +- SonicDE build for Enterprise Linux 10 + +* Fri Apr 10 2026 Steve Cossette - 6.6.4-1 +- 6.6.4 diff --git a/plasma-print-manager/print-manager-6.7.4.tar.xz b/plasma-print-manager/print-manager-6.7.4.tar.xz new file mode 100644 index 0000000..74410a1 Binary files /dev/null and b/plasma-print-manager/print-manager-6.7.4.tar.xz differ diff --git a/plasma-systemsettings/plasma-systemsettings.spec b/plasma-systemsettings/plasma-systemsettings.spec new file mode 100644 index 0000000..afcc496 --- /dev/null +++ b/plasma-systemsettings/plasma-systemsettings.spec @@ -0,0 +1,102 @@ +%global base_name systemsettings + +Name: plasma-%{base_name} +Summary: KDE System Settings application +Version: 6.7.4 +Release: 2%{?dist} + +License: BSD-2-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-only AND LGPL-2.1-or-later AND (GPL-2.0-only OR GPL-3.0-only) +URL: https://invent.kde.org/plasma/%{base_name} + +Source0: https://download.kde.org/%{stable_kf6}/plasma/%{version}/%{base_name}-%{version}.tar.xz +Source1: https://download.kde.org/%{stable_kf6}/plasma/%{version}/%{base_name}-%{version}.tar.xz.sig + +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +BuildRequires: desktop-file-utils + +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: sonic-rpm-macros +BuildRequires: cmake(KF6Auth) +BuildRequires: cmake(KF6Crash) +BuildRequires: cmake(KF6ItemViews) +BuildRequires: cmake(KF6KCMUtils) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6Service) +BuildRequires: cmake(KF6IconThemes) +BuildRequires: cmake(KF6WidgetsAddons) +BuildRequires: cmake(KF6WindowSystem) +BuildRequires: cmake(KF6XmlGui) +BuildRequires: cmake(KF6DBusAddons) +BuildRequires: cmake(KF6Config) +BuildRequires: cmake(KF6DocTools) +BuildRequires: cmake(KF6ItemModels) +BuildRequires: cmake(KF6GuiAddons) +BuildRequires: cmake(KF6Runner) +BuildRequires: cmake(KF6ColorScheme) +BuildRequires: cmake(KF6JobWidgets) + +BuildRequires: cmake(Qt6Qml) +BuildRequires: cmake(Qt6Quick) +BuildRequires: cmake(Qt6QuickWidgets) +BuildRequires: cmake(Qt6Widgets) + +BuildRequires: cmake(PlasmaActivities) + +BuildRequires: cmake(KF6Kirigami2) +Requires: kf6-kirigami2%{?_isa} + +# https://bugzilla.redhat.com/show_bug.cgi?id=1268493 +# doc/HTML/en/systemsettings conflicts +Conflicts: kde-workspace < 5.0 + +# /usr/share/kservices5/settings-system-administration.desktop file conflict +Conflicts: kcm_systemd < 1.2.1-15 + +Provides: plasma-systemsettings-devel = %{version}-%{release} +Obsoletes: plasma-systemsettings-devel < 5.20.90 + +%description +%{summary}. + + +%prep +%autosetup -n %{base_name}-%{version} -p1 + + +%build +%cmake_kf6 +%cmake_build + + +%install +%cmake_install + +%find_lang systemsettings6 --with-qt --with-html --all-name + + +%check +desktop-file-validate %{buildroot}%{_datadir}/applications/kdesystemsettings.desktop +desktop-file-validate %{buildroot}%{_datadir}/applications/systemsettings.desktop + + +%files -f systemsettings6.lang +%license LICENSES/* +%{_bindir}/systemsettings +%{_datadir}/systemsettings/ +%{_datadir}/applications/kdesystemsettings.desktop +%{_datadir}/applications/systemsettings.desktop +%{_datadir}/metainfo/org.kde.systemsettings.metainfo.xml +%{_datadir}/zsh/site-functions/_systemsettings +%{_kf6_datadir}/kglobalaccel/systemsettings.desktop +%{_kf6_datadir}/qlogging-categories6/systemsettings.categories +%{_kf6_plugindir}/krunner/krunner_systemsettings.so + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 6.7.4-2 +- SonicDE build for Enterprise Linux 10 + +* Fri Apr 10 2026 Steve Cossette - 6.6.4-1 +- 6.6.4 diff --git a/plasma-systemsettings/systemsettings-6.7.4.tar.xz b/plasma-systemsettings/systemsettings-6.7.4.tar.xz new file mode 100644 index 0000000..711f828 Binary files /dev/null and b/plasma-systemsettings/systemsettings-6.7.4.tar.xz differ diff --git a/sddm-kcm/sddm-kcm-6.7.4.tar.xz b/sddm-kcm/sddm-kcm-6.7.4.tar.xz new file mode 100644 index 0000000..ee8eaea Binary files /dev/null and b/sddm-kcm/sddm-kcm-6.7.4.tar.xz differ diff --git a/sddm-kcm/sddm-kcm.spec b/sddm-kcm/sddm-kcm.spec new file mode 100644 index 0000000..4ad993b --- /dev/null +++ b/sddm-kcm/sddm-kcm.spec @@ -0,0 +1,75 @@ +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +Name: sddm-kcm +Version: 6.7.4 +Release: 2%{?dist} +Summary: SDDM KDE configuration module + +License: GPL-2.0-or-later AND GPL-3.0-only AND CC0-1.0 AND (GPL-2.0-only OR GPL-3.0-only) +URL: https://invent.kde.org/plasma/%{name} + +Source0: https://download.kde.org/%{stable_kf6}/plasma/%{version}/%{name}-%{version}.tar.xz +Source1: https://download.kde.org/%{stable_kf6}/plasma/%{version}/%{name}-%{version}.tar.xz.sig + +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: sonic-rpm-macros + +BuildRequires: qt6-qtbase-devel +BuildRequires: qt6-qtdeclarative-devel +BuildRequires: qt6-qttools-devel + +BuildRequires: cmake(KF6Archive) +BuildRequires: cmake(KF6Auth) +BuildRequires: cmake(KF6KCMUtils) +BuildRequires: cmake(KF6ConfigWidgets) +BuildRequires: cmake(KF6CoreAddons) +BuildRequires: cmake(KF6Declarative) +BuildRequires: cmake(KF6I18n) +BuildRequires: cmake(KF6KIO) +BuildRequires: cmake(KF6NewStuff) +BuildRequires: cmake(KF6XmlGui) + +BuildRequires: libX11-devel +BuildRequires: libXcursor-devel +BuildRequires: libxcb-devel +BuildRequires: xcb-util-image-devel + +Requires: sddm + + +%description +This is a System Settings configuration module for configuring the +SDDM Display Manager + +%prep +%autosetup + + +%build +%cmake_kf6 +%cmake_build + + +%install +%cmake_install +%find_lang kcmsddm6_qt --with-qt --all-name + + +%files -f kcmsddm6_qt.lang +%license LICENSES/* +%{_kf6_bindir}/sddmthemeinstaller +%{_kf6_datadir}/applications/kcm_sddm.desktop +%{_kf6_libexecdir}/kauth/kcmsddm_authhelper +%{_datadir}/dbus-1/system.d/org.kde.kcontrol.kcmsddm.conf +%{_datadir}/knsrcfiles/sddmtheme.knsrc +%{_datadir}/dbus-1/system-services/org.kde.kcontrol.kcmsddm.service +%{_datadir}/polkit-1/actions/org.kde.kcontrol.kcmsddm.policy +%{_qt6_plugindir}/plasma/kcms/systemsettings/kcm_sddm.so + +%changelog +* Fri Aug 28 2026 Anders da Silva Rytter Hansen - 6.7.4-2 +- SonicDE build for Enterprise Linux 10 + +* Fri Apr 10 2026 Steve Cossette - 6.6.4-1 +- 6.6.4 diff --git a/sddm/0001-Delay-for-logind-and-fallback-to-seat0.patch b/sddm/0001-Delay-for-logind-and-fallback-to-seat0.patch new file mode 100644 index 0000000..e6292da --- /dev/null +++ b/sddm/0001-Delay-for-logind-and-fallback-to-seat0.patch @@ -0,0 +1,142 @@ +From 4d44531c8f624f5b479c3ff23e8fecc67eb848ab Mon Sep 17 00:00:00 2001 +From: Jeremy Linton +Date: Fri, 22 Oct 2021 14:51:54 -0500 +Subject: [PATCH] Delay for logind, and fallback to seat0 + +There is systemd/logind race with when restarting +sddm that causes logind1 not to be available. Previously +this meant the seat0 was immediately created regardless +of the state of CanGraphical. + +Fixing this, though we still want seat0 to be started +if none of the seats appear to be graphical. Presumably +there are some graphics on the machine, otherwise +why run sddm? Wait a bit, and create seat0 anyway. If +this fails the output from Xorg should tell us why. This +is generally a better strategy than what happens a good +amount of time now, where sddm is started and silent about +why the screen is blank. + +References: +* https://bugzilla.redhat.com/2011991 +* https://bugzilla.redhat.com/2016310 + +Signed-off-by: Jeremy Linton +--- + src/daemon/LogindDBusTypes.cpp | 31 +++++++++++++++++++++---------- + src/daemon/SeatManager.cpp | 22 ++++++++++++++++++++++ + src/daemon/SeatManager.h | 1 + + 3 files changed, 44 insertions(+), 10 deletions(-) + +diff --git a/src/daemon/LogindDBusTypes.cpp b/src/daemon/LogindDBusTypes.cpp +index 011bb7f..6255c69 100644 +--- a/src/daemon/LogindDBusTypes.cpp ++++ b/src/daemon/LogindDBusTypes.cpp +@@ -8,6 +8,8 @@ + + #include + ++#include ++ + class LogindPathInternal { + public: + LogindPathInternal(); +@@ -46,17 +48,26 @@ LogindPathInternal::LogindPathInternal() + qRegisterMetaType("UserInfoList"); + qDBusRegisterMetaType(); + +- if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.login1"))) { +- qDebug() << "Logind interface found"; +- available = true; +- serviceName = QStringLiteral("org.freedesktop.login1"); +- managerPath = QStringLiteral("/org/freedesktop/login1"); +- managerIfaceName = QStringLiteral("org.freedesktop.login1.Manager"); +- seatIfaceName = QStringLiteral("org.freedesktop.login1.Seat"); +- sessionIfaceName = QStringLiteral("org.freedesktop.login1.Session"); +- userIfaceName = QStringLiteral("org.freedesktop.login1.User"); +- return; ++#ifdef HAVE_SYSTEMD ++ // systemd-logind should be running, although because it takes a few moments to restart after ++ // systemctl isolate calls, it may not yet be running. Wait a few seconds for it, while blocking everything else. ++ int logind_wait_seconds = 50; ++ while (logind_wait_seconds--) { ++ if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.login1"))) { ++ qDebug() << "Logind interface found"; ++ available = true; ++ serviceName = QStringLiteral("org.freedesktop.login1"); ++ managerPath = QStringLiteral("/org/freedesktop/login1"); ++ managerIfaceName = QStringLiteral("org.freedesktop.login1.Manager"); ++ seatIfaceName = QStringLiteral("org.freedesktop.login1.Seat"); ++ sessionIfaceName = QStringLiteral("org.freedesktop.login1.Session"); ++ userIfaceName = QStringLiteral("org.freedesktop.login1.User"); ++ return; ++ } ++ qDebug() << "Sleeping for systemd-logind"; ++ usleep(100000); + } ++#endif + + if (QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.ConsoleKit"))) { + qDebug() << "Console kit interface found"; +diff --git a/src/daemon/SeatManager.cpp b/src/daemon/SeatManager.cpp +index bd207e6..39d8b85 100644 +--- a/src/daemon/SeatManager.cpp ++++ b/src/daemon/SeatManager.cpp +@@ -26,6 +26,9 @@ + #include + #include + #include ++#include ++#include ++#include + + #include "LogindDBusTypes.h" + +@@ -115,6 +118,8 @@ namespace SDDM { + + QDBusConnection::systemBus().connect(Logind::serviceName(), Logind::managerPath(), Logind::managerIfaceName(), QStringLiteral("SeatNew"), this, SLOT(logindSeatAdded(QString,QDBusObjectPath))); + QDBusConnection::systemBus().connect(Logind::serviceName(), Logind::managerPath(), Logind::managerIfaceName(), QStringLiteral("SeatRemoved"), this, SLOT(logindSeatRemoved(QString,QDBusObjectPath))); ++ ++ QTimer::singleShot(5000, this, &SeatManager::checkSeat); + } + + void SeatManager::createSeat(const QString &name) { +@@ -152,6 +157,23 @@ namespace SDDM { + m_seats.value(name)->createDisplay(Display::defaultDisplayServerType()); + } + ++ // this is a bit hacky, but linux DRM drivers ++ // won't initially be available so there is a race ++ // between determing if a efifb/etc graphical object ++ // is the only graphics on the machine, or a DRM driver ++ // will take over the display. So we will hang out for a few ++ // seconds and if none of the seats are declared cangraphical ++ // its possible the only graphics on the machine don't have ++ // a drm driver. ++ void SeatManager::checkSeat(void) { ++ if (m_seats.isEmpty()) { ++ //if (QFileInfo::exists(QStringLiteral("/dev/fb0"))) { ++ qWarning() << "No graphical seats found, attempt to start one on the main console anyway..."; ++ createSeat(QStringLiteral("seat0")); ++ //} ++ } ++ } ++ + void SDDM::SeatManager::logindSeatAdded(const QString& name, const QDBusObjectPath& objectPath) + { + auto logindSeat = new LogindSeat(name, objectPath); +diff --git a/src/daemon/SeatManager.h b/src/daemon/SeatManager.h +index b2f9796..aa43047 100644 +--- a/src/daemon/SeatManager.h ++++ b/src/daemon/SeatManager.h +@@ -49,6 +49,7 @@ namespace SDDM { + private: + QHash m_seats; //these will exist only for graphical seats + QHash m_systemSeats; //these will exist for all seats ++ void checkSeat(void); + }; + } + +-- +2.39.2 + diff --git a/sddm/README.scripts b/sddm/README.scripts new file mode 100644 index 0000000..70b5243 --- /dev/null +++ b/sddm/README.scripts @@ -0,0 +1,2 @@ +This scripts dir contains only samples, but are generally not used directly. +In practice, sddm runtime uses items under /etc/sddm by default diff --git a/sddm/sddm-0.18.0-environment_file.patch b/sddm/sddm-0.18.0-environment_file.patch new file mode 100644 index 0000000..6f89c36 --- /dev/null +++ b/sddm/sddm-0.18.0-environment_file.patch @@ -0,0 +1,11 @@ +diff -up sddm-0.18.0/services/sddm.service.in.env sddm-0.18.0/services/sddm.service.in +--- sddm-0.18.0/services/sddm.service.in.env 2018-07-18 05:31:40.000000000 -0500 ++++ sddm-0.18.0/services/sddm.service.in 2019-03-14 08:23:22.095498405 -0500 +@@ -7,6 +7,7 @@ After=systemd-user-sessions.service gett + [Service] + ExecStart=@CMAKE_INSTALL_FULL_BINDIR@/sddm + Restart=always ++EnvironmentFile=-/etc/sysconfig/sddm + + [Install] + Alias=display-manager.service diff --git a/sddm/sddm-0.20.0-fedora_config.patch b/sddm/sddm-0.20.0-fedora_config.patch new file mode 100644 index 0000000..ec6c1b6 --- /dev/null +++ b/sddm/sddm-0.20.0-fedora_config.patch @@ -0,0 +1,53 @@ +diff --git a/src/common/Configuration.h b/src/common/Configuration.h +index 54bcace..9b8fa22 100644 +--- a/src/common/Configuration.h ++++ b/src/common/Configuration.h +@@ -37,9 +37,8 @@ namespace SDDM { + enum NumState { NUM_NONE, NUM_SET_ON, NUM_SET_OFF }; + + // Name Type Default value Description +- // TODO: Change default to x11-user in a future release +- Entry(DisplayServer, QString, _S("x11"), _S("Which display server should be used.\n" +- "Valid values are: x11, x11-user, wayland. Wayland support is experimental")); ++ Entry(DisplayServer, QString, _S("wayland"), _S("Which display server should be used.\n" ++ "Valid values are: x11, x11-user, wayland.")); + Entry(HaltCommand, QString, _S(HALT_COMMAND), _S("Halt command")); + Entry(RebootCommand, QString, _S(REBOOT_COMMAND), _S("Reboot command")); + Entry(Numlock, NumState, NUM_NONE, _S("Initial NumLock state. Can be on, off or none.\n" +@@ -51,7 +50,7 @@ namespace SDDM { + // Name Entries (but it's a regular class again) + Section(Theme, + Entry(ThemeDir, QString, _S(DATA_INSTALL_DIR "/themes"), _S("Theme directory path")); +- Entry(Current, QString, _S(""), _S("Current theme name")); ++ Entry(Current, QString, _S("01-breeze-fedora"), _S("Current theme name")); + Entry(FacesDir, QString, _S(DATA_INSTALL_DIR "/faces"), _S("Global directory for user avatars\n" + "The files should be named .face.icon")); + Entry(CursorTheme, QString, QString(), _S("Cursor theme used in the greeter")); +@@ -71,9 +70,9 @@ namespace SDDM { + Entry(SessionDir, QStringList, {_S("/usr/local/share/xsessions"), + _S("/usr/share/xsessions")}, _S("Comma-separated list of directories containing available X sessions")); + Entry(SessionCommand, QString, _S(SESSION_COMMAND), _S("Path to a script to execute when starting the desktop session")); +- Entry(SessionLogFile, QString, _S(".local/share/sddm/xorg-session.log"), _S("Path to the user session log file")); +- Entry(DisplayCommand, QString, _S(DATA_INSTALL_DIR "/scripts/Xsetup"), _S("Path to a script to execute when starting the display server")); +- Entry(DisplayStopCommand, QString, _S(DATA_INSTALL_DIR "/scripts/Xstop"), _S("Path to a script to execute when stopping the display server")); ++ Entry(SessionLogFile, QString, _S(".cache/xsession-errors"), _S("Path to the user session log file")); ++ Entry(DisplayCommand, QString, _S(SYS_CONFIG_DIR "/sddm/Xsetup"), _S("Path to a script to execute when starting the display server")); ++ Entry(DisplayStopCommand, QString, _S(SYS_CONFIG_DIR "/sddm/Xstop"), _S("Path to a script to execute when stopping the display server")); + Entry(EnableHiDPI, bool, true, _S("Enable Qt's automatic high-DPI scaling")); + ); + +@@ -82,12 +81,12 @@ namespace SDDM { + Entry(SessionDir, QStringList, {_S("/usr/local/share/wayland-sessions"), + _S("/usr/share/wayland-sessions")}, _S("Comma-separated list of directories containing available Wayland sessions")); + Entry(SessionCommand, QString, _S(WAYLAND_SESSION_COMMAND), _S("Path to a script to execute when starting the desktop session")); +- Entry(SessionLogFile, QString, _S(".local/share/sddm/wayland-session.log"),_S("Path to the user session log file")); ++ Entry(SessionLogFile, QString, _S(".cache/wayland-errors"), _S("Path to the user session log file")); + Entry(EnableHiDPI, bool, true, _S("Enable Qt's automatic high-DPI scaling")); + ); + + Section(Users, +- Entry(DefaultPath, QString, _S("/usr/local/bin:/usr/bin:/bin"), _S("Default $PATH for logged in users")); ++ Entry(DefaultPath, QString, _S("/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin"), _S("Default $PATH for logged in users")); + Entry(MinimumUid, int, UID_MIN, _S("Minimum user id for displayed users")); + Entry(MaximumUid, int, UID_MAX, _S("Maximum user id for displayed users")); + Entry(HideUsers, QStringList, QStringList(), _S("Comma-separated list of users that should not be listed")); diff --git a/sddm/sddm-0.21.0-qt6greeter.patch b/sddm/sddm-0.21.0-qt6greeter.patch new file mode 100644 index 0000000..b9e95a5 --- /dev/null +++ b/sddm/sddm-0.21.0-qt6greeter.patch @@ -0,0 +1,67 @@ +From 52175648f4e1b415f93b24a3ef970983024659f2 Mon Sep 17 00:00:00 2001 +From: Neal Gompa +Date: Wed, 28 Feb 2024 16:47:16 -0500 +Subject: [PATCH] Default to Qt6 and always use versioned greeters + +Distributors can handle creating an unversioned name if necessary. +--- + src/common/ThemeMetadata.cpp | 4 ++-- + src/daemon/Greeter.cpp | 3 +-- + src/greeter/CMakeLists.txt | 9 +-------- + 3 files changed, 4 insertions(+), 12 deletions(-) + +diff --git a/src/common/ThemeMetadata.cpp b/src/common/ThemeMetadata.cpp +index 2cb3762..003056a 100644 +--- a/src/common/ThemeMetadata.cpp ++++ b/src/common/ThemeMetadata.cpp +@@ -28,7 +28,7 @@ namespace SDDM { + QString mainScript { QStringLiteral("Main.qml") }; + QString configFile; + QString translationsDirectory { QStringLiteral(".") }; +- int qtVersion = 5; ++ int qtVersion = 6; + }; + + ThemeMetadata::ThemeMetadata(const QString &path, QObject *parent) : QObject(parent), d(new ThemeMetadataPrivate()) { +@@ -61,6 +61,6 @@ namespace SDDM { + d->mainScript = settings.value(QStringLiteral("SddmGreeterTheme/MainScript"), QStringLiteral("Main.qml")).toString(); + d->configFile = settings.value(QStringLiteral("SddmGreeterTheme/ConfigFile"), QStringLiteral("theme.conf")).toString(); + d->translationsDirectory = settings.value(QStringLiteral("SddmGreeterTheme/TranslationsDirectory"), QStringLiteral(".")).toString(); +- d->qtVersion = settings.value(QStringLiteral("SddmGreeterTheme/QtVersion"), 5).toInt(); ++ d->qtVersion = settings.value(QStringLiteral("SddmGreeterTheme/QtVersion"), 6).toInt(); + } + } +diff --git a/src/daemon/Greeter.cpp b/src/daemon/Greeter.cpp +index 07fccde..5a956b6 100644 +--- a/src/daemon/Greeter.cpp ++++ b/src/daemon/Greeter.cpp +@@ -82,8 +82,7 @@ namespace SDDM { + + QString Greeter::greeterPathForQt(int qtVersion) + { +- const QString suffix = qtVersion == 5 ? QString() : QStringLiteral("-qt%1").arg(qtVersion); +- return QStringLiteral(BIN_INSTALL_DIR "/sddm-greeter%1").arg(suffix); ++ return QStringLiteral(BIN_INSTALL_DIR "/sddm-greeter-qt%1").arg(qtVersion); + } + + bool Greeter::start() { +diff --git a/src/greeter/CMakeLists.txt b/src/greeter/CMakeLists.txt +index 72769e4..524368d 100644 +--- a/src/greeter/CMakeLists.txt ++++ b/src/greeter/CMakeLists.txt +@@ -1,11 +1,4 @@ +-if(QT_MAJOR_VERSION EQUAL "5") +- # Keep the unversioned name for Qt5. When upgrading SDDM, the old daemon +- # might still be running and only know about "sddm-greeter". Keeping the +- # previous name around also helps users calling it directly. +- set(GREETER_TARGET sddm-greeter) +-else() +- set(GREETER_TARGET sddm-greeter-qt${QT_MAJOR_VERSION}) +-endif() ++set(GREETER_TARGET sddm-greeter-qt${QT_MAJOR_VERSION}) + + message(STATUS "Building greeter for Qt ${QT_MAJOR_VERSION} as ${GREETER_TARGET}") + +-- +2.43.0 + diff --git a/sddm/sddm-0.21.0.tar.gz b/sddm/sddm-0.21.0.tar.gz new file mode 100644 index 0000000..80b7674 Binary files /dev/null and b/sddm/sddm-0.21.0.tar.gz differ diff --git a/sddm/sddm-PR1876.patch b/sddm/sddm-PR1876.patch new file mode 100644 index 0000000..c0a89fa --- /dev/null +++ b/sddm/sddm-PR1876.patch @@ -0,0 +1,1018 @@ +From 6831a26862e15347296a48a9b7825c7db7b5b957 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Tue, 30 Jan 2024 20:16:25 -0800 +Subject: [PATCH 1/7] Mark keyboard backend as disabled on Wayland + +8c370d9 already cleared the list of layouts, but Num/Caps indicators +are also not supported on Wayland. Let's communicate that clearly by +marking the KeyboardModel as disabled. +--- + src/greeter/waylandkeyboardbackend.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/greeter/waylandkeyboardbackend.cpp b/src/greeter/waylandkeyboardbackend.cpp +index fcea53614..c42bee6f2 100644 +--- a/src/greeter/waylandkeyboardbackend.cpp ++++ b/src/greeter/waylandkeyboardbackend.cpp +@@ -95,6 +95,7 @@ void WaylandKeyboardBackend::init() + // TODO: We can't actually switch keyboard layout yet, so don't populate a list of layouts + // so that themes can know to not show the option to change layout + // d->layouts = parseRules(QStringLiteral("/usr/share/X11/xkb/rules/evdev.xml"), d->layout_id); ++ d->enabled = false; + } + + void WaylandKeyboardBackend::disconnect() + +From e490bb994ada2a565e95fd32fb18818b1f05ff82 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Tue, 30 Jan 2024 21:10:15 -0800 +Subject: [PATCH 2/7] Themes: hide LayoutBox when keyboard model is empty or + disabled + +--- + data/themes/elarun/Main.qml | 4 ++++ + data/themes/maldives/Main.qml | 2 ++ + data/themes/maya/Main.qml | 4 ++++ + src/greeter/theme/Main.qml | 4 ++++ + 4 files changed, 14 insertions(+) + +diff --git a/data/themes/elarun/Main.qml b/data/themes/elarun/Main.qml +index e559b741b..523dab7b3 100644 +--- a/data/themes/elarun/Main.qml ++++ b/data/themes/elarun/Main.qml +@@ -270,6 +270,8 @@ Rectangle { + height: parent.height + anchors.verticalCenter: parent.verticalCenter + ++ visible: layoutBox.visible ++ + text: textConstants.layout + font.pixelSize: 14 + verticalAlignment: Text.AlignVCenter +@@ -281,6 +283,8 @@ Rectangle { + anchors.verticalCenter: parent.verticalCenter + font.pixelSize: 14 + ++ visible: keyboard.enabled && keyboard.layouts.length > 0 ++ + arrowIcon: "angle-down.png" + + KeyNavigation.backtab: session; KeyNavigation.tab: user_entry +diff --git a/data/themes/maldives/Main.qml b/data/themes/maldives/Main.qml +index 4fac9f3c5..7f1959a5f 100644 +--- a/data/themes/maldives/Main.qml ++++ b/data/themes/maldives/Main.qml +@@ -201,6 +201,8 @@ Rectangle { + spacing : 4 + anchors.bottom: parent.bottom + ++ visible: keyboard.enabled && keyboard.layouts.length > 0 ++ + Text { + id: lblLayout + width: parent.width +diff --git a/data/themes/maya/Main.qml b/data/themes/maya/Main.qml +index d8e470b39..d166b718c 100644 +--- a/data/themes/maya/Main.qml ++++ b/data/themes/maya/Main.qml +@@ -239,6 +239,8 @@ Rectangle { + width : spUnit * 2 + height : parent.height + ++ visible : keyboard.enabled && keyboard.layouts.length > 0 ++ + color : primaryHue1 + borderColor : primaryHue3 + focusColor : accentLight +@@ -261,6 +263,8 @@ Rectangle { + + text : textConstants.layout + ++ visible : maya_layout.visible ++ + color : normalText + + font.family : opensans_cond_light.name +diff --git a/src/greeter/theme/Main.qml b/src/greeter/theme/Main.qml +index 0a2ab9c84..2106f6004 100644 +--- a/src/greeter/theme/Main.qml ++++ b/src/greeter/theme/Main.qml +@@ -236,6 +236,8 @@ Rectangle { + height: parent.height + anchors.verticalCenter: parent.verticalCenter + ++ visible: layoutBox.visible ++ + text: textConstants.layout + font.pixelSize: 16 + verticalAlignment: Text.AlignVCenter +@@ -247,6 +249,8 @@ Rectangle { + anchors.verticalCenter: parent.verticalCenter + font.pixelSize: 14 + ++ visible: keyboard.enabled && keyboard.layouts.length > 0 ++ + arrowIcon: "angle-down.png" + + KeyNavigation.backtab: session; KeyNavigation.tab: btnShutdown + +From a8dad084766a31d92252b2c2707c778dca1f30cc Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Wed, 31 Jan 2024 02:08:47 -0800 +Subject: [PATCH 3/7] Themes: explicitly resolve image URLs + +Qt6 no longer resolves relative URLs on assignment to a property of type +url[^1]. The resolution now happens late, in the context of the item that +uses the URL. In our case, it would be a QML component containing Image. +However, the themes shipped with SDDM contain resources in the theme +directories and rely on the previous algorithm of the URL resolution. + +The only documented[^2] way to address that is to resolve the paths in +advance with `Qt.resolvedUrl` to avoid any ambiguity. `Qt.resolvedUrl` +is supported in Qt5, so that should be a safe, albeit a bit verbose, +conversion. + +Fixes following error: +``` +file:///usr/lib64/qt6/qml/SddmComponents/ComboBox.qml:105:9: QML Image: Cannot open: file:///usr/lib64/qt6/qml/SddmComponents/angle-down.png +``` + +[^1]: https://doc.qt.io/qt-6/qml-url.html +[^2]: `QQmlAbstractUrlInterceptor` exists in Qt5, but + `QQmlEngine::setUrlInterceptor` is undocumented and has potential +negative side-effects. It also receives already resolved absolute URLs. +--- + data/themes/elarun/Main.qml | 29 +++++++++++++++-------------- + data/themes/maldives/Main.qml | 13 +++++++------ + data/themes/maya/Main.qml | 10 +++++----- + docs/THEMING.md | 2 +- + src/greeter/theme/Main.qml | 14 +++++++------- + 5 files changed, 35 insertions(+), 33 deletions(-) + +diff --git a/data/themes/elarun/Main.qml b/data/themes/elarun/Main.qml +index 523dab7b3..8151bb52a 100644 +--- a/data/themes/elarun/Main.qml ++++ b/data/themes/elarun/Main.qml +@@ -50,11 +50,12 @@ Rectangle { + + Background { + anchors.fill: parent +- source: config.background ++ source: Qt.resolvedUrl(config.background) + fillMode: Image.PreserveAspectCrop + onStatusChanged: { +- if (status == Image.Error && source != config.defaultBackground) { +- source = config.defaultBackground ++ var defaultBackground = Qt.resolvedUrl(config.defaultBackground) ++ if (status == Image.Error && source != defaultBackground) { ++ source = defaultBackground + } + } + } +@@ -72,12 +73,12 @@ Rectangle { + + Image { + anchors.fill: parent +- source: "images/rectangle.png" ++ source: Qt.resolvedUrl("images/rectangle.png") + } + + Image { + anchors.fill: parent +- source: "images/rectangle_overlay.png" ++ source: Qt.resolvedUrl("images/rectangle_overlay.png") + opacity: 0.1 + } + +@@ -103,7 +104,7 @@ Rectangle { + anchors.centerIn: parent + + Row { +- Image { source: "images/user_icon.png" } ++ Image { source: Qt.resolvedUrl("images/user_icon.png") } + + TextBox { + id: user_entry +@@ -121,7 +122,7 @@ Rectangle { + + Row { + +- Image { source: "images/lock.png" } ++ Image { source: Qt.resolvedUrl("images/lock.png") } + + PasswordBox { + id: pw_entry +@@ -150,7 +151,7 @@ Rectangle { + anchors.verticalCenter: parent.verticalCenter + anchors.margins: 20 + +- source: "images/login_normal.png" ++ source: Qt.resolvedUrl("images/login_normal.png") + + onClicked: sddm.login(user_entry.text, pw_entry.text, sessionIndex) + +@@ -171,7 +172,7 @@ Rectangle { + + ImageButton { + id: system_button +- source: "images/system_shutdown.png" ++ source: Qt.resolvedUrl("images/system_shutdown.png") + onClicked: sddm.powerOff() + + KeyNavigation.backtab: session; KeyNavigation.tab: reboot_button +@@ -179,7 +180,7 @@ Rectangle { + + ImageButton { + id: reboot_button +- source: "images/system_reboot.png" ++ source: Qt.resolvedUrl("images/system_reboot.png") + onClicked: sddm.reboot() + + KeyNavigation.backtab: system_button; KeyNavigation.tab: suspend_button +@@ -187,7 +188,7 @@ Rectangle { + + ImageButton { + id: suspend_button +- source: "images/system_suspend.png" ++ source: Qt.resolvedUrl("images/system_suspend.png") + visible: sddm.canSuspend + onClicked: sddm.suspend() + +@@ -196,7 +197,7 @@ Rectangle { + + ImageButton { + id: hibernate_button +- source: "images/system_hibernate.png" ++ source: Qt.resolvedUrl("images/system_hibernate.png") + visible: sddm.canHibernate + onClicked: sddm.hibernate() + +@@ -256,7 +257,7 @@ Rectangle { + width: 245 + anchors.verticalCenter: parent.verticalCenter + +- arrowIcon: "angle-down.png" ++ arrowIcon: Qt.resolvedUrl("angle-down.png") + + model: sessionModel + index: sessionModel.lastIndex +@@ -285,7 +286,7 @@ Rectangle { + + visible: keyboard.enabled && keyboard.layouts.length > 0 + +- arrowIcon: "angle-down.png" ++ arrowIcon: Qt.resolvedUrl("angle-down.png") + + KeyNavigation.backtab: session; KeyNavigation.tab: user_entry + } +diff --git a/data/themes/maldives/Main.qml b/data/themes/maldives/Main.qml +index 7f1959a5f..f346829e8 100644 +--- a/data/themes/maldives/Main.qml ++++ b/data/themes/maldives/Main.qml +@@ -58,11 +58,12 @@ Rectangle { + + Background { + anchors.fill: parent +- source: config.background ++ source: Qt.resolvedUrl(config.background) + fillMode: Image.PreserveAspectCrop + onStatusChanged: { +- if (status == Image.Error && source != config.defaultBackground) { +- source = config.defaultBackground ++ var defaultBackground = Qt.resolvedUrl(config.defaultBackground) ++ if (status == Image.Error && source != defaultBackground) { ++ source = defaultBackground + } + } + } +@@ -87,7 +88,7 @@ Rectangle { + width: Math.max(320, mainColumn.implicitWidth + 50) + height: Math.max(320, mainColumn.implicitHeight + 50) + +- source: "rectangle.png" ++ source: Qt.resolvedUrl("rectangle.png") + + Column { + id: mainColumn +@@ -186,7 +187,7 @@ Rectangle { + width: parent.width; height: 30 + font.pixelSize: 14 + +- arrowIcon: "angle-down.png" ++ arrowIcon: Qt.resolvedUrl("angle-down.png") + + model: sessionModel + index: sessionModel.lastIndex +@@ -217,7 +218,7 @@ Rectangle { + width: parent.width; height: 30 + font.pixelSize: 14 + +- arrowIcon: "angle-down.png" ++ arrowIcon: Qt.resolvedUrl("angle-down.png") + + KeyNavigation.backtab: session; KeyNavigation.tab: loginButton + } +diff --git a/data/themes/maya/Main.qml b/data/themes/maya/Main.qml +index d166b718c..30bb530ca 100644 +--- a/data/themes/maya/Main.qml ++++ b/data/themes/maya/Main.qml +@@ -251,7 +251,7 @@ Rectangle { + font.family : opensans_cond_light.name + font.pixelSize : spFontNormal + +- arrowIcon: "images/ic_arrow_drop_down_white_24px.svg" ++ arrowIcon: Qt.resolvedUrl("images/ic_arrow_drop_down_white_24px.svg") + arrowColor: primaryHue3 + + KeyNavigation.tab : maya_username +@@ -296,7 +296,7 @@ Rectangle { + font.family : opensans_cond_light.name + font.pixelSize : spFontNormal + +- arrowIcon: "images/ic_arrow_drop_down_white_24px.svg" ++ arrowIcon: Qt.resolvedUrl("images/ic_arrow_drop_down_white_24px.svg") + arrowColor: primaryHue3 + + KeyNavigation.tab : maya_layout +@@ -355,7 +355,7 @@ Rectangle { + label : textConstants.shutdown + labelColor : normalText + +- icon : "images/ic_power_settings_new_white_24px.svg" ++ icon : Qt.resolvedUrl("images/ic_power_settings_new_white_24px.svg") + iconColor : accentShade + + hoverIconColor : powerColor +@@ -381,7 +381,7 @@ Rectangle { + label : textConstants.reboot + labelColor : normalText + +- icon : "images/ic_refresh_white_24px.svg" ++ icon : Qt.resolvedUrl("images/ic_refresh_white_24px.svg") + iconColor : accentLight + + hoverIconColor : rebootColor +@@ -492,7 +492,7 @@ Rectangle { + hoverColor : accentLight + textColor : normalText + +- image : "images/ic_warning_white_24px.svg" ++ image : Qt.resolvedUrl("images/ic_warning_white_24px.svg") + + tooltipEnabled : true + tooltipText : textConstants.capslockWarning +diff --git a/docs/THEMING.md b/docs/THEMING.md +index bc69be003..873172192 100644 +--- a/docs/THEMING.md ++++ b/docs/THEMING.md +@@ -8,7 +8,7 @@ We also provide models containing information about the screens, available sessi + + ComboBox { + id: session +- arrowIcon: "angle-down.png" ++ arrowIcon: Qt.resolvedPath("angle-down.png") + model: sessionModel + index: sessionModel.lastIndex + } +diff --git a/src/greeter/theme/Main.qml b/src/greeter/theme/Main.qml +index 2106f6004..b799670ac 100644 +--- a/src/greeter/theme/Main.qml ++++ b/src/greeter/theme/Main.qml +@@ -55,7 +55,7 @@ Rectangle { + + Background { + anchors.fill: parent +- source: "qrc:/theme/background.png" ++ source: "qrc:///theme/background.png" + fillMode: Image.PreserveAspectCrop + onStatusChanged: { + if (status == Image.Error && source != config.defaultBackground) { +@@ -131,7 +131,7 @@ Rectangle { + anchors.left: parent.left + anchors.verticalCenter: parent.verticalCenter + anchors.margins: 10 +- source: "angle-left.png" ++ source: "qrc:///theme/angle-left.png" + onClicked: listView.decrementCurrentIndex() + + KeyNavigation.backtab: btnShutdown; KeyNavigation.tab: listView +@@ -162,7 +162,7 @@ Rectangle { + anchors.right: parent.right + anchors.verticalCenter: parent.verticalCenter + anchors.margins: 10 +- source: "angle-right.png" ++ source: "qrc:///theme/angle-right.png" + onClicked: listView.incrementCurrentIndex() + KeyNavigation.backtab: listView; KeyNavigation.tab: session + } +@@ -222,7 +222,7 @@ Rectangle { + width: 245 + anchors.verticalCenter: parent.verticalCenter + +- arrowIcon: "angle-down.png" ++ arrowIcon: "qrc:///theme/angle-down.png" + + model: sessionModel + index: sessionModel.lastIndex +@@ -251,7 +251,7 @@ Rectangle { + + visible: keyboard.enabled && keyboard.layouts.length > 0 + +- arrowIcon: "angle-down.png" ++ arrowIcon: "qrc:///theme/angle-down.png" + + KeyNavigation.backtab: session; KeyNavigation.tab: btnShutdown + } +@@ -266,7 +266,7 @@ Rectangle { + ImageButton { + id: btnReboot + height: parent.height +- source: "reboot.png" ++ source: "qrc:///theme/reboot.png" + + visible: sddm.canReboot + +@@ -278,7 +278,7 @@ Rectangle { + ImageButton { + id: btnShutdown + height: parent.height +- source: "shutdown.png" ++ source: "qrc:///theme/shutdown.png" + + visible: sddm.canPowerOff + + +From fb6849312dd5eddf312b7bdb660162f23a2bdab8 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Mon, 26 Feb 2024 19:39:53 -0800 +Subject: [PATCH 4/7] Components: use Transitions instead of Behaviors + +It's not recommended[^1] to use Behaviors with States, but the specific +examples in SDDM weren't causing any problems previously (on Qt5). + +Now, with Qt6 support, we can finally observe the promised bugs from the +referenced article in the wild: + +* ComboBox can be closed only once. On a second activation it stays open +* Button color transitions on focus out are abruptly stopped on a wrong + color +* ... (this is where I noticed a pattern and decided to convert + everything else preemptively). + +This commit essentially reverts 930fa07bf24d391d42abcfb981f145117292d49d + +[^1]: https://doc.qt.io/qt-5/qtquick-statesanimations-behaviors.html +--- + components/2.0/Button.qml | 4 +++- + components/2.0/ComboBox.qml | 12 ++++++++---- + components/2.0/ImageButton.qml | 4 +++- + components/2.0/Menu.qml | 6 ++++-- + components/2.0/PictureBox.qml | 6 ++++-- + components/2.0/TextBox.qml | 6 ++++-- + 6 files changed, 26 insertions(+), 12 deletions(-) + +diff --git a/components/2.0/Button.qml b/components/2.0/Button.qml +index cedc8356e..7c74f1ded 100644 +--- a/components/2.0/Button.qml ++++ b/components/2.0/Button.qml +@@ -67,7 +67,9 @@ Rectangle { + } + ] + +- Behavior on color { NumberAnimation { duration: 200 } } ++ transitions: Transition { ++ ColorAnimation { duration: 200 } ++ } + + clip: true + smooth: true +diff --git a/components/2.0/ComboBox.qml b/components/2.0/ComboBox.qml +index 26bbef35e..e7fdb3362 100644 +--- a/components/2.0/ComboBox.qml ++++ b/components/2.0/ComboBox.qml +@@ -70,8 +70,6 @@ FocusScope { + border.color: container.borderColor + border.width: container.borderWidth + +- Behavior on border.color { ColorAnimation { duration: 100 } } +- + states: [ + State { + name: "hover"; when: mouseArea.containsMouse +@@ -82,6 +80,10 @@ FocusScope { + PropertyChanges { target: main; border.width: container.borderWidth; border.color: container.focusColor } + } + ] ++ ++ transitions: Transition { ++ ColorAnimation { property: "border.color"; duration: 100 } ++ } + } + + Loader { +@@ -157,8 +159,6 @@ FocusScope { + + clip: true + +- Behavior on height { NumberAnimation { duration: 100 } } +- + Component { + id: myDelegate + +@@ -214,6 +214,10 @@ FocusScope { + PropertyChanges { target: dropDown; height: (container.height - 2*container.borderWidth) * listView.count + container.borderWidth} + } + ] ++ ++ transitions: Transition { ++ NumberAnimation { property: "height"; duration: 100 } ++ } + } + + function toggle() { +diff --git a/components/2.0/ImageButton.qml b/components/2.0/ImageButton.qml +index 6277148ab..28bc940be 100644 +--- a/components/2.0/ImageButton.qml ++++ b/components/2.0/ImageButton.qml +@@ -53,7 +53,9 @@ Image { + } + ] + +- Behavior on opacity { NumberAnimation { duration: 200 } } ++ transitions: Transition { ++ NumberAnimation { property: "opacity"; duration: 200 } ++ } + + clip: true + smooth: true +diff --git a/components/2.0/Menu.qml b/components/2.0/Menu.qml +index 8ef29841e..9acecb9e2 100644 +--- a/components/2.0/Menu.qml ++++ b/components/2.0/Menu.qml +@@ -34,8 +34,6 @@ Rectangle { + property alias model: menuList.model + property alias index: menuList.currentIndex + +- Behavior on height { NumberAnimation { duration: 100 } } +- + states: [ + State { + name: "visible"; +@@ -43,6 +41,10 @@ Rectangle { + } + ] + ++ transitions: Transition { ++ NumberAnimation { property: "height"; duration: 100 } ++ } ++ + Component { + id: listViewItem + +diff --git a/components/2.0/PictureBox.qml b/components/2.0/PictureBox.qml +index eb2fbfee8..b9571f04e 100644 +--- a/components/2.0/PictureBox.qml ++++ b/components/2.0/PictureBox.qml +@@ -37,8 +37,6 @@ FocusScope { + + signal login() + +- Behavior on height { NumberAnimation { duration: 100 } } +- + states: [ + State { + name: "" +@@ -50,6 +48,10 @@ FocusScope { + } + ] + ++ transitions: Transition { ++ NumberAnimation { property: "height"; duration: 100 } ++ } ++ + Rectangle { + id: shadow + anchors.fill: parent +diff --git a/components/2.0/TextBox.qml b/components/2.0/TextBox.qml +index a8d89afd5..0db8ce885 100644 +--- a/components/2.0/TextBox.qml ++++ b/components/2.0/TextBox.qml +@@ -47,8 +47,6 @@ FocusScope { + border.color: container.borderColor + border.width: 1 + +- Behavior on border.color { ColorAnimation { duration: 100 } } +- + states: [ + State { + name: "hover"; when: mouseArea.containsMouse +@@ -59,6 +57,10 @@ FocusScope { + PropertyChanges { target: main; border.width: 1; border.color: container.focusColor } + } + ] ++ ++ transitions: Transition { ++ ColorAnimation { duration: 100 } ++ } + } + + MouseArea { + +From 5c9a8b7d479f8bf019c5fa1a5d9a78ca12db5793 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Mon, 26 Feb 2024 21:11:01 -0800 +Subject: [PATCH 5/7] Themes: fix deprecated signal handler declarations + +Fixes following warnings: +``` +QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo() { ... } +Parameter "event" is not declared. Injection of parameters into signal handlers is deprecated. Use JavaScript functions with formal parameters instead. +``` +--- + components/2.0/Button.qml | 4 ++-- + components/2.0/ComboBox.qml | 2 +- + components/2.0/ImageButton.qml | 4 ++-- + components/2.0/LayoutBox.qml | 8 ++++++-- + components/2.0/PictureBox.qml | 2 +- + data/themes/elarun/Main.qml | 8 ++++---- + data/themes/maldives/Main.qml | 11 +++++------ + data/themes/maya/Main.qml | 10 +++++----- + src/greeter/theme/Main.qml | 6 +++--- + 9 files changed, 29 insertions(+), 26 deletions(-) + +diff --git a/components/2.0/Button.qml b/components/2.0/Button.qml +index 7c74f1ded..4d6d40a76 100644 +--- a/components/2.0/Button.qml ++++ b/components/2.0/Button.qml +@@ -111,7 +111,7 @@ Rectangle { + onReleased: { container.focus = true; container.released() } + } + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Space) { + container.spaceDown = true; + container.pressed() +@@ -122,7 +122,7 @@ Rectangle { + } + } + +- Keys.onReleased: { ++ Keys.onReleased: function (event) { + if (event.key === Qt.Key_Space) { + container.spaceDown = false; + container.released() +diff --git a/components/2.0/ComboBox.qml b/components/2.0/ComboBox.qml +index e7fdb3362..997a3886e 100644 +--- a/components/2.0/ComboBox.qml ++++ b/components/2.0/ComboBox.qml +@@ -134,7 +134,7 @@ FocusScope { + } + } + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Up) { + listView.decrementCurrentIndex() + } else if (event.key === Qt.Key_Down) { +diff --git a/components/2.0/ImageButton.qml b/components/2.0/ImageButton.qml +index 28bc940be..b2c267d2b 100644 +--- a/components/2.0/ImageButton.qml ++++ b/components/2.0/ImageButton.qml +@@ -77,7 +77,7 @@ Image { + onReleased: { container.focus = true; container.released() } + } + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Space) { + container.spaceDown = true; + container.pressed() +@@ -88,7 +88,7 @@ Image { + } + } + +- Keys.onReleased: { ++ Keys.onReleased: function (event) { + if (event.key === Qt.Key_Space) { + container.spaceDown = false; + container.released() +diff --git a/components/2.0/LayoutBox.qml b/components/2.0/LayoutBox.qml +index b992f28de..5e62acd3f 100644 +--- a/components/2.0/LayoutBox.qml ++++ b/components/2.0/LayoutBox.qml +@@ -30,12 +30,16 @@ ComboBox { + model: keyboard.layouts + index: keyboard.currentLayout + +- onValueChanged: keyboard.currentLayout = id ++ function onValueChanged(id) { ++ keyboard.currentLayout = id ++ } + + Connections { + target: keyboard + +- onCurrentLayoutChanged: combo.index = keyboard.currentLayout ++ function onCurrentLayoutChanged() { ++ combo.index = keyboard.currentLayout ++ } + } + + rowDelegate: Rectangle { +diff --git a/components/2.0/PictureBox.qml b/components/2.0/PictureBox.qml +index b9571f04e..560556e40 100644 +--- a/components/2.0/PictureBox.qml ++++ b/components/2.0/PictureBox.qml +@@ -105,7 +105,7 @@ FocusScope { + focus: true + visible: showPassword + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) { + container.login(); + event.accepted = true +diff --git a/data/themes/elarun/Main.qml b/data/themes/elarun/Main.qml +index 8151bb52a..d0caadaea 100644 +--- a/data/themes/elarun/Main.qml ++++ b/data/themes/elarun/Main.qml +@@ -39,11 +39,11 @@ Rectangle { + + Connections { + target: sddm +- onLoginSucceeded: { ++ function onLoginSucceeded() { + } +- onInformationMessage: { ++ function onInformationMessage(message) { + } +- onLoginFailed: { ++ function onLoginFailed() { + pw_entry.text = "" + } + } +@@ -135,7 +135,7 @@ Rectangle { + + KeyNavigation.backtab: user_entry; KeyNavigation.tab: login_button + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) { + sddm.login(user_entry.text, pw_entry.text, sessionIndex) + event.accepted = true +diff --git a/data/themes/maldives/Main.qml b/data/themes/maldives/Main.qml +index f346829e8..17b1b8aff 100644 +--- a/data/themes/maldives/Main.qml ++++ b/data/themes/maldives/Main.qml +@@ -40,17 +40,16 @@ Rectangle { + Connections { + target: sddm + +- onLoginSucceeded: { ++ function onLoginSucceeded() { + errorMessage.color = "steelblue" + errorMessage.text = textConstants.loginSucceeded + } +- +- onLoginFailed: { ++ function onLoginFailed() { + password.text = "" + errorMessage.color = "red" + errorMessage.text = textConstants.loginFailed + } +- onInformationMessage: { ++ function onInformationMessage(message) { + errorMessage.color = "red" + errorMessage.text = message + } +@@ -126,7 +125,7 @@ Rectangle { + + KeyNavigation.backtab: rebootButton; KeyNavigation.tab: password + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) { + sddm.login(name.text, password.text, sessionIndex) + event.accepted = true +@@ -153,7 +152,7 @@ Rectangle { + + KeyNavigation.backtab: name; KeyNavigation.tab: session + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if (event.key === Qt.Key_Return || event.key === Qt.Key_Enter) { + sddm.login(name.text, password.text, sessionIndex) + event.accepted = true +diff --git a/data/themes/maya/Main.qml b/data/themes/maya/Main.qml +index 30bb530ca..60473a473 100644 +--- a/data/themes/maya/Main.qml ++++ b/data/themes/maya/Main.qml +@@ -75,7 +75,7 @@ Rectangle { + Connections { + target: sddm + +- onLoginSucceeded: { ++ function onLoginSucceeded() { + prompt_bg.color = successText + prompt_txt.text = textConstants.loginSucceeded + +@@ -84,7 +84,7 @@ Rectangle { + + anim_success.start() + } +- onLoginFailed: { ++ function onLoginFailed() { + prompt_bg.color = failureText + prompt_txt.text = textConstants.loginFailed + +@@ -93,7 +93,7 @@ Rectangle { + + anim_failure.start() + } +- onInformationMessage: { ++ function onInformationMessage(message) { + prompt_bg.color = failureText + prompt_txt.text = message + +@@ -505,7 +505,7 @@ Rectangle { + KeyNavigation.tab : maya_login + KeyNavigation.backtab : maya_username + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if ((event.key === Qt.Key_Return) || (event.key === Qt.Key_Enter)) { + maya_root.tryLogin() + +@@ -546,7 +546,7 @@ Rectangle { + + onClicked: maya_root.tryLogin() + +- Keys.onPressed: { ++ Keys.onPressed: function (event) { + if ((event.key === Qt.Key_Return) || (event.key === Qt.Key_Enter)) { + maya_root.tryLogin() + +diff --git a/src/greeter/theme/Main.qml b/src/greeter/theme/Main.qml +index b799670ac..257153b16 100644 +--- a/src/greeter/theme/Main.qml ++++ b/src/greeter/theme/Main.qml +@@ -40,15 +40,15 @@ Rectangle { + + Connections { + target: sddm +- onLoginSucceeded: { ++ function onLoginSucceeded() { + } + +- onLoginFailed: { ++ function onLoginFailed() { + txtMessage.text = textConstants.loginFailed + listView.currentItem.password = "" + } + +- onInformationMessage: { ++ function onInformationMessage(message) { + txtMessage.text = message + } + } + +From ae6313e7433acff4e8bbbfd431a44d715cb306a9 Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Tue, 27 Feb 2024 00:00:04 -0800 +Subject: [PATCH 6/7] Themes: set QtVersion=@QT_MAJOR_VERSION@ + +--- + data/themes/CMakeLists.txt | 12 +++++++++--- + .../elarun/{metadata.desktop => metadata.desktop.in} | 2 +- + .../{metadata.desktop => metadata.desktop.in} | 1 + + .../maya/{metadata.desktop => metadata.desktop.in} | 1 + + src/greeter/CMakeLists.txt | 1 + + src/greeter/theme.qrc | 2 +- + .../theme/{metadata.desktop => metadata.desktop.in} | 1 + + 7 files changed, 15 insertions(+), 5 deletions(-) + rename data/themes/elarun/{metadata.desktop => metadata.desktop.in} (97%) + rename data/themes/maldives/{metadata.desktop => metadata.desktop.in} (92%) + rename data/themes/maya/{metadata.desktop => metadata.desktop.in} (92%) + rename src/greeter/theme/{metadata.desktop => metadata.desktop.in} (92%) + +diff --git a/data/themes/CMakeLists.txt b/data/themes/CMakeLists.txt +index 60b29be2e..a18fe8926 100644 +--- a/data/themes/CMakeLists.txt ++++ b/data/themes/CMakeLists.txt +@@ -10,9 +10,15 @@ foreach(THEME ${THEMES}) + + qt_add_translation(QM_FILES "${TRANSLATION_SOURCES}") + +- install(DIRECTORY "${THEME}" DESTINATION "${DATA_INSTALL_DIR}/themes" PATTERN "${THEME}/*.ts" +- EXCLUDE PATTERN "${THEME}/.gitattributes" +- EXCLUDE) ++ configure_file("${THEME}/metadata.desktop.in" "${THEME}/metadata.desktop" @ONLY) ++ ++ install(DIRECTORY "${THEME}" DESTINATION "${DATA_INSTALL_DIR}/themes" ++ PATTERN "${THEME}/*.in" EXCLUDE ++ PATTERN "${THEME}/*.ts" EXCLUDE ++ PATTERN "${THEME}/.gitattributes" EXCLUDE) ++ ++ install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${THEME}/metadata.desktop" ++ DESTINATION "${DATA_INSTALL_DIR}/themes/${THEME}/") + + list(APPEND THEMES_QM_FILES ${QM_FILES}) + endforeach(THEME) +diff --git a/data/themes/elarun/metadata.desktop b/data/themes/elarun/metadata.desktop.in +similarity index 97% +rename from data/themes/elarun/metadata.desktop +rename to data/themes/elarun/metadata.desktop.in +index 50455880a..a992a6102 100644 +--- a/data/themes/elarun/metadata.desktop ++++ b/data/themes/elarun/metadata.desktop.in +@@ -46,4 +46,4 @@ TranslationsDirectory=translations + Theme-Id=elarun + Theme-API=2.0 + Website=https://github.com/sddm/sddm +- ++QtVersion=@QT_MAJOR_VERSION@ +diff --git a/data/themes/maldives/metadata.desktop b/data/themes/maldives/metadata.desktop.in +similarity index 92% +rename from data/themes/maldives/metadata.desktop +rename to data/themes/maldives/metadata.desktop.in +index acd0fa47d..8931da6cd 100644 +--- a/data/themes/maldives/metadata.desktop ++++ b/data/themes/maldives/metadata.desktop.in +@@ -14,3 +14,4 @@ TranslationsDirectory=translations + Email=abdurrahmanavci@gmail.com + Theme-Id=maldives + Theme-API=2.0 ++QtVersion=@QT_MAJOR_VERSION@ +diff --git a/data/themes/maya/metadata.desktop b/data/themes/maya/metadata.desktop.in +similarity index 92% +rename from data/themes/maya/metadata.desktop +rename to data/themes/maya/metadata.desktop.in +index 0c2ab2623..ccda38bfb 100644 +--- a/data/themes/maya/metadata.desktop ++++ b/data/themes/maya/metadata.desktop.in +@@ -14,3 +14,4 @@ TranslationsDirectory=translations + Email=spremi@ymail.com + Theme-Id=maya + Theme-API=2.0 ++QtVersion=@QT_MAJOR_VERSION@ +diff --git a/src/greeter/CMakeLists.txt b/src/greeter/CMakeLists.txt +index 72769e4d0..b9159c53d 100644 +--- a/src/greeter/CMakeLists.txt ++++ b/src/greeter/CMakeLists.txt +@@ -36,6 +36,7 @@ set(GREETER_SOURCES + ) + + configure_file("theme.qrc" "theme.qrc") ++configure_file("theme/metadata.desktop.in" "theme/metadata.desktop" @ONLY) + + qt_add_resources(RESOURCES ${CMAKE_CURRENT_BINARY_DIR}/theme.qrc) + +diff --git a/src/greeter/theme.qrc b/src/greeter/theme.qrc +index efed01179..299169ec1 100644 +--- a/src/greeter/theme.qrc ++++ b/src/greeter/theme.qrc +@@ -7,7 +7,7 @@ + ${CMAKE_CURRENT_SOURCE_DIR}/theme/Main.qml + ${CMAKE_CURRENT_SOURCE_DIR}/theme/reboot.png + ${CMAKE_CURRENT_SOURCE_DIR}/theme/shutdown.png +- ${CMAKE_CURRENT_SOURCE_DIR}/theme/metadata.desktop ++ ${CMAKE_CURRENT_BINARY_DIR}/theme/metadata.desktop + ${CMAKE_CURRENT_SOURCE_DIR}/theme/theme.conf + + +diff --git a/src/greeter/theme/metadata.desktop b/src/greeter/theme/metadata.desktop.in +similarity index 92% +rename from src/greeter/theme/metadata.desktop +rename to src/greeter/theme/metadata.desktop.in +index a1c22ce93..0a4c9f349 100644 +--- a/src/greeter/theme/metadata.desktop ++++ b/src/greeter/theme/metadata.desktop.in +@@ -14,3 +14,4 @@ TranslationsDirectory=translations + Email=abdurrahmanavci@gmail.com + Theme-Id=maui + Theme-API=2.0 ++QtVersion=@QT_MAJOR_VERSION@ + +From ed30ef9f3897dd14ef1d7d04674166171f646fce Mon Sep 17 00:00:00 2001 +From: Aleksei Bavshin +Date: Tue, 27 Feb 2024 07:07:26 -0800 +Subject: [PATCH 7/7] Docs: add QtVersion information to THEMING + +--- + docs/THEMING.md | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/docs/THEMING.md b/docs/THEMING.md +index 873172192..69997e88a 100644 +--- a/docs/THEMING.md ++++ b/docs/THEMING.md +@@ -13,6 +13,8 @@ We also provide models containing information about the screens, available sessi + index: sessionModel.lastIndex + } + ++Themes are run by a Qt 5 built sddm-greeter, unless the `QtVersion` property in metadata.desktop specifies a different version, such as `QtVersion=6` for using `sddm-greeter-qt6`. ++ + ## Proxy Object + + We provide a proxy object, called as `sddm` to the themes as a context property. This object holds some useful properties about the host system. It also acts as a proxy between the greeter and the daemon. All of the methods called on this object will be transferred to the daemon through a local socket to be executed there. diff --git a/sddm/sddm-autologin.pam b/sddm/sddm-autologin.pam new file mode 100644 index 0000000..f62fad0 --- /dev/null +++ b/sddm/sddm-autologin.pam @@ -0,0 +1,20 @@ + #%PAM-1.0 +auth required pam_env.so +auth required pam_permit.so +auth include postlogin + +account required pam_nologin.so +account include system-auth + +password include system-auth + +session required pam_selinux.so close +session required pam_loginuid.so +session required pam_selinux.so open +session optional pam_keyinit.so force revoke +session required pam_namespace.so +session include system-auth +-session optional pam_gnome_keyring.so auto_start +-session optional pam_kwallet5.so auto_start +-session optional pam_kwallet.so auto_start +session include postlogin diff --git a/sddm/sddm-greeter.pam b/sddm/sddm-greeter.pam new file mode 100644 index 0000000..44e209e --- /dev/null +++ b/sddm/sddm-greeter.pam @@ -0,0 +1,17 @@ +#%PAM-1.0 + +# Load environment from /etc/environment and ~/.pam_environment +auth required pam_env.so + +# Always let the greeter start without authentication +auth required pam_permit.so + +# No action required for account management +account required pam_permit.so + +# Can't change password +password required pam_deny.so + +# Setup session +session required pam_unix.so +session optional pam_systemd.so diff --git a/sddm/sddm-rpmostree-tmpfiles-hack.patch b/sddm/sddm-rpmostree-tmpfiles-hack.patch new file mode 100644 index 0000000..4f06aa1 --- /dev/null +++ b/sddm/sddm-rpmostree-tmpfiles-hack.patch @@ -0,0 +1,12 @@ +diff --git a/services/sddm-tmpfiles.conf.in b/services/sddm-tmpfiles.conf.in +index fb45553..6acfb6c 100644 +--- a/services/sddm-tmpfiles.conf.in ++++ b/services/sddm-tmpfiles.conf.in +@@ -1,5 +1,7 @@ + # Home dir of the sddm user, also contains state.conf + d ${STATE_DIR} 0750 sddm sddm ++# Workaround for https://pagure.io/fedora-kde/SIG/issue/87 ++Z ${STATE_DIR} - sddm sddm + # This contains X11 auth files passed to Xorg and the greeter + d ${RUNTIME_DIR} 0711 root root + # Sockets for IPC diff --git a/sddm/sddm-systemd-sysusers.conf b/sddm/sddm-systemd-sysusers.conf new file mode 100644 index 0000000..05fcb1c --- /dev/null +++ b/sddm/sddm-systemd-sysusers.conf @@ -0,0 +1,2 @@ +#Type Name ID GECOS Home directory Shell +u sddm - "SDDM Greeter Account" /var/lib/sddm - diff --git a/sddm/sddm-x11.conf b/sddm/sddm-x11.conf new file mode 100644 index 0000000..6d16a4a --- /dev/null +++ b/sddm/sddm-x11.conf @@ -0,0 +1,2 @@ +[General] +DisplayServer=x11 diff --git a/sddm/sddm.conf b/sddm/sddm.conf new file mode 100644 index 0000000..c4696b5 --- /dev/null +++ b/sddm/sddm.conf @@ -0,0 +1,122 @@ +[Autologin] +# Whether sddm should automatically log back into sessions when they exit +#Relogin=false + +# Name of session file for autologin session +#Session= + +# Username for autologin session +#User= + + +[General] +# Enable Qt's automatic high-DPI scaling +#EnableHiDPI=false + +# Halt command +#HaltCommand=/usr/bin/systemctl poweroff + +# Initial NumLock state. Can be on, off or none. +# If property is set to none, numlock won't be changed +# NOTE: Currently ignored if autologin is enabled. +#Numlock=none + +# Reboot command +#RebootCommand=/usr/bin/systemctl reboot + +# Control x11/wayland startup +# DisplayServer=wayland + +[Theme] +# Current theme name +#Current=01-breeze-fedora + +# Cursor theme used in the greeter +#CursorTheme= + +# Number of users to use as threshold +# above which avatars are disabled +# unless explicitly enabled with EnableAvatars +#DisableAvatarsThreshold=7 + +# Enable display of custom user avatars +#EnableAvatars=true + +# Global directory for user avatars +# The files should be named .face.icon +#FacesDir=/usr/share/sddm/faces + +# Theme directory path +#ThemeDir=/usr/share/sddm/themes + + +[Users] +# Default $PATH for logged in users +#DefaultPath=/usr/local/bin:/usr/bin:/bin + +# Comma-separated list of shells. +# Users with these shells as their default won't be listed +#HideShells= + +# Comma-separated list of users that should not be listed +#HideUsers= + +# Maximum user id for displayed users +#MaximumUid=60000 + +# Minimum user id for displayed users +#MinimumUid=1000 + +# Remember the session of the last successfully logged in user +#RememberLastSession=true + +# Remember the last successfully logged in user +#RememberLastUser=true + + +[Wayland] +# Path to a script to execute when starting the desktop session +#SessionCommand=/etc/sddm/wayland-session + +# Directory containing available Wayland sessions +#SessionDir=/usr/share/wayland-sessions + +# Path to the user session log file +#SessionLogFile=.cache/wayland-errors + + +[X11] +# Path to a script to execute when starting the display server +#DisplayCommand=/etc/sddm/Xsetup + +# Path to a script to execute when stopping the display server +#DisplayStopCommand=/etc/sddm/Xstop + +# The lowest virtual terminal number that will be used. +#MinimumVT=1 + +# Arguments passed to the X server invocation +#ServerArguments=-nolisten tcp + +# Path to X server binary +#ServerPath=/usr/bin/X + +# Path to a script to execute when starting the desktop session +#SessionCommand=/etc/X11/xinit/Xsession + +# Directory containing available X sessions +#SessionDir=/usr/share/xsessions + +# Path to the user session log file +#SessionLogFile=.cache/xsession-errors + +# Path to the Xauthority file +#UserAuthFile=.Xauthority + +# Path to xauth binary +#XauthPath=/usr/bin/xauth + +# Path to Xephyr binary +#XephyrPath=/usr/bin/Xephyr + + diff --git a/sddm/sddm.pam b/sddm/sddm.pam new file mode 100644 index 0000000..34c0777 --- /dev/null +++ b/sddm/sddm.pam @@ -0,0 +1,23 @@ +auth [success=done ignore=ignore default=bad] pam_selinux_permit.so +auth substack password-auth +-auth optional pam_gnome_keyring.so +-auth optional pam_kwallet5.so +-auth optional pam_kwallet.so +auth include postlogin + +account required pam_nologin.so +account include password-auth + +password include password-auth + +session required pam_selinux.so close +session required pam_loginuid.so +-session optional pam_ck_connector.so +session required pam_selinux.so open +session optional pam_keyinit.so force revoke +session required pam_namespace.so +session include password-auth +-session optional pam_gnome_keyring.so auto_start +-session optional pam_kwallet5.so auto_start +-session optional pam_kwallet.so auto_start +session include postlogin diff --git a/sddm/sddm.spec b/sddm/sddm.spec new file mode 100644 index 0000000..c076e53 --- /dev/null +++ b/sddm/sddm.spec @@ -0,0 +1,860 @@ +# Disable X11 for RHEL 10+ +%bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10] + +Name: sddm +Version: 0.21.0 +Release: 10%{?dist} +License: GPL-2.0-or-later +Summary: QML based desktop and login manager + +URL: https://github.com/sddm/sddm +Source0: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz + +## upstream patches +# Port all themes to Qt 6 +# Submitted: https://github.com/sddm/sddm/pull/1876 +Patch1: sddm-PR1876.patch + +## upstreamable patches +# Fix race with logind restart, and start seat0 if !CanGraphical on timer +# https://bugzilla.redhat.com/show_bug.cgi?id=2011991 +# https://bugzilla.redhat.com/show_bug.cgi?id=2016310 +# Submmited: https://github.com/sddm/sddm/pull/1494 +Patch11: 0001-Delay-for-logind-and-fallback-to-seat0.patch + +## downstream patches +Patch101: sddm-0.20.0-fedora_config.patch + +# sddm.service: +EnvironmentFile=-/etc/sysconfig/sddm +Patch103: sddm-0.18.0-environment_file.patch + +# Workaround for https://pagure.io/fedora-kde/SIG/issue/87 +Patch104: sddm-rpmostree-tmpfiles-hack.patch + +# Workaround lack of Qt 5 greeter build +Patch105: sddm-0.21.0-qt6greeter.patch + +# Shamelessly stolen from gdm +Source10: sddm.pam +# Shamelessly stolen from gdm +Source11: sddm-autologin.pam +# Previously included in sddm sources +Source12: sddm-greeter.pam +# sample sddm.conf generated with sddm --example-config, and entries commented-out +Source13: sddm.conf +# README.scripts +Source14: README.scripts +# sysconfig snippet +Source15: sddm.sysconfig +# sddm x11 override config +Source16: sddm-x11.conf +# sysusers config file. note these are shipped in the upstream tarball +# but we cannot use the files from the tarball for %pre scriptlet +# generation, so we duplicate them as source files for that purpose; +# this is an ugly hack that should be removed if it becomes possible. +# see https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/TFDMAU7KLMSQTKPJELHSM6PFVXIZ56GK/ +Source17: sddm-systemd-sysusers.conf + + +Provides: service(graphical-login) = sddm + +BuildRequires: cmake >= 2.8.8 +BuildRequires: sonic-frameworks-cmake-modules +BuildRequires: pam-devel +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(xcb) +BuildRequires: pkgconfig(xcb-xkb) +# sometimes python-docutils, sometimes python2-docutils, sometimes python3-docutils. +# use path then for sanity +BuildRequires: /usr/bin/rst2man +BuildRequires: cmake(Qt6Core) +BuildRequires: cmake(Qt6DBus) +BuildRequires: cmake(Qt6Gui) +BuildRequires: cmake(Qt6Qml) +BuildRequires: cmake(Qt6Quick) +BuildRequires: cmake(Qt6LinguistTools) +BuildRequires: cmake(Qt6Test) +BuildRequires: cmake(Qt6QuickTest) +# verify presence to pull defaults from /etc/login.defs +BuildRequires: shadow-utils +BuildRequires: systemd +BuildRequires: systemd-rpm-macros + +Obsoletes: kde-settings-sddm < 20-5 + +%if 0%{?fedora} +# for /usr/share/backgrounds/default.{jxl,png} +BuildRequires: desktop-backgrounds-compat +BuildRequires: GraphicsMagick +Requires: desktop-backgrounds-compat +# for jxl support +Requires: kf6-kimageformats%{?_isa} +# for /usr/share/pixmaps/system-logo-white.png +Requires: system-logos +%endif +Requires: systemd +%if %{with x11} +Requires: xorg-x11-xinit +%endif +%{?systemd_requires} + +Requires(pre): shadow-utils + +# Virtual dependency for sddm greeter setup +Requires: sddm-greeter-displayserver +Suggests: sddm-wayland-generic + +%description +SDDM is a modern graphical display manager aiming to be fast, simple and +beautiful. It uses modern technologies like QtQuick, which in turn gives the +designer the ability to create smooth, animated user interfaces. + +%package wayland-generic +Summary: Generic Wayland SDDM greeter configuration +Provides: sddm-greeter-displayserver +Conflicts: sddm-greeter-displayserver +Requires: weston +Requires: %{name} = %{version}-%{release} +BuildArch: noarch + +%description wayland-generic +This package contains configuration and dependencies for SDDM +to use Weston for the greeter display server. + +This is the generic default Wayland configuration provided +by SDDM. + +%if %{with x11} +%package x11 +Summary: X11 SDDM greeter configuration +Provides: sddm-greeter-displayserver +Conflicts: sddm-greeter-displayserver +# This will eventually go away... +Provides: deprecated() +Requires: xorg-x11-server-Xorg +Requires: %{name} = %{version}-%{release} +Recommends: qt6-qtvirtualkeyboard +BuildArch: noarch + +%description x11 +This package contains configuration and dependencies for SDDM +to use X11 for the greeter display server. +%endif + +%package themes +Summary: SDDM Themes +# for upgrade path +Obsoletes: sddm < 0.2.0-0.12 +Requires: %{name} = %{version}-%{release} +BuildArch: noarch +%description themes +A collection of sddm themes, including: elarun, maldives, maya + + +%prep +%autosetup -p1 %{?commitdate:-n %{name}-%{commit}} + +%if 0%{?fedora} +bg_file_ext="jxl" +if [ -f "/usr/share/backgrounds/default.png" ]; then +bg_file_ext="png" +fi +#FIXME/TODO: use version on filesystem instead of using a bundled copy +cp -v "/usr/share/backgrounds/default.${bg_file_ext}" \ + "src/greeter/theme/background.${bg_file_ext}" +ls -sh "src/greeter/theme/background.${bg_file_ext}" +gm mogrify -resize 1920x1200 "src/greeter/theme/background.${bg_file_ext}" +ls -sh "src/greeter/theme/background.${bg_file_ext}" + +if [ "$bg_file_ext" != "png" ]; then +sed -e "s/background.png/background.${bg_file_ext}/g" -i src/greeter/theme.qrc src/greeter/theme/{Main.qml,theme.conf} +fi +%endif + + +%build +%cmake \ + -DBUILD_WITH_QT6:BOOL=ON \ + -DBUILD_MAN_PAGES:BOOL=ON \ + -DCMAKE_BUILD_TYPE:STRING="Release" \ + -DENABLE_JOURNALD:BOOL=ON \ + -DSESSION_COMMAND:PATH=/etc/X11/xinit/Xsession \ + -DWAYLAND_SESSION_COMMAND:PATH=/etc/sddm/wayland-session + +%cmake_build + + +%install +%cmake_install + +mkdir -p %{buildroot}%{_sysconfdir}/sddm.conf.d +mkdir -p %{buildroot}%{_prefix}/lib/sddm/sddm.conf.d +install -Dpm 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/pam.d/sddm +install -Dpm 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/pam.d/sddm-autologin +install -Dpm 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/pam.d/sddm-greeter +install -Dpm 644 %{SOURCE13} %{buildroot}%{_sysconfdir}/sddm.conf +install -Dpm 644 %{SOURCE14} %{buildroot}%{_datadir}/sddm/scripts/README.scripts +install -Dpm 644 %{SOURCE15} %{buildroot}%{_sysconfdir}/sysconfig/sddm +%if %{with x11} +install -Dpm 644 %{SOURCE16} %{buildroot}%{_prefix}/lib/sddm/sddm.conf.d/x11.conf +%endif +mkdir -p %{buildroot}/run/sddm +mkdir -p %{buildroot}%{_localstatedir}/lib/sddm +mkdir -p %{buildroot}%{_sysconfdir}/sddm/ +cp -a %{buildroot}%{_datadir}/sddm/scripts/* \ + %{buildroot}%{_sysconfdir}/sddm/ +# we're using /etc/X11/xinit/Xsession (by default) instead +rm -fv %{buildroot}%{_sysconfdir}/sddm/Xsession + +# De-conflict the dbus file +mv %{buildroot}%{_datadir}/dbus-1/system.d/org.freedesktop.DisplayManager.conf \ + %{buildroot}%{_datadir}/dbus-1/system.d/org.freedesktop.DisplayManager-sddm.conf + +%if 0%{?fedora} && 0%{?fedora} < 43 +# Provide unversioned greeter until F40 is EOL +ln -sr %{buildroot}%{_bindir}/sddm-greeter-qt6 %{buildroot}%{_bindir}/sddm-greeter +%endif + + +%pre +%sysusers_create_compat %{SOURCE17} + +%post +%systemd_post sddm.service +# handle incompatible configuration changes +(grep \ + -e '^Current=fedora$' \ + -e '^\[XDisplay\]$' \ + -e '^\[WaylandDisplay\]$' \ + %{_sysconfdir}/sddm.conf > /dev/null && \ + sed -i.rpmsave \ + -e 's|^Current=fedora$|#Current=01-breeze-fedora|' \ + -e 's|^\[XDisplay\]$|\[X11\]|' \ + -e 's|^\[WaylandDisplay\]$|\[Wayland\]|' \ + %{_sysconfdir}/sddm.conf +) ||: + + +%preun +%systemd_preun sddm.service + + +%postun +%systemd_postun sddm.service + + +%files +%license LICENSE +%doc README.md CONTRIBUTORS +%dir %{_sysconfdir}/sddm/ +%dir %{_sysconfdir}/sddm.conf.d +%dir %{_prefix}/lib/sddm/sddm.conf.d +%config(noreplace) %{_sysconfdir}/sddm/* +%config(noreplace) %{_sysconfdir}/sddm.conf +%config(noreplace) %{_sysconfdir}/sysconfig/sddm +%config(noreplace) %{_sysconfdir}/pam.d/sddm* +%{_datadir}/dbus-1/system.d/org.freedesktop.DisplayManager-sddm.conf +%{_bindir}/sddm +%{_bindir}/sddm-greeter* +%{_libexecdir}/sddm-helper +%{_libexecdir}/sddm-helper-start-wayland +%{_libexecdir}/sddm-helper-start-x11user +%{_tmpfilesdir}/sddm.conf +%{_sysusersdir}/sddm.conf +%attr(0711, root, sddm) %dir /run/sddm +%attr(1770, sddm, sddm) %dir %{_localstatedir}/lib/sddm +%{_unitdir}/sddm.service +%{_qt6_archdatadir}/qml/SddmComponents/ +%dir %{_datadir}/sddm +%{_datadir}/sddm/faces/ +%{_datadir}/sddm/flags/ +%{_datadir}/sddm/scripts/ +%dir %{_datadir}/sddm/themes/ +# %%lang'ify? they're small, probably not worth it -- rex +%{_datadir}/sddm/translations*/ +%{_mandir}/man1/sddm.1* +%{_mandir}/man1/sddm-greeter.1* +%{_mandir}/man5/sddm.conf.5* +%{_mandir}/man5/sddm-state.conf.5* + + +%files wayland-generic +# No files since default configuration + + +%if %{with x11} +%files x11 +%{_prefix}/lib/sddm/sddm.conf.d/x11.conf +%endif + + +%files themes +%{_datadir}/sddm/themes/elarun/ +%{_datadir}/sddm/themes/maldives/ +%{_datadir}/sddm/themes/maya/ + + +%changelog +* Sat Feb 15 2025 Neal Gompa - 0.21.0-9 +- Fix embedding correct background in default theme + +* Sat Feb 15 2025 Neal Gompa - 0.21.0-8 +- Adapt to backgrounds in JPEG-XL format + +* Sun Jan 19 2025 Fedora Release Engineering - 0.21.0-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Tue Oct 15 2024 Neal Gompa - 0.21.0-6 +- Rebuild to pick up F41 wallpapers + +* Sat Jul 20 2024 Fedora Release Engineering - 0.21.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Mar 20 2024 Neal Gompa - 0.21.0-4 +- Move pam configs back to /etc for now + +* Wed Mar 20 2024 Neal Gompa - 0.21.0-3 +- Use our own greeter pam config and install pam configs to /usr + +* Tue Mar 05 2024 Neal Gompa - 0.21.0-2 +- De-conflict sddm dbus configuration file + +* Wed Feb 28 2024 Neal Gompa - 0.21.0-1 +- Update to 0.21.0 + +* Wed Feb 14 2024 Neal Gompa - 0.20.0-11 +- Add patch to fix desktop file parsing + +* Wed Jan 31 2024 Alessandro Astone - 0.20.0-10 +- Remove LayerShellQt patch + +* Mon Jan 29 2024 Neal Gompa - 0.20.0-9 +- Add patch to make SDDM uses kiosk-shell rather than fullscreen-shell + +* Sat Jan 27 2024 Neal Gompa - 0.20.0-8 +- Switch to SPDX license identifiers + +* Thu Nov 23 2023 Neal Gompa - 0.20.0-7 +- Disable X11 subpackage in RHEL 10+ +- Drop unneeded scriptlets + +* Mon Nov 20 2023 Alessandro Astone - 0.20.0-6 +- Backport patch to fix the keyboard with layer-shell + +* Sun Nov 19 2023 Alessandro Astone - 0.20.0-5 +- Build against Qt6 + +* Tue Sep 19 2023 Alessandro Astone - 0.20.0-4 +- Hide keyboard layout picker in the wayland greeter + +* Sat Jul 22 2023 Fedora Release Engineering - 0.20.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 18 2023 Adam Williamson - 0.20.0-2 +- Fix user/group creation - the config file *has* to be a package source + +* Fri Jun 23 2023 Neal Gompa - 0.20.0-1 +- Update to 0.20.0 final + +* Wed Apr 05 2023 Neal Gompa - 0.19.0^git20230404.e652433-1 +- Update to new snapshot to include a fix for logout issues (#2179591) + +* Mon Mar 20 2023 Neal Gompa - 0.19.0^git20230320.e07e805-2 +- Add patch to stop launching xdg-desktop-portal with Wayland greeter (#2178971, #2129479) + +* Mon Mar 20 2023 Marc Deop i Argemí - 0.19.0^git20230320.e07e805-1 +- Update to snapshot e07e805c21310572b4fecc810fd5610b1d3d03fd +- Fixes #2179591 + +* Mon Mar 06 2023 Marc Deop i Argemí - 0.19.0^git20230306.7bd10de-1 +- Update to new snapshot +- Fixes #2175947 + +* Mon Feb 20 2023 Neal Gompa - 0.19.0^git20230214.8f1e3df-1 +- Update to new snapshot +- Drop our sysusers and tmpfiles configuration for upstream versions + +* Wed Feb 01 2023 Marc Deop - 0.19.0^git20230201.3ee57e9-2 +- Update to new snapshot + +* Wed Feb 01 2023 Marc Deop - 0.19.0^git20230201.b042f69-1 +- Update to new snapshot. +- Remove patches merged upstream. + +* Sun Jan 29 2023 Neal Gompa - 0.19.0^git20221123.3e48649-3 +- Add proposed patch to recover from tty switching failures (#2110801) + +* Sat Jan 21 2023 Fedora Release Engineering - 0.19.0^git20221123.3e48649-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Sat Dec 24 2022 Neal Gompa - 0.19.0^git20221123.3e48649-1 +- Update to new snapshot +- Add patch to support non-default wayland socket names for sway/weston/etc. +- Refreshed patch for waiting on logind seat0 initialization + +* Mon Nov 14 2022 Neal Gompa - 0.19.0^git20221114.1d15689-1 +- Update to new snapshot + +* Tue Oct 25 2022 Neal Gompa - 0.19.0^git20221025.fc24321-1 +- Update to new snapshot + +* Thu Sep 22 2022 Neal Gompa - 0.19.0^git20220921.21e965a-1 +- Update to new snapshot + +* Thu Aug 18 2022 Timothée Ravier - 0.19.0^git20220321.e67307e-4 +- Skip enabling Wayland by default on F37 + +* Sat Jul 23 2022 Fedora Release Engineering - 0.19.0^git20220321.e67307e-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sun Apr 03 2022 Neal Gompa - 0.19.0^git20220321.e67307e-2 +- Switch X11 greeter to rootful X server (#2070130) + +* Sun Apr 03 2022 Neal Gompa - 0.19.0^git20220321.e67307e-1 +- Bump to new git snapshot to include refreshed fix for sddm crash (#2057419) + +* Mon Mar 14 2022 Neal Gompa - 0.19.0^git20220228.c257a40-4 +- Switch back to the X11 greeter for F36 + +* Sun Mar 06 2022 Neal Gompa - 0.19.0^git20220228.c257a40-3 +- Backport fix to get sddm to log to the journal more + +* Mon Feb 28 2022 Adam Williamson - 0.19.0^git20220228.c257a40-2 +- Backport PR#1522 to try and fix crash after login (#2057419) + +* Mon Feb 28 2022 Neal Gompa - 0.19.0^git20220228.c257a40-1 +- Update to new snapshot +- Drop merged proposed patch to not ignore EINTR when activating + +* Fri Feb 25 2022 Neal Gompa - 0.19.0^git20220224.5ad9f19-2 +- Add proposed patch to not ignore EINTR when activating + +* Fri Feb 25 2022 Neal Gompa - 0.19.0^git20220224.5ad9f19-1 +- Update to new snapshot release + +* Mon Feb 07 2022 Neal Gompa - 0.19.0^git20220130.85cbf3f-2 +- Use unprivileged X server for sddm-x11 configuration + +* Sun Jan 30 2022 Neal Gompa - 0.19.0^git20220130.85cbf3f-1 +- Update to snapshot release +- Drop upstreamed patches +- Drop Xauth patch due to inability to apply it +- Update status on remaining patches +- Add support for using a Wayland greeter +- Clean up Wayland conditionals + +* Sat Jan 22 2022 Fedora Release Engineering - 0.19.0-19 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Oct 25 2021 Adam Williamson - 0.19.0-18 +- Simplify Wayland session hiding to just look for /dev/dri (jlinton) (#2016788) + +* Sat Oct 23 2021 Adam Williamson - 0.19.0-17 +- Patch udev rules, logind race and seat0 fallback (jlinton) (#2011991) (#2016310) + +* Wed Oct 13 2021 Timothée Ravier - 0.19.0-16 +- Install the correct configuration for systemd-sysusers + +* Fri Jul 23 2021 Fedora Release Engineering - 0.19.0-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jun 08 2021 Rex Dieter - 0.19.0-14 +- Use systemd-sysusers config to setup user/group + +* Fri Apr 23 2021 Neal Gompa - 0.19.0-13 +- Simplify to creating/deleting the flag file in the udev rule (#1952431) + +* Thu Apr 22 2021 Neal Gompa - 0.19.0-12 +- Enable hiding Wayland sessions with a flag file (#1952431) + +* Thu Apr 22 2021 Neal Gompa - 0.19.0-11 +- Add auto-fallback hack for when KMS isn't available (#1952431) + +* Tue Apr 13 2021 Adam Williamson - 0.19.0-10 +- Backport part of PR #1371 to improve session switching (#1929643) + +* Fri Apr 02 2021 Rex Dieter - 0.19.0-9 +- initial support for sddm.conf.d snippets + +* Sun Feb 28 2021 Neal Gompa - 0.19.0-8 +- Add trigger to auto-transition to Wayland session on upgrade to F34 + +* Wed Feb 03 2021 Rex Dieter - 0.19.0-7 +- adjust perms on /run/sddm to 1733 to future-proof xauth handling (#1922772) + +* Mon Feb 01 2021 Rex Dieter - 0.19.0-6 +- revert to older Redesign-Xauth-handling.patch (#1922772) + +* Thu Jan 28 2021 Rex Dieter - 0.19.0-5 +- pull in upstream fix for autologin (sddm issue #1348) + +* Tue Jan 26 2021 Rex Dieter - 0.19.0-4 +- Refresh Xauth patch from upstream PR +- minor .spec cosmetics + +* Fri Jan 22 2021 Neal Gompa - 0.19.0-3 +- Adjust sddm state file trigger for plasma-workspace 5.20.90-2 + +* Sun Jan 17 2021 Neal Gompa - 0.19.0-2 +- Add fix proposed upstream to fix SHELL setting in Wayland sessions + +* Tue Nov 10 2020 Neal Gompa - 0.19.0-1 +- Rebase to version 0.19.0 +- Refresh patch set and drop upstreamed patches + +* Sun Oct 18 2020 Neal Gompa - 0.18.1-9 +- Add patch to prefer Wayland sessions on F34+ +- Correctly handle Plasma session filename changes on upgrade to F34+ + +* Wed Aug 05 2020 Rex Dieter - 0.18.1-8 +- tmpfiles: use /run instead of /var/run + +* Wed Jul 29 2020 Fedora Release Engineering - 0.18.1-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jun 26 2020 Rex Dieter - 0.18.1-6 +- pull in upstream fix for duplicate session name + +* Wed Apr 08 2020 Rex Dieter - 0.18.1-5 +- remove pam_console dependency (#182218) + +* Thu Jan 30 2020 Fedora Release Engineering - 0.18.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Jul 26 2019 Fedora Release Engineering - 0.18.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri May 03 2019 Rex Dieter - 0.18.1-2 +- consistently use auto_start in pam config (#1706029) + +* Mon Apr 01 2019 Rex Dieter - 0.18.1-1 +- 0.18.1 + +* Fri Mar 15 2019 Rex Dieter 0.18.0-6 +- rebuild + +* Thu Mar 14 2019 Rex Dieter - 0.18.0-5 +- sddm.service: EnvironmentFile=-/etc/sysconfig/sddm (#1686675) +- %%build: use %%make_build + +* Wed Mar 13 2019 Rex Dieter - 0.18.0-4 +- pull in upstream fix for https://github.com/sddm/sddm/issues/1145 (#1667171) + +* Sat Feb 02 2019 Fedora Release Engineering - 0.18.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Oct 26 2018 Rex Dieter - 0.18.0-2 +- rebuild for f29 background + +* Wed Jul 18 2018 Rex Dieter - 0.18.0-1 +- sddm-0.18.0 +- rebase libXau patch (upstream pull request #863) +- drop patch from upstream pull request #735 +- drop remnants of 02-fedora sddm theme + +* Tue Jul 17 2018 Rex Dieter - 0.17.0-6 +- BR: /usr/bin/rst2man + +* Sat Jul 14 2018 Fedora Release Engineering - 0.17.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Mon Jun 18 2018 Rex Dieter - 0.17.0-4 +- pull in some upstream fixes + +* Wed May 09 2018 Rex Dieter - 0.17.0-3 +- Suggests: qt5-qtvirtualkeyboard + +* Fri Feb 09 2018 Fedora Release Engineering - 0.17.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Dec 06 2017 Rex Dieter - 0.17.0-1 +- sddm-0.17.0, rebase patches +- Recommends: qt5-qtvirtualkeyboard + +* Fri Dec 01 2017 Rex Dieter - 0.16.0-2 +- omit 'fedora' theme (rely on fallback maui instead) +- %%post themes: drop config hack, no longer needed + +* Thu Nov 23 2017 Martin Bříza - 0.16.0-1 +- sddm-0.16.0 (#1504466) + +* Fri Oct 27 2017 Rex Dieter - 0.15.0-3 +- use fedora wallpaper for fallback/maui theme + +* Wed Oct 04 2017 Martin Bříza - 0.15.0-2 +- Fix a crash in the libXau patch (#1492371) + +* Mon Sep 04 2017 Rex Dieter - 0.15.0-1 +- sddm-0.15.0 (#1487460) + +* Fri Aug 25 2017 Martin Bříza - 0.14.0-14 +- Update the libXau patch based on Steve Storey's findings + +* Thu Aug 17 2017 Martin Bříza - 0.14.0-13 +- Port from xauth to libXau (#1370222) + +* Thu Aug 03 2017 Fedora Release Engineering - 0.14.0-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Thu Jul 27 2017 Fedora Release Engineering - 0.14.0-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Tue Jun 13 2017 Rex Dieter - 0.14.0-10 +- actually apply patch for bug #1446782 + +* Tue Jun 13 2017 Rex Dieter - 0.14.0-9 +- backport: UserModel: Check for duplicates from getpwent() (#1446782) + +* Sat Feb 11 2017 Fedora Release Engineering - 0.14.0-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Sat Jan 28 2017 Rex Dieter - 0.14.0-7 +- EnableHiDPI=false default + +* Tue Nov 08 2016 Adam Williamson - 0.14.0-6 +- backport PR #735 to fix RHBZ #1392654 + +* Wed Nov 02 2016 Rex Dieter - 0.14.0-5 +- pull in upstream fixes + +* Fri Oct 07 2016 Rex Dieter - 0.14.0-4 +- sddm.conf default: Current=01-breeze-fedora + +* Mon Oct 03 2016 Rex Dieter - 0.14.0-3 +- drop deps used for fedora-only theme + +* Mon Oct 03 2016 Rex Dieter - 0.14.0-2 +- make 02-fedora theme, fedora only + +* Sun Aug 28 2016 Rex Dieter - 0.14.0-1 +- sddm-0.14.0 +- -themes: circles theme was removed + +* Fri Mar 11 2016 Rex Dieter - 0.13.0-7 +- pull in upstream fixes, some new features +- The desktop selection drop down list has an empty box (#1222228) +- sddm: RememberLastUser=false does not work (#1240749) + +* Fri Mar 11 2016 Rex Dieter 0.13.0-6 +- sddm: use pam_gnome_keyring (#1317066) + +* Thu Feb 04 2016 Fedora Release Engineering - 0.13.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Mon Nov 16 2015 Rex Dieter - 0.13.0-4 +- rev sddm.conf for new defaults +- add /usr/share/sddm/scripts/README.scripts + +* Sun Nov 15 2015 Rex Dieter - 0.13.0-3 +- merge Configuration.h into fedora_config.patch +- copy all scripts into /etc/sddm as %%config(noreplace) + +* Sun Nov 15 2015 Rex Dieter 0.13.0-2 +- %%config(noreplace) /etc/sddm/Xsetup + +* Sat Nov 07 2015 Rex Dieter 0.13.0-1 +- 0.13.0 + +* Thu Oct 29 2015 Rex Dieter 0.12.0-6 +- tweak DefaultPath (#1276450) + +* Thu Oct 15 2015 Rex Dieter 0.12.0-5 +- Security fix for CVE-2015-0856 (#1271992,#1271993) + +* Thu Sep 24 2015 Rex Dieter 0.12.0-4 +- omit 0008-Inherit-path-environment-variables-from-parent.patch pending security concerns + +* Thu Sep 24 2015 Rex Dieter - 0.12.0-3 +- pull in upstream fixes (#1265813) +- fedora theme QML error (#1264946) + +* Thu Sep 10 2015 Rex Dieter 0.12.0-2 +- sddm.pam: add pam_kwallet5 support + +* Tue Sep 08 2015 Rex Dieter 0.12.0-1 +- 0.12.0 + +* Wed Sep 02 2015 Rex Dieter 0.11.0-2 +- use %%license tag + +* Thu Aug 06 2015 Rex Dieter - 0.11.0-1 +- sddm-0.11 (#1209689), plus pull in a few post 0.11.0 upstream fixes +- Enable two fedora themes, allowing user selector as default (#1250204) + +* Fri Jun 19 2015 Fedora Release Engineering - 0.10.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Sat May 02 2015 Kalev Lember - 0.10.0-5 +- Rebuilt for GCC 5 C++11 ABI change + +* Thu Jan 29 2015 Dan Horák - 0.10.0-4 +- don't Require Xorg server on s390(x) + +* Wed Jan 21 2015 Martin Briza - 0.10.0-3 +- Fixed positioning in the Fedora theme +- Resolves: #1183207 + +* Mon Oct 27 2014 Rex Dieter - 0.10.0-2 +- create/own %%{_sysconfdir}/sddm.conf, %%{_localstatedir}/lib/sddm (#1155898) +- don't mark stuff under /etc/dbus-1 %%config +- make %%{_localstatedir}/run/sddm group writable + +* Thu Oct 16 2014 Martin Briza - 0.10.0-1 +- Bump to 0.10.0 + +* Thu Oct 09 2014 Martin Briza - 0.9.0-2.20141007git6a28c29b +- Remove pam_gnome_keyring.so (temporarily) from sddm.pam to fix impossibility to log out +- Resolves: #1150283 + +* Tue Oct 07 2014 Martin Briza - 0.9.0-1.20141007git6a28c29b +- Bump to latest upstream git (and a new release) +- Hack around focus problem in the Fedora theme +- Compile against Qt5 +- Removed upstreamed patch and files +- Resolves: #1114192 #1119777 #1123506 #1125129 #1140386 #1112841 #1128463 #1128465 #1149608 #1149628 #1148659 #1148660 #1149610 #1149629 + +* Mon Aug 18 2014 Fedora Release Engineering - 0.2.0-0.32.20140627gitf49c2c79 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jun 27 2014 Martin Briza - 0.2.0-0.31.20140627gitf49c2c79 +- Patch unitialized values in signal handler in the daemon + +* Fri Jun 27 2014 Martin Briza - 0.2.0-0.30.20140627gitf49c2c79 +- Bump to latest upstream, switch back to sddm project +- Drop sddm.service +- Enable manpage and journald support + +* Tue Jun 24 2014 Martin Briza - 0.2.0-0.29.20140623gitdb1d7381 +- Fix default config to respect the new /usr/share paths +- Fixed multiple users after autologin + +* Mon Jun 23 2014 Martin Briza - 0.2.0-0.28.20140623gitdb1d7381 +- Fix Requires, release + +* Mon Jun 23 2014 Martin Briza - 0.2.0-0.27.20131125gitdb1d7381 +- Updated to the latest upstream git +- Notable changes: Greeter runs under the sddm user, it's possible to configure display setup, different install paths in /usr/share +- Resolves: #1034414 #1035939 #1035950 #1036308 #1038548 #1045722 #1045937 #1065715 #1082229 #1007067 #1027711 #1031745 #1008951 #1016902 #1031415 #1020921 + +* Sun Jun 08 2014 Fedora Release Engineering - 0.2.0-0.26.20131125git7a008602 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Thu May 01 2014 Rex Dieter 0.2.0-0.25.20131125git7a008602 +- update pam config (+pam_kwallet,-pam_mate_keyring) + +* Mon Jan 27 2014 Adam Jackson 0.2.0-0.24.20131125git7a008602 +- Rebuild for new sonames in libxcb 1.10 + +* Mon Dec 16 2013 Martin Briza - 0.2.0-0.23.20131125git7a008602 +- Revert all work done on authentication, doesn't support multiple logins right now + +* Mon Nov 25 2013 Martin Briza - 0.2.0-0.22.20131125git7a008602 +- Fix saving of last session and user + +* Mon Nov 25 2013 Martin Briza - 0.2.0-0.21.20131125git7a008602 +- Rebase to current upstream +- Fix the theme (and improve it by a bit) +- Fix the authentication stack +- Don't touch numlock on startup +- Disabled the XDMCP server until it's accepted upstream +- Resolves: #1016902 #1028799 #1031415 #1031745 #1020921 #1008951 #1004621 + +* Tue Nov 05 2013 Martin Briza - 0.2.0-0.20.20130914git50ca5b20 +- Fix xdisplay and tty vars + +* Tue Nov 05 2013 Martin Briza - 0.2.0-0.19.20130914git50ca5b20 +- Patch cleanup + +* Tue Nov 05 2013 Martin Briza - 0.2.0-0.18.20130914git50ca5b20 +- Cmake magic + +* Tue Nov 05 2013 Martin Briza - 0.2.0-0.17.20130914git50ca5b20 +- Rewritten the authentication stack to work right with PAM + +* Tue Oct 15 2013 Martin Briza - 0.2.0-0.16.20130914git50ca5b20 +- Fixed the Fedora theme wallpaper path + +* Tue Oct 15 2013 Martin Briza - 0.2.0-0.15.20130914git50ca5b20 +- Added XDMCP support patch +- Modified the config to reflect the added XDMCP support (disabled by default) + +* Tue Oct 15 2013 Rex Dieter - 0.2.0-0.14.20130914git50ca5b20 +- sddm.conf: CurrentTheme=fedora + +* Mon Oct 14 2013 Rex Dieter - 0.2.0-0.13.20130914git50ca5b20 +- include standard theme/config here, Obsoletes: kde-settings-sddm +- sddm.conf: SessionCommand=/etc/X11/xinit/Xsession + +* Mon Oct 14 2013 Rex Dieter - 0.2.0-0.12.20130914git50ca5b20 +- -themes: Obsoletes: sddm ... for upgrade path + +* Mon Oct 14 2013 Rex Dieter - 0.2.0-0.11.20130914git50ca5b20 +- -themes subpkg + +* Sat Sep 21 2013 Rex Dieter - 0.2.0-0.10.20130914git50ca5b20 +- use %%_qt4_importdir, %%systemd_requires macros +- own %%_datadir/apps/sddm +- fix Release +- drop explicit Requires: pam (let rpm autodeps handle it) + +* Mon Sep 16 2013 Martin Briza - 0.2.0-0.9.20130914git50ca5b20 +- Requires: kde-settings-sddm + +* Mon Sep 16 2013 Martin Briza - 0.2.0-0.8.20130914git50ca5b20 +- Moved the config to the kde-settings-sddm package + +* Sat Sep 14 2013 Martin Briza - 0.2.0-0.7.20130914git50ca5b20 +- Removed the nonfree font from the package, replaced with "Sans" +- Temporarily set my own repository as the origin to avoid having the font in the srpm +- Changing the source also brings us a few new commits and removes Patch1 for PAM + +* Mon Sep 09 2013 Martin Briza - 0.2.0-0.6.20130821gite707e229 +- Added the patch, forgot to apply it, now it's okay + +* Mon Sep 09 2013 Martin Briza - 0.2.0-0.5.20130821gite707e229 +- Set a better order of the X sessions selection and hidden the Custom one (#1004902) + +* Mon Sep 02 2013 Martin Briza - 0.2.0-0.4.20130821gite707e229 +- Complete PAM conversations and end them properly when the session ends +- Ship our own systemd service file especially to provide Conflicts: getty@tty1.service + +* Tue Aug 27 2013 Martin Briza - 0.2.0-0.3.20130821gite707e229 +- Suppress error output from missing PAMs. + +* Tue Aug 27 2013 Martin Briza - 0.2.0-0.2.20130821gite707e229 +- Switched the pam config to the one GDM uses. Solves issues with pulseaudio and possibly more. + +* Thu Aug 22 2013 Martin Briza - 0.2.0-0.1.20130821gite707e229 +- Fixed the package version + +* Wed Aug 21 2013 Martin Briza - 0.2.0-0.130821.git.e707e229 +- Imported the latest upstream git commit + +* Mon Aug 19 2013 Martin Briza - 0.1.0-7 +- Set the build to be hardened + +* Tue Aug 06 2013 Martin Briza - 0.1.0-6 +- Added mate-keyring to PAM config (#993397) + +* Mon Jul 22 2013 Martin Briza - 0.1.0-5 +- Store xauth in /var/run/sddm + +* Mon Jul 22 2013 Martin Briza - 0.1.0-4 +- Added the documentation bits + +* Thu Jul 18 2013 Martin Briza - 0.1.0-3 +- Changed the source package to tar.gz +- Config files are now noreplace +- Buildrequires -systemd-devel +systemd +cmake + +* Tue Jul 16 2013 Martin Briza - 0.1.0-2 +- Removed unneeded BuildRequires +- Fixed systemd scriptlets +- Fixed release +- Simplified setup +- Added Requires needed for basic function +- Added Provides for graphical login + +* Thu Jul 04 2013 Martin Briza - 0.1.0-1 +- Initial build diff --git a/sddm/sddm.sysconfig b/sddm/sddm.sysconfig new file mode 100644 index 0000000..4911cb4 --- /dev/null +++ b/sddm/sddm.sysconfig @@ -0,0 +1,5 @@ +# workaround https://bugzilla.redhat.com/1686675 +# see also https://bugreports.qt.io/browse/QTBUG-58508 +QML_DISABLE_DISK_CACHE=1 +# enable qDebug messages for debug build +# QT_LOGGING_RULES="*.debug=true" diff --git a/sonic-desktop-interface/sonic-desktop-interface.spec b/sonic-desktop-interface/sonic-desktop-interface.spec index 622ee2a..a3e1b5d 100644 --- a/sonic-desktop-interface/sonic-desktop-interface.spec +++ b/sonic-desktop-interface/sonic-desktop-interface.spec @@ -11,7 +11,7 @@ Name: sonic-desktop-interface Summary: Plasma Desktop shell Version: 6.7.4.2 -Release: 7%{?dist} +Release: 8%{?dist} License: BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-2.1-or-later AND LGPL-3.0-only AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only) #URL: https://invent.kde.org/plasma/%%{name} @@ -234,9 +234,9 @@ Conflicts: kcm_colors < 1:4.11.16-10 # when conflicting HTML docs were removed Conflicts: kde-runtime-docs < 17.08.3-6 # when made noarch -Obsoletes: plasma-desktop-doc < 5.3.1-2 +Obsoletes: plasma-desktop-doc < %{version}-%{release} +Provides: plasma-desktop-doc = %{version}-%{release} BuildArch: noarch -Conflicts: plasma-desktop-doc %description doc %{summary}.