Compare commits

..

No commits in common. "rawhide" and "f38" have entirely different histories.

6 changed files with 249 additions and 172 deletions

View file

@ -0,0 +1,54 @@
From 542069fede56b083d436c394357d1ddf1fd44dec Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Sat, 13 Mar 2021 01:11:13 +0900
Subject: [PATCH] xdg-autostart: never reuse GKeyFile object
As written on:
https://developer.gnome.org/glib/stable/glib-Key-value-file-parser.html#g-key-file-load-from-file
an empty GKeyFile object must be passed to g_key_file_load_from_file .
---
xdg-autostart/xdg-autostart.c | 14 ++++++++++----
1 file changed, 10 insertions(+), 4 deletions(-)
diff --git a/xdg-autostart/xdg-autostart.c b/xdg-autostart/xdg-autostart.c
index 460d4f6..9c9317d 100644
--- a/xdg-autostart/xdg-autostart.c
+++ b/xdg-autostart/xdg-autostart.c
@@ -175,7 +175,7 @@ _finish:
}
#endif
-static void launch_autostart_file( const char* desktop_id, const char* desktop_file, GKeyFile* kf)
+static void launch_autostart_file_internal( const char* desktop_id, const char* desktop_file, GKeyFile* kf)
{
if( g_key_file_load_from_file( kf, desktop_file, 0, NULL ) )
{
@@ -266,6 +266,14 @@ static void launch_autostart_file( const char* desktop_id, const char* desktop_f
}
}
+static void launch_autostart_file( const char* desktop_id, const char* desktop_file )
+{
+ GKeyFile* kf = g_key_file_new();
+ launch_autostart_file_internal( desktop_id, desktop_file, kf );
+ g_key_file_free( kf );
+}
+
+
static void get_autostart_files_in_dir( GHashTable* hash, const char* base_dir )
{
char* dir_path = g_build_filename( base_dir, "autostart", NULL );
@@ -313,9 +321,7 @@ void xdg_autostart( const char* de_name_arg )
if( g_hash_table_size( hash ) > 0 )
{
- GKeyFile* kf = g_key_file_new();
- g_hash_table_foreach( hash, (GHFunc)launch_autostart_file, kf);
- g_key_file_free( kf );
+ g_hash_table_foreach( hash, (GHFunc)launch_autostart_file, NULL );
}
g_hash_table_destroy( hash );
--
2.30.2

View file

@ -0,0 +1,50 @@
From 5d2d43b1189a52aa5a98d93496f71f0348729b0e Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Sat, 20 Mar 2021 23:45:09 +0900
Subject: [PATCH] load_autostart: never reuse GKeyFile object
As written on:
https://developer.gnome.org/glib/stable/glib-Key-value-file-parser.html#g-key-file-load-from-file
an empty GKeyFile object must be passed to g_key_file_load_from_file .
---
lxsession-edit/lxsession-edit-common.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/lxsession-edit/lxsession-edit-common.c b/lxsession-edit/lxsession-edit-common.c
index 3de3dbb..019416d 100644
--- a/lxsession-edit/lxsession-edit-common.c
+++ b/lxsession-edit/lxsession-edit-common.c
@@ -136,9 +136,10 @@ void get_autostart_files_in_dir( GHashTable* hash, const char* session_name, con
g_free( dir_path );
}
-void add_autostart_file(char* desktop_id, char* file, GKeyFile* kf)
+void add_autostart_file(char* desktop_id, char* file )
{
GtkTreeIter it;
+ GKeyFile* kf = g_key_file_new();
const char* session_name_local = NULL;
@@ -176,6 +177,7 @@ void add_autostart_file(char* desktop_id, char* file, GKeyFile* kf)
g_free(comment);
}
}
+ g_key_file_free( kf );
}
void load_autostart(const char* session_name)
@@ -193,9 +195,7 @@ void load_autostart(const char* session_name)
if( g_hash_table_size( hash ) > 0 )
{
- GKeyFile* kf = g_key_file_new();
- g_hash_table_foreach( hash, (GHFunc)add_autostart_file, kf );
- g_key_file_free( kf );
+ g_hash_table_foreach( hash, (GHFunc)add_autostart_file, NULL );
}
g_hash_table_destroy( hash );
}
--
2.30.2

View file

@ -0,0 +1,47 @@
--- lxsession-0.5.5/lxsession-default-apps/autostart.vala.conf_noexist 2023-06-12 15:52:43.574275326 +0900
+++ lxsession-0.5.5/lxsession-default-apps/autostart.vala 2023-06-12 15:58:54.735990230 +0900
@@ -23,6 +23,24 @@ namespace LDefaultApps
string config_path;
config_path = get_config_home_path("autostart");
var config_file = File.new_for_path (config_path);
+
+ /* Make it sure that parent directory for config_file always exists */
+ {
+ var config_parent = config_file.get_parent();
+
+ if (!config_parent.query_exists ())
+ {
+ try
+ {
+ config_parent.make_directory_with_parents ();
+ }
+ catch (GLib.Error e)
+ {
+ message (e.message);
+ }
+ }
+ }
+
if (!config_file.query_exists ())
{
string config_system_path;
@@ -45,19 +63,6 @@ namespace LDefaultApps
else
{
File file = File.new_for_path (config_system_path);
- var config_parent = config_file.get_parent();
-
- if (!config_parent.query_exists ())
- {
- try
- {
- config_parent.make_directory_with_parents ();
- }
- catch (GLib.Error e)
- {
- message (e.message);
- }
- }
try
{

View file

@ -1,26 +0,0 @@
From e935beaa73f30dd54253f96ca951a4b47fc9a3b7 Mon Sep 17 00:00:00 2001
From: Mamoru TASAKA <mtasaka@fedoraproject.org>
Date: Fri, 15 Aug 2025 15:35:58 +0900
Subject: [PATCH] lxsession: workaround for setting ally bus
---
lxsession/environement.vala | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lxsession/environement.vala b/lxsession/environement.vala
index a18f840..503f3f0 100644
--- a/lxsession/environement.vala
+++ b/lxsession/environement.vala
@@ -281,6 +281,9 @@ namespace Lxsession
}
*/
+ /* Workaround: set up ally bus */
+ lxsession_spawn_command_line_async("gdbus call --session --dest org.a11y.Bus --object-path /org/a11y/bus --method org.a11y.Bus.GetAddress");
+
if (global_settings.get_item_string("Environment", "toolkit_integration", null) == "true")
{
/* Enable toolkit integration for OpenOffice.org / LibreOffice, if available. */
--
2.50.1

View file

@ -2,100 +2,111 @@
# renamed from lxsession-lite. Original review at
# https://bugzilla.redhat.com/show_bug.cgi?id=442268
%global use_release 0
%global use_gitbare 1
%global use_release 0
%global use_git 0
%global use_gitbare 1
%if 0%{?use_git} < 1
%if 0%{?use_gitbare} < 1
# force
%global use_release 1
%global use_release 1
%endif
%endif
%global git_version %{nil}
%global git_ver_rpm %{nil}
%global git_builddir %{nil}
%if 0%{?use_git}
%global git_rev 138ff9b22b45192a3b020ebbbed04e9060470a66
%global git_date 20161125
%global git_short %(echo %{git_rev} | cut -c-8)
%global git_version D%{git_date}git%{git_short}
%endif
%if 0%{?use_gitbare}
%global gittardate 20250403
%global gittartime 1600
%define use_gitcommit_as_rel 0
%global gitbaredate 20250330
%global git_rev 886b9ad90f98b12c775313331431769295138f69
%global git_short %(echo %{git_rev} | cut -c-8)
%global git_version %{gitbaredate}git%{git_short}
%if 0%{?use_gitcommit_as_rel}
%global git_ver_rpm ^%{git_version}
%global git_builddir -%{git_version}
%endif
%global gittardate 20220913
%global gittartime 1507
%global gitbaredate 20210419
%global git_rev 82580e4559e034d1879071baae152a699f5aa1b0
%global git_short %(echo %{git_rev} | cut -c-8)
%global git_version D%{gitbaredate}git%{git_short}
%endif
%global baserelease 10
%global main_version 0.5.6
%if 0%{?use_release} >= 1
%global fedorarel %{?prever:0.}%{baserelease}%{?prever:.%{prerpmver}}
%endif
%if 0%{?use_git} >= 1
%global fedorarel %{baserelease}.%{git_version}
%endif
%if 0%{?use_gitbare} >= 1
%global fedorarel %{baserelease}.%{git_version}
%endif
Name: lxsession
Version: %{main_version}%{git_ver_rpm}
Release: 3%{?dist}
Summary: Lightweight X11 session manager
Summary(de): Leichtgewichtiger X11 Sitzungsverwalter
Name: lxsession
Version: 0.5.5
Release: %{fedorarel}%{?dist}
Summary: Lightweight X11 session manager
Summary(de): Leichtgewichtiger X11 Sitzungsverwalter
# LGPL-3.0-or-later lxsession-logout/lxsession-logout-dbus-interface.c
# HPND lxsettings-daemon/xsettings-common.c and some files under lxsettings-daemon/
# GPL-2.0-or-later Others
# SPDX confirmed
License: GPL-2.0-or-later AND HPND AND LGPL-3.0-or-later
URL: http://lxde.sourceforge.net/
License: GPLv2+
URL: http://lxde.sourceforge.net/
%if 0%{?use_gitbare}
Source0: %{name}-%{gittardate}T%{gittartime}.tar.gz
%endif
%if 0%{?use_release}
Source0: http://downloads.sourceforge.net/sourceforge/lxde/%{name}-%{version}.tar.xz
%if 0%{?use_git}
Source0: %{name}-%{version}-%{?git_version}.tar.bz2
%endif
%if 0%{?use_release}
Source0: http://downloads.sourceforge.net/sourceforge/lxde/%{name}-%{version}.tar.xz
%endif
# https://github.com/lxde/lxsession/pull/27
# Fix lxsession-xdg-autostart segfault
Patch1: lxsession-0.5.5-0001-xdg-autostart-never-reuse-GKeyFile-object.patch
# https://github.com/lxde/lxsession/pull/28
# Fix lxsession-default-apps segfault
Patch2: lxsession-0.5.5-0002-load_autostart-never-reuse-GKeyFile-object.patch
#http://sourceforge.net/p/lxde/bugs/760/
Patch1000: lxsession-0.5.2-git9f8d6133-reload.patch
Patch1002: lxsession-0.5.2-notify-daemon-default.patch
Patch1000: lxsession-0.5.2-git9f8d6133-reload.patch
Patch1002: lxsession-0.5.2-notify-daemon-default.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1801071
# race condition when calling "lxsession -r" from imsettings-lxde and when daemon is not configured yet
# explicitly do nullptr check
Patch1005: lxsession-0.5.4-load-settings-nullcheck.patch
Patch1005: lxsession-0.5.4-load-settings-nullcheck.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=2213030
# Always create parent directory for lxsession autostart file
Patch1006: lxsession-0.5.5-read_autostart_conf-create-directory.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=1830588
# add custom directory to XDG_CONFIG_DIRS
Patch2001: lxsession-0.5.5-add-custom-xdg-config-dir.patch
Patch2001: lxsession-0.5.5-add-custom-xdg-config-dir.patch
# Split out appindicator support and kill it for now:
# libappindicator 12.10.1 kills GTK2 vapi support
Patch2002: lxsession-0.5.5-split-indicator-support.patch
# Workaround for explicitly setting ally bus
# ref: https://bugzilla.redhat.com/show_bug.cgi?id=2209584#c6
# ref: https://forums.gentoo.org/viewtopic-t-1172784-start-75-postdays-0-postorder-asc-highlight-.html
Patch2003: lxsession-0.5.6-lxsession-workaround-for-setting-ally-bus.patch
Patch2002: lxsession-0.5.5-split-indicator-support.patch
BuildRequires: pkgconfig(gtk+-2.0)
#BuildRequires: pkgconfig(indicator-0.4)
#BuildRequires: pkgconfig(appindicator-0.1)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(polkit-agent-1)
BuildRequires: make
BuildRequires: vala
BuildRequires: docbook-utils
BuildRequires: intltool
BuildRequires: gettext
BuildRequires: desktop-file-utils
BuildRequires: docbook-style-xsl
BuildRequires: /usr/bin/xsltproc
BuildRequires: pkgconfig(gtk+-2.0)
#BuildRequires: pkgconfig(indicator-0.4)
#BuildRequires: pkgconfig(appindicator-0.1)
BuildRequires: pkgconfig(libnotify)
BuildRequires: pkgconfig(polkit-agent-1)
BuildRequires: make
BuildRequires: vala
BuildRequires: docbook-utils
BuildRequires: intltool
BuildRequires: gettext
BuildRequires: desktop-file-utils
BuildRequires: docbook-style-xsl
BuildRequires: %{_bindir}/xsltproc
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: /usr/bin/git
BuildRequires: automake
BuildRequires: autoconf
BuildRequires: %{_bindir}/git
# name changed back from lxsession-lite to lxsession
Obsoletes: lxsession-lite <= 0.3.6-6
Provides: lxsession-lite = %{version}-%{release}
Obsoletes: lxsession-lite <= 0.3.6-6
Provides: lxsession-lite = %{version}-%{release}
# lxde-settings-daemon was merged into lxsession
Obsoletes: lxde-settings-daemon <= 0.4.1-2
Provides: lxde-settings-daemon = 0.4.1-3
Obsoletes: lxde-settings-daemon <= 0.4.1-2
Provides: lxde-settings-daemon = 0.4.1-3
# required for suspend and hibernate
Requires: upower
Requires: upower
%description
LXSession is a standard-compliant X11 session manager with shutdown/
@ -118,7 +129,7 @@ Abhängigkeiten.
%package edit
Summary: Simple GUI to configure whats automatically started in LXDE
Summary: Simple GUI to configure whats automatically started in LXDE
%description edit
LXSession-edit is a tool to manage freedesktop.org compliant desktop session
@ -126,10 +137,10 @@ autostarts. Currently adding and removing applications from the startup list
is not yet available, but it will be support in the next release.
%package -n lxpolkit
Summary: Simple PolicyKit authentication agent
Requires: polkit >= 0.95
Summary: Simple PolicyKit authentication agent
Requires: polkit >= 0.95
# required to replace polkit-gnome and polkit-kde
Provides: PolicyKit-authentication-agent
Provides: PolicyKit-authentication-agent
%description -n lxpolkit
@ -137,18 +148,19 @@ LXPolKit is a simple PolicyKit authentication agent developed for LXDE, the
Lightweight X11 Desktop Environment.
%prep
%if 0%{?use_release}
%setup -q -n %{name}-%{main_version}%{git_builddir}
%if 0%{?use_release} || 0%{?use_git}
%setup -q %{?git_version:-n %{name}-%{version}-%{?git_version}}
git init
%endif
%if 0%{?use_gitbare}
%setup -q -c -T -n %{name}-%{main_version}%{git_builddir} -a 0
%setup -q -c -T -a 0
git clone ./%{name}.git/
cd %{name}
git checkout -b %{main_version}-fedora %{git_rev}
#git checkout -b %{version}-fedora %{version}
git checkout -b %{version}-fedora %{git_rev}
cp -a [A-Z]* ..
cp -a data/ ..
@ -161,32 +173,25 @@ do
git cherry-pick $commit
done
# Restore timestamps
set +x
echo "Restore timestamps"
git ls-tree -r --name-only HEAD | while read f
do
unixtime=$(git log -n 1 --pretty='%ct' -- $f)
touch -d "@${unixtime}" $f
done
set -x
%endif
git config user.name "lxpanel Fedora maintainer"
git config user.email "lxpanel-maintainers@fedoraproject.org"
git config user.email "lxpanel-owner@fedoraproject.org"
%if 0%{?use_release}
%if 0%{?use_release} || 0%{?use_git}
git add .
git commit -m "base" -q
%endif
#%patch0 -p1 -b .dsofix
%__cat %PATCH1 | git am
%__cat %PATCH2 | git am
%patch -P1000 -p1 -b .reload
%patch -P1002 -p1 -b .notify
%patch -P1005 -p1 -b .nullcheck
%patch -P1006 -p1 -b .conf_noexist
%patch -P2001 -p1 -b .custom
%patch -P2002 -p1 -b .indicator
%patch -P2003 -p1 -b .ally
%if 0%{?use_gitbare}
git commit -m "Apply Fedora specific configulation" -a
%endif
@ -263,39 +268,28 @@ cd ..
%files -f %{name}.lang
%doc AUTHORS
%doc ChangeLog
%license COPYING
%doc README
%doc data/desktop.conf.example
%doc AUTHORS ChangeLog COPYING README data/desktop.conf.example
%{_bindir}/%{name}
%{_bindir}/%{name}-logout
%{_bindir}/%{name}-db
%{_bindir}/%{name}-default
%{_bindir}/%{name}-default-apps
%{_bindir}/%{name}-default-terminal
%dir %{_libexecdir}/%{name}
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/%{name}-xsettings
%{_bindir}/lxsettings-daemon
%{_bindir}/%{name}-xdg-autostart
%{_bindir}/lxlock
%{_bindir}/lxclipboard
%dir %{_datadir}/%{name}/
%{_datadir}/%{name}/images/
%dir %{_datadir}/%{name}/ui/
%{_datadir}/%{name}/ui/lxsession-default-apps.ui
%{_datadir}/applications/lxsession-default-apps.desktop
%{_datadir}/%{name}/
%exclude %{_datadir}/%{name}/ui/lxpolkit.ui
%exclude %{_datadir}/%{name}/ui/lxsession-edit.ui
%{_mandir}/man*/%{name}*.*
# we need to own
%dir %{_sysconfdir}/xdg/%{name}
%{_datadir}/applications/lxsession-default-apps.desktop
%{_mandir}/man*/%{name}*.*
%{_mandir}/man1/lxlock.1*
%{_mandir}/man1/lxpolkit.1*
%{_mandir}/man1/lxclipboard.1*
@ -308,52 +302,10 @@ cd ..
%files -n lxpolkit
%{_bindir}/lxpolkit
%{_sysconfdir}/xdg/autostart/lxpolkit.desktop
%config %{_sysconfdir}/xdg/autostart/lxpolkit.desktop
%{_datadir}/%{name}/ui/lxpolkit.ui
%changelog
* Fri Aug 15 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.5.6-3
- Add workaround for setting a11y bus explicitly
* Thu Jul 24 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.6-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Apr 03 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.5.6-1
- 0.5.6
* Thu Feb 13 2025 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.5.5^20241019gitc72db4f8-1
- Update to the latest git
* Fri Jan 17 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.5^20240821git95e902d7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Sun Aug 25 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.5.5^20240821git95e902d7-1
- Update to the latest git
* Tue Aug 13 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.5.5^20240812git626a654b-1
- Update to the latest git
* Thu Jul 18 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.5^20230917gite0fffa66-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Sun Feb 25 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.5.5^20230917gite0fffa66-4
- Apply upstream PR for gcc14 -Werror=incompatible-pointer-types
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.5^20230917gite0fffa66-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.5.5^20230917gite0fffa66-2
- Change -Wincompatible-pointer-types from error to warning
* Sun Dec 31 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.5.5^20230917gite0fffa66-1
- Update to the latest git
* Tue Aug 15 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.5.5^20230810git27c1eaf6-1
- Update to the latest git
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.5.5-11.D20210419git82580e45
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Mon Jun 12 2023 Mamoru TASAKA <mtasaka@fedoraproject.org> - 0.5.5-10.D20210419git82580e45
- Always create parent directory for lxsession autostart file (bug 2213030)

View file

@ -1 +1 @@
SHA512 (lxsession-20250403T1600.tar.gz) = b3282ea072d3cf2552c9581cca8251f9f7b2f7c7e062b4a9ee4d9725ab2218f35dd437beab53d56417b94a036d428cfe196b58a0e9af73d33f295bbefd938a5e
SHA512 (lxsession-20220913T1507.tar.gz) = 54ca0362e6b0998aad8dba6e60b8f3ecb44f356bcc3c04f1a6942daf0355f58011947afe3bc116f51827ebc6698efe1c16a0c227c8bd0b77d11aac98cc297aba