summaryrefslogtreecommitdiff
path: root/user/elogind/utmps.patch
diff options
context:
space:
mode:
authorLaurent Bercot <ska-adelie@skarnet.org>2023-08-31 00:03:11 +0000
committerZach van Rijn <me@zv.io>2023-09-15 10:28:33 +0000
commit85b5bcffcdcc51e4f318dc78c221abdc01b5d3f3 (patch)
tree2c952084e46b7b1b5e4ce9c7d4b857167d12c707 /user/elogind/utmps.patch
parent2a7cad63e8b8677d3da9042d151ad38326348c06 (diff)
downloadpackages-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.patch83
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"