Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package greetd for openSUSE:Factory checked 
in at 2023-01-31 16:09:08
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/greetd (Old)
 and      /work/SRC/openSUSE:Factory/.greetd.new.32243 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "greetd"

Tue Jan 31 16:09:08 2023 rev:11 rq:1062088 version:0.9.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/greetd/greetd.changes    2022-05-25 
20:35:24.220298093 +0200
+++ /work/SRC/openSUSE:Factory/.greetd.new.32243/greetd.changes 2023-01-31 
16:09:34.321886327 +0100
@@ -1,0 +2,18 @@
+Mon Jan 30 15:18:48 UTC 2023 - Filippo Bonazzi <[email protected]>
+
+- Update to version 0.9.0:
+  * Revert "Remove 'env' from start_session"
+  * ipc: ensure backward compatibility of the protocol
+  * Change order of setting pam environment variables
+  * fakegreet: reset state on errors
+  * For FUSE-based home folders, chdir into them as the user instead of root
+  * Use /bin/sh instead of $SHELL
+  * cargo: Update dependencies
+
+-------------------------------------------------------------------
+Tue Aug  2 21:12:29 UTC 2022 - llyyr <[email protected]>
+
+- Put greetd.pam in the right directory.
+  greetd checks for the pam file in /etc/pam.d/, not in /lib/pam.d/
+
+-------------------------------------------------------------------

Old:
----
  greetd-0.8.0.obscpio

New:
----
  greetd-0.9.0.obscpio

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ greetd.spec ++++++
--- /var/tmp/diff_new_pack.6tbQHH/_old  2023-01-31 16:09:35.333892113 +0100
+++ /var/tmp/diff_new_pack.6tbQHH/_new  2023-01-31 16:09:35.341892159 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package greetd
 #
-# Copyright (c) 2022 SUSE LLC
+# Copyright (c) 2023 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -19,12 +19,12 @@
 %if 0%{?suse_version} >= 1550
   %define _config_norepl %nil
 %else
-  %define _pam_vendordir %{_sysconfdir}/pam.d
+  %define _pam_confdir %{_sysconfdir}/pam.d
   %define _config_norepl %config(noreplace)
 %endif
 
 Name:           greetd
-Version:        0.8.0
+Version:        0.9.0
 Release:        0
 Summary:        Minimal and flexible login manager daemon
 License:        GPL-3.0-only
@@ -68,7 +68,7 @@
 
 install -D -m 0644 %{name}.service %{buildroot}/%{_unitdir}/%{name}.service
 
-install -D -m 0644 %{SOURCE3} %{buildroot}/%{_pam_vendordir}/greetd
+install -D -m 0644 %{SOURCE3} %{buildroot}/%{_pam_confdir}/greetd
 
 install -d %{buildroot}%{_localstatedir}/cache/greetd
 install -d %{buildroot}%{_localstatedir}/lib/greetd
@@ -98,7 +98,7 @@
 %{_unitdir}/%{name}.service
 %dir %{_sysconfdir}/%{name}
 %attr(644,greeter,greeter) %config(noreplace) 
%{_sysconfdir}/%{name}/config.toml
-%_config_norepl %{_pam_vendordir}/greetd
+%_config_norepl %{_pam_confdir}/greetd
 %ghost %attr(711,root,greeter) %dir /run/greetd/
 %ghost %attr(750,greeter,greeter) %dir %{_localstatedir}/lib/greetd/
 %ghost %dir %{_localstatedir}/cache/greetd/

++++++ _service ++++++
--- /var/tmp/diff_new_pack.6tbQHH/_old  2023-01-31 16:09:35.377892365 +0100
+++ /var/tmp/diff_new_pack.6tbQHH/_new  2023-01-31 16:09:35.381892388 +0100
@@ -2,7 +2,7 @@
   <service name="obs_scm" mode="disabled">
     <param name="url">https://git.sr.ht/~kennylevinsen/greetd</param>
     <param name="scm">git</param>
-    <param name="revision">0.8.0</param>
+    <param name="revision">0.9.0</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
   </service>

++++++ greetd-0.8.0.obscpio -> greetd-0.9.0.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/Cargo.lock new/greetd-0.9.0/Cargo.lock
--- old/greetd-0.8.0/Cargo.lock 2021-09-05 21:15:06.000000000 +0200
+++ new/greetd-0.9.0/Cargo.lock 2023-01-06 00:25:45.000000000 +0100
@@ -4,7 +4,7 @@
 
 [[package]]
 name = "agreety"
-version = "0.8.0"
+version = "0.9.0"
 dependencies = [
  "enquote",
  "getopts",
@@ -15,16 +15,10 @@
 ]
 
 [[package]]
-name = "arc-swap"
-version = "0.4.6"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b585a98a234c46fc563103e9278c9391fde1f4e6850334da895d27edb9580f62"
-
-[[package]]
 name = "async-trait"
-version = "0.1.31"
+version = "0.1.60"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "26c4f3195085c36ea8d24d32b2f828d23296a9370a28aa39d111f6f16bef9f3b"
+checksum = "677d1d8ab452a3936018a687b20e6f7cf5363d713b732b8884001317b0e48aa3"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -33,33 +27,21 @@
 
 [[package]]
 name = "autocfg"
-version = "1.0.1"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "cdb031dd78e28731d87d56cc8ffef4a8f36ca26c38fe2de700543e627f8a464a"
+checksum = "d468802bab17cbc0cc575e9b053f41e72aa36bfa6b7f55e3529ffa43161b97fa"
 
 [[package]]
 name = "bitflags"
-version = "1.2.1"
+version = "1.3.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
 
 [[package]]
 name = "bytes"
-version = "1.0.1"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b700ce4376041dcd0a327fd0097c41095743c4c8af8887265942faf1100bd040"
-
-[[package]]
-name = "cc"
-version = "1.0.53"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "404b1fe4f65288577753b17e3b36a04596ee784493ec249bf81c7f2d2acd751c"
-
-[[package]]
-name = "cfg-if"
-version = "0.1.10"
+version = "1.3.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "4785bdd1c96b2a846b2bd7cc02e86b6b3dbf14e7e53446c4f54c92a361040822"
+checksum = "dfb24e866b15a1af2a1b663f10c6b6b8f397a84aadb828f12e5b289ec23a3a3c"
 
 [[package]]
 name = "cfg-if"
@@ -69,13 +51,16 @@
 
 [[package]]
 name = "enquote"
-version = "1.0.3"
+version = "1.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "2ec878a5d2f3b6e9eaee72373dd23414cfc7d353104741471bec712ef241a66e"
+checksum = "06c36cb11dbde389f4096111698d8b567c0720e3452fd5ac3e6b4e47e1939932"
+dependencies = [
+ "thiserror",
+]
 
 [[package]]
 name = "fakegreet"
-version = "0.8.0"
+version = "0.9.0"
 dependencies = [
  "greetd_ipc",
  "serde",
@@ -94,7 +79,7 @@
 
 [[package]]
 name = "greetd"
-version = "0.8.0"
+version = "0.9.0"
 dependencies = [
  "async-trait",
  "enquote",
@@ -113,7 +98,7 @@
 
 [[package]]
 name = "greetd_ipc"
-version = "0.8.0"
+version = "0.9.0"
 dependencies = [
  "async-trait",
  "serde",
@@ -128,82 +113,67 @@
 
 [[package]]
 name = "itoa"
-version = "0.4.5"
+version = "1.0.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b8b7a7c0c47db5545ed3fef7468ee7bb5b74691498139e4b3f6a20685dc6dd8e"
+checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440"
 
 [[package]]
 name = "libc"
-version = "0.2.82"
+version = "0.2.139"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "89203f3fba0a3795506acaad8ebce3c80c0af93f994d5a1d7a0b1eeb23271929"
+checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79"
 
 [[package]]
 name = "log"
-version = "0.4.8"
+version = "0.4.17"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "14b6052be84e6b71ab17edffc2eeabf5c2c3ae1fdb464aae35ac50c67a44e1f7"
+checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e"
 dependencies = [
- "cfg-if 0.1.10",
+ "cfg-if",
 ]
 
 [[package]]
 name = "memchr"
-version = "2.3.3"
+version = "2.5.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "3728d817d99e5ac407411fa471ff9800a778d88a24685968b36824eaf4bee400"
+checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d"
 
 [[package]]
-name = "mio"
-version = "0.7.7"
+name = "memoffset"
+version = "0.7.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e50ae3f04d169fcc9bde0b547d1c205219b7157e07ded9c5aff03e0637cb3ed7"
+checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4"
 dependencies = [
- "libc",
- "log",
- "miow",
- "ntapi",
- "winapi",
+ "autocfg",
 ]
 
 [[package]]
-name = "miow"
-version = "0.3.6"
+name = "mio"
+version = "0.8.5"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "5a33c1b55807fbed163481b5ba66db4b2fa6cde694a5027be10fb724206c5897"
+checksum = "e5d732bc30207a6423068df043e3d02e0735b155ad7ce1a6f76fe2baa5b158de"
 dependencies = [
- "socket2",
- "winapi",
+ "libc",
+ "log",
+ "wasi",
+ "windows-sys",
 ]
 
 [[package]]
 name = "nix"
-version = "0.19.1"
+version = "0.26.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "b2ccba0cfe4fdf15982d1674c69b1fd80bad427d293849982668dfe454bd61f2"
+checksum = "46a58d1d356c6597d08cde02c2f09d785b09e28711837b1ed667dc652c08a694"
 dependencies = [
  "bitflags",
- "cc",
- "cfg-if 1.0.0",
+ "cfg-if",
  "libc",
+ "memoffset",
+ "pin-utils",
+ "static_assertions",
 ]
 
 [[package]]
-name = "ntapi"
-version = "0.3.4"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "7a31937dea023539c72ddae0e3571deadc1414b300483fa7aaec176168cfa9d2"
-dependencies = [
- "winapi",
-]
-
-[[package]]
-name = "once_cell"
-version = "1.5.2"
-source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "13bd41f508810a131401606d54ac32a467c97172d74ba7662562ebba5ad07fa0"
-
-[[package]]
 name = "pam-sys"
 version = "0.5.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
@@ -214,33 +184,39 @@
 
 [[package]]
 name = "pin-project-lite"
-version = "0.2.4"
+version = "0.2.9"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "e0a7ae3ac2f1173085d398531c705756c94a4c56843785df85a60c1a0afac116"
+
+[[package]]
+name = "pin-utils"
+version = "0.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "439697af366c49a6d0a010c56a0d97685bc140ce0d377b13a2ea2aa42d64a827"
+checksum = "8b870d8c151b6f2fb93e84a13146138f05d02ed11c7e7c54f8826aaaf7c9f184"
 
 [[package]]
 name = "proc-macro2"
-version = "1.0.12"
+version = "1.0.49"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8872cf6f48eee44265156c111456a700ab3483686b3f96df4cf5481c89157319"
+checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5"
 dependencies = [
- "unicode-xid",
+ "unicode-ident",
 ]
 
 [[package]]
 name = "quote"
-version = "1.0.5"
+version = "1.0.23"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "42934bc9c8ab0d3b273a16d8551c8f0fcff46be73276ca083ec2414c15c4ba5e"
+checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b"
 dependencies = [
  "proc-macro2",
 ]
 
 [[package]]
 name = "rpassword"
-version = "5.0.0"
+version = "5.0.1"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "d755237fc0f99d98641540e66abac8bc46a0652f19148ac9e21de2da06b326c9"
+checksum = "ffc936cf8a7ea60c58f030fd36a612a48f440610214dc54bc36431f9ea0c3efb"
 dependencies = [
  "libc",
  "winapi",
@@ -248,24 +224,24 @@
 
 [[package]]
 name = "ryu"
-version = "1.0.4"
+version = "1.0.12"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "ed3d612bc64430efeb3f7ee6ef26d590dce0c43249217bddc62112540c7941e1"
+checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde"
 
 [[package]]
 name = "serde"
-version = "1.0.110"
+version = "1.0.152"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "99e7b308464d16b56eba9964e4972a3eee817760ab60d88c3f86e1fecb08204c"
+checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb"
 dependencies = [
  "serde_derive",
 ]
 
 [[package]]
 name = "serde_derive"
-version = "1.0.110"
+version = "1.0.152"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "818fbf6bfa9a42d3bfcaca148547aa00c7b915bec71d1757aa2d44ca68771984"
+checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -274,9 +250,9 @@
 
 [[package]]
 name = "serde_json"
-version = "1.0.53"
+version = "1.0.91"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "993948e75b189211a9b31a7528f950c6adc21f9720b6438ff80a7fa2f864cea2"
+checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883"
 dependencies = [
  "itoa",
  "ryu",
@@ -285,50 +261,54 @@
 
 [[package]]
 name = "signal-hook-registry"
-version = "1.2.0"
+version = "1.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "94f478ede9f64724c5d173d7bb56099ec3e2d9fc2774aac65d34b8b890405f41"
+checksum = "e51e73328dc4ac0c7ccbda3a494dfa03df1de2f46018127f60c693f2648455b0"
 dependencies = [
- "arc-swap",
  "libc",
 ]
 
 [[package]]
 name = "socket2"
-version = "0.3.19"
+version = "0.4.7"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "122e570113d28d773067fab24266b66753f6ea915758651696b6e35e49f88d6e"
+checksum = "02e2d2db9033d13a1567121ddd7a095ee144db4e1ca1b1bda3419bc0da294ebd"
 dependencies = [
- "cfg-if 1.0.0",
  "libc",
  "winapi",
 ]
 
 [[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
 name = "syn"
-version = "1.0.21"
+version = "1.0.107"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "4696caa4048ac7ce2bcd2e484b3cef88c1004e41b8e945a277e2c25dc0b72060"
+checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5"
 dependencies = [
  "proc-macro2",
  "quote",
- "unicode-xid",
+ "unicode-ident",
 ]
 
 [[package]]
 name = "thiserror"
-version = "1.0.17"
+version = "1.0.38"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "467e5ff447618a916519a4e0d62772ab14f434897f3d63f05d8700ef1e9b22c1"
+checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0"
 dependencies = [
  "thiserror-impl",
 ]
 
 [[package]]
 name = "thiserror-impl"
-version = "1.0.17"
+version = "1.0.38"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "e63c1091225b9834089b429bc4a2e01223470e3183e891582909e9d1c4cb55d9"
+checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -337,27 +317,27 @@
 
 [[package]]
 name = "tokio"
-version = "1.0.2"
+version = "1.24.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "0ca04cec6ff2474c638057b65798f60ac183e5e79d3448bb7163d36a39cff6ec"
+checksum = "7125661431c26622a80ca5051a2f936c9a678318e0351007b0cc313143024e5c"
 dependencies = [
  "autocfg",
  "bytes",
  "libc",
  "memchr",
  "mio",
- "once_cell",
  "pin-project-lite",
  "signal-hook-registry",
+ "socket2",
  "tokio-macros",
- "winapi",
+ "windows-sys",
 ]
 
 [[package]]
 name = "tokio-macros"
-version = "1.0.0"
+version = "1.8.2"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "42517d2975ca3114b22a16192634e8241dc5cc1f130be194645970cc1c371494"
+checksum = "d266c00fde287f55d3f1c3e96c500c362a2b8c695076ec180f27918820bc6df8"
 dependencies = [
  "proc-macro2",
  "quote",
@@ -365,16 +345,16 @@
 ]
 
 [[package]]
-name = "unicode-width"
-version = "0.1.7"
+name = "unicode-ident"
+version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "caaa9d531767d1ff2150b9332433f32a24622147e5ebb1f26409d5da67afd479"
+checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc"
 
 [[package]]
-name = "unicode-xid"
-version = "0.2.0"
+name = "unicode-width"
+version = "0.1.10"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "826e7639553986605ec5979c7dd957c7895e93eabed50ab2ffa7f6128a75097c"
+checksum = "c0edd1e5b14653f783770bce4a4dabb4a5108a5370a5f5d8cfe8710c361f6c8b"
 
 [[package]]
 name = "users"
@@ -387,10 +367,16 @@
 ]
 
 [[package]]
+name = "wasi"
+version = "0.11.0+wasi-snapshot-preview1"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423"
+
+[[package]]
 name = "winapi"
-version = "0.3.8"
+version = "0.3.9"
 source = "registry+https://github.com/rust-lang/crates.io-index";
-checksum = "8093091eeb260906a183e6ae1abdba2ef5ef2257a21801128899c3fc699229c6"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
 dependencies = [
  "winapi-i686-pc-windows-gnu",
  "winapi-x86_64-pc-windows-gnu",
@@ -407,3 +393,60 @@
 version = "0.4.0"
 source = "registry+https://github.com/rust-lang/crates.io-index";
 checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "windows-sys"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "5a3e1820f08b8513f676f7ab6c1f99ff312fb97b553d30ff4dd86f9f15728aa7"
+dependencies = [
+ "windows_aarch64_gnullvm",
+ "windows_aarch64_msvc",
+ "windows_i686_gnu",
+ "windows_i686_msvc",
+ "windows_x86_64_gnu",
+ "windows_x86_64_gnullvm",
+ "windows_x86_64_msvc",
+]
+
+[[package]]
+name = "windows_aarch64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e"
+
+[[package]]
+name = "windows_aarch64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4"
+
+[[package]]
+name = "windows_i686_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7"
+
+[[package]]
+name = "windows_i686_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246"
+
+[[package]]
+name = "windows_x86_64_gnu"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "bf7b1b21b5362cbc318f686150e5bcea75ecedc74dd157d874d754a2ca44b0ed"
+
+[[package]]
+name = "windows_x86_64_gnullvm"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028"
+
+[[package]]
+name = "windows_x86_64_msvc"
+version = "0.42.0"
+source = "registry+https://github.com/rust-lang/crates.io-index";
+checksum = "f40009d85759725a34da6d89a94e63d7bdc50a862acf0dbc7c8e488f1edcb6f5"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/README.md new/greetd-0.9.0/README.md
--- old/greetd-0.8.0/README.md  2021-09-05 21:15:06.000000000 +0200
+++ new/greetd-0.9.0/README.md  2023-01-06 00:25:45.000000000 +0100
@@ -11,11 +11,15 @@
 ## List of known greetd greeters
 
 - agreety - The simple, text-based greeter living in this repo is a simple 
example.
-- [gtkgreet](https://git.sr.ht/~kennylevinsen/gtkgreet) - The flagship 
graphical, GTK based greeter (xdg-shell or wlr-layer-shell, to be used with 
something like `cage`)
+- [gtkgreet](https://git.sr.ht/~kennylevinsen/gtkgreet) - The flagship 
graphical, GTK based greeter (xdg-shell or wlr-layer-shell, to be used with 
something like `sway`)
+- [qtgreet](https://gitlab.com/marcusbritanicus/QtGreet) - Qt-based greeter 
(using wlr-layer-shell, to be used with something like `sway`)
 - [dlm](https://git.sr.ht/~kennylevinsen/dlm) - Dumb Login Manager (using 
fbdev)
+- [ddlm](https://github.com/deathowl/ddlm) - Deathowl's dummy login manager 
(using fbdev)
 - [wlgreet](https://git.sr.ht/~kennylevinsen/wlgreet) - Wayland greeter (using 
wlr-layer-shell, to be used with something like `sway`)
 - [tuigreet](https://github.com/apognu/tuigreet) - Console UI greeter (using 
tui-rs)
 
+Patches expanding the list welcome.
+
 ## Installation
 
 The below will install greetd, agreety and the default configuration. This 
looks *just* like `agetty(8)` and `login(1)`. See the manpages and the wiki for 
information on how to do more interesting things.
@@ -55,7 +59,7 @@
 
 ## How do I write my own greeter?
 
-All you need to do is an application that can speak the greetd IPC protocol, 
which is documented in `greetd-ipc(7)`. See gtkgreet or agreety for inspiration.
+All you need is an application that can speak the greetd IPC protocol, which 
is documented in `greetd-ipc(7)`. See gtkgreet or agreety for inspiration.
 
 # How to discuss
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/agreety/Cargo.toml 
new/greetd-0.9.0/agreety/Cargo.toml
--- old/greetd-0.8.0/agreety/Cargo.toml 2021-09-05 21:15:06.000000000 +0200
+++ new/greetd-0.9.0/agreety/Cargo.toml 2023-01-06 00:25:45.000000000 +0100
@@ -1,6 +1,6 @@
 [package]
 name = "agreety"
-version = "0.8.0"
+version = "0.9.0"
 authors = ["Kenny Levinsen"]
 edition = "2018"
 license = "GPL-3.0"
@@ -12,5 +12,5 @@
 inish = { path = "../inish"}
 rpassword = "5.0"
 getopts = "0.2"
-enquote = "1.0.3"
-nix = "0.19"
+enquote = "1.1"
+nix = "0.26"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/agreety/src/main.rs 
new/greetd-0.9.0/agreety/src/main.rs
--- old/greetd-0.8.0/agreety/src/main.rs        2021-09-05 21:15:06.000000000 
+0200
+++ new/greetd-0.9.0/agreety/src/main.rs        2023-01-06 00:25:45.000000000 
+0100
@@ -39,18 +39,18 @@
         .unwrap_or_else(|_| "0".to_string())
         .parse()
         .expect("unable to parse VTNR");
-    let uts = uname();
+    let uts = uname()?;
     Ok(fs::read_to_string("/etc/issue")?
         .replace(
             "\\S",
             &get_distro_name().unwrap_or_else(|_| "Linux".to_string()),
         )
         .replace("\\l", &format!("tty{}", vtnr))
-        .replace("\\s", &uts.sysname())
-        .replace("\\r", &uts.release())
-        .replace("\\v", &uts.version())
-        .replace("\\n", &uts.nodename())
-        .replace("\\m", &uts.machine())
+        .replace("\\s", &uts.sysname().to_str().unwrap())
+        .replace("\\r", &uts.release().to_str().unwrap())
+        .replace("\\v", &uts.version().to_str().unwrap())
+        .replace("\\n", &uts.nodename().to_str().unwrap())
+        .replace("\\m", &uts.machine().to_str().unwrap())
         .replace("\\\\", "\\"))
 }
 
@@ -107,6 +107,7 @@
                         None => prompt_stderr("Command: ")?,
                     };
                     next_request = Request::StartSession {
+                        env: vec![],
                         cmd: vec![command.to_string()],
                     }
                 }
@@ -170,9 +171,9 @@
         print!("{}", issue);
     }
 
-    let uts = uname();
+    let uts = uname().unwrap();
     for _ in 0..max_failures {
-        match login(uts.nodename(), &mut cmd) {
+        match login(uts.nodename().to_str().unwrap(), &mut cmd) {
             Ok(LoginResult::Success) => break,
             Ok(LoginResult::Failure) => eprintln!("Login incorrect\n"),
             Err(e) => {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/config.toml new/greetd-0.9.0/config.toml
--- old/greetd-0.8.0/config.toml        2021-09-05 21:15:06.000000000 +0200
+++ new/greetd-0.9.0/config.toml        2023-01-06 00:25:45.000000000 +0100
@@ -6,9 +6,9 @@
 # The default session, also known as the greeter.
 [default_session]
 
-# `agreety` is the bundled agetty/login-lookalike. You can replace `$SHELL`
+# `agreety` is the bundled agetty/login-lookalike. You can replace `/bin/sh`
 # with whatever you want started, such as `sway`.
-command = "agreety --cmd $SHELL"
+command = "agreety --cmd /bin/sh"
 
 # The user to run the command as. The privileges this user must have depends
 # on the greeter. A graphical greeter may for example require the user to be
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/fakegreet/Cargo.toml 
new/greetd-0.9.0/fakegreet/Cargo.toml
--- old/greetd-0.8.0/fakegreet/Cargo.toml       2021-09-05 21:15:06.000000000 
+0200
+++ new/greetd-0.9.0/fakegreet/Cargo.toml       2023-01-06 00:25:45.000000000 
+0100
@@ -1,6 +1,6 @@
 [package]
 name = "fakegreet"
-version = "0.8.0"
+version = "0.9.0"
 authors = ["Kenny Levinsen"]
 edition = "2018"
 license = "GPL-3.0"
@@ -10,5 +10,5 @@
 [dependencies]
 serde = { version = "1.0", features = ["derive"] }
 greetd_ipc = { path = "../greetd_ipc", features = ["tokio-codec"] }
-tokio = { version = "1.0", features = ["process"] }
+tokio = { version = "1.5", features = ["process", "macros", "time", "net", 
"rt"] }
 thiserror = "1.0"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/fakegreet/src/main.rs 
new/greetd-0.9.0/fakegreet/src/main.rs
--- old/greetd-0.8.0/fakegreet/src/main.rs      2021-09-05 21:15:06.000000000 
+0200
+++ new/greetd-0.9.0/fakegreet/src/main.rs      2023-01-06 00:25:45.000000000 
+0100
@@ -137,10 +137,14 @@
                     res => wrap_result(res),
                 }
             }
-            Request::StartSession { cmd } => wrap_result(ctx.start(cmd).await),
+            Request::StartSession { cmd, env: _ } => 
wrap_result(ctx.start(cmd).await),
             Request::CancelSession => wrap_result(ctx.cancel().await),
         };
 
+        if let Response::Error { .. } = resp {
+            ctx.cancel().await?;
+        }
+
         println!("resp: {:?}", resp);
         resp.write_to(&mut s).await?;
     }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/greetd/Cargo.toml 
new/greetd-0.9.0/greetd/Cargo.toml
--- old/greetd-0.8.0/greetd/Cargo.toml  2021-09-05 21:15:06.000000000 +0200
+++ new/greetd-0.9.0/greetd/Cargo.toml  2023-01-06 00:25:45.000000000 +0100
@@ -1,6 +1,6 @@
 [package]
 name = "greetd"
-version = "0.8.0"
+version = "0.9.0"
 authors = ["Kenny Levinsen"]
 edition = "2018"
 license = "GPL-3.0"
@@ -11,7 +11,7 @@
 debug = []
 
 [dependencies]
-nix = "0.19"
+nix = "0.26"
 pam-sys = "0.5.6"
 users = "0.11.0"
 serde = { version = "1.0", features = ["derive"] }
@@ -19,8 +19,8 @@
 greetd_ipc = { path = "../greetd_ipc", features = ["tokio-codec"] }
 inish = { path = "../inish" }
 libc = "0.2"
-tokio = { version = "1.0", features = ["net", "sync", "macros", "signal", 
"rt", "io-util", "time"] }
+tokio = { version = "1", features = ["net", "sync", "macros", "signal", "rt", 
"io-util", "time"] }
 getopts = "0.2"
 thiserror = "1.0"
 async-trait = "0.1"
-enquote = "1.0.3"
+enquote = "1.1"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/greetd/src/context.rs 
new/greetd-0.9.0/greetd/src/context.rs
--- old/greetd-0.8.0/greetd/src/context.rs      2021-09-05 21:15:06.000000000 
+0200
+++ new/greetd-0.9.0/greetd/src/context.rs      2023-01-06 00:25:45.000000000 
+0100
@@ -103,7 +103,7 @@
             }
         }
 
-        scheduled_session.send_args(cmd).await?;
+        scheduled_session.send_args(cmd, vec![]).await?;
         scheduled_session.start().await
     }
 
@@ -253,14 +253,14 @@
     }
 
     /// Schedule the session under configuration with the provided arguments.
-    pub async fn start(&self, cmd: Vec<String>) -> Result<(), Error> {
+    pub async fn start(&self, cmd: Vec<String>, env: Vec<String>) -> 
Result<(), Error> {
         let mut session = self.inner.write().await.configuring.take();
 
         match &mut session {
             Some(s) => match s.session.get_state().await? {
                 SessionState::Ready => {
                     // Send our arguments to the session.
-                    s.session.send_args(cmd).await?;
+                    s.session.send_args(cmd, env).await?;
 
                     let mut inner = self.inner.write().await;
                     std::mem::swap(&mut session, &mut inner.scheduled);
@@ -375,10 +375,10 @@
                 Ok(_) => continue,
 
                 // Interrupted.
-                Err(nix::Error::Sys(nix::errno::Errno::EINTR)) => continue,
+                Err(nix::errno::Errno::EINTR) => continue,
 
                 // We do not have any children right now.
-                Err(nix::Error::Sys(nix::errno::Errno::ECHILD)) => break 
Ok(()),
+                Err(nix::errno::Errno::ECHILD) => break Ok(()),
 
                 // Uh, what?
                 Err(e) => panic!("waitpid returned an unexpected error: {}", 
e),
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/greetd/src/server.rs 
new/greetd-0.9.0/greetd/src/server.rs
--- old/greetd-0.8.0/greetd/src/server.rs       2021-09-05 21:15:06.000000000 
+0200
+++ new/greetd-0.9.0/greetd/src/server.rs       2023-01-06 00:25:45.000000000 
+0100
@@ -85,7 +85,7 @@
                     res => wrap_result(res),
                 }
             }
-            Request::StartSession { cmd } => wrap_result(ctx.start(cmd).await),
+            Request::StartSession { cmd, env } => wrap_result(ctx.start(cmd, 
env).await),
             Request::CancelSession => wrap_result(ctx.cancel().await),
         };
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/greetd/src/session/interface.rs 
new/greetd-0.9.0/greetd/src/session/interface.rs
--- old/greetd-0.8.0/greetd/src/session/interface.rs    2021-09-05 
21:15:06.000000000 +0200
+++ new/greetd-0.9.0/greetd/src/session/interface.rs    2023-01-06 
00:25:45.000000000 +0100
@@ -193,8 +193,8 @@
     ///
     /// Send the arguments that will be used to start the session.
     ///
-    pub async fn send_args(&mut self, cmd: Vec<String>) -> Result<(), Error> {
-        let msg = ParentToSessionChild::Args { cmd };
+    pub async fn send_args(&mut self, cmd: Vec<String>, env: Vec<String>) -> 
Result<(), Error> {
+        let msg = ParentToSessionChild::Args { env, cmd };
         msg.send(&mut self.sock).await?;
 
         let msg = SessionChildToParent::recv(&mut self.sock).await?;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/greetd/src/session/worker.rs 
new/greetd-0.9.0/greetd/src/session/worker.rs
--- old/greetd-0.8.0/greetd/src/session/worker.rs       2021-09-05 
21:15:06.000000000 +0200
+++ new/greetd-0.9.0/greetd/src/session/worker.rs       2023-01-06 
00:25:45.000000000 +0100
@@ -46,6 +46,7 @@
         resp: Option<String>,
     },
     Args {
+        env: Vec<String>,
         cmd: Vec<String>,
     },
     Start,
@@ -110,8 +111,8 @@
     SessionChildToParent::Success.send(sock)?;
 
     // Fetch our arguments from the parent.
-    let cmd = match ParentToSessionChild::recv(sock)? {
-        ParentToSessionChild::Args { cmd } => cmd,
+    let (env, cmd) = match ParentToSessionChild::recv(sock)? {
+        ParentToSessionChild::Args { env, cmd } => (env, cmd),
         ParentToSessionChild::Cancel => return Err("cancelled".into()),
         msg => return Err(format!("expected Args or Cancel, got: {:?}", 
msg).into()),
     };
@@ -170,16 +171,6 @@
     let uid = Uid::from_raw(user.uid());
     let gid = Gid::from_raw(user.primary_group_id());
 
-    // Change working directory
-    let pwd = match env::set_current_dir(home) {
-        Ok(_) => home,
-        Err(_) => {
-            env::set_current_dir("/")
-                .map_err(|e| format!("unable to set working directory: {}", 
e))?;
-            "/"
-        }
-    };
-
     // PAM has to be provided a bunch of environment variables before
     // open_session. We pass any environment variables from our greeter
     // through here as well. This allows them to affect PAM (more
@@ -192,7 +183,6 @@
         format!("LOGNAME={}", username),
         format!("HOME={}", home),
         format!("SHELL={}", shell),
-        format!("PWD={}", pwd),
         format!("GREETD_SOCK={}", env::var("GREETD_SOCK").unwrap()),
         format!(
             "TERM={}",
@@ -200,7 +190,7 @@
         ),
     ];
 
-    for e in prepared_env.iter() {
+    for e in env.iter().chain(prepared_env.iter()) {
         pam.putenv(e)?;
     }
 
@@ -241,6 +231,11 @@
             // death signal, which is why we do this here.
             prctl(PrctlOption::SET_PDEATHSIG(libc::SIGTERM)).expect("unable to 
set death signal");
 
+            // Change working directory
+            if let Err(e) = env::set_current_dir(home) {
+                eprintln!("unable to set working directory: {}", e);
+            }
+
             // Run
             let cpath = CString::new("/bin/sh").unwrap();
             execve(
@@ -269,7 +264,7 @@
     // Wait for process to terminate, handling EINTR as necessary.
     loop {
         match waitpid(child, None) {
-            Err(nix::Error::Sys(nix::errno::Errno::EINTR)) => continue,
+            Err(nix::errno::Errno::EINTR) => continue,
             Err(e) => {
                 eprintln!("session: waitpid on inner child failed: {}", e);
                 break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/greetd_ipc/Cargo.toml 
new/greetd-0.9.0/greetd_ipc/Cargo.toml
--- old/greetd-0.8.0/greetd_ipc/Cargo.toml      2021-09-05 21:15:06.000000000 
+0200
+++ new/greetd-0.9.0/greetd_ipc/Cargo.toml      2023-01-06 00:25:45.000000000 
+0100
@@ -1,6 +1,6 @@
 [package]
 name = "greetd_ipc"
-version = "0.8.0"
+version = "0.9.0"
 authors = ["Kenny Levinsen"]
 edition = "2018"
 license = "GPL-3.0"
@@ -20,6 +20,6 @@
 [dependencies]
 serde = { version = "1.0", features = ["derive"] }
 serde_json = "1.0"
-tokio = { version = "1.0", features = ["io-util"], optional = true }
+tokio = { version = "1", features = ["io-util"], optional = true }
 async-trait = { version = "0.1", optional = true }
 thiserror = { version = "1.0", optional = true }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/greetd_ipc/src/lib.rs 
new/greetd-0.9.0/greetd_ipc/src/lib.rs
--- old/greetd-0.8.0/greetd_ipc/src/lib.rs      2021-09-05 21:15:06.000000000 
+0200
+++ new/greetd-0.9.0/greetd_ipc/src/lib.rs      2023-01-06 00:25:45.000000000 
+0100
@@ -75,7 +75,11 @@
 
     /// Start a successfully logged in session. This will fail if the session
     /// has pending messages or has encountered an error.
-    StartSession { cmd: Vec<String> },
+    StartSession {
+        cmd: Vec<String>,
+        #[serde(default)]
+        env: Vec<String>,
+    },
 
     /// Cancel a session. This can only be done if the session has not been
     /// started. Cancel does not have to be called if an error has been
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/man/greetd-5.scd 
new/greetd-0.9.0/man/greetd-5.scd
--- old/greetd-0.8.0/man/greetd-5.scd   2021-09-05 21:15:06.000000000 +0200
+++ new/greetd-0.9.0/man/greetd-5.scd   2023-01-06 00:25:45.000000000 +0100
@@ -68,10 +68,13 @@
 This section describes the default session, also referred to as the *greeter*.
 
 *command* = command-line
-       The command-line to run to start the default session, e.g. "agreety -c 
sway".
-       The default session is automatically started when no other session is
-       running, such as when user session terminate, and when greetd is 
initially
-       started with no initial session configured.
+       The command-line that greetd will run to start the default session, e.g.
+       "agreety -c sway". The default session is automatically started when no
+       other session is running, such as when a user session terminates or when
+       greetd is initially started with no initial session configured.
+
+       The command-line is run by *sh*(1), and as such accepts standard POSIX
+       shell syntax.
 
        See *greetd-ipc*(7) for information on how a greeter can create 
sessions.
 
@@ -89,9 +92,12 @@
 presence of the runfile.
 
 *command* = command-line
-       The command-line to run to start the initial session, e.g. "sway". The
-       initial session will be run when exactly once when greetd is initially
-       launched.
+       The command-line that greetd will run to start the initial session, e.g.
+       "sway". The initial session will be started exactly once when greetd is
+       initially launched.
+
+       The command-line is run by *sh*(1), and as such accepts standard POSIX
+       shell syntax.
 
 *user* = user
        The user to use for running the initial session.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/greetd-0.8.0/man/greetd-ipc-7.scd 
new/greetd-0.9.0/man/greetd-ipc-7.scd
--- old/greetd-0.8.0/man/greetd-ipc-7.scd       2021-09-05 21:15:06.000000000 
+0200
+++ new/greetd-0.9.0/man/greetd-ipc-7.scd       2023-01-06 00:25:45.000000000 
+0100
@@ -46,8 +46,8 @@
 :  response (string, optional)
 :  Answers an authentication message. If the message was informative (info, 
error), then a response does not need to be set in this message. The session is 
ready to be started if a success is returned.
 |  start_session
-:  cmd (array of strings)
-:  Requests for the session to be started using the provided command line. The 
session will start after the greeter process terminates.
+:  cmd (array of strings), env (array of strings)
+:  Requests for the session to be started using the provided command line, 
adding the supplied environment to that created by PAM. The session will start 
after the greeter process terminates.
 |  cancel_session
 : 
 :  Cancels the session that is currently under configuration.

++++++ greetd.obsinfo ++++++
--- /var/tmp/diff_new_pack.6tbQHH/_old  2023-01-31 16:09:35.529893234 +0100
+++ /var/tmp/diff_new_pack.6tbQHH/_new  2023-01-31 16:09:35.533893257 +0100
@@ -1,5 +1,5 @@
 name: greetd
-version: 0.8.0
-mtime: 1630869306
-commit: d2477a8f9c50097a689125304ea2a1e3660d274e
+version: 0.9.0
+mtime: 1672961145
+commit: f3f32498851c6775a9d9ca0d46239b9a6de78204
 

++++++ vendor.tar.gz ++++++
/work/SRC/openSUSE:Factory/greetd/vendor.tar.gz 
/work/SRC/openSUSE:Factory/.greetd.new.32243/vendor.tar.gz differ: char 5, line 
1

Reply via email to