From 7434f91d2f879b12a808ee73f01efaee9753066c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Mon, 3 Aug 2026 08:54:35 +0200 Subject: [PATCH 1/2] data: Allow to set greetd's PAM service name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This allows distros to customize this for phrog. We use the somewhat long `general_service` as upcoming greetd releases will allow to configure the services for the individual sessions too. Signed-off-by: Guido Günther --- data/greetd-config.toml.in | 3 +++ xtask/src/main.rs | 20 ++++++++++++++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/data/greetd-config.toml.in b/data/greetd-config.toml.in index 649fc12b..353a4b48 100644 --- a/data/greetd-config.toml.in +++ b/data/greetd-config.toml.in @@ -1,3 +1,6 @@ +[general] +service = "@GENERAL_SERVICE@" + [terminal] vt = @VT@ diff --git a/xtask/src/main.rs b/xtask/src/main.rs index bdce5eb7..aac16d1f 100644 --- a/xtask/src/main.rs +++ b/xtask/src/main.rs @@ -44,6 +44,8 @@ enum Commands { /// User greetd should use for phrog. #[arg(long)] greetd_user: String, + #[arg(long, default_value = "greetd")] + greetd_general_service: String, }, /// Extract release notes from NEWS. ReleaseNotes { @@ -69,7 +71,8 @@ fn run() -> Result<()> { file_name, greetd_vt, greetd_user, - } => dist_data(&file_name, greetd_vt, &greetd_user), + greetd_general_service, + } => dist_data(&file_name, greetd_vt, &greetd_user, &greetd_general_service), Commands::ReleaseNotes { version, rc } => release_notes(&version, rc), } } @@ -127,7 +130,12 @@ fn bump(version: &str) -> Result<()> { Ok(()) } -fn dist_data(file_name: &str, greetd_vt: u8, greetd_user: &str) -> Result<()> { +fn dist_data( + file_name: &str, + greetd_vt: u8, + greetd_user: &str, + greetd_general_service: &str, +) -> Result<()> { let root = project_root()?; let out_path = dist_data_path(&root, file_name)?; let out_dir = out_path @@ -135,7 +143,10 @@ fn dist_data(file_name: &str, greetd_vt: u8, greetd_user: &str) -> Result<()> { .ok_or_else(|| format!("output path '{}' has no parent", out_path.display()))?; fs::create_dir_all(&out_dir)?; - fs::write(&out_path, render_greetd_config(greetd_vt, greetd_user))?; + fs::write( + &out_path, + render_greetd_config(greetd_vt, greetd_user, greetd_general_service), + )?; println!("Generated {}", out_path.display()); @@ -193,10 +204,11 @@ fn parse_version(version: &str) -> Result { }) } -fn render_greetd_config(greetd_vt: u8, greetd_user: &str) -> String { +fn render_greetd_config(greetd_vt: u8, greetd_user: &str, greetd_general_service: &str) -> String { GREETD_CONFIG_TEMPLATE .replace("@VT@", &greetd_vt.to_string()) .replace("@USER@", greetd_user) + .replace("@GENERAL_SERVICE@", greetd_general_service) } fn dist_data_path(root: &Path, file_name: &str) -> Result { From 9562f64c9749ab747ba1bcd93f43d37235b6d844 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guido=20G=C3=BCnther?= Date: Mon, 3 Aug 2026 08:53:06 +0200 Subject: [PATCH 2/2] debian: Add pam config MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Let's provide a Phosh specific PAM config as the distro defaults usually don't unlock the keyring. Signed-off-by: Guido Günther --- debian/phrog.pam | 9 +++++++++ debian/rules | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 debian/phrog.pam diff --git a/debian/phrog.pam b/debian/phrog.pam new file mode 100644 index 00000000..cda564bf --- /dev/null +++ b/debian/phrog.pam @@ -0,0 +1,9 @@ +#%PAM-1.0 +@include common-auth +@include common-account + +auth optional pam_gnome_keyring.so + +@include common-session + +session optional pam_gnome_keyring.so auto_start diff --git a/debian/rules b/debian/rules index a7555d6e..1269030e 100755 --- a/debian/rules +++ b/debian/rules @@ -13,7 +13,7 @@ export INSTALL_DIR=$(CURDIR)/debian/phrog # during build and delete it afterwards override_dh_auto_build: HOME=$(CURDIR)/debian/tmp_home cargo build - HOME=$(CURDIR)/debian/tmp_home cargo xtask dist-data phrog.toml --greetd-vt 7 --greetd-user _greetd + HOME=$(CURDIR)/debian/tmp_home cargo xtask dist-data phrog.toml --greetd-vt 7 --greetd-user _greetd --greetd-general-service phrog override_dh_auto_install: install -D -m0755 target/$(DEB_HOST_RUST_TYPE)/debug/phrog \