diff options
author | Patrick J Volkerding <volkerdi@slackware.com> | 2020-12-09 21:10:40 +0000 |
---|---|---|
committer | Eric Hameleers <alien@slackware.com> | 2020-12-10 08:59:45 +0100 |
commit | cf14860fabf930b99a09834440cf1ae1fae695e5 (patch) | |
tree | 896eb6f3f24befe6507b3b456972feaa8d136b21 /source/a | |
parent | 7d1fda615bfe3ec57a0c6753082b866a09ac1af3 (diff) | |
download | current-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.rules | 12 | ||||
-rw-r--r-- | source/a/elogind/doinst.sh | 3 | ||||
-rwxr-xr-x | source/a/elogind/elogind.SlackBuild | 17 | ||||
-rw-r--r-- | source/a/glibc-zoneinfo/doinst.sh | 47 | ||||
-rwxr-xr-x | source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild | 2 | ||||
-rw-r--r-- | source/a/glibc-zoneinfo/timezone-scripts/parts/00 | 3 | ||||
-rw-r--r-- | source/a/glibc-zoneinfo/timezone-scripts/timeconfig | 6 | ||||
-rw-r--r-- | source/a/upower/10-enable-upower-suspend.rules | 9 | ||||
-rw-r--r-- | source/a/upower/doinst.sh | 2 | ||||
-rwxr-xr-x | source/a/upower/upower.SlackBuild | 9 |
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 |