summaryrefslogtreecommitdiff
path: root/pcr/consolekit
diff options
context:
space:
mode:
Diffstat (limited to 'pcr/consolekit')
-rw-r--r--pcr/consolekit/75-org.freedesktop.consolekit.rules11
-rw-r--r--pcr/consolekit/PKGBUILD78
-rw-r--r--pcr/consolekit/consolekit.tmpfiles.conf1
-rw-r--r--pcr/consolekit/pam-foreground-compat.ck17
4 files changed, 107 insertions, 0 deletions
diff --git a/pcr/consolekit/75-org.freedesktop.consolekit.rules b/pcr/consolekit/75-org.freedesktop.consolekit.rules
new file mode 100644
index 000000000..e73e10755
--- /dev/null
+++ b/pcr/consolekit/75-org.freedesktop.consolekit.rules
@@ -0,0 +1,11 @@
+polkit.addRule(function(action, subject) {
+ if (action.id == "org.freedesktop.consolekit.system.stop" ||
+ action.id == "org.freedesktop.consolekit.system.restart" ||
+ action.id == "org.freedesktop.consolekit.system.hibernate" ||
+ action.id == "org.freedesktop.consolekit.system.suspend" ||
+ action.id == "org.freedesktop.consolekit.system.restart-multiple-users" ||
+ action.id == "org.freedesktop.consolekit.system.suspend-multiple-users" ||
+ action.id == "org.freedesktop.consolekit.system.stop-multiple-users") {
+ return polkit.Result.YES;
+ }
+});
diff --git a/pcr/consolekit/PKGBUILD b/pcr/consolekit/PKGBUILD
new file mode 100644
index 000000000..3f013a88c
--- /dev/null
+++ b/pcr/consolekit/PKGBUILD
@@ -0,0 +1,78 @@
+# Maintainer (Manjaro): artoo <artoo@manjaro.org>
+# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
+
+_pkgname=ConsoleKit2
+
+pkgname=consolekit
+pkgver=1.1.0
+pkgrel=10
+pkgdesc="A framework for defining and tracking users, login sessions, and seats"
+arch=('i686' 'x86_64' 'armv7h')
+url="https://github.com/ConsoleKit2/ConsoleKit2"
+license=('GPL')
+depends=('dbus' 'glib2' 'libx11' 'polkit-consolekit' 'libudev' 'zlib')
+optdepends=('pm-utils: Suspend and hibernate power management'
+ 'consolekit-openrc: consolekit openrc initscript'
+ 'cgmanager-openrc: cgmanager openrc initscript')
+makedepends=('xmlto' 'docbook-xsl' 'cgmanager' 'python')
+options=('!libtool')
+source=("$url/releases/download/$pkgver/$_pkgname-$pkgver.tar.bz2"
+ 'consolekit.tmpfiles.conf'
+ '75-org.freedesktop.consolekit.rules'
+ 'pam-foreground-compat.ck'
+ "cgroups.patch::${url}/commit/863a886db7df7891eca6a1dc0aaea29753481ba3.patch"
+ "ck-remove-dir.patch::${url}/commit/8f1794996638dc3829cb1d2562a5601d055e0b91.patch"
+ "selinux-support.patch::${url}/commit/588ac16db5123eea593ab90786c18d0c4c1cd3d3.patch")
+
+sha256sums=('a40d92358aca9f627a224dca674090e310423b00ed63fc06482997611661b69b'
+ '778552dc12b3c235bde200e476d4262da0c135f3f6f8b3e975a87881d1f154d1'
+ '9f356df83bcebe10c3c8e9d232c3e59aff49b83b980b61f9b97a5b4e0fa3ba3d'
+ 'ad9b8d7c92e73c5cff7a883724992008b6a0382b2466fd5f69720f112c1eb0f9'
+ 'b37b24b439b9a70e5cc3e7dc451ebbcef4c01dab0bde4a107f9bf97e58946dd4'
+ 'f625c69e3a7d7764816a85b36d6cc7cbde3d008599ad6e6e41abd2206e06db7d'
+ '83b80c0dc917da12d47a10e6117c5878e4a855fcb897cc68c095284ec125e208')
+
+prepare(){
+ cd $srcdir/$_pkgname-$pkgver
+
+ patch -Np1 -i $srcdir/cgroups.patch
+ patch -Np1 -i $srcdir/ck-remove-dir.patch
+ patch -Np1 -i $srcdir/selinux-support.patch
+}
+
+build(){
+ cd $srcdir/$_pkgname-$pkgver
+
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --with-rundir=/run \
+ --libexecdir=/usr/lib/ConsoleKit \
+ --localstatedir=/var \
+ --enable-polkit \
+ --enable-pam-module \
+ --enable-udev-acl \
+ --enable-docbook-docs \
+ --enable-cgroups \
+ --with-dbus-services=/usr/share/dbus-1/services \
+ --with-xinitrc-dir=/etc/X11/xinit/xinitrc.d \
+ --with-pam-module-dir=/usr/lib/security \
+ --without-systemdsystemunitdir
+
+ make
+}
+
+package() {
+ cd $srcdir/$_pkgname-$pkgver
+ make DESTDIR="$pkgdir" install
+
+ install -Dm644 "$srcdir"/consolekit.tmpfiles.conf "$pkgdir"/usr/lib/tmpfiles.d/consolekit.conf
+
+ rm -rf "${pkgdir}"/run
+
+ install -dm 750 -o polkitd "${pkgdir}"/usr/share/polkit-1/rules.d
+ install -m 644 ${srcdir}/75-org.freedesktop.consolekit.rules $pkgdir/usr/share/polkit-1/rules.d/
+
+ install $srcdir/pam-foreground-compat.ck $pkgdir/usr/lib/ConsoleKit/run-session.d
+}
diff --git a/pcr/consolekit/consolekit.tmpfiles.conf b/pcr/consolekit/consolekit.tmpfiles.conf
new file mode 100644
index 000000000..4ec125110
--- /dev/null
+++ b/pcr/consolekit/consolekit.tmpfiles.conf
@@ -0,0 +1 @@
+d /run/ConsoleKit 0755 - - -
diff --git a/pcr/consolekit/pam-foreground-compat.ck b/pcr/consolekit/pam-foreground-compat.ck
new file mode 100644
index 000000000..90b8081e4
--- /dev/null
+++ b/pcr/consolekit/pam-foreground-compat.ck
@@ -0,0 +1,17 @@
+#!/bin/sh
+TAGDIR=/run/console
+
+[ -n "$CK_SESSION_USER_UID" ] || exit 1
+
+TAGFILE="$TAGDIR/`getent passwd $CK_SESSION_USER_UID | cut -f 1 -d:`"
+
+if [ "$1" = "session_added" ]; then
+ mkdir -p "$TAGDIR"
+ echo "$CK_SESSION_ID" >> "$TAGFILE"
+fi
+
+if [ "$1" = "session_removed" ] && [ -e "$TAGFILE" ]; then
+ sed -i "\%^$CK_SESSION_ID\$%d" "$TAGFILE"
+ [ -s "$TAGFILE" ] || rm -f "$TAGFILE"
+fi
+