elogind
This commit is contained in:
1 parent
c255f05f8e
commit
cb2fd12573
4 files changed
+249
No files matched your search
@@ -0,0 +1,23 @@
|
||||
#!/sbin/openrc-run
|
||||
supervisor=supervise-daemon
|
||||
|
||||
name="System login manager"
|
||||
description="System service that manages user logins"
|
||||
description_reload="Reload configuration without exiting"
|
||||
|
||||
command=/usr/libexec/elogind/elogind
|
||||
|
||||
depend() {
|
||||
need dbus
|
||||
|
||||
# Make sure we start before any other display manager
|
||||
before display-manager
|
||||
}
|
||||
|
||||
extra_started_commands="reload"
|
||||
|
||||
reload() {
|
||||
ebegin "Reloading configuration"
|
||||
$supervisor $RC_SVCNAME --signal HUP
|
||||
eend $?
|
||||
}
|
||||
@@ -0,0 +1,54 @@
|
||||
From: Jakub Jirutka <jakub@jirutka.cz>
|
||||
Date: Wed, 20 Oct 2021 00:18:47 +0200
|
||||
Subject: [PATCH] Remove build-time check for polkit-gobject-1
|
||||
|
||||
polkit-gobject-1 is actually not needed for building elogind with PolKit
|
||||
support; elogind binaries are not dynamically linked against polkit
|
||||
libraries, there's only runtime dependency.
|
||||
|
||||
I've verified that building without polkit-dev installed won't change the
|
||||
resulting binaries.
|
||||
|
||||
We need to remove polkit-dev dependency from elogind to avoid circular
|
||||
dependency between polkit and elogind.
|
||||
|
||||
See: https://gitlab.alpinelinux.org/alpine/aports/-/issues/13095
|
||||
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -1148,21 +1148,21 @@
|
||||
install_polkit_pkla = false
|
||||
if want_polkit != 'false' and not skip_deps
|
||||
install_polkit = true
|
||||
-
|
||||
- libpolkit = dependency('polkit-gobject-1',
|
||||
- required : false)
|
||||
- if libpolkit.found() and libpolkit.version().version_compare('< 0.106')
|
||||
- message('Old polkit detected, will install pkla files')
|
||||
- install_polkit_pkla = true
|
||||
- endif
|
||||
+# XXX-Patched: libpolkit is actually not needed for building with polkit support
|
||||
+# libpolkit = dependency('polkit-gobject-1',
|
||||
+# required : false)
|
||||
+# if libpolkit.found() and libpolkit.version().version_compare('< 0.106')
|
||||
+# message('Old polkit detected, will install pkla files')
|
||||
+# install_polkit_pkla = true
|
||||
+# endif
|
||||
#if 1 /// Disable polkit completely if libpolkit is not there. See elogind issue #167
|
||||
- if not libpolkit.found()
|
||||
- if want_polkit != 'auto'
|
||||
- error('Polkit requested but libpolkit was not found.')
|
||||
- endif
|
||||
- install_polkit = false
|
||||
- want_polkit = false
|
||||
- endif
|
||||
+# if not libpolkit.found()
|
||||
+# if want_polkit != 'auto'
|
||||
+# error('Polkit requested but libpolkit was not found.')
|
||||
+# endif
|
||||
+# install_polkit = false
|
||||
+# want_polkit = false
|
||||
+# endif
|
||||
#endif // 1
|
||||
endif
|
||||
conf.set10('ENABLE_POLKIT', install_polkit)
|
||||
@@ -0,0 +1,101 @@
|
||||
# SPDX-License-Identifier: LGPL-2.1+
|
||||
#
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# systemd is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2.1 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
# Names with prefixes are preferred, and the run-together names should be
|
||||
# considered deprecated (though there is no plan to remove them). New names
|
||||
# shall have underscores.
|
||||
|
||||
prefix=/usr
|
||||
root_prefix=/
|
||||
rootprefix=${root_prefix}
|
||||
sysconf_dir=/etc
|
||||
sysconfdir=${sysconf_dir}
|
||||
|
||||
systemd_util_dir=${root_prefix}/lib/systemd
|
||||
systemdutildir=${systemd_util_dir}
|
||||
|
||||
systemd_system_unit_dir=${rootprefix}/lib/systemd/system
|
||||
systemdsystemunitdir=${systemd_system_unit_dir}
|
||||
|
||||
systemd_system_preset_dir=${rootprefix}/lib/systemd/system-preset
|
||||
systemdsystempresetdir=${systemd_system_preset_dir}
|
||||
|
||||
systemd_user_unit_dir=/usr/lib/systemd/user
|
||||
systemduserunitdir=${systemd_user_unit_dir}
|
||||
|
||||
systemd_user_preset_dir=/usr/lib/systemd/user-preset
|
||||
systemduserpresetdir=${systemd_user_preset_dir}
|
||||
|
||||
systemd_system_conf_dir=${sysconfdir}/systemd/system
|
||||
systemdsystemconfdir=${systemd_system_conf_dir}
|
||||
|
||||
systemd_user_conf_dir=${sysconfdir}/systemd/user
|
||||
systemduserconfdir=${systemd_user_conf_dir}
|
||||
|
||||
systemd_system_unit_path=${systemd_system_conf_dir}:/etc/systemd/system:/run/systemd/system:/usr/local/lib/systemd/system:${systemd_system_unit_dir}:/usr/lib/systemd/system:/lib/systemd/system
|
||||
systemdsystemunitpath=${systemd_system_unit_path}
|
||||
|
||||
systemd_user_unit_path=${systemd_user_conf_dir}:/etc/systemd/user:/run/systemd/user:/usr/local/lib/systemd/user:/usr/local/share/systemd/user:${systemd_user_unit_dir}:/usr/lib/systemd/user:/usr/share/systemd/user
|
||||
systemduserunitpath=${systemd_user_unit_path}
|
||||
|
||||
systemd_system_generator_dir=${root_prefix}/lib/systemd/system-generators
|
||||
systemdsystemgeneratordir=${systemd_system_generator_dir}
|
||||
|
||||
systemd_user_generator_dir=/usr/lib/systemd/user-generators
|
||||
systemdusergeneratordir=${systemd_user_generator_dir}
|
||||
|
||||
systemd_system_generator_path=/run/systemd/system-generators:/etc/systemd/system-generators:/usr/local/lib/systemd/system-generators:${systemd_system_generator_dir}
|
||||
systemdsystemgeneratorpath=${systemd_system_generator_path}
|
||||
|
||||
systemd_user_generator_path=/run/systemd/user-generators:/etc/systemd/user-generators:/usr/local/lib/systemd/user-generators:${systemd_user_generator_dir}
|
||||
systemdusergeneratorpath=${systemd_user_generator_path}
|
||||
|
||||
systemd_sleep_dir=${root_prefix}/lib/systemd/system-sleep
|
||||
systemdsleepdir=${systemd_sleep_dir}
|
||||
|
||||
systemd_shutdown_dir=${root_prefix}/lib/systemd/system-shutdown
|
||||
systemdshutdowndir=${systemd_shutdown_dir}
|
||||
|
||||
tmpfiles_dir=/usr/lib/tmpfiles.d
|
||||
tmpfilesdir=${tmpfiles_dir}
|
||||
|
||||
sysusers_dir=${rootprefix}/lib/sysusers.d
|
||||
sysusersdir=${sysusers_dir}
|
||||
|
||||
sysctl_dir=${rootprefix}/lib/sysctl.d
|
||||
sysctldir=${sysctl_dir}
|
||||
|
||||
binfmt_dir=${rootprefix}/lib/binfmt.d
|
||||
binfmtdir=${binfmt_dir}
|
||||
|
||||
modules_load_dir=${rootprefix}/lib/modules-load.d
|
||||
modulesloaddir=${modules_load_dir}
|
||||
|
||||
catalog_dir=/usr/lib/systemd/catalog
|
||||
catalogdir=${catalog_dir}
|
||||
|
||||
system_uid_max=9999
|
||||
systemuidmax=${system_uid_max}
|
||||
system_gid_max=9999
|
||||
systemgidmax=${system_gid_max}
|
||||
|
||||
dynamic_uid_min=0
|
||||
dynamicuidmin=${dynamic_uid_min}
|
||||
dynamic_uid_max=0
|
||||
dynamicuidmax=${dynamic_uid_max}
|
||||
|
||||
container_uid_base_min=0
|
||||
containeruidbasemin=${container_uid_base_min}
|
||||
container_uid_base_max=9999
|
||||
containeruidbasemax=${container_uid_base_max}
|
||||
|
||||
Name: systemd
|
||||
Description: systemd Library
|
||||
URL: https://github.com/elogind/elogind
|
||||
Version: 999.99
|
||||
@@ -0,0 +1,71 @@
|
||||
#!/usr/bin/env bash
|
||||
name='elogind'
|
||||
release='1'
|
||||
version='246.10'
|
||||
url='https://github.com/elogind/elogind'
|
||||
description="he systemd project's logind, extracted to a standalone package"
|
||||
email='aliriza.keskin@pardus.org.tr'
|
||||
maintainer='aliriza'
|
||||
license=('GPLv3')
|
||||
source=("https://github.com/elogind/elogind/archive/refs/tags/v$version.tar.gz"
|
||||
"remove-polkit-gobject-1-check.patch"
|
||||
"elogind.initd"
|
||||
"systemd.pc")
|
||||
depends=(acl attr audit libcap-ng libcap dbus pam)
|
||||
makedepends=()
|
||||
md5sums=('32ab2201281f14738d9c045f3669c14d'
|
||||
'SKIP'
|
||||
'SKIP'
|
||||
'SKIP')
|
||||
group=(sys.auth)
|
||||
uses=()
|
||||
arch=('x86_64')
|
||||
|
||||
cd $name-$version
|
||||
|
||||
prepare(){
|
||||
patch -Np1 -i ../remove-polkit-gobject-1-check.patch
|
||||
}
|
||||
|
||||
setup(){
|
||||
meson setup build --prefix=/usr \
|
||||
--libdir=/lib64/ \
|
||||
-Dudevrulesdir=/lib64/udev/rules.d \
|
||||
-Dcgroup-controller=elogind \
|
||||
-Dhalt-path=/sbin/halt \
|
||||
-Drootlibexecdir=/usr/libexec/elogind \
|
||||
-Dreboot-path=/sbin/reboot \
|
||||
-Ddefault-hierarchy=hybrid \
|
||||
-Ddefault-kill-user-processes=false \
|
||||
-Dpam=true \
|
||||
-Dselinux=false \
|
||||
-Daudit=true \
|
||||
-Dpolkit=true
|
||||
}
|
||||
|
||||
build(){
|
||||
ninja -C build
|
||||
}
|
||||
|
||||
package(){
|
||||
ninja -C build install
|
||||
|
||||
# Claim compatiblity with systemd and systemd-logind (thanks Alpine linux)
|
||||
ln -s libelogind.pc "$DESTDIR"/lib64/pkgconfig/libsystemd.pc
|
||||
ln -s libelogind.pc "$DESTDIR"/lib64/pkgconfig/libsystemd-logind.pc
|
||||
ln -s elogind "$DESTDIR"/usr/include/systemd
|
||||
# Extra compatiblity support
|
||||
ln -s libelogind.so.0 "$DESTDIR"/lib64/libsystemd.so.0
|
||||
ln -s libelogind.so.0 "$DESTDIR"/lib64/libsystemd.so.0.35.0
|
||||
ln -s pam_elogind.so "$DESTDIR"/lib64/security/pam_systemd.so
|
||||
install ../systemd.pc "$DESTDIR"/lib64/pkgconfig/
|
||||
|
||||
# Install headers from elogind
|
||||
install -Dm644 src/systemd/sd-id128.h "$DESTDIR"/usr/include/sd-id128.h
|
||||
install -Dm644 src/systemd/_sd-common.h "$DESTDIR"/usr/include/_sd-common.h
|
||||
|
||||
# openrc service
|
||||
mkdir -p "${DESTDIR}"/etc/init.d
|
||||
install ../elogind.initd "${DESTDIR}"/etc/init.d/elogind
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user