From 403dfadef436dd83cb748222ce03c37edfd422b3 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Dec 17 2020 22:12:37 +0000 Subject: Add sources defined in the spec file --- diff --git a/SPECS/acpid-2.0.30.tar.xz b/SPECS/acpid-2.0.30.tar.xz new file mode 100644 index 0000000..650d5ce Binary files /dev/null and b/SPECS/acpid-2.0.30.tar.xz differ diff --git a/SPECS/acpid.power.conf b/SPECS/acpid.power.conf new file mode 100644 index 0000000..b654aa3 --- /dev/null +++ b/SPECS/acpid.power.conf @@ -0,0 +1,5 @@ +# ACPID config to power down machine if powerbutton is pressed, but only if +# no gnome-power-manager is running + +event=button/power.* +action=/etc/acpi/actions/power.sh diff --git a/SPECS/acpid.power.sh b/SPECS/acpid.power.sh new file mode 100644 index 0000000..f1ef088 --- /dev/null +++ b/SPECS/acpid.power.sh @@ -0,0 +1,49 @@ +#!/bin/sh + +PATH=/usr/sbin:/usr/bin + +# $1 = session number +function get_session_processes() { + local uid=$(loginctl show-session $1 | grep '^User=' | sed -r -e 's/^User=(.*)$/\1/') + systemd-cgls "/user.slice/user-${uid}.slice/session-${1}.scope" +} + +# Check session status using systemd +session_ids=$(loginctl list-sessions 2>/dev/null | awk '{print $1}') +for session in ${session_ids} ; do + session_status=$(loginctl show-session ${session}) + session_processes="$(get_session_processes ${session})" + echo "${session_status}" | grep -e 'Active=yes' &> /dev/null && + echo "${session_processes}" | grep -e '\(gnome-settings-daemon\|cinnamon-settings-daemon\|kded[4-5]\|plasmashell\|xfce4-power-manager\|mate-power-manager\)' &> /dev/null && exit 0 +done + +# Get the ID of the first active X11 session: using ConsoleKit +uid_session=$( +ck-list-sessions 2>/dev/null | \ +awk ' +/^Session[0-9]+:$/ { uid = active = x11 = "" ; next } +{ gsub(/'\''/, "", $3) } +$1 == "unix-user" { uid = $3 } +$1 == "active" { active = $3 } +$1 == "x11-display" { x11 = $3 } +active == "TRUE" && x11 != "" { + print uid + exit +}') + +# Check that there is a power manager, otherwise shut down. +[ "$uid_session" ] && +ps axo uid,cmd | \ +awk ' + $1 == '$uid_session' && + ($2 ~ /gnome-power-manager/ || $2 ~ /kpowersave/ || + $2 ~ /mate-power-manager/ || $2 ~ /xfce4-power-manager/ || + $2 ~ /\/usr\/libexec\/gnome-settings-daemon/ || + $2 ~ /\/usr\/libexec\/cinnamon-settings-daemon/ || + $2 ~ /kded[4-5]/ || $2 ~ /guidance-power-manager/ || + $2 ~ /plasmashell/) \ + { found = 1; exit } + END { exit !found } +' || + shutdown -h now + diff --git a/SPECS/acpid.service b/SPECS/acpid.service new file mode 100644 index 0000000..56e2c55 --- /dev/null +++ b/SPECS/acpid.service @@ -0,0 +1,13 @@ +[Unit] +Description=ACPI Event Daemon +Documentation=man:acpid(8) +Requires=acpid.socket + +[Service] +StandardInput=socket +EnvironmentFile=/etc/sysconfig/acpid +ExecStart=/usr/sbin/acpid -f $OPTIONS + +[Install] +Also=acpid.socket +WantedBy=multi-user.target diff --git a/SPECS/acpid.socket b/SPECS/acpid.socket new file mode 100644 index 0000000..d61cba2 --- /dev/null +++ b/SPECS/acpid.socket @@ -0,0 +1,9 @@ +[Unit] +Description=ACPID Listen Socket +Documentation=man:acpid(8) + +[Socket] +ListenStream=/var/run/acpid.socket + +[Install] +WantedBy=sockets.target diff --git a/SPECS/acpid.sysconfig b/SPECS/acpid.sysconfig new file mode 100644 index 0000000..f0d2bfb --- /dev/null +++ b/SPECS/acpid.sysconfig @@ -0,0 +1 @@ +OPTIONS= diff --git a/SPECS/acpid.video.conf b/SPECS/acpid.video.conf new file mode 100644 index 0000000..97507bf --- /dev/null +++ b/SPECS/acpid.video.conf @@ -0,0 +1,6 @@ +# Configuration to turn on DPMS again on video activity, needed for some +# laptops. Disabled by default, uncomment if your laptop display stays blank +# after you close and open the lid. + +#event=video.* +#action=/usr/sbin/vbetool dpms on