summaryrefslogtreecommitdiff
path: root/nonsystemd
diff options
context:
space:
mode:
Diffstat (limited to 'nonsystemd')
-rw-r--r--nonsystemd/dbus/PKGBUILD89
-rw-r--r--nonsystemd/dbus/dbus-enable-elogind.patch73
2 files changed, 162 insertions, 0 deletions
diff --git a/nonsystemd/dbus/PKGBUILD b/nonsystemd/dbus/PKGBUILD
new file mode 100644
index 000000000..ee6ce9d33
--- /dev/null
+++ b/nonsystemd/dbus/PKGBUILD
@@ -0,0 +1,89 @@
+# Maintainer: David P. <megver83@parabola.nu>
+# Maintainer (Arch): Jan de Groot <jgc@archlinux.org>
+# Maintainer (Arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
+# Contributor (Arch): Tom Gundersen <teg@jklm.no>
+# Contributor (Arch): Link Dupont <link@subpop.net>
+
+pkgname=dbus
+pkgver=1.12.16
+pkgrel=2
+pkgrel+=.nonsystemd1
+pkgdesc="Freedesktop.org message bus system"
+url="https://wiki.freedesktop.org/www/Software/dbus/"
+arch=(x86_64 i686 armv7h)
+license=(GPL custom)
+depends=(libx11 libelogind expat audit)
+makedepends=(elogind xmlto docbook-xsl python yelp-tools doxygen git autoconf-archive graphviz)
+_commit=23cc709db8fab94f11fa48772bff396b20aea8b0 # tags/dbus-1.12.16^0
+source=("git+https://gitlab.freedesktop.org/dbus/dbus.git#commit=$_commit"
+ 'dbus-enable-elogind.patch')
+sha256sums=('SKIP'
+ 'faffcaa5b295f49fcedeed2c9ece5298949096be3062fd99a4bf1a6ac3ad1ea0')
+validpgpkeys=('DA98F25C0871C49A59EAFF2C4DE8FF2A63C7CC90' # Simon McVittie <simon.mcvittie@collabora.co.uk>
+ '3C8672A0F49637FE064AC30F52A43A1E4B77B059') # Simon McVittie <simon.mcvittie@collabora.co.uk>
+
+pkgver() {
+ cd dbus
+ git describe --tags | sed 's/^dbus-//;s/-/+/g'
+}
+
+prepare() {
+ cd dbus
+
+ # Reduce docs size
+ printf '%s\n' >>Doxyfile.in \
+ HAVE_DOT=yes DOT_IMAGE_FORMAT=svg INTERACTIVE_SVG=yes
+
+ patch -Np 1 -i ${srcdir}/dbus-enable-elogind.patch
+
+ NOCONFIGURE=1 ./autogen.sh
+}
+
+build() {
+ cd dbus
+ ./configure \
+ --prefix=/usr \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --libexecdir=/usr/lib/dbus-1.0 \
+ --with-console-auth-dir=/run/console/ \
+ --with-dbus-user=dbus \
+ --with-system-pid-file=/run/dbus/pid \
+ --with-system-socket=/run/dbus/system_bus_socket \
+ --without-systemdsystemunitdir \
+ --enable-inotify \
+ --disable-systemd \
+ --disable-user-session \
+ --disable-static \
+ --disable-verbose-mode \
+ --disable-asserts \
+ --disable-checks \
+ --enable-elogind \
+ --enable-x11-autolaunch
+ make
+}
+
+check() {
+ make -C dbus check
+}
+
+package() {
+ provides=(libdbus)
+ conflicts=(libdbus)
+ replaces=(libdbus)
+
+ DESTDIR="$pkgdir" make -C dbus install
+
+ rm -r "$pkgdir/var/run"
+
+ install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 dbus/COPYING
+
+ # We have a pre-assigned uid (81)
+ echo 'u dbus 81 "System Message Bus"' |
+ install -Dm644 /dev/stdin "$pkgdir/usr/lib/sysusers.d/dbus.conf"
+
+ # Split docs
+ mv "$pkgdir/usr/share/doc" "$srcdir"
+}
+
+# vim:set sw=2 et:
diff --git a/nonsystemd/dbus/dbus-enable-elogind.patch b/nonsystemd/dbus/dbus-enable-elogind.patch
new file mode 100644
index 000000000..5cb5d649c
--- /dev/null
+++ b/nonsystemd/dbus/dbus-enable-elogind.patch
@@ -0,0 +1,73 @@
+--- a/dbus/dbus-userdb-util.c 2015-09-30 16:48:40.000000000 +0200
++++ b/dbus/dbus-userdb-util.c 2016-11-03 11:09:42.550520587 +0100
+@@ -32,6 +32,9 @@
+ #if HAVE_SYSTEMD
+ #include <systemd/sd-login.h>
+ #endif
++#if HAVE_ELOGIND
++#include <elogind/sd-login.h>
++#endif
+
+ /**
+ * @addtogroup DBusInternalsUtils
+@@ -54,7 +57,7 @@
+ const DBusUserInfo *info;
+ dbus_bool_t result = FALSE;
+
+-#ifdef HAVE_SYSTEMD
++#if defined(HAVE_SYSTEMD) || defined(HAVE_ELOGIND)
+ /* check if we have logind */
+ if (access ("/run/systemd/seats/", F_OK) >= 0)
+ {
+--- a/configure.ac 2016-11-03 11:13:58.286528265 +0100
++++ b/configure.ac 2016-11-03 11:22:11.210543063 +0100
+@@ -185,6 +185,7 @@
+ AC_ARG_ENABLE(kqueue, AS_HELP_STRING([--enable-kqueue],[build with kqueue support]),enable_kqueue=$enableval,enable_kqueue=auto)
+ AC_ARG_ENABLE(console-owner-file, AS_HELP_STRING([--enable-console-owner-file],[enable console owner file]),enable_console_owner_file=$enableval,enable_console_owner_file=auto)
+ AC_ARG_ENABLE(launchd, AS_HELP_STRING([--enable-launchd],[build with launchd auto-launch support]),enable_launchd=$enableval,enable_launchd=auto)
++AC_ARG_ENABLE(elogind, AS_HELP_STRING([--enable-elogind],[build with elogind user seat support]),enable_elogind=$enableval,enable_elogind=auto)
+ AC_ARG_ENABLE(systemd, AS_HELP_STRING([--enable-systemd],[build with systemd at_console support]),enable_systemd=$enableval,enable_systemd=auto)
+
+ AC_ARG_WITH(init-scripts, AS_HELP_STRING([--with-init-scripts=[redhat]],[Style of init scripts to install]))
+@@ -1184,6 +1185,24 @@
+
+ AM_CONDITIONAL(HAVE_CONSOLE_OWNER_FILE, test x$have_console_owner_file = xyes)
+
++dnl elogind detection
++if test x$enable_elogind = xno ; then
++ have_elogind=no;
++else
++ PKG_CHECK_MODULES([ELOGIND],
++ [libelogind >= 209],
++ [have_elogind=yes],
++ [have_elogind=no])
++fi
++
++if test x$have_elogind = xyes; then
++ AC_DEFINE(HAVE_ELOGIND,1,[Have elogind])
++fi
++
++if test x$enable_elogind = xyes -a x$have_elogind != xyes ; then
++ AC_MSG_ERROR([Explicitly requested elogind support, but libelogind not found])
++fi
++
+ dnl systemd detection
+ if test x$enable_systemd = xno ; then
+ have_systemd=no;
+@@ -1290,7 +1309,7 @@
+ fi
+
+ #### Set up final flags
+-LIBDBUS_LIBS="$THREAD_LIBS $NETWORK_libs $SYSTEMD_LIBS"
++LIBDBUS_LIBS="$THREAD_LIBS $NETWORK_libs $SYSTEMD_LIBS $ELOGIND_LIBS"
+ AC_SUBST([LIBDBUS_LIBS])
+
+ ### X11 detection
+@@ -1949,6 +1968,7 @@
+ Building AppArmor support: ${have_apparmor}
+ Building inotify support: ${have_inotify}
+ Building kqueue support: ${have_kqueue}
++ Building elogind support: ${have_elogind}
+ Building systemd support: ${have_systemd}
+ Building X11 code: ${have_x11}
+ Building Doxygen docs: ${enable_doxygen_docs}