From e4fb6517562c34afb2ae2319e7f8d3ebef0e463e Mon Sep 17 00:00:00 2001 From: eabdullin Date: Fri, 4 Jul 2025 07:28:34 +0000 Subject: [PATCH] import OL xdg-user-dirs-0.18-6.el10_0.1 --- .gitignore | 2 +- .xdg-user-dirs.metadata | 2 +- ...-service-to-run-xdg-user-dirs-update.patch | 57 ++++++++++ .../0002-Install-systemd-service-file.patch | 51 +++++++++ SOURCES/use-fuzzy.patch | 22 ---- SPECS/xdg-user-dirs.spec | 107 ++++++++++++++---- 6 files changed, 198 insertions(+), 43 deletions(-) create mode 100644 SOURCES/0001-Add-a-systemd-service-to-run-xdg-user-dirs-update.patch create mode 100644 SOURCES/0002-Install-systemd-service-file.patch delete mode 100644 SOURCES/use-fuzzy.patch diff --git a/.gitignore b/.gitignore index 7e36085..a58bc3f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/xdg-user-dirs-0.17.tar.gz +SOURCES/xdg-user-dirs-0.18.tar.gz diff --git a/.xdg-user-dirs.metadata b/.xdg-user-dirs.metadata index cd644cb..c496fe8 100644 --- a/.xdg-user-dirs.metadata +++ b/.xdg-user-dirs.metadata @@ -1 +1 @@ -246cea7db52ef7e29774fa416981a548377de557 SOURCES/xdg-user-dirs-0.17.tar.gz +58587270fb85f33ec6d7ca194c48ddc82488e6d3 SOURCES/xdg-user-dirs-0.18.tar.gz diff --git a/SOURCES/0001-Add-a-systemd-service-to-run-xdg-user-dirs-update.patch b/SOURCES/0001-Add-a-systemd-service-to-run-xdg-user-dirs-update.patch new file mode 100644 index 0000000..e0b07af --- /dev/null +++ b/SOURCES/0001-Add-a-systemd-service-to-run-xdg-user-dirs-update.patch @@ -0,0 +1,57 @@ +From 2a63d3f0ffb76135790bb1168a3270a599904380 Mon Sep 17 00:00:00 2001 +From: David Redondo +Date: Tue, 20 Sep 2022 10:37:51 +0200 +Subject: [PATCH 1/2] Add a systemd service to run xdg-user-dirs-update + +Recently GNOME and Plasma have been embracing systemd for handling +their session startup. To enable autostart integration with this +systemd includes systemd-xdg-autostart-generator which creates units +from autostart desktop files. xdg-user-dirs installs such a desktop +file (xdg-user-dirs.desktop). However because this file contains +X-GNOME-Autostart-Phase=Initialization systemd will skip it since +it assumes it will be handles by GNOME itself. This a problem for +Plasma and other desktop environments that do not handle this +themselves, assuming that systemd takes care about autostart +xdg-user-dirs-update will not be run. +See https://github.com/systemd/systemd/issues/18791 +We can provide a systemd service file to make sure xdg-user-dirs-update +is run during session startup. This ensures that the relevant +directories of the user exist on login and during startup as +specifying to be run before graphical-session-pre.target +means that it runs sufficiently early in the startup process while +using the generator would result in 'After=graphical-session.target'. +--- + xdg-user-dirs.desktop | 1 + + xdg-user-dirs.service | 11 +++++++++++ + 2 files changed, 12 insertions(+) + create mode 100644 xdg-user-dirs.service + +diff --git a/xdg-user-dirs.desktop b/xdg-user-dirs.desktop +index 6b969d4..b14a973 100644 +--- a/xdg-user-dirs.desktop ++++ b/xdg-user-dirs.desktop +@@ -8,3 +8,4 @@ NoDisplay=true + + X-GNOME-Autostart-Phase=Initialization + X-KDE-autostart-phase=1 ++X-systemd-skip=true +diff --git a/xdg-user-dirs.service b/xdg-user-dirs.service +new file mode 100644 +index 0000000..6795045 +--- /dev/null ++++ b/xdg-user-dirs.service +@@ -0,0 +1,11 @@ ++[Unit] ++Description=User folders update ++Documentation=man:xdg-user-dirs-update(1) ++Before=graphical-session-pre.target ++ ++[Service] ++Type=oneshot ++ExecStart=/usr/bin/xdg-user-dirs-update ++ ++[Install] ++WantedBy=graphical-session-pre.target +-- +2.48.1 + diff --git a/SOURCES/0002-Install-systemd-service-file.patch b/SOURCES/0002-Install-systemd-service-file.patch new file mode 100644 index 0000000..1d4a0f4 --- /dev/null +++ b/SOURCES/0002-Install-systemd-service-file.patch @@ -0,0 +1,51 @@ +From 1512365de068446f8b5e14163601dd71e34e8bc1 Mon Sep 17 00:00:00 2001 +From: David Redondo +Date: Thu, 9 Feb 2023 11:57:37 +0100 +Subject: [PATCH 2/2] Install systemd service file + +--- + Makefile.am | 4 +++- + configure.ac | 5 +++++ + 2 files changed, 8 insertions(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index f649564..81d9976 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -14,7 +14,7 @@ INCLUDES = \ + $(NULL) + + EXTRA_DIST= config.rpath translate.c autogen.sh \ +- user-dirs.conf user-dirs.defaults xdg-user-dir xdg-user-dirs.desktop ++ user-dirs.conf user-dirs.defaults xdg-user-dir xdg-user-dirs.desktop xdg-user-dirs.service + + xdgdir=$(sysconfdir)/xdg + xdg_DATA=user-dirs.conf user-dirs.defaults +@@ -22,6 +22,8 @@ xdg_DATA=user-dirs.conf user-dirs.defaults + xdgautostartdir=$(xdgdir)/autostart + xdgautostart_DATA = xdg-user-dirs.desktop + ++systemduserunit_DATA = xdg-user-dirs.service ++ + libraries = $(LIBINTL) + + bin_PROGRAMS = \ +diff --git a/configure.ac b/configure.ac +index 2cce082..dc389db 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -77,6 +77,11 @@ if test x$enable_documentation = xyes; then + fi + AM_CONDITIONAL(BUILD_DOCUMENTATION, test x$enable_documentation = xyes) + ++PKG_CHECK_EXISTS([systemd], ++ [systemduserunitdir=$($PKG_CONFIG --variable=systemduserunitdir systemd)], ++ [systemduserunitdir='${prefix}/lib/systemd/user']) ++AC_SUBST(systemduserunitdir) ++ + AC_OUTPUT([ po/Makefile.in + Makefile + man/Makefile +-- +2.48.1 + diff --git a/SOURCES/use-fuzzy.patch b/SOURCES/use-fuzzy.patch deleted file mode 100644 index 924d7c9..0000000 --- a/SOURCES/use-fuzzy.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff -up xdg-user-dirs-0.11/po/Makefile.in.in.use-fuzzy xdg-user-dirs-0.11/po/Makefile.in.in ---- xdg-user-dirs-0.11/po/Makefile.in.in.use-fuzzy 2008-10-24 04:17:03.000000000 -0400 -+++ xdg-user-dirs-0.11/po/Makefile.in.in 2009-11-03 00:57:15.319114230 -0500 -@@ -61,14 +61,14 @@ CATALOGS = @CATALOGS@ - .SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update - - .po.mo: -- @echo "$(MSGFMT) -c -o $@ $<"; \ -- $(MSGFMT) -c -o t-$@ $< && mv t-$@ $@ -+ @echo "$(MSGFMT) -c -f -o $@ $<"; \ -+ $(MSGFMT) -c -f -o t-$@ $< && mv t-$@ $@ - - .po.gmo: - @lang=`echo $* | sed -e 's,.*/,,'`; \ - test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \ -- echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \ -- cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo -+ echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c -f --statistics -o $${lang}.gmo $${lang}.po"; \ -+ cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c -f --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo - - .sin.sed: - sed -e '/^#/d' $< > t-$@ diff --git a/SPECS/xdg-user-dirs.spec b/SPECS/xdg-user-dirs.spec index 8da6b77..b27925b 100644 --- a/SPECS/xdg-user-dirs.spec +++ b/SPECS/xdg-user-dirs.spec @@ -2,45 +2,59 @@ Name: xdg-user-dirs -Version: 0.17 -Release: 1%{?dist} +Version: 0.18 +Release: 6%{?dist}.1 Summary: Handles user special directories -License: GPLv2+ and MIT -URL: http://freedesktop.org/wiki/Software/xdg-user-dirs -Source0: http://user-dirs.freedesktop.org/releases/%{name}-%{version}.tar.gz +License: GPL-2.0-or-later AND MIT +URL: https://freedesktop.org/wiki/Software/xdg-user-dirs +Source0: https://user-dirs.freedesktop.org/releases/%{name}-%{version}.tar.gz -# use fuzzy translations (for Downloads) -# https://bugzilla.redhat.com/show_bug.cgi?id=532399 -Patch0: use-fuzzy.patch +# Backports from upstream +Patch0001: 0001-Add-a-systemd-service-to-run-xdg-user-dirs-update.patch +Patch0002: 0002-Install-systemd-service-file.patch -BuildRequires: gettext -BuildRequires: docbook-style-xsl -BuildRequires: libxslt -Requires: %{_sysconfdir}/xdg/autostart +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: make +BuildRequires: gcc +BuildRequires: gettext-devel +BuildRequires: git-core +BuildRequires: docbook-style-xsl +BuildRequires: libxslt +BuildRequires: systemd-rpm-macros +Requires: %{_sysconfdir}/xdg/autostart %description Contains xdg-user-dirs-update that updates folders in a users homedirectory based on the defaults configured by the administrator. %prep -%setup -q -%patch0 -p1 -b .use-fuzzy +%autosetup -S git_am + +%conf +autoreconf -fiv +%configure %build -%configure %make_build -cd po -touch *.po -make update-gmo - %install %make_install %find_lang %name +%post +%systemd_user_post xdg-user-dirs.service + +%preun +%systemd_user_preun xdg-user-dirs.service + +%postun +%systemd_user_postun_with_reload xdg-user-dirs.service + + %files -f %{name}.lang %license COPYING %doc NEWS AUTHORS README @@ -50,9 +64,64 @@ make update-gmo %{_sysconfdir}/xdg/autostart/* %{_mandir}/man1/* %{_mandir}/man5/* +%{_userunitdir}/xdg-user-dirs.service %changelog +* Wed Jul 02 2025 Craig Guiller - 0.18-6.1 +- Backport patches to install systemd units to fix initialization races + Resolves: RHEL-79119 +- Fix minor spec formatting inconsistencies + +* Tue Oct 29 2024 Troy Dawson - 0.18-6 +- Bump release for October 2024 mass rebuild: + Resolves: RHEL-64018 + +* Mon Jun 24 2024 Troy Dawson - 0.18-5 +- Bump release for June 2024 mass rebuild + +* Sat Jan 27 2024 Fedora Release Engineering - 0.18-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jul 22 2023 Fedora Release Engineering - 0.18-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Sat Jan 21 2023 Fedora Release Engineering - 0.18-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Mon Dec 19 2022 David King - 0.18-1 +- Update to 0.18 (#2135324) + +* Sat Jul 23 2022 Fedora Release Engineering - 0.17-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Sat Jan 22 2022 Fedora Release Engineering - 0.17-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Fri Jul 23 2021 Fedora Release Engineering - 0.17-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jan 27 2021 Fedora Release Engineering - 0.17-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Sep 21 2020 FeRD (Frank Dana) - 0.17-7 +- Drop fuzzy translations patch, no longer necessary + +* Wed Jul 29 2020 Fedora Release Engineering - 0.17-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Jan 31 2020 Fedora Release Engineering - 0.17-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Sat Jul 27 2019 Fedora Release Engineering - 0.17-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Sun Feb 03 2019 Fedora Release Engineering - 0.17-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Jul 14 2018 Fedora Release Engineering - 0.17-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + * Wed Mar 14 2018 Kalev Lember - 0.17-1 - Update to 0.17