New package: elogind-219.12

This commit is contained in:
Enno Boland 2015-11-26 13:34:37 +01:00
parent e4c30df701
commit 2b9e5532e1
5 changed files with 241 additions and 0 deletions

1
srcpkgs/elogind-devel Symbolic link
View file

@ -0,0 +1 @@
elogind

View 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

View 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>

View 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
View 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
}
}