mirror of
https://github.com/void-linux/void-packages.git
synced 2025-06-08 16:13:50 +02:00
elogind: update to 235.3
This commit is contained in:
parent
07db51e344
commit
606f6087ea
8 changed files with 7 additions and 195 deletions
|
@ -1,14 +0,0 @@
|
||||||
--- src/shared/musl_missing.h
|
|
||||||
+++ src/shared/musl_missing.h
|
|
||||||
@@ -41,9 +41,10 @@ extern char *program_invocation_short_name;
|
|
||||||
* + test if the effective capability bit was set on the executable file
|
|
||||||
* + test if the process has a nonempty permitted capability set
|
|
||||||
*/
|
|
||||||
-#if !defined(HAVE_SECURE_GETENV) && !defined(HAVE___SECURE_GETENV)
|
|
||||||
+#if ! HAVE_SECURE_GETENV && ! HAVE___SECURE_GETENV
|
|
||||||
# define secure_getenv(name) \
|
|
||||||
(issetugid() ? NULL : getenv(name))
|
|
||||||
+# undef HAVE_SECURE_GETENV
|
|
||||||
# define HAVE_SECURE_GETENV 1
|
|
||||||
#endif // HAVE_[__]SECURE_GETENV
|
|
||||||
|
|
|
@ -1,11 +0,0 @@
|
||||||
--- src/shared/musl_missing.h
|
|
||||||
+++ src/shared/musl_missing.h
|
|
||||||
@@ -88,7 +88,7 @@ typedef __compar_fn_t comparison_fn_t;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Make musl utmp/wtmp stubs visible if needed. */
|
|
||||||
-#ifdef HAVE_UTMP
|
|
||||||
+#if ENABLE_UTMP
|
|
||||||
# include <paths.h>
|
|
||||||
# include <utmp.h>
|
|
||||||
# include <utmpx.h>
|
|
|
@ -1,56 +0,0 @@
|
||||||
From 003ece760231aba0c661e2390dfd11075d72a8da Mon Sep 17 00:00:00 2001
|
|
||||||
From: Sven Eden <yamakuzure@gmx.net>
|
|
||||||
Date: Thu, 18 Jan 2018 23:01:12 +0100
|
|
||||||
Subject: [PATCH] Prep v235.3 : Fix cgroup hierarchy detection code
|
|
||||||
|
|
||||||
There is no sub-grouping with elogind, so /sys/fs/cgroup/elogind is
|
|
||||||
not needed to be mounted as cgroup fs in legacy mode.
|
|
||||||
|
|
||||||
Fixes Bug https://bugs.gentoo.org/644834
|
|
||||||
---
|
|
||||||
src/basic/cgroup-util.c | 17 ++++++++++-------
|
|
||||||
1 file changed, 10 insertions(+), 7 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
|
|
||||||
index 7f86c532c..cb60108ef 100644
|
|
||||||
--- src/basic/cgroup-util.c
|
|
||||||
+++ src/basic/cgroup-util.c
|
|
||||||
@@ -2550,28 +2550,31 @@ static int cg_unified_update(void) {
|
|
||||||
|
|
||||||
if (F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC))
|
|
||||||
unified_cache = CGROUP_UNIFIED_ALL;
|
|
||||||
+#if 0 /// The handling of cgroups is a bit different with elogind
|
|
||||||
else if (F_TYPE_EQUAL(fs.f_type, TMPFS_MAGIC)) {
|
|
||||||
+#else
|
|
||||||
+ else if (F_TYPE_EQUAL(fs.f_type, CGROUP_SUPER_MAGIC)
|
|
||||||
+ || F_TYPE_EQUAL(fs.f_type, TMPFS_MAGIC)) {
|
|
||||||
+#endif // 0
|
|
||||||
if (statfs("/sys/fs/cgroup/unified/", &fs) == 0 &&
|
|
||||||
F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) {
|
|
||||||
unified_cache = CGROUP_UNIFIED_SYSTEMD;
|
|
||||||
unified_systemd_v232 = false;
|
|
||||||
#if 0 /// elogind uses its own name
|
|
||||||
} else if (statfs("/sys/fs/cgroup/systemd/", &fs) == 0 &&
|
|
||||||
- F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) {
|
|
||||||
- unified_cache = CGROUP_UNIFIED_SYSTEMD;
|
|
||||||
- unified_systemd_v232 = true;
|
|
||||||
- } else {
|
|
||||||
- if (statfs("/sys/fs/cgroup/systemd/", &fs) < 0)
|
|
||||||
- return -errno;
|
|
||||||
#else
|
|
||||||
} else if (statfs("/sys/fs/cgroup/elogind/", &fs) == 0 &&
|
|
||||||
+#endif // 0
|
|
||||||
F_TYPE_EQUAL(fs.f_type, CGROUP2_SUPER_MAGIC)) {
|
|
||||||
unified_cache = CGROUP_UNIFIED_SYSTEMD;
|
|
||||||
unified_systemd_v232 = true;
|
|
||||||
} else {
|
|
||||||
-#endif // 0
|
|
||||||
+#if 0 /// There is no sub-grouping within elogind
|
|
||||||
+ if (statfs("/sys/fs/cgroup/systemd/", &fs) < 0)
|
|
||||||
+ return -errno;
|
|
||||||
if (!F_TYPE_EQUAL(fs.f_type, CGROUP_SUPER_MAGIC))
|
|
||||||
return -ENOMEDIUM;
|
|
||||||
+#endif // 0
|
|
||||||
unified_cache = CGROUP_UNIFIED_NONE;
|
|
||||||
}
|
|
||||||
} else
|
|
|
@ -1,37 +0,0 @@
|
||||||
--- src/shared/musl_missing.h
|
|
||||||
+++ src/shared/musl_missing.h
|
|
||||||
@@ -55,13 +55,14 @@ extern char *program_invocation_short_name;
|
|
||||||
|
|
||||||
/* strndupa may already be defined in another compatibility header */
|
|
||||||
#if !defined(strndupa)
|
|
||||||
-#define strndupa(src, n) \
|
|
||||||
- (__extension__ ({const char *in = (src); \
|
|
||||||
- size_t len = strnlen(in, (n)) + 1; \
|
|
||||||
- char *out = (char *) alloca(len); \
|
|
||||||
- out[len-1] = '\0'; \
|
|
||||||
- (char *) memcpy(out, in, len-1);}) \
|
|
||||||
- )
|
|
||||||
+#define strndupa(x_src, x_n) \
|
|
||||||
+ (__extension__ ( { \
|
|
||||||
+ const char* x_in = (x_src); \
|
|
||||||
+ size_t x_len = strnlen(x_in, (x_n)) + 1; \
|
|
||||||
+ char* x_out = (char *) alloca(x_len); \
|
|
||||||
+ x_out[x_len-1] = '\0'; \
|
|
||||||
+ (char *) memcpy(x_out, x_in, x_len-1); \
|
|
||||||
+ } ) )
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/* See http://man7.org/linux/man-pages/man3/canonicalize_file_name.3.html */
|
|
||||||
--- src/test/test-hexdecoct.c
|
|
||||||
+++ src/test/test-hexdecoct.c
|
|
||||||
@@ -22,6 +22,9 @@
|
|
||||||
#include "macro.h"
|
|
||||||
#include "string-util.h"
|
|
||||||
|
|
||||||
+/// Additional includes needed by elogind
|
|
||||||
+#include "musl_missing.h"
|
|
||||||
+
|
|
||||||
static void test_hexchar(void) {
|
|
||||||
assert_se(hexchar(0xa) == 'a');
|
|
||||||
assert_se(hexchar(0x0) == '0');
|
|
||||||
|
|
|
@ -1,14 +0,0 @@
|
||||||
--- src/test/test-parse-util.c
|
|
||||||
+++ src/test/test-parse-util.c
|
|
||||||
@@ -526,7 +526,10 @@ static void test_safe_atod(void) {
|
|
||||||
assert_se(r == -EINVAL);
|
|
||||||
|
|
||||||
errno = 0;
|
|
||||||
+/// elogind supports musl_libc, and their strtod doesn't seem to use the set locale.
|
|
||||||
+#if defined(__GLIBC__)
|
|
||||||
assert_se(fabs(strtod("0,5", &e) - 0.5) < 0.00001);
|
|
||||||
+#endif // __GLIBC__
|
|
||||||
}
|
|
||||||
|
|
||||||
/* And check again, reset */
|
|
||||||
|
|
|
@ -1,36 +0,0 @@
|
||||||
--- src/basic/process-util.c
|
|
||||||
+++ src/basic/process-util.c
|
|
||||||
@@ -1022,8 +1022,10 @@ static void reset_cached_pid(void) {
|
|
||||||
/* We use glibc __register_atfork() + __dso_handle directly here, as they are not included in the glibc
|
|
||||||
* headers. __register_atfork() is mostly equivalent to pthread_atfork(), but doesn't require us to link against
|
|
||||||
* libpthread, as it is part of glibc anyway. */
|
|
||||||
+#ifdef __GLIBC__
|
|
||||||
extern int __register_atfork(void (*prepare) (void), void (*parent) (void), void (*child) (void), void * __dso_handle);
|
|
||||||
extern void* __dso_handle __attribute__ ((__weak__));
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
pid_t getpid_cached(void) {
|
|
||||||
pid_t current_value;
|
|
||||||
--- src/shared/musl_missing.h
|
|
||||||
+++ src/shared/musl_missing.h
|
|
||||||
@@ -24,6 +24,7 @@ void elogind_set_program_name(const char* pcall);
|
|
||||||
#include <stdlib.h>
|
|
||||||
#include <string.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
+#include <pthread.h> /* for pthread_atfork */
|
|
||||||
|
|
||||||
#define strerror_r(e, m, k) (strerror_r(e, m, k) < 0 ? strdup("strerror_r() failed") : m);
|
|
||||||
|
|
||||||
@@ -99,6 +100,12 @@ typedef __compar_fn_t comparison_fn_t;
|
|
||||||
# endif
|
|
||||||
#endif // HAVE_UTMP
|
|
||||||
|
|
||||||
+/*
|
|
||||||
+ * Systemd makes use of glibc __register_atfork which is not availble on musl
|
|
||||||
+ * it is mostly equivalent to pthread_atfork, so we link against pthread
|
|
||||||
+ */
|
|
||||||
+#define __register_atfork(prepare,parent,child,dso) pthread_atfork(prepare,parent,child)
|
|
||||||
+
|
|
||||||
#endif // !defined(__GLIBC__)
|
|
||||||
|
|
||||||
#endif // ELOGIND_BASIC_MUSL_MISSING_H_INCLUDED
|
|
|
@ -1,23 +0,0 @@
|
||||||
--- src/test/test-sizeof.c
|
|
||||||
+++ src/test/test-sizeof.c
|
|
||||||
@@ -48,8 +48,10 @@ int main(void) {
|
|
||||||
info(unsigned);
|
|
||||||
info(long unsigned);
|
|
||||||
info(long long unsigned);
|
|
||||||
+#ifdef __GLIBC__
|
|
||||||
info(__syscall_ulong_t);
|
|
||||||
info(__syscall_slong_t);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
info(float);
|
|
||||||
info(double);
|
|
||||||
@@ -59,7 +61,9 @@ int main(void) {
|
|
||||||
info(ssize_t);
|
|
||||||
info(time_t);
|
|
||||||
info(usec_t);
|
|
||||||
+#ifdef __GLIBC__
|
|
||||||
info(__time_t);
|
|
||||||
+#endif
|
|
||||||
info(pid_t);
|
|
||||||
info(gid_t);
|
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# Template file for 'elogind'
|
# Template file for 'elogind'
|
||||||
pkgname=elogind
|
pkgname=elogind
|
||||||
version=235.2
|
version=235.3
|
||||||
revision=3
|
revision=1
|
||||||
build_style=meson
|
build_style=meson
|
||||||
hostmakedepends="intltool pkg-config gperf docbook-xsl gettext-devel shadow m4 libxslt git"
|
hostmakedepends="intltool pkg-config gperf docbook-xsl gettext-devel shadow m4 libxslt git"
|
||||||
makedepends="libcap-devel libmount-devel libseccomp-devel libblkid-devel pam-devel gettext-devel eudev-libudev-devel acl-devel glib-devel"
|
makedepends="libcap-devel libmount-devel libseccomp-devel libblkid-devel pam-devel gettext-devel eudev-libudev-devel acl-devel glib-devel"
|
||||||
|
@ -11,13 +11,14 @@ maintainer="Enno Boland <gottox@voidlinux.eu>"
|
||||||
license="GPL-2, LGPL-2"
|
license="GPL-2, LGPL-2"
|
||||||
homepage="https://github.com/elogind/elogind"
|
homepage="https://github.com/elogind/elogind"
|
||||||
distfiles="https://github.com/$pkgname/$pkgname/archive/v$version.tar.gz"
|
distfiles="https://github.com/$pkgname/$pkgname/archive/v$version.tar.gz"
|
||||||
checksum=db5d7362ab7fd74a1ea863247f90f3b821cdb3e4433ba049a2fdcf5bf62b0fb9
|
checksum=986c78f0504533eaf9dbbe8302ca7c3bbd63a44c12f3577e4094f2f2a2b06355
|
||||||
conf_files="/etc/elogind/logind.conf"
|
conf_files="/etc/elogind/logind.conf"
|
||||||
configure_args+="
|
configure_args+="
|
||||||
-Drootlibexecdir=/usr/libexec/elogind
|
-Drootlibexecdir=/usr/libexec/elogind
|
||||||
-Dhalt-path=/usr/bin/halt
|
-Dhalt-path=/usr/bin/halt
|
||||||
-Dreboot-path=/usr/bin/reboot
|
-Dreboot-path=/usr/bin/reboot
|
||||||
-Dkexec-path=/usr/bin/kexec"
|
-Dkexec-path=/usr/bin/kexec
|
||||||
|
-Ddefault-hierarchy=legacy"
|
||||||
|
|
||||||
pre_build() {
|
pre_build() {
|
||||||
case "$XBPS_TARGET_MACHINE" in
|
case "$XBPS_TARGET_MACHINE" in
|
||||||
|
@ -50,6 +51,8 @@ post_install() {
|
||||||
vinstall ./src/systemd/sd-id128.h 644 usr/include
|
vinstall ./src/systemd/sd-id128.h 644 usr/include
|
||||||
vinstall ./src/systemd/_sd-common.h 644 usr/include
|
vinstall ./src/systemd/_sd-common.h 644 usr/include
|
||||||
vinstall $FILESDIR/elogind.wrapper 755 usr/libexec/elogind
|
vinstall $FILESDIR/elogind.wrapper 755 usr/libexec/elogind
|
||||||
|
vmkdir etc/dracut.conf.d
|
||||||
|
echo "install_items+=\"/usr/libexec/elogind/elogind-uaccess-command\"" >> ${DESTDIR}/etc/dracut.conf.d/elogind.conf
|
||||||
}
|
}
|
||||||
|
|
||||||
elogind-devel_package() {
|
elogind-devel_package() {
|
||||||
|
|
Loading…
Add table
Reference in a new issue