From 0a6b4ba63c6060d1444bb05d10726d20eb7030a0 Mon Sep 17 00:00:00 2001 From: Cameron Nemo Date: Sun, 25 Nov 2018 11:18:03 -0800 Subject: [PATCH] New package: dbus-elogind-1.12.10 --- srcpkgs/dbus-elogind-libs | 1 + srcpkgs/dbus-elogind-x11 | 1 + srcpkgs/dbus-elogind/INSTALL | 9 +++ srcpkgs/dbus-elogind/files/dbus/check | 2 + srcpkgs/dbus-elogind/files/dbus/run | 3 + .../patches/dbus-enable-elogind.patch | 73 +++++++++++++++++++ srcpkgs/dbus-elogind/template | 62 ++++++++++++++++ srcpkgs/dbus-elogind/update | 1 + 8 files changed, 152 insertions(+) create mode 120000 srcpkgs/dbus-elogind-libs create mode 120000 srcpkgs/dbus-elogind-x11 create mode 100644 srcpkgs/dbus-elogind/INSTALL create mode 100755 srcpkgs/dbus-elogind/files/dbus/check create mode 100755 srcpkgs/dbus-elogind/files/dbus/run create mode 100644 srcpkgs/dbus-elogind/patches/dbus-enable-elogind.patch create mode 100644 srcpkgs/dbus-elogind/template create mode 100644 srcpkgs/dbus-elogind/update diff --git a/srcpkgs/dbus-elogind-libs b/srcpkgs/dbus-elogind-libs new file mode 120000 index 0000000000..742714e21e --- /dev/null +++ b/srcpkgs/dbus-elogind-libs @@ -0,0 +1 @@ +dbus-elogind \ No newline at end of file diff --git a/srcpkgs/dbus-elogind-x11 b/srcpkgs/dbus-elogind-x11 new file mode 120000 index 0000000000..742714e21e --- /dev/null +++ b/srcpkgs/dbus-elogind-x11 @@ -0,0 +1 @@ +dbus-elogind \ No newline at end of file diff --git a/srcpkgs/dbus-elogind/INSTALL b/srcpkgs/dbus-elogind/INSTALL new file mode 100644 index 0000000000..6d2e0a6c19 --- /dev/null +++ b/srcpkgs/dbus-elogind/INSTALL @@ -0,0 +1,9 @@ +case "${ACTION}" in +post) + [ ! -d var/lib/dbus ] && install -d var/lib/dbus + [ ! -d etc/dbus-1/session.d ] && install -d etc/dbus-1/session.d + chown root:22 usr/libexec/dbus-daemon-launch-helper + chmod 4750 usr/libexec/dbus-daemon-launch-helper + usr/bin/dbus-uuidgen --ensure || : + ;; +esac diff --git a/srcpkgs/dbus-elogind/files/dbus/check b/srcpkgs/dbus-elogind/files/dbus/check new file mode 100755 index 0000000000..39eeac119e --- /dev/null +++ b/srcpkgs/dbus-elogind/files/dbus/check @@ -0,0 +1,2 @@ +#!/bin/sh +exec dbus-send --system / org.freedesktop.DBus.Peer.Ping > /dev/null 2> /dev/null diff --git a/srcpkgs/dbus-elogind/files/dbus/run b/srcpkgs/dbus-elogind/files/dbus/run new file mode 100755 index 0000000000..ed60b73434 --- /dev/null +++ b/srcpkgs/dbus-elogind/files/dbus/run @@ -0,0 +1,3 @@ +#!/bin/sh +[ ! -d /run/dbus ] && install -m755 -g 22 -o 22 -d /run/dbus +exec dbus-daemon --system --nofork --nopidfile diff --git a/srcpkgs/dbus-elogind/patches/dbus-enable-elogind.patch b/srcpkgs/dbus-elogind/patches/dbus-enable-elogind.patch new file mode 100644 index 0000000000..5cb5d649cd --- /dev/null +++ b/srcpkgs/dbus-elogind/patches/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 + #endif ++#if HAVE_ELOGIND ++#include ++#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} diff --git a/srcpkgs/dbus-elogind/template b/srcpkgs/dbus-elogind/template new file mode 100644 index 0000000000..7336baa2a9 --- /dev/null +++ b/srcpkgs/dbus-elogind/template @@ -0,0 +1,62 @@ +# Template file for 'dbus-elogind' +pkgname=dbus-elogind +version=1.12.10 +revision=1 +wrksrc="dbus-${version}" +build_style=gnu-configure +configure_args="--disable-selinux --enable-inotify --with-dbus-user=dbus + --enable-xml-docs --disable-static --disable-tests --enable-epoll + --disable-asserts --disable-systemd --disable-user-session + --with-system-socket=/run/dbus/system_bus_socket --disable-doxygen-docs + --with-system-pid-file=/run/dbus/pid --with-console-auth-dir=/run/console + --enable-elogind" +hostmakedepends="gperf intltool pkg-config xmlto + automake libtool autoconf autoconf-archive" +makedepends="expat-devel libX11-devel libcap-devel elogind-devel" +provides="dbus-${version}_${revision}" +replaces="dbus>=0" +short_desc="Message bus system" +maintainer="Juan RP " +license="GPL-2.0-or-later" +homepage="https://dbus.freedesktop.org/" +changelog="https://raw.githubusercontent.com/freedesktop/dbus/dbus-1.12/NEWS" +distfiles="https://dbus.freedesktop.org/releases/dbus/dbus-${version}.tar.gz" +checksum=4b693d24976258c3f2fa9cc33ad9288c5fbfa7a16481dbd9a8a429f7aa8cdcf7 +conf_files="/etc/dbus-1/session.conf /etc/dbus-1/system.conf" +patch_args="-Np1" + +# Create dbus:22 system account. +system_accounts="dbus:22" + +pre_configure() { + autoreconf -fi +} + +post_install() { + vsv dbus + rm -r "${DESTDIR}/usr/include" + rm -r "${DESTDIR}"/usr/lib/dbus-* + rm -r "${DESTDIR}/usr/lib/pkgconfig" + rm "${DESTDIR}"/usr/lib/*.so + rm -r "${DESTDIR}/usr/share/doc" + rm -r "${DESTDIR}/usr/lib/cmake" +} + +dbus-elogind-libs_package() { + short_desc+=" - shared libraries" + provides="dbus-libs-${version}_${revision}" + replaces="dbus-libs>=0" + pkg_install() { + vmove "usr/lib/*.so.*" + } +} + +dbus-elogind-x11_package() { + short_desc+=" - X11 support" + provides="dbus-x11-${version}_${revision}" + replaces="dbus-x11>=0" + pkg_install() { + vmove usr/bin/dbus-launch + vmove usr/share/man/man1/dbus-launch.1 + } +} diff --git a/srcpkgs/dbus-elogind/update b/srcpkgs/dbus-elogind/update new file mode 100644 index 0000000000..f2f6f0fbdd --- /dev/null +++ b/srcpkgs/dbus-elogind/update @@ -0,0 +1 @@ +ignore="*.[13579].*"