summaryrefslogtreecommitdiff
path: root/source/a
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2020-12-09 21:10:40 +0000
committerEric Hameleers <alien@slackware.com>2020-12-10 08:59:45 +0100
commitcf14860fabf930b99a09834440cf1ae1fae695e5 (patch)
tree896eb6f3f24befe6507b3b456972feaa8d136b21 /source/a
parent7d1fda615bfe3ec57a0c6753082b866a09ac1af3 (diff)
downloadcurrent-cf14860fabf930b99a09834440cf1ae1fae695e5.tar.gz
Wed Dec 9 21:10:40 UTC 202020201209211040
a/elogind-243.7-x86_64-2.txz: Rebuilt. Moved default udev rules to /lib/udev/rules.d/. Thanks to Robby Workman. Added /usr/share/polkit-1/rules.d/10-enable-session-power.rules. a/glibc-zoneinfo-2020d-noarch-2.txz: Rebuilt. Make /etc/localtime a symlink pointing into /usr/share/zoneinfo. If you have /usr on a separate partition, this might cause time problems prior to /usr being mounted (I recommend *not* making /usr a separate partition). But if you insist for some reason, you can probably work around it by adding the pointed-to directory and timezone file to your empty pre-mounted /usr directory. a/upower-0.99.11-x86_64-2.txz: Rebuilt. Added /usr/share/polkit-1/rules.d/10-enable-upower-suspend.rules. d/autoconf-2.70-noarch-1.txz: Upgraded. d/gnucobol-3.1.1-x86_64-1.txz: Upgraded. kde/powerdevil-5.20.4-x86_64-2.txz: Rebuilt. Moved 10-enable-powerdevil-discrete-gpu.rules.new to /usr/share/polkit-1/rules.d/. Thanks to Robby Workman. Moved 10-enable-session-power.rules to the elogind package. Moved 10-enable-upower-suspend.rules to the upower package. Thanks to GazL. l/jasper-2.0.23-x86_64-1.txz: Upgraded. Fix heap-overflow in cp_create() in jpc_enc.c. For more information, see: https://github.com/jasper-software/jasper/issues/252 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-27828 (* Security fix *) l/sbc-1.5-x86_64-1.txz: Upgraded. n/curl-7.74.0-x86_64-1.txz: Upgraded. This release includes the following security related bugfixes: Inferior OCSP verification [93] FTP wildcard stack overflow [95] Trusting FTP PASV responses [97] For more information, see: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8286 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8285 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-8284 (* Security fix *) xap/xscreensaver-5.45-x86_64-1.txz: Upgraded. xfce/Greybird-3.22.13-noarch-1.txz: Upgraded.
Diffstat (limited to 'source/a')
-rw-r--r--source/a/elogind/10-enable-elogind-power.rules12
-rw-r--r--source/a/elogind/doinst.sh3
-rwxr-xr-xsource/a/elogind/elogind.SlackBuild17
-rw-r--r--source/a/glibc-zoneinfo/doinst.sh47
-rwxr-xr-xsource/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild2
-rw-r--r--source/a/glibc-zoneinfo/timezone-scripts/parts/003
-rw-r--r--source/a/glibc-zoneinfo/timezone-scripts/timeconfig6
-rw-r--r--source/a/upower/10-enable-upower-suspend.rules9
-rw-r--r--source/a/upower/doinst.sh2
-rwxr-xr-xsource/a/upower/upower.SlackBuild9
10 files changed, 75 insertions, 35 deletions
diff --git a/source/a/elogind/10-enable-elogind-power.rules b/source/a/elogind/10-enable-elogind-power.rules
new file mode 100644
index 00000000..db499206
--- /dev/null
+++ b/source/a/elogind/10-enable-elogind-power.rules
@@ -0,0 +1,12 @@
+polkit.addRule(
+ function(action, subject) {
+ if ( (action.id == "org.freedesktop.login1.reboot" ||
+ action.id == "org.freedesktop.login1.reboot-multiple-sessions" ||
+ action.id == "org.freedesktop.login1.power-off" ||
+ action.id == "org.freedesktop.login1.power-off-multiple-sessions")
+ && subject.isInGroup("power") ) {
+ return polkit.Result.YES;
+ }
+ }
+);
+
diff --git a/source/a/elogind/doinst.sh b/source/a/elogind/doinst.sh
index dc85465c..d920f664 100644
--- a/source/a/elogind/doinst.sh
+++ b/source/a/elogind/doinst.sh
@@ -26,8 +26,9 @@ preserve_perms() {
#
# Preserve permissions while moving into place:
-config etc/elogind/logind.conf.new
preserve_perms etc/rc.d/rc.elogind.new
+config etc/elogind/logind.conf.new
+config usr/share/polkit-1/rules.d/10-enable-session-power.rules.new
if pgrep -f elogind-daemon | grep -q 'elogind-daemon'; then
echo "Reloading elogind-daemon..."
diff --git a/source/a/elogind/elogind.SlackBuild b/source/a/elogind/elogind.SlackBuild
index 1e0e0e3b..1cf2e5c6 100755
--- a/source/a/elogind/elogind.SlackBuild
+++ b/source/a/elogind/elogind.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=elogind
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -113,7 +113,7 @@ meson \
--libdir /usr/lib${LIBDIRSUFFIX} \
-Drootlibdir="/lib${LIBDIRSUFFIX}" \
-Drootlibexecdir="/lib${LIBDIRSUFFIX}/elogind" \
- -Dudevrulesdir="/etc/udev/rules.d" \
+ -Dudevrulesdir="/lib/udev/rules.d" \
-Ddocdir="/usr/doc/$PKGNAM-$VERSION" \
-Dhtmldir="/usr/doc/$PKGNAM-$VERSION/html" \
-Dmandir="/usr/man" \
@@ -163,6 +163,19 @@ cat $CWD/rc.elogind \
> $PKG/etc/rc.d/rc.elogind.new
chmod 755 $PKG/etc/rc.d/rc.elogind.new
+# Create supported dirs in /etc/elogind/ (local config)
+mkdir -p $PKG/etc/elogind/logind.conf.d/ $PKG/etc/elogind/sleep.conf.d/
+
+# Add login1 policy file that allows users in the 'power' group
+# to shutdown/reboot the computer:
+mkdir -p $PKG/usr/share/polkit-1/rules.d
+install -m 0644 -o root \
+ $CWD/10-enable-elogind-power.rules \
+ $PKG/usr/share/polkit-1/rules.d/10-enable-session-power.rules.new
+
+# We don't need the hidden files to make inferior package managers keep dirs:
+find $PKG -type f -name ".keep_dir" -exec rm -f {} \;
+
# Add a documentation directory:
mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
diff --git a/source/a/glibc-zoneinfo/doinst.sh b/source/a/glibc-zoneinfo/doinst.sh
index 05f1e990..eb776e2f 100644
--- a/source/a/glibc-zoneinfo/doinst.sh
+++ b/source/a/glibc-zoneinfo/doinst.sh
@@ -1,14 +1,15 @@
-# In order to properly handle time before /usr is mounted (in
-# the event that /usr is a separate partition, which for a number
-# of reasons isn't really a great idea), the /etc/localtime file
-# should be a copy of the desired zoneinfo file and not a symlink
-# to a file in /usr/share/zoneinfo. But if we find a symlink here
-# we should defer to the admin's wishes and leave it alone.
-#
-# Note that setting the timezone with timeconfig will wipe both
-# /etc/localtime and /etc/localtime-copied from.
-# /etc/localtime-copied-from will be a symlink to a file under
-# /usr/share/zoneinfo, and /etc/localtime will be a copy of that file.
+# Note on configuration change (2020-12-09):
+# For the past decade and a half, this package has created a symlink
+# /etc/localtime-copied-from and a file /etc/localtime to prevent
+# time skew until /usr is mounted. But having a separate /usr partition
+# hasn't really made sense for a long time and leads to all kinds of
+# bugs these days. We're going to make /etc/localtime a symlink just
+# like everyone else does so that programs that expect it to be a link
+# can fetch the timezone without requiring any special patches.
+# If you insist on making /usr a seperate partition, you might want to
+# put the pointed-to directories and timezone file in your empty /usr
+# directory so that it is available before the real /usr is mounted.
+# Still not recommended though.
# In a special case, we will handle the removal of the US/Pacific-New
# timezone. A bit of background information on this:
@@ -32,25 +33,27 @@ if [ "$(/bin/ls -l etc/localtime-copied-from 2> /dev/null | rev | cut -f 1,2 -d
( cd etc ; rm -rf localtime-copied-from )
( cd etc ; ln -sf /usr/share/zoneinfo/US/Pacific localtime-copied-from )
fi
+# Same with any /etc/localtime symlink:
+if [ -L etc/localtime ]; then
+ if [ "$(/bin/ls -l etc/localtime 2> /dev/null | rev | cut -f 1,2 -d / | rev)" = "US/Pacific-New" ]; then
+ ( cd etc ; rm -rf localtime )
+ ( cd etc ; ln -sf /usr/share/zoneinfo/US/Pacific localtime )
+ fi
+fi
-# If we have no /etc/localtime, but we do have a localtime-copied-from
-# symlink to locate what we would want there, then add a copy now:
-if [ ! -r etc/localtime -a -L etc/localtime-copied-from ]; then
- chroot . /bin/cp etc/localtime-copied-from etc/localtime
+# If we already have a localtime-copied-from symlink, move it over as the
+# /etc/localtime symlink:
+if [ -L etc/localtime-copied-from ]; then
+ rm -f etc/localtime
+ mv etc/localtime-copied-from etc/localtime
fi
# Add the default timezone in /etc, if none exists:
-if [ ! -r etc/localtime -a ! -L etc/localtime-copied-from ]; then
+if [ ! -r etc/localtime ]; then
( cd etc ; rm -rf localtime localtime-copied-from )
( cd etc ; ln -sf /usr/share/zoneinfo/Factory localtime-copied-from )
fi
-# Make sure /etc/localtime is updated, unless it is a symlink (in which
-# case leave it alone):
-if [ ! -L etc/localtime ]; then
- chroot . /bin/cp etc/localtime-copied-from etc/localtime
-fi
-
# Add a link to the timeconfig script in /usr/share/zoneinfo:
( cd usr/share/zoneinfo ; rm -rf timeconfig )
( cd usr/share/zoneinfo ; ln -sf /usr/sbin/timeconfig timeconfig )
diff --git a/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild b/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
index 07df3be2..f0cfeccd 100755
--- a/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
+++ b/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=glibc-zoneinfo
ZONE_VERSIONS="$(echo tzdata* | cut -f1 -d . | cut -b7-11)"
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/00 b/source/a/glibc-zoneinfo/timezone-scripts/parts/00
index 56b6e869..9174637e 100644
--- a/source/a/glibc-zoneinfo/timezone-scripts/parts/00
+++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/00
@@ -59,10 +59,9 @@ setzone()
-L $T_PX/usr/share/zoneinfo/$TZ -o \
-L /var/log/mount/usr/share/zoneinfo/$TZ ]; then
rm -f localtime-copied-from
- ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from
rm -f localtime
+ ln -sf /usr/share/zoneinfo/$TZ localtime
cd ..
- chroot . cp etc/localtime-copied-from etc/localtime
fi
}
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/timeconfig b/source/a/glibc-zoneinfo/timezone-scripts/timeconfig
index f7cb439f..8109aafa 100644
--- a/source/a/glibc-zoneinfo/timezone-scripts/timeconfig
+++ b/source/a/glibc-zoneinfo/timezone-scripts/timeconfig
@@ -6,7 +6,6 @@
# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
#
# ChangeLog:
-# 2020-04-25: Updated timezones from tzdata2020a. <pjv>
# 2019-09-11: Updated timezones from tzdata2019c. <pjv>
# 2014-10-22: Updated timezones from tzdata2014i. <pjv>
# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
@@ -60,10 +59,9 @@ setzone()
-L $T_PX/usr/share/zoneinfo/$TZ -o \
-L /var/log/mount/usr/share/zoneinfo/$TZ ]; then
rm -f localtime-copied-from
- ln -sf /usr/share/zoneinfo/$TZ localtime-copied-from
rm -f localtime
+ ln -sf /usr/share/zoneinfo/$TZ localtime
cd ..
- chroot . cp etc/localtime-copied-from etc/localtime
fi
}
@@ -726,7 +724,6 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"W-SU" " " \
"WET" " " \
"Zulu" " " \
-"posixrules" " " \
2> $TMP/tz
if [ $? = 1 -o $? = 255 ]; then
@@ -1349,7 +1346,6 @@ Universal
W-SU
WET
Zulu
-posixrules
Type it at the prompt below exactly as it appears above. (NOTE: If you don't
see your timezone, use "timeconfig" again after booting for the verbose list)
diff --git a/source/a/upower/10-enable-upower-suspend.rules b/source/a/upower/10-enable-upower-suspend.rules
new file mode 100644
index 00000000..4bccfb01
--- /dev/null
+++ b/source/a/upower/10-enable-upower-suspend.rules
@@ -0,0 +1,9 @@
+polkit.addRule(
+ function(action, subject) {
+ if ( (action.id == "org.freedesktop.upower.suspend" ||
+ action.id == "org.freedesktop.upower.hibernate")
+ && subject.isInGroup("power") ) {
+ return polkit.Result.YES;
+ }
+ }
+);
diff --git a/source/a/upower/doinst.sh b/source/a/upower/doinst.sh
index 46abf401..40e2087c 100644
--- a/source/a/upower/doinst.sh
+++ b/source/a/upower/doinst.sh
@@ -12,4 +12,4 @@ config() {
}
config etc/UPower/UPower.conf.new
-
+config usr/share/polkit-1/rules.d/10-enable-upower-suspend.rules.new
diff --git a/source/a/upower/upower.SlackBuild b/source/a/upower/upower.SlackBuild
index 04ded50a..7afa472b 100755
--- a/source/a/upower/upower.SlackBuild
+++ b/source/a/upower/upower.SlackBuild
@@ -28,7 +28,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=upower
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d- | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -114,6 +114,13 @@ CXXFLAGS="$SLKCFLAGS" \
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
+# Add upower policy allowing users in the 'power' group
+# to suspend/hibernate the computer:
+mkdir -p $PKG/usr/share/polkit-1/rules.d
+install -m 0644 -o root \
+ $CWD/10-enable-upower-suspend.rules \
+ $PKG/usr/share/polkit-1/rules.d/10-enable-upower-suspend.rules.new
+
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la