diff options
author | Laurent Bercot <ska-adelie@skarnet.org> | 2023-08-31 00:03:11 +0000 |
---|---|---|
committer | Zach van Rijn <me@zv.io> | 2023-09-15 10:28:33 +0000 |
commit | 85b5bcffcdcc51e4f318dc78c221abdc01b5d3f3 (patch) | |
tree | 2c952084e46b7b1b5e4ce9c7d4b857167d12c707 /user/elogind/utmps.patch | |
parent | 2a7cad63e8b8677d3da9042d151ad38326348c06 (diff) | |
download | packages-85b5bcffcdcc51e4f318dc78c221abdc01b5d3f3.tar.gz packages-85b5bcffcdcc51e4f318dc78c221abdc01b5d3f3.tar.bz2 packages-85b5bcffcdcc51e4f318dc78c221abdc01b5d3f3.tar.xz packages-85b5bcffcdcc51e4f318dc78c221abdc01b5d3f3.zip |
user/elogind: fix utmp failures
As with util-linux, we hardcode our assumptions in place of the
wrong ones, and we comment out the most egregious braindeadnesses.
Diffstat (limited to 'user/elogind/utmps.patch')
-rw-r--r-- | user/elogind/utmps.patch | 83 |
1 files changed, 68 insertions, 15 deletions
diff --git a/user/elogind/utmps.patch b/user/elogind/utmps.patch index c1ac7c515..16afdd307 100644 --- a/user/elogind/utmps.patch +++ b/user/elogind/utmps.patch @@ -1,21 +1,74 @@ ---- elogind-243.7/src/shared/musl_missing.h.old 2020-03-12 19:33:40.000000000 +0000 -+++ elogind-243.7/src/shared/musl_missing.h 2020-07-24 23:42:45.556511070 +0000 -@@ -76,7 +76,6 @@ +diff -rNU3 elogind-246.10.old/src/basic/user-util.c elogind-246.10/src/basic/user-util.c +--- elogind-246.10.old/src/basic/user-util.c 2021-03-02 08:29:23.000000000 +0000 ++++ elogind-246.10/src/basic/user-util.c 2023-08-30 23:59:46.850233132 +0000 +@@ -8,7 +8,6 @@ + #include <stdlib.h> + #include <sys/stat.h> + #include <unistd.h> +-#include <utmp.h> + + #include "sd-messages.h" + +diff -rNU3 elogind-246.10.old/src/login/logind-core.c elogind-246.10/src/login/logind-core.c +--- elogind-246.10.old/src/login/logind-core.c 2021-03-02 08:29:23.000000000 +0000 ++++ elogind-246.10/src/login/logind-core.c 2023-08-30 23:54:42.910231156 +0000 +@@ -780,8 +780,8 @@ + + assert(m); + +- if (utmpxname(_PATH_UTMPX) < 0) +- return log_error_errno(errno, "Failed to set utmp path to " _PATH_UTMPX ": %m"); ++// if (utmpxname(_PATH_UTMPX) < 0) ++// return log_error_errno(errno, "Failed to set utmp path to " _PATH_UTMPX ": %m"); + + utmpx = utxent_start(); + +diff -rNU3 elogind-246.10.old/src/shared/musl_missing.h elogind-246.10/src/shared/musl_missing.h +--- elogind-246.10.old/src/shared/musl_missing.h 2021-03-02 08:29:23.000000000 +0000 ++++ elogind-246.10/src/shared/musl_missing.h 2023-08-30 23:58:42.010232710 +0000 +@@ -76,14 +76,13 @@ /* Make musl utmp/wtmp stubs visible if needed. */ #if ENABLE_UTMP # include <paths.h> -# include <utmp.h> # include <utmpx.h> - # if defined(_PATH_UTMP) && !defined(_PATH_UTMPX) - # define _PATH_UTMPX _PATH_UTMP ---- elogind-243.7/src/basic/user-util.c.old 2020-03-12 19:33:40.000000000 +0000 -+++ elogind-243.7/src/basic/user-util.c 2020-07-24 23:44:44.253733648 +0000 -@@ -12,7 +12,7 @@ - #include <string.h> - #include <sys/stat.h> - #include <unistd.h> --#include <utmp.h> -+#include <utmpx.h> +-# if defined(_PATH_UTMP) && !defined(_PATH_UTMPX) +-# define _PATH_UTMPX _PATH_UTMP +-# endif +-# if defined(_PATH_WTMP) && !defined(_PATH_WTMPX) +-# define _PATH_WTMPX _PATH_WTMP +-# endif ++# undef _PATH_UTMPX ++# define _PATH_UTMPX "/run/utmps/utmp" ++# undef _PATH_WTMPX ++# define _PATH_WTMPX "/var/log/wtmpd/wtmp" ++# undef _PATH_BTMPX ++# define _PATH_BTMPX "/var/log/wtmpd/btmp" + #endif // ENABLE_UTMP + + /* +diff -rNU3 elogind-246.10.old/src/shared/utmp-wtmp.c elogind-246.10/src/shared/utmp-wtmp.c +--- elogind-246.10.old/src/shared/utmp-wtmp.c 2021-03-02 08:29:23.000000000 +0000 ++++ elogind-246.10/src/shared/utmp-wtmp.c 2023-08-30 23:53:07.330230534 +0000 +@@ -55,8 +55,8 @@ + return 0; + } + +- if (utmpxname(_PATH_UTMPX) < 0) +- return -errno; ++// if (utmpxname(_PATH_UTMPX) < 0) ++// return -errno; + + utmpx = utxent_start(); + +@@ -105,8 +105,8 @@ + * each entry type resp. user; i.e. basically a key/value + * table. */ + +- if (utmpxname(_PATH_UTMPX) < 0) +- return -errno; ++// if (utmpxname(_PATH_UTMPX) < 0) ++// return -errno; + + utmpx = utxent_start(); - #include "alloc-util.h" - #include "errno-util.h" |