Your message dated Mon, 10 Nov 2025 10:49:22 +0000
with message-id <[email protected]>
and subject line Bug#1116415: fixed in greetd 0.10.3-5
has caused the Debian Bug report #1116415,
regarding greetd - upcoming rust-nix update
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
1116415: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1116415
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: greetd

I hope to update rust-nix to 0.30 soon. Greetd needs a small
patch to build with the new version.

Unfortunately the patch for 0.30 breaks building with 0.29, so
actual uploading to sid will have to wait until rust-nix hits
sid, but in the meantime you can test with the package from
experimental.
diff -Nru greetd-0.10.3/debian/changelog greetd-0.10.3/debian/changelog
--- greetd-0.10.3/debian/changelog      2025-04-08 13:14:57.000000000 +0000
+++ greetd-0.10.3/debian/changelog      2025-09-25 18:40:14.000000000 +0000
@@ -1,3 +1,10 @@
+greetd (0.10.3-4.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Add patch for nix 0.30
+
+ -- Peter Michael Green <[email protected]>  Thu, 25 Sep 2025 18:40:14 +0000
+
 greetd (0.10.3-4) unstable; urgency=medium
 
   [ Marc Dequènes (Duck) ]
diff -Nru greetd-0.10.3/debian/control greetd-0.10.3/debian/control
--- greetd-0.10.3/debian/control        2025-04-08 13:14:57.000000000 +0000
+++ greetd-0.10.3/debian/control        2025-09-25 18:33:26.000000000 +0000
@@ -8,7 +8,7 @@
 # needed for cross-building, dh-cargo only pulls in the :native one
  libstd-rust-dev,
 # greetd & greetd_ipc
- librust-nix-dev (>= 0.29),
+ librust-nix-dev (>= 0.30),
  librust-pam-sys-dev (>= 0.5.6),
  librust-serde-derive-dev (>= 1.0),
  librust-serde-json-dev (>= 1.0),
diff -Nru greetd-0.10.3/debian/patches/nix-0.30.patch 
greetd-0.10.3/debian/patches/nix-0.30.patch
--- greetd-0.10.3/debian/patches/nix-0.30.patch 1970-01-01 00:00:00.000000000 
+0000
+++ greetd-0.10.3/debian/patches/nix-0.30.patch 2025-09-25 18:40:14.000000000 
+0000
@@ -0,0 +1,97 @@
+Description: Tweak code for nix 0.30
+Author: Peter Michael Green <[email protected]>
+
+Index: greetd-0.10.3/greetd/Cargo.toml
+===================================================================
+--- greetd-0.10.3.orig/greetd/Cargo.toml
++++ greetd-0.10.3/greetd/Cargo.toml
+@@ -11,7 +11,7 @@ repository = "https://git.sr.ht/~kennyle
+ debug = []
+ 
+ [dependencies]
+-nix = { version = ">=0.29", features = ["ioctl", "signal", "user", "fs", 
"mman"] }
++nix = { version = ">=0.30", features = ["ioctl", "signal", "user", "fs", 
"mman"] }
+ pam-sys = "0.5.6"
+ serde = { version = "1.0", features = ["derive"] }
+ serde_json = "1.0"
+Index: greetd-0.10.3/greetd/src/terminal/mod.rs
+===================================================================
+--- greetd-0.10.3.orig/greetd/src/terminal/mod.rs
++++ greetd-0.10.3/greetd/src/terminal/mod.rs
+@@ -4,9 +4,11 @@ use crate::error::Error;
+ use nix::{
+     fcntl::{open, OFlag},
+     sys::stat::Mode,
+-    unistd::{close, dup2, write},
++    unistd::{close, dup2_stdin, dup2_stdout, dup2_stderr, write},
+ };
+ use std::{ffi::CStr, os::unix::io::RawFd};
++use std::os::fd::IntoRawFd;
++use std::os::fd::BorrowedFd;
+ 
+ #[allow(dead_code)]
+ pub enum KdMode {
+@@ -66,7 +68,7 @@ impl Terminal {
+         );
+         match res {
+             Ok(fd) => Ok(Terminal {
+-                fd,
++                fd: fd.into_raw_fd(),
+                 autoclose: true,
+             }),
+             Err(e) => return Err(format!("terminal: unable to open: {}", 
e).into()),
+@@ -204,9 +206,10 @@ impl Terminal {
+     /// Hook up stdin, stdout and stderr of the current process ot this
+     /// terminal.
+     pub fn term_connect_pipes(&self) -> Result<(), Error> {
+-        let res = dup2(self.fd, 0)
+-            .and_then(|_| dup2(self.fd, 1))
+-            .and_then(|_| dup2(self.fd, 2));
++        let borrowedfd = unsafe { BorrowedFd::borrow_raw(self.fd) };
++        let res = dup2_stdin(borrowedfd)
++            .and_then(|_| dup2_stdout(borrowedfd))
++            .and_then(|_| dup2_stderr(borrowedfd));
+ 
+         if let Err(v) = res {
+             Err(format!("terminal: unable to connect pipes: {}", v).into())
+Index: greetd-0.10.3/greetd/src/main.rs
+===================================================================
+--- greetd-0.10.3.orig/greetd/src/main.rs
++++ greetd-0.10.3/greetd/src/main.rs
+@@ -11,6 +11,7 @@ use std::os::unix::{
+     io::{FromRawFd, RawFd},
+     net::UnixDatagram,
+ };
++use std::os::fd::BorrowedFd;
+ 
+ use nix::{
+     fcntl::{fcntl, FcntlArg, FdFlag},
+@@ -22,9 +23,10 @@ use crate::{error::Error, session::worke
+ 
+ async fn session_worker_main(config: config::Config) -> Result<(), Error> {
+     let raw_fd = config.internal.session_worker as RawFd;
+-    let mut cur_flags = FdFlag::from_bits_retain(fcntl(raw_fd, 
FcntlArg::F_GETFD)?);
++    let borrowed_fd = unsafe { BorrowedFd::borrow_raw(raw_fd) };
++    let mut cur_flags = FdFlag::from_bits_retain(fcntl(borrowed_fd, 
FcntlArg::F_GETFD)?);
+     cur_flags.insert(FdFlag::FD_CLOEXEC);
+-    fcntl(raw_fd, FcntlArg::F_SETFD(cur_flags))?;
++    fcntl(borrowed_fd, FcntlArg::F_SETFD(cur_flags))?;
+     let sock = unsafe { UnixDatagram::from_raw_fd(raw_fd) };
+     worker::main(&sock)
+ }
+Index: greetd-0.10.3/greetd/src/session/interface.rs
+===================================================================
+--- greetd-0.10.3.orig/greetd/src/session/interface.rs
++++ greetd-0.10.3/greetd/src/session/interface.rs
+@@ -100,9 +100,9 @@ impl Session {
+             UnixDatagram::pair().map_err(|e| format!("could not create pipe: 
{}", e))?;
+ 
+         let raw_child = childfd.as_raw_fd();
+-        let mut cur_flags = FdFlag::from_bits_retain(fcntl(raw_child, 
FcntlArg::F_GETFD)?);
++        let mut cur_flags = FdFlag::from_bits_retain(fcntl(&childfd, 
FcntlArg::F_GETFD)?);
+         cur_flags.remove(FdFlag::FD_CLOEXEC);
+-        fcntl(raw_child, FcntlArg::F_SETFD(cur_flags))?;
++        fcntl(&childfd, FcntlArg::F_SETFD(cur_flags))?;
+ 
+         let cur_exe = std::env::current_exe()?;
+         let bin = CString::new(cur_exe.to_str().expect("unable to get current 
exe name"))?;
diff -Nru greetd-0.10.3/debian/patches/series 
greetd-0.10.3/debian/patches/series
--- greetd-0.10.3/debian/patches/series 2025-04-08 13:14:57.000000000 +0000
+++ greetd-0.10.3/debian/patches/series 2025-09-25 18:38:57.000000000 +0000
@@ -3,3 +3,4 @@
 relax_deps.patch
 rpassword_6.0_adaptation.patch
 nix-0.29.patch
+nix-0.30.patch

--- End Message ---
--- Begin Message ---
Source: greetd
Source-Version: 0.10.3-5
Done: Marc Dequènes (Duck) <[email protected]>

We believe that the bug you reported is fixed in the latest version of
greetd, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Marc Dequènes (Duck) <[email protected]> (supplier of updated greetd package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

Format: 1.8
Date: Mon, 10 Nov 2025 19:26:53 +0900
Source: greetd
Architecture: source
Version: 0.10.3-5
Distribution: unstable
Urgency: medium
Maintainer: Marc Dequènes (Duck) <[email protected]>
Changed-By: Marc Dequènes (Duck) <[email protected]>
Closes: 1116415
Changes:
 greetd (0.10.3-5) unstable; urgency=medium
 .
   * Add patch for nix 0.30 kindly provided by Peter Michael Green (Closes:
     #1116415).
Checksums-Sha1:
 c5b33ea0fa58cf728192ae3f94490419b41ccebb 2198 greetd_0.10.3-5.dsc
 3839a859d4123a22b3c7224f955be84b925bb60c 7608 greetd_0.10.3-5.debian.tar.xz
 f9458fe33668c0e03a9646b7d1052e1a6e95264b 14416 greetd_0.10.3-5_amd64.buildinfo
Checksums-Sha256:
 0ef443b597dad3f273b7dcc22a62452123a9aafa37c746aed0b6aeaf3d1fe8bb 2198 
greetd_0.10.3-5.dsc
 602e9d1f86124d1c18cc198dc55e93a402c0f2297222c6bb6e901d67ec72cd85 7608 
greetd_0.10.3-5.debian.tar.xz
 fae11fa0a293b4505e69d8011eba08e22f0f16817faef361115143e577610f46 14416 
greetd_0.10.3-5_amd64.buildinfo
Files:
 33768ffc945142a61a495db5e8ea5af2 2198 misc optional greetd_0.10.3-5.dsc
 bb45b90455b77433f50b17a2927939a9 7608 misc optional 
greetd_0.10.3-5.debian.tar.xz
 a56951c626ea8952289a761e8ab5a707 14416 misc optional 
greetd_0.10.3-5_amd64.buildinfo

-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEcpcqg+UmRT3yiF+BVen596wcRD8FAmkRv8gACgkQVen596wc
RD+rURAArG3zvs9+spTvWEWhhVRAEtTUNlygmyYJ3Om+dH7aFC3svuguxLjOChmQ
rVy3Rg5Ya96qFY1p2wvwGuG4MZ7TifgOB7I3Crb62xbPvuzwj2Ga89Bc8ge6xsnc
jvxawKy7zrsS4QO9HCWjHULK4jNp3fm962kHpV3LF2zJfvzIQ4ESd2/jiLPOYzzz
5CFMXQUNmG+Q+dyK1Imvk6Uh3FD4ddzJc6DD9VsY/30q5FQLvFrBXt/zr0+pIl0q
4ixW9/hOvUITNxLdYhVFnKh5CARCUEobZZ4MlwyqGtc7FP0E0igfnbonDbWrtyOs
RCKw1UbYBSFpIj5N78tWh87LWdNXS3LISTlwk7YOUq8q+Nlz3PRyGiM+Fl09lnW1
sXGIVgQ34uzFSw5WP8WSakhMap7fZjf/MwmL4TTyLcGWGSvK/zGTcH56YXbR/Bt9
NL63IBj4w8SS6ovhXTT22gLPNkj4tBLa3shP6v2APJ7VT/DWcF1p+nw1n9NJtxbI
GRfU5VfAx5dpXS0dExXqEweymG2dQSN7gp0juQhzwsZ/XUd35o+yAKLxPQHIdIKz
S3oaOrOwKXnU7f84Bw3kaB3oQZOBnTiaeYvSMzzQDmjOEAvVelfAV61+46sTA4Uz
WqP7OaVAyPk/1lJ17XVpZjYJfM82L4OGAZ+/tQhGLebK4OnP9W8=
=pvkG
-----END PGP SIGNATURE-----

Attachment: pgpAntk5drJ5p.pgp
Description: PGP signature


--- End Message ---

Reply via email to