summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sys-auth/elogind/files')
-rw-r--r--sys-auth/elogind/files/elogind-236.1-docs.patch24
-rw-r--r--sys-auth/elogind/files/elogind-241.1-docs.patch24
-rw-r--r--sys-auth/elogind/files/elogind-243.6-docs.patch28
-rw-r--r--sys-auth/elogind/files/elogind-252-docs.patch28
-rw-r--r--sys-auth/elogind/files/elogind-252.9-musl-lfs.patch51
-rw-r--r--sys-auth/elogind/files/elogind.init19
6 files changed, 147 insertions, 27 deletions
diff --git a/sys-auth/elogind/files/elogind-236.1-docs.patch b/sys-auth/elogind/files/elogind-236.1-docs.patch
deleted file mode 100644
index 1bde53d..0000000
--- a/sys-auth/elogind/files/elogind-236.1-docs.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- a/meson.build 2018-06-25 08:07:31.459104859 +0200
-+++ b/meson.build 2018-06-25 08:08:21.854103131 +0200
-@@ -2800,20 +2800,7 @@
- # install_data('modprobe.d/systemd.conf',
- # install_dir : modprobedir)
- #endif // 0
--install_data('README',
-- 'NEWS',
-- 'CODING_STYLE',
--#if 0 /// UNNEEDED by elogind
--# 'DISTRO_PORTING',
--# 'ENVIRONMENT.md',
--#endif // 0
-- 'LICENSE.GPL2',
-- 'LICENSE.LGPL2.1',
-- 'src/libelogind/sd-bus/GVARIANT-SERIALIZATION',
--#if 0 /// UNNEEDED by elogind
--# 'TRANSIENT-SETTINGS.md',
--# 'UIDS-GIDS.md',
--#endif // 0
-+install_data('src/libelogind/sd-bus/GVARIANT-SERIALIZATION',
- install_dir : docdir)
-
- #if 0 /// UNNEEDED by elogind
diff --git a/sys-auth/elogind/files/elogind-241.1-docs.patch b/sys-auth/elogind/files/elogind-241.1-docs.patch
new file mode 100644
index 0000000..2e53c49
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-241.1-docs.patch
@@ -0,0 +1,24 @@
+--- a/meson.build 2019-02-22 19:22:44.395082783 +0100
++++ b/meson.build 2019-02-22 19:22:49.707082657 +0100
+@@ -3311,20 +3311,7 @@
+ # install_data('modprobe.d/systemd.conf',
+ # install_dir : modprobedir)
+ #endif // 0
+-install_data('LICENSE.GPL2',
+- 'LICENSE.LGPL2.1',
+- 'NEWS',
+- 'README',
+- 'docs/CODING_STYLE.md',
+-#if 0 /// irrelevant for elogind
+-# 'docs/DISTRO_PORTING.md',
+-# 'docs/ENVIRONMENT.md',
+-# 'docs/HACKING.md',
+-# 'docs/TRANSIENT-SETTINGS.md',
+-# 'docs/TRANSLATORS.md',
+-# 'docs/UIDS-GIDS.md',
+-#endif // 0
+- 'src/libelogind/sd-bus/GVARIANT-SERIALIZATION',
++install_data('src/libelogind/sd-bus/GVARIANT-SERIALIZATION',
+ install_dir : docdir)
+
+ #if 0 /// UNNEEDED by elogind
diff --git a/sys-auth/elogind/files/elogind-243.6-docs.patch b/sys-auth/elogind/files/elogind-243.6-docs.patch
new file mode 100644
index 0000000..5b28f48
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-243.6-docs.patch
@@ -0,0 +1,28 @@
+--- a/meson.build 2020-02-13 07:53:43.511226758 +0100
++++ b/meson.build 2020-02-13 07:54:43.633227581 +0100
+@@ -3352,24 +3352,7 @@
+ # install_data('modprobe.d/systemd.conf',
+ # install_dir : modprobedir)
+ #endif // 0
+-install_data('LICENSE.GPL2',
+- 'LICENSE.LGPL2.1',
+-#if 0 /// elogind has upgraded to markdown, and the NEWS file is useless
+-# 'NEWS',
+-# 'README',
+-#else // 0
+- 'README.md',
+-#endif // 0
+- 'docs/CODING_STYLE.md',
+-#if 0 /// irrelevant for elogind
+-# 'docs/DISTRO_PORTING.md',
+-# 'docs/ENVIRONMENT.md',
+-# 'docs/HACKING.md',
+-# 'docs/TRANSIENT-SETTINGS.md',
+-# 'docs/TRANSLATORS.md',
+-# 'docs/UIDS-GIDS.md',
+-#endif // 0
+- 'src/libelogind/sd-bus/GVARIANT-SERIALIZATION',
++install_data('src/libelogind/sd-bus/GVARIANT-SERIALIZATION',
+ install_dir : docdir)
+
+ #if 0 /// UNNEEDED by elogind
diff --git a/sys-auth/elogind/files/elogind-252-docs.patch b/sys-auth/elogind/files/elogind-252-docs.patch
new file mode 100644
index 0000000..9bea3f5
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-252-docs.patch
@@ -0,0 +1,28 @@
+--- a/meson.build 2022-12-29 18:39:53.824363327 +0100
++++ b/meson.build 2022-12-29 18:40:46.928366118 +0100
+@@ -4524,25 +4524,6 @@
+ # install_dir : xinitrcdir)
+ # endif
+ #endif // 0
+-install_data('LICENSE.GPL2',
+- 'LICENSE.LGPL2.1',
+-#if 0 /// elogind has upgraded to markdown, and the NEWS file is useless
+-# 'NEWS',
+-# 'README',
+-#else // 0
+- 'README.md',
+-#endif // 0
+- 'docs/CODING_STYLE.md',
+-#if 0 /// irrelevant for elogind
+-# 'docs/DISTRO_PORTING.md',
+-# 'docs/ENVIRONMENT.md',
+-# 'docs/HACKING.md',
+-# 'docs/TRANSIENT-SETTINGS.md',
+-# 'docs/TRANSLATORS.md',
+-# 'docs/UIDS-GIDS.md',
+-#endif // 0
+- install_dir : docdir)
+-
+ #if 0 /// irrelevant for elogind
+ # install_subdir('LICENSES',
+ # install_dir : docdir)
diff --git a/sys-auth/elogind/files/elogind-252.9-musl-lfs.patch b/sys-auth/elogind/files/elogind-252.9-musl-lfs.patch
new file mode 100644
index 0000000..4faa929
--- /dev/null
+++ b/sys-auth/elogind/files/elogind-252.9-musl-lfs.patch
@@ -0,0 +1,51 @@
+https://github.com/systemd/systemd/pull/27599
+
+From d096e05c625ea825eb4d781216ded717b7f71cca Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Wed, 10 May 2023 01:47:13 +0100
+Subject: [PATCH] dirent: conditionalize dirent assert based on dirent64
+ existence
+
+>=musl-1.2.4 doesn't define dirent64 and its LFS friends as its "native"
+functions are already LFS-aware.
+
+Check for dirent64 in meson.build and only assert if it exists.
+
+Bug: https://bugs.gentoo.org/905900
+Closes: https://github.com/systemd/systemd/pull/25809
+--- a/meson.build
++++ b/meson.build
+@@ -599,6 +599,7 @@ decl_headers = '''
+ # define _GNU_SOURCE 1
+ # endif // _GNU_SOURCE
+ #endif // 1
++#include <dirent.h>
+ #include <uchar.h>
+ #include <sys/mount.h>
+ #include <sys/stat.h>
+@@ -608,6 +609,7 @@ foreach decl : ['char16_t',
+ 'char32_t',
+ 'struct mount_attr',
+ 'struct statx',
++ 'struct dirent64',
+ ]
+
+ # We get -1 if the size cannot be determined
+--- a/src/basic/dirent-util.h
++++ b/src/basic/dirent-util.h
+@@ -39,6 +39,7 @@ struct dirent *readdir_no_dot(DIR *dirp);
+ /* Only if 64bit off_t is enabled struct dirent + struct dirent64 are actually the same. We require this, and
+ * we want them to be interchangeable to make getdents64() work, hence verify that. */
+ assert_cc(_FILE_OFFSET_BITS == 64);
++#if HAVE_STRUCT_DIRENT64
+ assert_cc(sizeof(struct dirent) == sizeof(struct dirent64));
+ assert_cc(offsetof(struct dirent, d_ino) == offsetof(struct dirent64, d_ino));
+ assert_cc(sizeof_field(struct dirent, d_ino) == sizeof_field(struct dirent64, d_ino));
+@@ -50,6 +51,7 @@ assert_cc(offsetof(struct dirent, d_type) == offsetof(struct dirent64, d_type));
+ assert_cc(sizeof_field(struct dirent, d_type) == sizeof_field(struct dirent64, d_type));
+ assert_cc(offsetof(struct dirent, d_name) == offsetof(struct dirent64, d_name));
+ assert_cc(sizeof_field(struct dirent, d_name) == sizeof_field(struct dirent64, d_name));
++#endif
+
+ #define FOREACH_DIRENT_IN_BUFFER(de, buf, sz) \
+ for (void *_end = (uint8_t*) ({ (de) = (buf); }) + (sz); \
diff --git a/sys-auth/elogind/files/elogind.init b/sys-auth/elogind/files/elogind.init
index 019c3af..dfadd21 100644
--- a/sys-auth/elogind/files/elogind.init
+++ b/sys-auth/elogind/files/elogind.init
@@ -1,5 +1,5 @@
#!/sbin/openrc-run
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
depend() {
@@ -7,6 +7,8 @@ depend() {
# Make sure elogind is up before xdm starts any dm
before xdm
+
+ use logger
}
start() {
@@ -19,7 +21,18 @@ start() {
}
stop() {
- ebegin "Stopping elogind"
- start-stop-daemon --stop --quiet --pidfile "${ELOGIND_PIDFILE}"
+ local stop_timeout="SIGTERM/10/SIGKILL/3"
+
+ if [ ${RC_CMD} = "restart" ] ; then
+ ebegin "Interrupting elogind"
+ stop_timeout="SIGINT/10/SIGINT/5/${stop_timeout}"
+ else
+ ebegin "Stopping elogind"
+ fi
+
+ start-stop-daemon --stop --quiet \
+ --retry ${stop_timeout} \
+ --pidfile "${ELOGIND_PIDFILE}"
+
eend $?
}