$ git show --format=fuller --patch-with-stat --summary 7a05773825e23f584b5b85ecf355c48aab1011de
commit 7a05773825e23f584b5b85ecf355c48aab1011de
Author: mandian <mandian@users.noreply.github.com>
AuthorDate: Wed Dec 6 16:52:28 2023 +0000
Commit: mandian <mandian@users.noreply.github.com>
CommitDate: Wed Dec 6 16:52:28 2023 +0000
upgrate at the latesti git version and rebuild against gtk3
---
.abf.yml | 2 +-
...lxpolkit-autostart-for-other-environments.patch | 10 +-
lxsession-0.5.2-git9f8d6133-reload.patch | 55 +++++----
lxsession-0.5.2-notify-daemon-default.patch | 4 +-
lxsession-0.5.4-load-settings-nullcheck.patch | 11 ++
lxsession-0.5.5-add-custom-xdg-config-dir.patch | 11 ++
lxsession-0.5.5-use_gtk3_indicators.patch | 23 ++++
lxsession.spec | 133 ++++++++++++---------
8 files changed, 165 insertions(+), 84 deletions(-)
create mode 100644 lxsession-0.5.4-load-settings-nullcheck.patch
create mode 100644 lxsession-0.5.5-add-custom-xdg-config-dir.patch
create mode 100644 lxsession-0.5.5-use_gtk3_indicators.patch
diff --git a/.abf.yml b/.abf.yml
index 1078b70..ac648d4 100644
--- a/.abf.yml
+++ b/.abf.yml
@@ -1,2 +1,2 @@
sources:
- lxsession-0.5.5.tar.xz: 93f495f3afff0300de3c7b9aacce0ef29eb86bab
+ lxsession-e0fffa6645f7c8b1ee9ea1088acd051ba8e733d4.tar.gz: bdf687eb8c73ac0e0bc6e833531d873416ff2492
diff --git a/lxpolkit-0.5.5-openmandriva-disable-lxpolkit-autostart-for-other-environments.patch b/lxpolkit-0.5.5-openmandriva-disable-lxpolkit-autostart-for-other-environments.patch
index 05e2ee8..eda1429 100644
--- a/lxpolkit-0.5.5-openmandriva-disable-lxpolkit-autostart-for-other-environments.patch
+++ b/lxpolkit-0.5.5-openmandriva-disable-lxpolkit-autostart-for-other-environments.patch
@@ -1,10 +1,10 @@
---- lxsession-0.5.5/data/lxpolkit.desktop.in.in~ 2020-03-31 14:14:50.000000000 +0100
-+++ lxsession-0.5.5/data/lxpolkit.desktop.in.in 2020-03-31 15:47:36.583235902 +0100
+--- a/data/lxpolkit.desktop.in.in
++++ b/data/lxpolkit.desktop.in.in
@@ -6,5 +6,5 @@
Exec=lxpolkit
TryExec=lxpolkit
Icon=gtk-dialog-authentication
--NotShowIn=GNOME;KDE;MATE;
--Hidden=true
+-NotShowIn=GNOME;KDE;MATE;LXQt;XFCE;Unity;X-Cinnamon;
+OnlyShowIn=LXDE;
-+Hidden=false
+ NoDisplay=true
+
diff --git a/lxsession-0.5.2-git9f8d6133-reload.patch b/lxsession-0.5.2-git9f8d6133-reload.patch
index bae420f..9582908 100644
--- a/lxsession-0.5.2-git9f8d6133-reload.patch
+++ b/lxsession-0.5.2-git9f8d6133-reload.patch
@@ -1,6 +1,6 @@
---- lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/Makefile.am.reload 2016-06-21 00:15:37.370393487 +0900
-+++ lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/Makefile.am 2016-06-21 00:17:34.190841661 +0900
-@@ -418,6 +418,7 @@
+--- lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/Makefile.am.reload 2020-02-29 23:15:59.000000000 +0900
++++ lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/Makefile.am 2020-10-12 22:57:27.616976651 +0900
+@@ -416,6 +416,7 @@ lxsession_lxsession_VALAFLAGS = \
--pkg gio-2.0 \
--pkg posix \
--pkg lxsettings-daemon \
@@ -8,9 +8,22 @@
$(buildinclip_VALAFLAGS) \
$(buildinpolkit_VALAFLAGS) \
$(lxsession_gtk_lxsession_VALAFLAGS) \
---- lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/lxsettings-daemon/xevent.c.reload 2016-04-18 03:13:01.000000000 +0900
-+++ lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/lxsettings-daemon/xevent.c 2016-06-21 00:15:37.370393487 +0900
-@@ -71,13 +71,19 @@
+--- lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/vapi/xevent.vapi.reload 2020-10-12 22:57:27.616976651 +0900
++++ lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/vapi/xevent.vapi 2020-10-12 22:57:27.616976651 +0900
+@@ -0,0 +1,10 @@
++[CCode (cprefix = "LxsessionXEvent", cheader_filename = "lxsettings-daemon/xevent.h")]
++ public static void send_internal_command( int cmd );
++ public static bool xdpy_init();
++
++[CCode (cname = "int", cprefix = "LXS_", cheader_filename = "lxsettings-daemon/xevent.h", has_type_id = false)]
++ public enum LXS_CMD {
++ RELOAD,
++ EXIT,
++ LAST_CMD
++ }
+--- lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/lxsettings-daemon/xevent.c.reload 2019-02-28 07:02:03.000000000 +0900
++++ lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/lxsettings-daemon/xevent.c 2020-10-12 22:58:13.620914596 +0900
+@@ -71,13 +71,20 @@ void send_internal_command( int cmd )
XSync(dpy, False);
}
@@ -19,6 +32,7 @@
+ dpy = XOpenDisplay( g_getenv("DISPLAY") );
+ if( ! dpy )
+ return FALSE;
++ return TRUE;
+}
+
gboolean xevent_init()
@@ -32,9 +46,9 @@
return FALSE;
/* according to the spec, private Atoms should prefix their names with _. */
---- lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/lxsession/main.vala.reload 2016-04-18 03:13:01.000000000 +0900
-+++ lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/lxsession/main.vala 2016-06-21 00:15:37.370393487 +0900
-@@ -99,6 +99,17 @@
+--- lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/lxsession/main.vala.reload 2020-02-29 23:53:10.000000000 +0900
++++ lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/lxsession/main.vala 2020-10-12 22:57:27.617976650 +0900
+@@ -99,6 +99,17 @@ namespace Lxsession {
return -1;
}
@@ -52,16 +66,13 @@
message ("Session is %s",session);
message ("DE is %s", desktop_environnement);
---- lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/vapi/xevent.vapi.reload 2016-06-21 00:15:37.370393487 +0900
-+++ lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/vapi/xevent.vapi 2016-06-21 00:15:37.370393487 +0900
-@@ -0,0 +1,10 @@
-+[CCode (cprefix = "LxsessionXEvent", cheader_filename = "lxsettings-daemon/xevent.h")]
-+ public static void send_internal_command( int cmd );
-+ public static bool xdpy_init();
-+
-+[CCode (cname = "int", cprefix = "LXS_", cheader_filename = "lxsettings-daemon/xevent.h", has_type_id = false)]
-+ public enum LXS_CMD {
-+ RELOAD,
-+ EXIT,
-+ LAST_CMD
-+ }
+--- lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/lxsettings-daemon/xevent.h.reload 2019-02-28 07:02:03.000000000 +0900
++++ lxsession-9f8d613332abec5ec0b64b94e1a17caa0c56798b/lxsettings-daemon/xevent.h 2020-10-12 22:57:27.617976650 +0900
+@@ -35,6 +35,7 @@ typedef enum{
+ LXS_LAST_CMD
+ }LXS_CMD;
+
++gboolean xdpy_init();
+ gboolean xevent_init();
+ gboolean single_instance_check();
+ void xevent_finalize();
diff --git a/lxsession-0.5.2-notify-daemon-default.patch b/lxsession-0.5.2-notify-daemon-default.patch
index ffca822..d7e96a8 100644
--- a/lxsession-0.5.2-notify-daemon-default.patch
+++ b/lxsession-0.5.2-notify-daemon-default.patch
@@ -1,5 +1,5 @@
---- lxsession-0.5.2/lxsession/settings.vala.notify 2015-08-11 14:14:22.187535605 +0900
-+++ lxsession-0.5.2/lxsession/settings.vala 2015-08-11 14:37:18.868694268 +0900
+--- a/lxsession/settings.vala
++++ b/lxsession/settings.vala
@@ -258,6 +258,10 @@
set_generic_default("Session", "proxy_manager", "command", "string", "build-in");
set_generic_default("Session", "keyring", "command", "string", "ssh-agent");
diff --git a/lxsession-0.5.4-load-settings-nullcheck.patch b/lxsession-0.5.4-load-settings-nullcheck.patch
new file mode 100644
index 0000000..369057a
--- /dev/null
+++ b/lxsession-0.5.4-load-settings-nullcheck.patch
@@ -0,0 +1,11 @@
+--- lxsession-0.5.4/lxsettings-daemon/settings-daemon.c.debug 2019-02-28 07:02:03.000000000 +0900
++++ lxsession-0.5.4/lxsettings-daemon/settings-daemon.c 2020-02-14 11:59:28.250978374 +0900
+@@ -190,6 +190,8 @@ static void load_settings( GKeyFile* kf
+ if ( (keys = g_key_file_get_keys( kf, group, NULL, NULL )) == NULL )
+ return;
+
++ if (!managers) return;
++
+ for( key = keys; *key; ++key )
+ {
+ const char* name = *key + 1;
diff --git a/lxsession-0.5.5-add-custom-xdg-config-dir.patch b/lxsession-0.5.5-add-custom-xdg-config-dir.patch
new file mode 100644
index 0000000..360f507
--- /dev/null
+++ b/lxsession-0.5.5-add-custom-xdg-config-dir.patch
@@ -0,0 +1,11 @@
+--- lxsession-0.5.5/lxsession/environement.vala.custom 2020-02-29 23:15:59.000000000 +0900
++++ lxsession-0.5.5/lxsession/environement.vala 2020-05-07 14:46:01.109408819 +0900
+@@ -127,7 +127,7 @@ namespace Lxsession
+ }
+ else
+ {
+- custom_config = "/etc/xdg";
++ custom_config = "/etc/xdg/lxsession:/etc/xdg";
+ custom_data ="/usr/local/share:/usr/share:/usr/share/gdm:/var/lib/menu-xdg";
+ }
+
diff --git a/lxsession-0.5.5-use_gtk3_indicators.patch b/lxsession-0.5.5-use_gtk3_indicators.patch
new file mode 100644
index 0000000..1eb9426
--- /dev/null
+++ b/lxsession-0.5.5-use_gtk3_indicators.patch
@@ -0,0 +1,23 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -117,7 +117,7 @@ AM_CONDITIONAL(USE_GTK3, test "$enable_g
+ AM_CONDITIONAL(USE_ADVANCED_NOTIFICATIONS, test "$use_advanced_notifications" = "yes")
+
+ if test "$use_advanced_notifications" = "yes"; then
+- PKG_CHECK_MODULES(INDICATORS, [indicator-0.4 >= 0.4.93 appindicator-0.1])
++ PKG_CHECK_MODULES(INDICATORS, [indicator3-0.4 >= 0.4.93 appindicator3-0.1])
+ AC_SUBST(INDICATORS_CFLAGS)
+ AC_SUBST(INDICATORS_LIBS)
+
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -460,7 +460,7 @@ lxsession_lxsession_LDADD += \
+
+ if USE_ADVANCED_NOTIFICATIONS
+ lxsession_lxsession_VALAFLAGS += \
+- --pkg appindicator-0.1 \
++ --pkg appindicator3-0.1 \
+ --pkg libnotify \
+ -D USE_ADVANCED_NOTIFICATIONS
+
diff --git a/lxsession.spec b/lxsession.spec
index 78d0e5a..7a15bca 100644
--- a/lxsession.spec
+++ b/lxsession.spec
@@ -1,37 +1,56 @@
-%define _disable_lto 1
+#FIMXE: workaround for clang 16
+%global optflags %{optflags} -Wno-incompatible-function-pointer-types
+
+# git snapshot
+%global snapshot 1
+%if 0%{?snapshot}
+ %global commit e0fffa6645f7c8b1ee9ea1088acd051ba8e733d4
+ %global commitdate 20230917
+ %global shortcommit %(c=%{commit}; echo ${c:0:7})
+%endif
+
Summary: The default X11 session manager of LXDE
Name: lxsession
Version: 0.5.5
-Release: 2
+Release: 3
License: GPLv2+
Group: Graphical desktop/Other
Url: http://www.lxde.org
-Source0: https://downloads.sourceforge.net/sourceforge/lxde/%{name}-%{version}.tar.xz
-# Patch from https://sourceforge.net/p/lxde/bugs/760/#29fe/6196 to correct reload option behavior
-Patch1: %{name}-0.5.2-git9f8d6133-reload.patch
-Patch2: %{name}-0.5.2-notify-daemon-default.patch
-Patch3: lxpolkit-0.5.5-openmandriva-disable-lxpolkit-autostart-for-other-environments.patch
-Patch4: d8ff02363de5e7e8cd3bc51958104cfa81b4a9bc.patch
+#Source0: https://downloads.sourceforge.net/sourceforge/lxde/%{name}-%{version}.tar.xz
+Source0: https://github.com/lxde/lxsession/archive/%{?snapshot:%{commit}}%{!?snapshot:%{version}}/%{name}-%{?snapshot:%{commit}}%{!?snapshot:%{version}}.tar.gz
-BuildRequires: desktop-file-utils
+# Patch from https://sourceforge.net/p/lxde/bugs/760/#29fe/6196 to correct reload option behavior
+Patch1: lxsession-0.5.2-git9f8d6133-reload.patch
+Patch2: lxsession-0.5.2-notify-daemon-default.patch
+Patch3: lxsession-0.5.4-load-settings-nullcheck.patch
+Patch5: lxsession-0.5.5-use_gtk3_indicators.patch
+Patch6: lxsession-0.5.5-add-custom-xdg-config-dir.patch
+Patch100: lxpolkit-0.5.5-openmandriva-disable-lxpolkit-autostart-for-other-environments.patch
+
+BuildRequires: desktop-file-utils
BuildRequires: docbook-to-man
BuildRequires: docbook-dtd412-xml
BuildRequires: docbook-style-xsl
-#BuildRequires: docbook-utils
-BuildRequires: gettext
-BuildRequires: intltool
+#BuildRequires: docbook-utils
+BuildRequires: gettext
+BuildRequires: intltool
#BuildRequires: pkgconfig(dbus-glib-1)
BuildRequires: pkgconfig(glib-2.0)
-BuildRequires: pkgconfig(gtk+-2.0)
-BuildRequires: pkgconfig(indicator-0.4)
-BuildRequires: pkgconfig(appindicator-0.1)
+BuildRequires: pkgconfig(gtk+-3.0)
+BuildRequires: pkgconfig(indicator3-0.4)
+BuildRequires: pkgconfig(appindicator3-0.1)
BuildRequires: pkgconfig(libnotify)
-BuildRequires: pkgconfig(unique-1.0)
-BuildRequires: pkgconfig(polkit-agent-1)
+BuildRequires: pkgconfig(unique-3.0)
+BuildRequires: pkgconfig(polkit-agent-1)
#BuildRequires: pkgconfig(x11)
BuildRequires: xsltproc
-BuildRequires: vala
+BuildRequires: vala
+
+
+Requires: notification-daemon
+# required for suspend and hibernate
+Requires: upower
Provides: lxde-session-manager
@@ -49,13 +68,32 @@ restart them the next time the user logs in.
LXSession is the standard session manager used by LXDE but it's
desktop-independent and can be used with any window manager.
+%files -f %{name}.lang
+%{_bindir}/lxlock
+%{_bindir}/%{name}
+%{_bindir}/%{name}-logout
+%{_bindir}/lxclipboard
+%{_bindir}/%{name}-default
+%{_bindir}/%{name}-default-apps
+%{_bindir}/%{name}-default-terminal
+%{_bindir}/%{name}-edit
+%{_bindir}/%{name}-db
+%{_bindir}/%{name}-xdg-autostart
+%{_bindir}/lxsettings-daemon
+%{_datadir}/app-install/desktop
+%{_datadir}/applications/%{name}-default-apps.desktop
+%{_datadir}/applications/%{name}-edit.desktop
+%{_datadir}/%{name}/images
+%{_datadir}/%{name}/ui/%{name}-default-apps.ui
+%{_datadir}/%{name}/ui/%{name}-edit.ui
+%{_libexecdir}/%{name}/%{name}-xsettings
+%{_mandir}/man1/*
+
#---------------------------------------------------------------------------
%package -n lxpolkit
Summary: Simple PolicyKit authentication agent
Requires: polkit >= 0.95
-# required to replace polkit-gnome and polkit-kde
-Provides: PolicyKit-authentication-agent
%description -n lxpolkit
LXDE, which stands for Lightweight X11 Desktop Environment, is a desktop
@@ -66,6 +104,11 @@ while being a feature rich desktop environment.
LXPolKit is a simple PolicyKit authentication agent developed for LXDE, the
Lightweight X11 Desktop Environment.
+%files -n lxpolkit
+%{_bindir}/lxpolkit
+%{_sysconfdir}/xdg/autostart/lxpolkit.desktop
+%{_datadir}/%{name}/ui/lxpolkit.ui
+
#---------------------------------------------------------------------------
%package edit
@@ -80,15 +123,27 @@ while being a feature rich desktop environment.
LXSession-edit is a tool used to manage freedesktop.org compliant desktop
session autostarts, especially for LXSession.
+%files edit
+%{_bindir}/%{name}-edit
+%{_datadir}/applications/lxsession-edit.desktop
+%{_datadir}/%{name}/ui/lxsession-edit.ui
+
#---------------------------------------------------------------------------
%prep
-%setup -q
-%autosetup -p1
-sh ./autogen.sh
+%autosetup -p1 -n %{name}-%{?snapshot:%{commit}}%{!?snapshot:%{version}}
+
%build
-%configure --enable-advanced-notifications
+sh ./autogen.sh
+%configure \
+ --enable-advanced-notifications \
+ --enable-buildin-clipboard \
+ --enable-gtk3 \
+ --enable-man \
+ --disable-silent-rules \
+ --enable-debug \
+ %{nil}
%make_build
@@ -100,33 +155,3 @@ mkdir -p %{buildroot}%{_datadir}/app-install/desktop
# locales
%find_lang %{name}
-%files -f %{name}.lang
-%{_bindir}/lxlock
-%{_bindir}/%{name}
-%{_bindir}/%{name}-logout
-%{_bindir}/lxclipboard
-%{_bindir}/%{name}-default
-%{_bindir}/%{name}-default-apps
-%{_bindir}/%{name}-default-terminal
-%{_bindir}/%{name}-edit
-%{_bindir}/%{name}-db
-%{_bindir}/%{name}-xdg-autostart
-%{_bindir}/lxsettings-daemon
-%{_datadir}/app-install/desktop
-%{_datadir}/applications/%{name}-default-apps.desktop
-%{_datadir}/applications/%{name}-edit.desktop
-%{_datadir}/%{name}/images
-%{_datadir}/%{name}/ui/%{name}-default-apps.ui
-%{_datadir}/%{name}/ui/%{name}-edit.ui
-%{_libexecdir}/%{name}/%{name}-xsettings
-%{_mandir}/man1/*
-
-%files -n lxpolkit
-%{_bindir}/lxpolkit
-%{_sysconfdir}/xdg/autostart/lxpolkit.desktop
-%{_datadir}/%{name}/ui/lxpolkit.ui
-
-%files edit
-%{_bindir}/%{name}-edit
-%{_datadir}/applications/lxsession-edit.desktop
-%{_datadir}/%{name}/ui/lxsession-edit.ui