Debian Bug report logs - #1039857
podman crashes my systemd-managed sway session on exit

version graph

Package: sway; Maintainer for sway is Sway and related packages team <team+swaywm@tracker.debian.org>; Source for sway is src:sway (PTS, buildd, popcon).

Reported by: Antoine Beaupre <anarcat@debian.org>

Date: Wed, 28 Jun 2023 21:45:02 UTC

Severity: minor

Tags: fixed-upstream, patch

Found in version sway/1.8.1-1

Forwarded to https://github.com/swaywm/sway/pull/7659

Reply or subscribe to this bug.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Sway and related packages team <team+swaywm@tracker.debian.org>:
Bug#1039857; Package sway. (Wed, 28 Jun 2023 21:45:04 GMT) (full text, mbox, link).


Acknowledgement sent to Antoine Beaupre <anarcat@debian.org>:
New Bug report received and forwarded. Copy sent to Sway and related packages team <team+swaywm@tracker.debian.org>. (Wed, 28 Jun 2023 21:45:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Antoine Beaupre <anarcat@debian.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: podman crashes my systemd-managed sway session on exit
Date: Wed, 28 Jun 2023 17:42:18 -0400
Package: sway
Version: 1.8.1-1
Severity: minor

This is a rather hairy problem.

I have made the perhaps-ill-advised configuration of hooking up my
wayland / sway session as a systemd --user unit.

When i run containers with podman and they exit with an error, the whole session crashes.

The last lines before death are:


jun 28 16:53:39 angela podman[298210]: 2023-06-28 16:53:39.53329688 -0400 EDT m=+1.000110624 container died de96bebba97ba50229c01a93e1a0928c34b954b50ca1ea295c20c1d3c2970137 (image=quay.io/minio/mc:latest [...]
jun 28 16:53:39 angela podman[298287]: 2023-06-28 16:53:39.624658051 -0400 EDT m=+0.086326242 container cleanup [...]
jun 28 16:53:39 angela systemd[296508]: sway.service: Main process exited, code=exited, status=1/FAILURE


The podman lines have way more stuff in there, but i spare you the
details...

My .config/systemd/user/ setup is documented in https://anarc.at/software/desktop/wayland/#systemd-integration

A plain:

    podman run docker.io/library/debian:bookworm-slim

... can reproduce the issue. Note that the command needs to be ran
from a terminal spawned by Sway itself, say with $mod-Return. If I
start it from a separate unit or with `systemd-run`, it doesn't crash
the session on exit.

If I run:

    podman run -it --rm docker.io/library/debian:bookworm-slim

I notice that `conmon(8)` takes over the Main PID which is
essentially the core of the problem here. Because Sway refuses to
support systemd:

https://github.com/swaywm/sway/issues/5160

... it does not send a proper "READY" state through sd_notify as other
services might normally do.

In general, that's not *too* much of a problem: systemd can start and
manage services fine without this. But in this case, I'm starting
other units that *do* depend on Sway being ready to run, so I *do*
need this state to properly chain dependencies here.

So I have this horror in my sway config:

exec dbus-update-activation-environment --systemd XDG_CURRENT_DESKTOP=sway \
  && systemctl --user import-environment SWAYSOCK \
                                         DISPLAY \
                                         I3SOCK \
                                         WAYLAND_DISPLAY \
                                         XCURSOR_SIZE \
                                         XCURSOR_THEME \
  && systemd-notify --ready


And the systemd sway.service has:

    NotifyAccess=all

... which is how conmon is able to hijack the Main PID.

A workaround is to change the Sway keybindings to start processes with
systemd, like this:

    # start a terminal
    #
    # we start it as a systemd unit on the fly otherwise podman takes over
    # the Main PID of the sway.service and container exits crash the whole
    # session
    bindsym $mod+Return exec systemd-run --user foot

The real fix here would be for Sway to send something to sd-daemon. Of
course, the easiest way to do this would be to do a clever call to
sd_notify() just at the right place in the Sway source code, but
there's little chance such a patch would be merged upstream...

I looked at the code, and the actual sd_notify() call is not *that*
complex. It opens a UNIX socket and shoves a message in there,
probably just READY=1. Surely Sway could figure out how to write to a
socket on its own?

Hell, it could even just vendor this stupid piece of code here:

https://sources.debian.org/src/systemd/253-4/src/libsystemd/sd-daemon/sd-daemon.c/#L453-L602

Anyway, I don't mean to troll here, but this was a really complicated
bug to figure out and to fix for me (thanks #debian-systemd folks!),
so I figured I would at *least* document it here somehow.

The best case scenario for me is that sway gets sd_notify support. A
working compromise could be an update to the README.Debian file or
even better a sample sway config that has the right knobs.

Failing that, I'm happy to just see this bug closed and add this to
the pile of custom weird shit I carry around everywhere.

Cheers! :)

-- System Information:
Debian Release: 12.0
  APT prefers stable-security
  APT policy: (500, 'stable-security'), (500, 'stable-debug'), (500, 'stable'), (1, 'experimental'), (1, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 6.1.0-9-amd64 (SMP w/16 CPU threads; PREEMPT)
Kernel taint flags: TAINT_WARN
Locale: LANG=fr_CA.UTF-8, LC_CTYPE=fr_CA.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled

Versions of packages sway depends on:
ii  libc6                2.36-9
ii  libcairo2            1.16.0-7
ii  libevdev2            1.13.0+dfsg-1
ii  libgdk-pixbuf-2.0-0  2.42.10+dfsg-1+b1
ii  libgl1-mesa-dri      22.3.6-1+deb12u1
ii  libgles2             1.6.0-1
ii  libglib2.0-0         2.74.6-2
ii  libinput10           1.22.1-1
ii  libjson-c5           0.16-2
ii  libpango-1.0-0       1.50.12+ds-1
ii  libpangocairo-1.0-0  1.50.12+ds-1
ii  libpcre2-8-0         10.42-1
ii  libpixman-1-0        0.42.2-1
ii  libsystemd0          252.6-1
ii  libudev1             252.6-1
ii  libwayland-client0   1.21.0-1
ii  libwayland-cursor0   1.21.0-1
ii  libwayland-server0   1.21.0-1
ii  libwlroots11         0.16.2-1
ii  libxcb-icccm4        0.4.1-1.1
ii  libxcb1              1.15-1
ii  libxkbcommon0        1.5.0-1
ii  polkitd              122-3
ii  swaybg               1.2.0-1

Versions of packages sway recommends:
ii  foot              1.13.1-2
ii  suckless-tools    47-1
pn  sway-backgrounds  <none>

Versions of packages sway suggests:
ii  swayidle                1.8.0-1
ii  swaylock                1.7.2-1
ii  xdg-desktop-portal-wlr  0.7.0-1

-- no debconf information



Information forwarded to debian-bugs-dist@lists.debian.org, Sway and related packages team <team+swaywm@tracker.debian.org>:
Bug#1039857; Package sway. (Thu, 29 Jun 2023 03:27:07 GMT) (full text, mbox, link).


Acknowledgement sent to Antoine Beaupré <anarcat@debian.org>:
Extra info received and forwarded to list. Copy sent to Sway and related packages team <team+swaywm@tracker.debian.org>. (Thu, 29 Jun 2023 03:27:07 GMT) (full text, mbox, link).


Message #10 received at 1039857@bugs.debian.org (full text, mbox, reply):

From: Antoine Beaupré <anarcat@debian.org>
To: 1039857@bugs.debian.org
Subject: Re: podman crashes my systemd-managed sway session on exit
Date: Wed, 28 Jun 2023 23:22:36 -0400
On 2023-06-28 17:42:18, Antoine Beaupre wrote:

[...]

> The real fix here would be for Sway to send something to sd-daemon. Of
> course, the easiest way to do this would be to do a clever call to
> sd_notify() just at the right place in the Sway source code, but
> there's little chance such a patch would be merged upstream...
>
> I looked at the code, and the actual sd_notify() call is not *that*
> complex. It opens a UNIX socket and shoves a message in there,
> probably just READY=1. Surely Sway could figure out how to write to a
> socket on its own?
>
> Hell, it could even just vendor this stupid piece of code here:
>
> https://sources.debian.org/src/systemd/253-4/src/libsystemd/sd-daemon/sd-daemon.c/#L453-L602
>
> Anyway, I don't mean to troll here, but this was a really complicated
> bug to figure out and to fix for me (thanks #debian-systemd folks!),
> so I figured I would at *least* document it here somehow.
>
> The best case scenario for me is that sway gets sd_notify support. A
> working compromise could be an update to the README.Debian file or
> even better a sample sway config that has the right knobs.

Actually, it looks like Sway *already* links against libsystemd or at
least *can* link against it, if I parse the meson build files right. So
we could "just" have a patch that does indeed call sd_notify properly
without adding anything new to the dependency tree.

anarcat@angela:sway-1.7$ rg -i systemd
debian/sway.install
10:debian/config.d/50-systemd-user.conf /etc/sway/config.d/

debian/control
20:               libsystemd-dev (>= 239) | libelogind-dev (>= 239),

debian/changelog
97:  * Add a config file to set environment variables in systemd
208:   - Make build-deps libsystemd-dev and libelogind-dev alternatives
256:    Thus explicitly listing wayland-protocols and libsystemd as

meson_options.txt
11:option('sd-bus-provider', type: 'combo', choices: ['auto', 'libsystemd', 'libelogind', 'basu'], value: 'auto', description: 'Provider of the sd-bus library')

meson.build
95:	sdbus = dependency(['libsystemd', 'libelogind'],
116:conf_data.set10('HAVE_LIBSYSTEMD', sdbus.found() and sdbus.name() == 'libsystemd')

debian/config.d/50-systemd-user.conf
4:# and https://github.com/systemd/systemd/blob/dfc637d0ff756889e8e5b7cb4ec991eb06069aa1/xorg/50-systemd-user.sh
9:        dbus-update-activation-environment --systemd DISPLAY WAYLAND_DISPLAY SWAYSOCK

include/swaybar/tray/tray.h
5:#if HAVE_LIBSYSTEMD
6:#include <systemd/sd-bus.h>

-- 
What this country needs is more unemployed politicians.
                        - Angela Davis



Information forwarded to debian-bugs-dist@lists.debian.org, Sway and related packages team <team+swaywm@tracker.debian.org>:
Bug#1039857; Package sway. (Mon, 03 Jul 2023 16:09:02 GMT) (full text, mbox, link).


Acknowledgement sent to Antoine Beaupré <anarcat@debian.org>:
Extra info received and forwarded to list. Copy sent to Sway and related packages team <team+swaywm@tracker.debian.org>. (Mon, 03 Jul 2023 16:09:03 GMT) (full text, mbox, link).


Message #15 received at 1039857@bugs.debian.org (full text, mbox, reply):

From: Antoine Beaupré <anarcat@debian.org>
To: 1039857@bugs.debian.org
Subject: Re: podman crashes my systemd-managed sway session on exit
Date: Mon, 03 Jul 2023 12:07:01 -0400
[Message part 1 (text/plain, inline)]
Control: tags -1 +patch

And here's the patch to fix this.

I'll also send this as a MR to salsa.
-- 
Man is, at one and the same time, a solitary being and a social being,
                       - Albert Einstein
[0001-PATCH-signal-readiness-to-sd-daemon.patch (text/x-diff, inline)]
From 3c8450a9983da9904a81fc1313b5b4ae7fff0d43 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= <anarcat@debian.org>
Date: Mon, 3 Jul 2023 11:32:53 -0400
Subject: [PATCH 1/2] PATCH: signal readiness to sd-daemon

This allows systemd to notice sway's startup is complete which allows,
for example, the session manager to start Wayland programs in the
right order. Without this signal, users have to go through rather
horrible hacks to tell systemd that it can start further units.

I've been using `NotifyAccess=all` in the sway.service file and `exec
systemd-notify --ready` in my sway config to emulate this, but it's
racy and error-prone.

A particularly nasty bug triggered by `NotifyAccess=all` in particular
is when podman starts and then terminates a container. In that
context, conmon(8) ends up notifying systemd it's the session master
and takes over thee "Main PID" field in systemd. When it dies, systemd
believes the session is over and proceeds to kill the entire
session. This is explained in more details in:

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1039857

This might not actually be the right place to do this. We call
`server_run` right after, and maybe there would be a better place. But
`server_run` only calls `wl_display_run` and that's part of the core
`wayland` library. I'm not sure Wayland itself is a place to do this,
so for now I'm scratching my own itch and doing this in Sway itself.
---
 debian/changelog                              |  7 ++
 .../0003-signal-readiness-to-sd-daemon.patch  | 77 +++++++++++++++++++
 debian/patches/series                         |  1 +
 3 files changed, 85 insertions(+)
 create mode 100644 debian/patches/0003-signal-readiness-to-sd-daemon.patch

diff --git a/debian/changelog b/debian/changelog
index 12fc3b16..477c4bbf 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+sway (1.8.1-1.1) experimental; urgency=medium
+
+  * Non-maintainer upload.
+  * Add patch for READY=1 signal to sd-daemon (Closes: #1039857)
+
+ -- Antoine Beaupré <anarcat@debian.org>  Mon, 03 Jul 2023 11:16:48 -0400
+
 sway (1.8.1-1) experimental; urgency=medium
 
   * New upstream version
diff --git a/debian/patches/0003-signal-readiness-to-sd-daemon.patch b/debian/patches/0003-signal-readiness-to-sd-daemon.patch
new file mode 100644
index 00000000..13ac494c
--- /dev/null
+++ b/debian/patches/0003-signal-readiness-to-sd-daemon.patch
@@ -0,0 +1,77 @@
+From d7cde9f35d93edd6c785e9404bed56094b702848 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= <anarcat@debian.org>
+Date: Mon, 3 Jul 2023 11:12:23 -0400
+Subject: [PATCH] signal readiness to sd-daemon
+
+This allows systemd to notice sway's startup is complete which allows,
+for example, the session manager to start Wayland programs in the
+right order. Without this signal, users have to go through rather
+horrible hacks to tell systemd that it can start further units.
+
+I've been using `NotifyAccess=all` in the sway.service file and `exec
+systemd-notify --ready` in my sway config to emulate this, but it's
+racy and error-prone.
+
+A particularly nasty bug triggered by `NotifyAccess=all` in particular
+is when podman starts and then terminates a container. In that
+context, conmon(8) ends up notifying systemd it's the session master
+and takes over thee "Main PID" field in systemd. When it dies, systemd
+believes the session is over and proceeds to kill the entire
+session. This is explained in more details in:
+
+https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1039857
+
+This might not actually be the right place to do this. We call
+`server_run` right after, and maybe there would be a better place. But
+`server_run` only calls `wl_display_run` and that's part of the core
+`wayland` library. I'm not sure Wayland itself is a place to do this,
+so for now I'm scratching my own itch and doing this in Sway itself.
+---
+ sway/main.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+Index: b/sway/main.c
+===================================================================
+--- a/sway/main.c	2023-07-03 11:52:40.761162143 -0400
++++ b/sway/main.c	2023-07-03 11:52:40.757162142 -0400
+@@ -26,6 +26,12 @@
+ #include "stringop.h"
+ #include "util.h"
+ 
++#ifdef HAVE_LIBSYSTEMD
++#include <systemd/sd-daemon.h>
++#elif HAVE_LIBELOGIND
++#include <elogind/sd-daemon.h>
++#endif
++
+ static bool terminate_request = false;
+ static int exit_value = 0;
+ static struct rlimit original_nofile_rlimit = {0};
+@@ -412,6 +418,11 @@ int main(int argc, char **argv) {
+ 		swaynag_show(&config->swaynag_config_errors);
+ 	}
+ 
++#if defined(HAVE_LIBSYSTEMD) || defined(HAVE_LIBELOGIND)
++	/* Signal systemd that we are ready to accept connections */
++	sd_notify(0, "READY=1");
++#endif
++
+ 	server_run(&server);
+ 
+ shutdown:
+=======
+Index: b/sway/meson.build
+===================================================================
+--- a/sway/meson.build	2023-07-03 11:52:40.761162143 -0400
++++ b/sway/meson.build	2023-07-03 11:56:14.121228707 -0400
+@@ -235,6 +235,10 @@ if have_xwayland
+ 	sway_deps += xcb
+ endif
+ 
++if sdbus.found()
++	sway_deps += sdbus
++endif
++
+ executable(
+ 	'sway',
+ 	sway_sources + wl_protos_src,
diff --git a/debian/patches/series b/debian/patches/series
index 271550d8..6147593d 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,2 +1,3 @@
 0001-Install-zsh-completions-into-the-correct-directory.patch
 0002-Modify-default-configuration-for-Debian.patch
+0003-signal-readiness-to-sd-daemon.patch
-- 
2.39.2


Added tag(s) patch. Request was from Antoine Beaupré <anarcat@debian.org> to 1039857-submit@bugs.debian.org. (Mon, 03 Jul 2023 16:09:03 GMT) (full text, mbox, link).


Set Bug forwarded-to-address to 'https://github.com/swaywm/sway/pull/7659'. Request was from Antoine Beaupré <anarcat@debian.org> to control@bugs.debian.org. (Mon, 03 Jul 2023 16:15:06 GMT) (full text, mbox, link).


Added tag(s) fixed-upstream. Request was from debian-bts-link@lists.debian.org to control@bugs.debian.org. (Mon, 10 Jul 2023 17:36:10 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Sway and related packages team <team+swaywm@tracker.debian.org>:
Bug#1039857; Package sway. (Thu, 21 Sep 2023 17:09:02 GMT) (full text, mbox, link).


Acknowledgement sent to Antoine Beaupré <anarcat@debian.org>:
Extra info received and forwarded to list. Copy sent to Sway and related packages team <team+swaywm@tracker.debian.org>. (Thu, 21 Sep 2023 17:09:02 GMT) (full text, mbox, link).


Message #26 received at 1039857@bugs.debian.org (full text, mbox, reply):

From: Antoine Beaupré <anarcat@debian.org>
To: 1039857@bugs.debian.org
Cc: team+swaywm@tracker.debian.org
Subject: Re: podman crashes my systemd-managed sway session on exit
Date: Thu, 21 Sep 2023 12:56:51 -0400
Hi!

Could I get some feedback on this patch? I've been running this for
months now without any problems and it improves systemd support quite a
bit...

Right now I'm relying on this for my desktop session which makes
upgrades rather... brittle. :)

a.

On 2023-07-03 12:07:01, Antoine Beaupré wrote:
> Control: tags -1 +patch
>
> And here's the patch to fix this.
>
> I'll also send this as a MR to salsa.
> -- 
> Man is, at one and the same time, a solitary being and a social being,
>                        - Albert Einstein
> From 3c8450a9983da9904a81fc1313b5b4ae7fff0d43 Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= <anarcat@debian.org>
> Date: Mon, 3 Jul 2023 11:32:53 -0400
> Subject: [PATCH 1/2] PATCH: signal readiness to sd-daemon
>
> This allows systemd to notice sway's startup is complete which allows,
> for example, the session manager to start Wayland programs in the
> right order. Without this signal, users have to go through rather
> horrible hacks to tell systemd that it can start further units.
>
> I've been using `NotifyAccess=all` in the sway.service file and `exec
> systemd-notify --ready` in my sway config to emulate this, but it's
> racy and error-prone.
>
> A particularly nasty bug triggered by `NotifyAccess=all` in particular
> is when podman starts and then terminates a container. In that
> context, conmon(8) ends up notifying systemd it's the session master
> and takes over thee "Main PID" field in systemd. When it dies, systemd
> believes the session is over and proceeds to kill the entire
> session. This is explained in more details in:
>
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1039857
>
> This might not actually be the right place to do this. We call
> `server_run` right after, and maybe there would be a better place. But
> `server_run` only calls `wl_display_run` and that's part of the core
> `wayland` library. I'm not sure Wayland itself is a place to do this,
> so for now I'm scratching my own itch and doing this in Sway itself.
> ---
>  debian/changelog                              |  7 ++
>  .../0003-signal-readiness-to-sd-daemon.patch  | 77 +++++++++++++++++++
>  debian/patches/series                         |  1 +
>  3 files changed, 85 insertions(+)
>  create mode 100644 debian/patches/0003-signal-readiness-to-sd-daemon.patch
>
> diff --git a/debian/changelog b/debian/changelog
> index 12fc3b16..477c4bbf 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -1,3 +1,10 @@
> +sway (1.8.1-1.1) experimental; urgency=medium
> +
> +  * Non-maintainer upload.
> +  * Add patch for READY=1 signal to sd-daemon (Closes: #1039857)
> +
> + -- Antoine Beaupré <anarcat@debian.org>  Mon, 03 Jul 2023 11:16:48 -0400
> +
>  sway (1.8.1-1) experimental; urgency=medium
>  
>    * New upstream version
> diff --git a/debian/patches/0003-signal-readiness-to-sd-daemon.patch b/debian/patches/0003-signal-readiness-to-sd-daemon.patch
> new file mode 100644
> index 00000000..13ac494c
> --- /dev/null
> +++ b/debian/patches/0003-signal-readiness-to-sd-daemon.patch
> @@ -0,0 +1,77 @@
> +From d7cde9f35d93edd6c785e9404bed56094b702848 Mon Sep 17 00:00:00 2001
> +From: =?UTF-8?q?Antoine=20Beaupr=C3=A9?= <anarcat@debian.org>
> +Date: Mon, 3 Jul 2023 11:12:23 -0400
> +Subject: [PATCH] signal readiness to sd-daemon
> +
> +This allows systemd to notice sway's startup is complete which allows,
> +for example, the session manager to start Wayland programs in the
> +right order. Without this signal, users have to go through rather
> +horrible hacks to tell systemd that it can start further units.
> +
> +I've been using `NotifyAccess=all` in the sway.service file and `exec
> +systemd-notify --ready` in my sway config to emulate this, but it's
> +racy and error-prone.
> +
> +A particularly nasty bug triggered by `NotifyAccess=all` in particular
> +is when podman starts and then terminates a container. In that
> +context, conmon(8) ends up notifying systemd it's the session master
> +and takes over thee "Main PID" field in systemd. When it dies, systemd
> +believes the session is over and proceeds to kill the entire
> +session. This is explained in more details in:
> +
> +https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1039857
> +
> +This might not actually be the right place to do this. We call
> +`server_run` right after, and maybe there would be a better place. But
> +`server_run` only calls `wl_display_run` and that's part of the core
> +`wayland` library. I'm not sure Wayland itself is a place to do this,
> +so for now I'm scratching my own itch and doing this in Sway itself.
> +---
> + sway/main.c | 11 +++++++++++
> + 1 file changed, 11 insertions(+)
> +
> +Index: b/sway/main.c
> +===================================================================
> +--- a/sway/main.c	2023-07-03 11:52:40.761162143 -0400
> ++++ b/sway/main.c	2023-07-03 11:52:40.757162142 -0400
> +@@ -26,6 +26,12 @@
> + #include "stringop.h"
> + #include "util.h"
> + 
> ++#ifdef HAVE_LIBSYSTEMD
> ++#include <systemd/sd-daemon.h>
> ++#elif HAVE_LIBELOGIND
> ++#include <elogind/sd-daemon.h>
> ++#endif
> ++
> + static bool terminate_request = false;
> + static int exit_value = 0;
> + static struct rlimit original_nofile_rlimit = {0};
> +@@ -412,6 +418,11 @@ int main(int argc, char **argv) {
> + 		swaynag_show(&config->swaynag_config_errors);
> + 	}
> + 
> ++#if defined(HAVE_LIBSYSTEMD) || defined(HAVE_LIBELOGIND)
> ++	/* Signal systemd that we are ready to accept connections */
> ++	sd_notify(0, "READY=1");
> ++#endif
> ++
> + 	server_run(&server);
> + 
> + shutdown:
> +=======
> +Index: b/sway/meson.build
> +===================================================================
> +--- a/sway/meson.build	2023-07-03 11:52:40.761162143 -0400
> ++++ b/sway/meson.build	2023-07-03 11:56:14.121228707 -0400
> +@@ -235,6 +235,10 @@ if have_xwayland
> + 	sway_deps += xcb
> + endif
> + 
> ++if sdbus.found()
> ++	sway_deps += sdbus
> ++endif
> ++
> + executable(
> + 	'sway',
> + 	sway_sources + wl_protos_src,
> diff --git a/debian/patches/series b/debian/patches/series
> index 271550d8..6147593d 100644
> --- a/debian/patches/series
> +++ b/debian/patches/series
> @@ -1,2 +1,3 @@
>  0001-Install-zsh-completions-into-the-correct-directory.patch
>  0002-Modify-default-configuration-for-Debian.patch
> +0003-signal-readiness-to-sd-daemon.patch
> -- 
> 2.39.2
>

-- 
Only after disaster can we be resurrected.
It's only after you've lost everything that you're free to doanything.
Nothing is static, everything is evolving, everything is falling apart.
                        - Chuck Palahniuk, Fight Club



Information forwarded to debian-bugs-dist@lists.debian.org, Sway and related packages team <team+swaywm@tracker.debian.org>:
Bug#1039857; Package sway. (Fri, 22 Sep 2023 20:00:03 GMT) (full text, mbox, link).


Acknowledgement sent to Birger Schacht <birger@debian.org>:
Extra info received and forwarded to list. Copy sent to Sway and related packages team <team+swaywm@tracker.debian.org>. (Fri, 22 Sep 2023 20:00:03 GMT) (full text, mbox, link).


Message #31 received at 1039857@bugs.debian.org (full text, mbox, reply):

From: Birger Schacht <birger@debian.org>
To: Antoine Beaupré <anarcat@debian.org>, 1039857@bugs.debian.org
Subject: Re: Bug#1039857: podman crashes my systemd-managed sway session on exit
Date: Fri, 22 Sep 2023 21:56:53 +0200
Hi anarcat,

I'd rather not diverge from upstream and carry a patch for a bugfix that 
is a wontfix on upstreams side.
My hope is that upstream either reconsiders or that there is a another 
solution for that problem, that does not require us patching every new 
version of sway.

cheers,
Birger



Information forwarded to debian-bugs-dist@lists.debian.org, Sway and related packages team <team+swaywm@tracker.debian.org>:
Bug#1039857; Package sway. (Sat, 23 Sep 2023 02:09:03 GMT) (full text, mbox, link).


Acknowledgement sent to Antoine Beaupré <anarcat@debian.org>:
Extra info received and forwarded to list. Copy sent to Sway and related packages team <team+swaywm@tracker.debian.org>. (Sat, 23 Sep 2023 02:09:03 GMT) (full text, mbox, link).


Message #36 received at 1039857@bugs.debian.org (full text, mbox, reply):

From: Antoine Beaupré <anarcat@debian.org>
To: Birger Schacht <birger@debian.org>, 1039857@bugs.debian.org
Subject: Re: Bug#1039857: podman crashes my systemd-managed sway session on exit
Date: Fri, 22 Sep 2023 22:06:30 -0400
On 2023-09-22 21:56:53, Birger Schacht wrote:
> Hi anarcat,
>
> I'd rather not diverge from upstream and carry a patch for a bugfix that 
> is a wontfix on upstreams side.
> My hope is that upstream either reconsiders or that there is a another 
> solution for that problem, that does not require us patching every new 
> version of sway.

Thanks. I'll rollback my patch and try to find another way.

I strongly doubt upstream will reconsider, they seem to be pretty stuck
up on that one...

a.
-- 
The true revolutionary is guided by a great feeling of love.
                        - Ernesto "Che" Guevara



Information forwarded to debian-bugs-dist@lists.debian.org, Sway and related packages team <team+swaywm@tracker.debian.org>:
Bug#1039857; Package sway. (Tue, 09 Jan 2024 20:51:05 GMT) (full text, mbox, link).


Acknowledgement sent to Antoine Beaupré <anarcat@debian.org>:
Extra info received and forwarded to list. Copy sent to Sway and related packages team <team+swaywm@tracker.debian.org>. (Tue, 09 Jan 2024 20:51:05 GMT) (full text, mbox, link).


Message #41 received at 1039857@bugs.debian.org (full text, mbox, reply):

From: Antoine Beaupré <anarcat@debian.org>
To: Birger Schacht <birger@debian.org>, 1039857@bugs.debian.org
Subject: Re: Bug#1039857: podman crashes my systemd-managed sway session on exit
Date: Tue, 09 Jan 2024 15:48:09 -0500
On 2023-09-22 22:06:30, Antoine Beaupré wrote:
> On 2023-09-22 21:56:53, Birger Schacht wrote:
>> Hi anarcat,
>>
>> I'd rather not diverge from upstream and carry a patch for a bugfix that 
>> is a wontfix on upstreams side.
>> My hope is that upstream either reconsiders or that there is a another 
>> solution for that problem, that does not require us patching every new 
>> version of sway.
>
> Thanks. I'll rollback my patch and try to find another way.
>
> I strongly doubt upstream will reconsider, they seem to be pretty stuck
> up on that one...

My last attempt at this is now in:

https://github.com/swaywm/sway/pull/7904

Will need a wrapper script, far from ideal, but maybe more likely to succeed.

-- 
Freedom is being able to make decisions that affect mainly you. Power
is being able to make decisions that affect others more than you. If
we confuse power with freedom, we will fail to uphold real freedom.
                        - Richard Stallman



Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Nov 21 22:36:51 2024; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.