diff --git a/.gitignore b/.gitignore index 38a41c5..00cce38 100644 --- a/.gitignore +++ b/.gitignore @@ -1,12 +1 @@ -lxsession-0.4.4.tar.gz -/lxsession-0.4.5.tar.gz -/lxsession-0.4.6.1.tar.gz -/0.5.2.tar.gz -/lxsession-0.5.2.tar.xz -/lxsession-0.5.2-D20160417git9f8d613332abec5ec0b64b94e1a17caa0c56798b.tar.gz -/lxsession-0.5.2-D20160817git699c1695c2adcf0ec04d9da579c65a66417064f0.tar.gz -/lxsession-0.5.2-D20161106git7b9a9580da6929af5bf8d1c577cc61db990c8d91.tar.gz -/lxsession-0.5.3-D20161210gite284f41ad4467c8b292d94cbcbc9a3393c618da5.tar.gz -/lxsession-0.5.3.tar.xz -/lxsession-0.5.4.tar.xz -/lxsession-0.5.5.tar.xz +/lxsession-*.tar.gz diff --git a/create-lxsession-git-bare-tarball.sh b/create-lxsession-git-bare-tarball.sh new file mode 100644 index 0000000..aeac8e5 --- /dev/null +++ b/create-lxsession-git-bare-tarball.sh @@ -0,0 +1,27 @@ +#!/bin/bash + +set -x +set -e + +REPONAME=lxsession +GITURL=https://github.com/lxde/${REPONAME}.git + +DATE=$(date '+%Y%m%d') +TIME=$(date '+%H%M') + +TARNAME=${REPONAME}-${DATE}T${TIME}.tar.gz + +PWDDIR=$(pwd) +TMPDIR=$(mktemp -d /var/tmp/libfm-XXXXXX) +pushd $TMPDIR + +git clone --mirror $GITURL +tar czf ${TARNAME} ${REPONAME}.git/ + +pushd ${REPONAME}.git/ +git log --format=fuller | head -n 12 +popd + +cp -p ${TARNAME} $PWDDIR +popd +rm -rf $TMPDIR diff --git a/lxsession-0.5.5-split-indicator-support.patch b/lxsession-0.5.5-split-indicator-support.patch new file mode 100644 index 0000000..095ca71 --- /dev/null +++ b/lxsession-0.5.5-split-indicator-support.patch @@ -0,0 +1,144 @@ +diff --git a/Makefile.am b/Makefile.am +index 5a1177e..7d20d37 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -459,9 +459,13 @@ lxsession_lxsession_CPPFLAGS += \ + lxsession_lxsession_LDADD += \ + $(GTK_LIBS) + ++if USE_INDICATOR ++lxsession_lxsession_VALAFLAGS += \ ++ --pkg appindicator-0.1 ++endif ++ + if USE_ADVANCED_NOTIFICATIONS + lxsession_lxsession_VALAFLAGS += \ +- --pkg appindicator-0.1 \ + --pkg libnotify \ + -D USE_ADVANCED_NOTIFICATIONS + +diff --git a/configure.ac b/configure.ac +index 38c6c93..33a6fc7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -108,7 +108,6 @@ else + AS_HELP_STRING([--enable-advanced-notifications], + [Build with advanced notification using indicators and libnotify (default: no)]), + use_advanced_notifications=$enableval, use_advanced_notifications="no") +- + fi + + AM_CONDITIONAL(USE_BUILDIN_CLIPBOARD, test "$use_buildin_clipboard" = "yes") +@@ -117,7 +116,8 @@ AM_CONDITIONAL(USE_GTK3, test "$enable_gtk3" = "yes") + 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]) ++ use_indicator=no ++ PKG_CHECK_MODULES(INDICATORS, [indicator-0.4 >= 0.4.93 appindicator-0.1], [use_indicator=no], [use_indicator=no]) + AC_SUBST(INDICATORS_CFLAGS) + AC_SUBST(INDICATORS_LIBS) + +@@ -126,6 +126,9 @@ if test "$use_advanced_notifications" = "yes"; then + AC_SUBST(LIBNOTIFY_LIBS) + fi + ++AM_CONDITIONAL(USE_INDICATOR, test "$use_indicator" = "yes") ++ ++ + if test "$use_buildin_polkit" = "yes"; then + HIDE_LXPOLKIT_AUTOSTART=true + else +diff --git a/lxsession/notifications.vala b/lxsession/notifications.vala +index 5432aa8..b706ab8 100644 +--- a/lxsession/notifications.vala ++++ b/lxsession/notifications.vala +@@ -19,7 +19,9 @@ + #if USE_GTK + using Gtk; + #if USE_ADVANCED_NOTIFICATIONS ++#if USE_INDICATOR + using AppIndicator; ++#endif + using Notify; + #endif + #endif +@@ -78,7 +80,9 @@ namespace Lxsession + public MenuObject menu; + #if USE_GTK + #if USE_ADVANCED_NOTIFICATIONS ++#if USE_INDICATOR + public Indicator indicator; ++#endif + public Notify.Notification notification; + #endif + #endif +@@ -106,7 +110,9 @@ namespace Lxsession + this.menu = menu_param; + #if USE_GTK + #if USE_ADVANCED_NOTIFICATIONS ++#if USE_INDICATOR + this.indicator = new Indicator(this.name, this.icon_name, IndicatorCategory.APPLICATION_STATUS); ++#endif + this.notification = new Notify.Notification ("LXsession", this.notification_text, this.icon_name); + this.notification.set_timeout(6000); + #endif +@@ -117,6 +123,7 @@ namespace Lxsession + #if USE_ADVANCED_NOTIFICATIONS + public void init() + { ++#if USE_INDICATOR + if (this.indicator == null) + { + this.indicator = new Indicator(this.name, this.icon_name, IndicatorCategory.APPLICATION_STATUS); +@@ -128,10 +135,12 @@ namespace Lxsession + { + this.indicator.set_menu(this.menu); + } ++#endif + } + + public void activate() + { ++#if USE_INDICATOR + message("Try activate"); + if (this.indicator != null) + { +@@ -147,10 +156,12 @@ namespace Lxsession + } + message("Activate done"); + } ++#endif + } + + public void inactivate() + { ++#if USE_INDICATOR + message("Try inactivate"); + if (this.indicator != null) + { +@@ -158,19 +169,24 @@ namespace Lxsession + this.indicator.set_status(IndicatorStatus.PASSIVE); + message("Inactivate done"); + } ++#endif + } + + public void set_icon(string param_icon_name) + { ++#if USE_INDICATOR + this.icon_name = param_icon_name; + message("Set new icon"); + this.indicator.icon_name = param_icon_name; ++#endif + } + + public void set_menu(MenuObject param_menu) + { ++#if USE_INDICATOR + this.menu = param_menu; + this.indicator.set_menu(param_menu); ++#endif + } + + public void add_action (string action, string label, owned ActionCallback callback) diff --git a/lxsession-0.5.6-lxsession-workaround-for-setting-ally-bus.patch b/lxsession-0.5.6-lxsession-workaround-for-setting-ally-bus.patch new file mode 100644 index 0000000..6735a05 --- /dev/null +++ b/lxsession-0.5.6-lxsession-workaround-for-setting-ally-bus.patch @@ -0,0 +1,26 @@ +From e935beaa73f30dd54253f96ca951a4b47fc9a3b7 Mon Sep 17 00:00:00 2001 +From: Mamoru TASAKA +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 + diff --git a/lxsession.spec b/lxsession.spec index d4ee020..7228ca7 100644 --- a/lxsession.spec +++ b/lxsession.spec @@ -2,68 +2,100 @@ # renamed from lxsession-lite. Original review at # https://bugzilla.redhat.com/show_bug.cgi?id=442268 -%global usegit 0 -%global mainrel 4 +%global use_release 0 +%global use_gitbare 1 -%global githash e284f41ad4467c8b292d94cbcbc9a3393c618da5 -%global shorthash %(TMP=%githash ; echo ${TMP:0:10}) -%global gitdate Sat, 10 Dec 2016 12:23:09 +0200 -%global gitdate_num 20161210 - -%if 0%{?usegit} >= 1 -%global fedorarel %{mainrel}.D%{gitdate_num}git%{shorthash} -%else -%global fedorarel %{?prever:0.}%{mainrel}%{?prever:.%{prerpmver}} +%if 0%{?use_gitbare} < 1 +# force +%global use_release 1 %endif -Name: lxsession -Version: 0.5.5 -Release: %{fedorarel}%{?dist} -Summary: Lightweight X11 session manager -Summary(de): Leichtgewichtiger X11 Sitzungsverwalter +%global git_version %{nil} +%global git_ver_rpm %{nil} +%global git_builddir %{nil} -License: GPLv2+ -URL: http://lxde.sourceforge.net/ -%if 0%{?usegit} >= 1 -Source0: https://github.com/lxde/lxsession/archive/%{githash}/%{name}-%{version}-D%{gitdate_num}git%{githash}.tar.gz -%else -Source0: http://downloads.sourceforge.net/sourceforge/lxde/%{name}-%{version}.tar.xz +%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 +%endif + + +%global main_version 0.5.6 + +Name: lxsession +Version: %{main_version}%{git_ver_rpm} +Release: 3%{?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/ +%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 %endif #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=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 -BuildRequires: pkgconfig(gtk+-2.0) -BuildRequires: pkgconfig(indicator-0.4) -BuildRequires: pkgconfig(appindicator-0.1) -BuildRequires: pkgconfig(libnotify) -BuildRequires: pkgconfig(polkit-agent-1) -BuildRequires: vala -BuildRequires: docbook-utils -BuildRequires: intltool -BuildRequires: gettext -BuildRequires: desktop-file-utils -BuildRequires: docbook-style-xsl -BuildRequires: %{_bindir}/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: /usr/bin/xsltproc -BuildRequires: automake -BuildRequires: autoconf +BuildRequires: automake +BuildRequires: autoconf +BuildRequires: /usr/bin/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/ @@ -86,7 +118,7 @@ Abhängigkeiten. %package edit -Summary: Simple GUI to configure what’s automatically started in LXDE +Summary: Simple GUI to configure what’s automatically started in LXDE %description edit LXSession-edit is a tool to manage freedesktop.org compliant desktop session @@ -94,10 +126,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 @@ -105,25 +137,67 @@ LXPolKit is a simple PolicyKit authentication agent developed for LXDE, the Lightweight X11 Desktop Environment. %prep -%if 0%{?usegit} < 1 -%setup -q -n %{name}-%{version}%{?prever} -%else -%setup -q -n %{name}-%{githash} +%if 0%{?use_release} +%setup -q -n %{name}-%{main_version}%{git_builddir} + +git init +%endif + +%if 0%{?use_gitbare} +%setup -q -c -T -n %{name}-%{main_version}%{git_builddir} -a 0 +git clone ./%{name}.git/ +cd %{name} + +git checkout -b %{main_version}-fedora %{git_rev} +cp -a [A-Z]* .. +cp -a data/ .. + +cat > GITHASH < - 0.5.6-3 +- Add workaround for setting a11y bus explicitly + +* Thu Jul 24 2025 Fedora Release Engineering - 0.5.6-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Thu Apr 03 2025 Mamoru TASAKA - 0.5.6-1 +- 0.5.6 + +* Thu Feb 13 2025 Mamoru TASAKA - 0.5.5^20241019gitc72db4f8-1 +- Update to the latest git + +* Fri Jan 17 2025 Fedora Release Engineering - 0.5.5^20240821git95e902d7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Sun Aug 25 2024 Mamoru TASAKA - 0.5.5^20240821git95e902d7-1 +- Update to the latest git + +* Tue Aug 13 2024 Mamoru TASAKA - 0.5.5^20240812git626a654b-1 +- Update to the latest git + +* Thu Jul 18 2024 Fedora Release Engineering - 0.5.5^20230917gite0fffa66-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Sun Feb 25 2024 Mamoru TASAKA - 0.5.5^20230917gite0fffa66-4 +- Apply upstream PR for gcc14 -Werror=incompatible-pointer-types + +* Thu Jan 25 2024 Fedora Release Engineering - 0.5.5^20230917gite0fffa66-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Mamoru TASAKA - 0.5.5^20230917gite0fffa66-2 +- Change -Wincompatible-pointer-types from error to warning + +* Sun Dec 31 2023 Mamoru TASAKA - 0.5.5^20230917gite0fffa66-1 +- Update to the latest git + +* Tue Aug 15 2023 Mamoru TASAKA - 0.5.5^20230810git27c1eaf6-1 +- Update to the latest git + +* Thu Jul 20 2023 Fedora Release Engineering - 0.5.5-11.D20210419git82580e45 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Mon Jun 12 2023 Mamoru TASAKA - 0.5.5-10.D20210419git82580e45 +- Always create parent directory for lxsession autostart file (bug 2213030) + +* Fri Jan 20 2023 Mamoru TASAKA - 0.5.5-9.D20210419git82580e45 +- F-37+: kill appindicator support for now due to 12.10.1 GTK2 support removal + +* Thu Jan 19 2023 Fedora Release Engineering - 0.5.5-8.D20210419git82580e45.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Tue Sep 13 2022 Mamoru TASAKA - 0.5.5-8.D20210419git82580e45 +- Update to the latest git (20210419) + +* Thu Jul 21 2022 Fedora Release Engineering - 0.5.5-7.D20210130git8543c00a.3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 0.5.5-7.D20210130git8543c00a.2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Thu Jul 22 2021 Fedora Release Engineering - 0.5.5-7.D20210130git8543c00a.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sat Mar 20 2021 Mamoru TASAKA - 0.5.5-7.D20210130git8543c00a +- Avoid lxsession-default-apps segfault (with recent glib2) + +* Fri Mar 12 2021 Mamoru TASAKA - 0.5.5-6.D20210130git8543c00a +- Avoid lxsession-xdg-autostart segfault (with recent glib2) + +* Tue Feb 2 2021 Mamoru TASAKA - 0.5.5-5.D20210130git8543c00a +- Update to the latest git + +* Tue Jan 26 2021 Fedora Release Engineering - 0.5.5-4.1 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + * Mon Oct 12 2020 Mamoru TASAKA - 0.5.5-4 - Turn on warning flags disabled by default on tarball - Turn some warnings into error diff --git a/sources b/sources index c890311..8208941 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (lxsession-0.5.5.tar.xz) = 12e25214485cf855b380a5aa91eb536f31536c98f5a50a1115cb4bf8ff884c7cdcd40c69a1502eeb9f4d3e6169e0607d6488ef3152ee184662fee39fe7a04d54 +SHA512 (lxsession-20250403T1600.tar.gz) = b3282ea072d3cf2552c9581cca8251f9f7b2f7c7e062b4a9ee4d9725ab2218f35dd437beab53d56417b94a036d428cfe196b58a0e9af73d33f295bbefd938a5e