New package: elogind-219.12
This commit is contained in:
parent
e4c30df701
commit
2b9e5532e1
5 changed files with 241 additions and 0 deletions
1
srcpkgs/elogind-devel
Symbolic link
1
srcpkgs/elogind-devel
Symbolic link
|
@ -0,0 +1 @@
|
|||
elogind
|
15
srcpkgs/elogind/files/elogind.wrapper
Normal file
15
srcpkgs/elogind/files/elogind.wrapper
Normal file
|
@ -0,0 +1,15 @@
|
|||
#!/bin/sh
|
||||
cgroup=/sys/fs/cgroup/elogind
|
||||
|
||||
mkdir -p "$cgroup"
|
||||
if ! mountpoint "$cgroup" > /dev/null; then
|
||||
mount -t cgroup -o none,name=elogind cgroup $cgroup || exit 1
|
||||
fi
|
||||
|
||||
for tmpfs in /run/systemd /run/user; do
|
||||
mountpoint "$tmpfs" > /dev/null && continue
|
||||
mkdir -p "$tmpfs"
|
||||
mount -t tmpfs -o nosuid,nodev,noexec,mode=0755 none "$tmpfs" || exit 1
|
||||
done
|
||||
|
||||
exec /usr/libexec/elogind/elogind
|
129
srcpkgs/elogind/patches/allow-unprivileged-calls.patch
Normal file
129
srcpkgs/elogind/patches/allow-unprivileged-calls.patch
Normal file
|
@ -0,0 +1,129 @@
|
|||
From 1ca40c077cd9a08f96a559ba51e8dba230298c4d Mon Sep 17 00:00:00 2001
|
||||
From: Michael Palimaka <kensington@gentoo.org>
|
||||
Date: Sun, 19 Jun 2016 01:56:56 +1000
|
||||
Subject: [PATCH] Update org.freedesktop.login1.conf
|
||||
|
||||
This mirrors an upstream change opening up all of logind's bus calls to
|
||||
unprivileged users via polkit.
|
||||
|
||||
See systemd/systemd/issues/471.
|
||||
Closes #3.
|
||||
---
|
||||
src/login/org.freedesktop.login1.conf | 68 +++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 68 insertions(+)
|
||||
|
||||
diff --git a/src/login/org.freedesktop.login1.conf b/src/login/org.freedesktop.login1.conf
|
||||
index 1318328..2e67e3d 100644
|
||||
--- src/login/org.freedesktop.login1.conf
|
||||
+++ src/login/org.freedesktop.login1.conf
|
||||
@@ -90,6 +90,42 @@
|
||||
|
||||
<allow send_destination="org.freedesktop.login1"
|
||||
send_interface="org.freedesktop.login1.Manager"
|
||||
+ send_member="LockSession"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Manager"
|
||||
+ send_member="UnlockSession"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Manager"
|
||||
+ send_member="LockSessions"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Manager"
|
||||
+ send_member="UnlockSessions"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Manager"
|
||||
+ send_member="KillSession"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Manager"
|
||||
+ send_member="KillUser"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Manager"
|
||||
+ send_member="TerminateSession"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Manager"
|
||||
+ send_member="TerminateUser"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Manager"
|
||||
+ send_member="TerminateSeat"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Manager"
|
||||
send_member="PowerOff"/>
|
||||
|
||||
<allow send_destination="org.freedesktop.login1"
|
||||
@@ -130,6 +166,10 @@
|
||||
|
||||
<allow send_destination="org.freedesktop.login1"
|
||||
send_interface="org.freedesktop.login1.Manager"
|
||||
+ send_member="SetWallMessage"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Manager"
|
||||
send_member="AttachDevice"/>
|
||||
|
||||
<allow send_destination="org.freedesktop.login1"
|
||||
@@ -138,6 +178,10 @@
|
||||
|
||||
<allow send_destination="org.freedesktop.login1"
|
||||
send_interface="org.freedesktop.login1.Seat"
|
||||
+ send_member="Terminate"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Seat"
|
||||
send_member="ActivateSession"/>
|
||||
|
||||
<allow send_destination="org.freedesktop.login1"
|
||||
@@ -154,14 +198,30 @@
|
||||
|
||||
<allow send_destination="org.freedesktop.login1"
|
||||
send_interface="org.freedesktop.login1.Session"
|
||||
+ send_member="Terminate"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Session"
|
||||
send_member="Activate"/>
|
||||
|
||||
<allow send_destination="org.freedesktop.login1"
|
||||
send_interface="org.freedesktop.login1.Session"
|
||||
+ send_member="Lock"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Session"
|
||||
+ send_member="Unlock"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Session"
|
||||
send_member="SetIdleHint"/>
|
||||
|
||||
<allow send_destination="org.freedesktop.login1"
|
||||
send_interface="org.freedesktop.login1.Session"
|
||||
+ send_member="Kill"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.Session"
|
||||
send_member="TakeControl"/>
|
||||
|
||||
<allow send_destination="org.freedesktop.login1"
|
||||
@@ -180,6 +240,14 @@
|
||||
send_interface="org.freedesktop.login1.Session"
|
||||
send_member="PauseDeviceComplete"/>
|
||||
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.User"
|
||||
+ send_member="Terminate"/>
|
||||
+
|
||||
+ <allow send_destination="org.freedesktop.login1"
|
||||
+ send_interface="org.freedesktop.login1.User"
|
||||
+ send_member="Kill"/>
|
||||
+
|
||||
<allow receive_sender="org.freedesktop.login1"/>
|
||||
</policy>
|
||||
|
55
srcpkgs/elogind/patches/fix-gcc6.patch
Normal file
55
srcpkgs/elogind/patches/fix-gcc6.patch
Normal file
|
@ -0,0 +1,55 @@
|
|||
--- src/shared/errno-list.c.orig 2017-01-13 21:53:06.171441950 +0100
|
||||
+++ src/shared/errno-list.c 2017-01-13 21:53:44.491417473 +0100
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "errno-list.h"
|
||||
|
||||
static const struct errno_name* lookup_errno(register const char *str,
|
||||
- register unsigned int len);
|
||||
+ register size_t len);
|
||||
|
||||
#include "errno-to-name.h"
|
||||
#include "errno-from-name.h"
|
||||
--- src/shared/af-list.c.orig 2017-01-13 21:55:14.941359697 +0100
|
||||
+++ src/shared/af-list.c 2017-01-13 21:56:15.967320716 +0100
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "util.h"
|
||||
#include "af-list.h"
|
||||
|
||||
-static const struct af_name* lookup_af(register const char *str, register unsigned int len);
|
||||
+static const struct af_name* lookup_af(register const char *str, register size_t len);
|
||||
|
||||
#include "af-to-name.h"
|
||||
#include "af-from-name.h"
|
||||
--- src/shared/cap-list.c.orig 2017-01-13 21:59:05.416212480 +0100
|
||||
+++ src/shared/cap-list.c 2017-01-13 21:59:22.154201788 +0100
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "cap-list.h"
|
||||
#include "missing.h"
|
||||
|
||||
-static const struct capability_name* lookup_capability(register const char *str, register unsigned int len);
|
||||
+static const struct capability_name* lookup_capability(register const char *str, register size_t len);
|
||||
|
||||
#include "cap-to-name.h"
|
||||
#include "cap-from-name.h"
|
||||
--- src/shared/arphrd-list.c.orig 2017-01-13 22:01:38.040114990 +0100
|
||||
+++ src/shared/arphrd-list.c 2017-01-13 22:01:53.482105126 +0100
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "util.h"
|
||||
#include "arphrd-list.h"
|
||||
|
||||
-static const struct arphrd_name* lookup_arphrd(register const char *str, register unsigned int len);
|
||||
+static const struct arphrd_name* lookup_arphrd(register const char *str, register size_t len);
|
||||
|
||||
#include "arphrd-to-name.h"
|
||||
#include "arphrd-from-name.h"
|
||||
--- src/login/logind.h.orig 2017-01-13 22:11:22.760741496 +0100
|
||||
+++ src/login/logind.h 2017-01-13 22:11:32.259735429 +0100
|
||||
@@ -163,7 +163,7 @@ int manager_send_changed(Manager *manage
|
||||
int manager_dispatch_delayed(Manager *manager);
|
||||
|
||||
/* gperf lookup function */
|
||||
-const struct ConfigPerfItem* logind_gperf_lookup(const char *key, unsigned length);
|
||||
+const struct ConfigPerfItem* logind_gperf_lookup(const char *key, size_t length);
|
||||
|
||||
int manager_watch_busname(Manager *manager, const char *name);
|
||||
void manager_drop_busname(Manager *manager, const char *name);
|
41
srcpkgs/elogind/template
Normal file
41
srcpkgs/elogind/template
Normal file
|
@ -0,0 +1,41 @@
|
|||
# Template file for 'elogind'
|
||||
pkgname=elogind
|
||||
version=219.14
|
||||
revision=1
|
||||
build_style=gnu-configure
|
||||
hostmakedepends="automake libxslt intltool libtool pkg-config gperf"
|
||||
makedepends="libcap-devel libmount-devel libseccomp-devel libblkid-devel pam-devel gettext-devel eudev-libudev-devel glib-devel"
|
||||
depends="dbus"
|
||||
short_desc="standalone logind fork"
|
||||
maintainer="Enno Boland <gottox@voidlinux.eu>"
|
||||
license="GPL-2, LGPL-2, MIT"
|
||||
homepage="https://github.com/andywingo/elogind"
|
||||
distfiles="https://wingolog.org/pub/elogind/elogind-$version.tar.xz"
|
||||
checksum=9dc150071a3f4c1ad1c989a7a143c2d41a2d571c643b92090e36a5d0396193c9
|
||||
LDFLAGS="-lrt"
|
||||
conf_files="/etc/elogind/logind.conf"
|
||||
|
||||
pre_configure() {
|
||||
vinstall $FILESDIR/elogind.wrapper 755 usr/libexec/elogind
|
||||
sed -i -e "s#^Exec=/bin/false#Exec=/usr/libexec/elogind/elogind.wrapper#" \
|
||||
src/login/org.freedesktop.login1.service
|
||||
}
|
||||
|
||||
post_install() {
|
||||
ln -s libelogind.pc $DESTDIR/usr/lib/pkgconfig/libsystemd.pc
|
||||
ln -s libelogind.pc $DESTDIR/usr/lib/pkgconfig/libsystemd-logind.pc
|
||||
vinstall ./src/systemd/sd-id128.h 644 usr/include
|
||||
vinstall ./src/systemd/_sd-common.h 644 usr/include
|
||||
}
|
||||
|
||||
elogind-devel_package() {
|
||||
depends="${sourcepkg}>=${version}_${revision}"
|
||||
short_desc+=" - development files"
|
||||
pkg_install() {
|
||||
vmove usr/include
|
||||
vmove usr/lib/*.la
|
||||
vmove usr/lib/*.so
|
||||
vmove usr/share/man/man3
|
||||
vmove usr/lib/pkgconfig
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue