summaryrefslogtreecommitdiffstats
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rwxr-xr-xsource/a/dcron/dcron.SlackBuild5
-rw-r--r--source/a/dcron/run-parts120
-rw-r--r--source/a/dcron/run-parts.848
-rw-r--r--source/a/dcron/stub1
-rwxr-xr-xsource/a/elilo/elilo.SlackBuild11
-rw-r--r--source/a/elilo/elilo.zeroes.cc_blob_address.diff40
-rwxr-xr-xsource/ap/most/most.SlackBuild7
-rw-r--r--source/d/FTBFSlog4
-rwxr-xr-xsource/d/llvm/llvm.SlackBuild3
-rw-r--r--source/d/llvm/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff27
-rw-r--r--source/d/rust/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff27
-rwxr-xr-xsource/d/rust/rust.SlackBuild3
12 files changed, 252 insertions, 44 deletions
diff --git a/source/a/dcron/dcron.SlackBuild b/source/a/dcron/dcron.SlackBuild
index b9da7dbf1..cf5f96787 100755
--- a/source/a/dcron/dcron.SlackBuild
+++ b/source/a/dcron/dcron.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/sh
-# Copyright 2009, 2010, 2012, 2016, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2012, 2016, 2018, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=dcron
VERSION=${VERSION:-$(echo dcron-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-11}
+BUILD=${BUILD:-12}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -112,6 +112,7 @@ mkdir -p $PKG/usr/bin
cat crontab > $PKG/usr/bin/crontab
chmod 4711 $PKG/usr/bin/crontab
+# Add run-parts script and man page, largely taken from Fedora:
zcat $CWD/run-parts.gz > $PKG/usr/bin/run-parts
chmod 0755 $PKG/usr/bin/run-parts
diff --git a/source/a/dcron/run-parts b/source/a/dcron/run-parts
index 65c778f36..c12ee3536 100644
--- a/source/a/dcron/run-parts
+++ b/source/a/dcron/run-parts
@@ -1,46 +1,100 @@
-#!/bin/sh
-# run-parts: Runs all the scripts found in a directory.
+#!/bin/bash
+# run-parts - concept taken from Debian
# keep going when something fails
set +e
if [ $# -lt 1 ]; then
- echo "Usage: run-parts <directory>"
- exit 1
+ echo "Usage: run-parts [--list | --test] <dir>"
+ exit 1
fi
+while [ $# -gt 1 ]; do
+ case $1 in
+ --list)
+ list=1
+ shift
+ break
+ ;;
+ --test)
+ test=1
+ shift
+ break
+ ;;
+ --)
+ # -- end of options
+ shift
+ break
+ ;;
+ *)
+ # directory
+ break
+ ;;
+ esac
+done
+
if [ ! -d $1 ]; then
- echo "Not a directory: $1"
- echo "Usage: run-parts <directory>"
- exit 1
+ echo "Not a directory: $1"
+ exit 1
+fi
+
+if [ -f /etc/default/run-parts ]; then
+ . /etc/default/run-parts
fi
-# There are several types of files that we would like to
-# ignore automatically, as they are likely to be backups
-# of other scripts:
-IGNORE_SUFFIXES="~ ^ , .bak .new .rpmsave .rpmorig .rpmnew .swp"
-
-# Main loop:
-for SCRIPT in $1/* ; do
- # If this is not a regular file, skip it:
- if [ ! -f $SCRIPT ]; then
- continue
- fi
- # Determine if this file should be skipped by suffix:
- SKIP=false
- for SUFFIX in $IGNORE_SUFFIXES ; do
- if [ ! "$(basename $SCRIPT $SUFFIX)" = "$(basename $SCRIPT)" ]; then
- SKIP=true
- break
- fi
- done
- if [ "$SKIP" = "true" ]; then
- continue
- fi
- # If we've made it this far, then run the script if it's executable:
- if [ -x $SCRIPT ]; then
- $SCRIPT || echo "$SCRIPT failed."
- fi
+# Ignore *~ and *, scripts
+for i in $(LC_ALL=C; echo ${1%/}/*[^~,]) ; do
+ [ -d $i ] && continue
+ # Don't run *.{bak,new,rpmsave,rpmorig,rpmnew,swp,cfsaved} scripts
+ [ "${i%.bak}" != "${i}" ] && continue
+ [ "${i%.new}" != "${i}" ] && continue
+ [ "${i%.rpmsave}" != "${i}" ] && continue
+ [ "${i%.rpmorig}" != "${i}" ] && continue
+ [ "${i%.rpmnew}" != "${i}" ] && continue
+ [ "${i%.swp}" != "${i}" ] && continue
+ [ "${i%.cfsaved}" != "${i}" ] && continue
+ [ "${i%,v}" != "${i}" ] && continue
+
+ # jobs.deny prevents specific files from being executed
+ # jobs.allow prohibits all non-named jobs from being run.
+ # can be used in conjunction but there's no reason to do so.
+ if [ -r $1/jobs.deny ]; then
+ grep -q "^$(basename $i)$" $1/jobs.deny && continue
+ fi
+ if [ -r $1/jobs.allow ]; then
+ grep -q "^$(basename $i)$" $1/jobs.allow || continue
+ fi
+
+ if [ -e $i ]; then
+ if [ -r $1/whitelist ]; then
+ grep -q "^$(basename $i)$" $1/whitelist && continue
+ fi
+
+ if [ ${list:-0} = 1 ]; then
+ echo $i;
+ elif [ -x $i ]; then
+ if [ ${test:-0} = 1 ]; then
+ echo $i;
+ continue
+ fi
+ if [ "$RANDOMIZE" != "" ]; then
+ let "rtime = $RANDOM"
+ if [ "$RANDOMTIME" != "" ]; then
+ let "rtime %= $RANDOMTIME"
+ else
+ let "rtime %= 300"
+ fi
+ sleep $rtime
+ fi
+
+ # run executable files
+ logger -p cron.notice -t "run-parts[$$]" "($1) starting $(basename $i)"
+ $i 2>&1 | sed '1i\
+'"$i"':\
+'
+ logger -p cron.notice -t "run-parts[$$]" "($1) finished $(basename $i)"
+ fi
+ fi
done
exit 0
diff --git a/source/a/dcron/run-parts.8 b/source/a/dcron/run-parts.8
index 2d5e5f6ad..74a55492a 100644
--- a/source/a/dcron/run-parts.8
+++ b/source/a/dcron/run-parts.8
@@ -7,11 +7,11 @@
.ie \\n(.$=0:((0\\$1)*2u>(\\n(.lu-\\n(.iu)) .TP
.el .TP "\\$1"
..
-.TH RUN-PARTS 8 "14 Apr 2002" "Slackware Version 8.1.0
+.TH RUN-PARTS 8 "05 Aug 2022" "Slackware Version 15.1"
.SH NAME
run-parts \- run scripts found in a directory
.SH SYNOPSIS
-.B run-parts <directory>
+.B run-parts [ --list | --test ] <directory>
.LP
.SH DESCRIPTION
.B run-parts
@@ -28,9 +28,49 @@ can be called once a day from root's crontab to run all the scripts found in
automatically skips files with certain suffixes that are generally associated
with backup or extra files. Any file that ends in one of these will be silently
ignored: ~ ^ , .bak .new .rpmsave .rpmorig .rpmnew .swp
+
+The execution of files can be allowed or denied by creating file
+.B jobs.allow
+or
+.B jobs.deny
+which work similarly to other allow/deny config files. The file must be
+created in the specified directory.
+
+Randomization of jobs can be configured in the
+.IR /etc/default/run-parts
+file. To enable randomization of jobs, set the RANDOMIZE parameter to 1
+and set the RANDOM parameter to an integer which determines a random
+seed. Additionally, you may configure the RANDOMTIME parameter (again,
+by specifying an integer) to provide an additional level of
+randomization. Jobs are not randomized when the RANDOM and RANDOMTIME
+parameters are set to 0. Values in these two parameters must be set to
+1 or larger to provide a good enough randomization.
+
+Randomization of cron jobs can be useful for shared networks, where
+multiple cron jobs executed at once can cause spikes in traffic,
+especially during daily jobs. With randomized jobs, the workload is
+evenly distributed throughout the day.
+
+.TP
+.B --list
+print names of all files (not limited to executables), but don't run
+them. This option can't be used with
+.B test
+option.
+.TP
+.B --test
+print names of files, which would be run.
+
+.SH EXAMPLE OF CONFIGURATION FILE
+.nf
+RANDOMIZE=1
+RANDOM=4
+RANDOMTIME=8
+.fi
+
.SH AUTHOR
-Patrick J. Volkerding <volkerdi@slackware.com>, with ideas borrowed from the
-Red Hat and Debian versions of this utility.
+Written for Fedora by Marcela Ma■lá■ová, modified slightly for Slackware by
+Patrick J. Volkerding <volkerdi@slackware.com>.
.SH "SEE ALSO"
.BR crond(8),
.BR crontab(8).
diff --git a/source/a/dcron/stub b/source/a/dcron/stub
new file mode 100644
index 000000000..c33bafee3
--- /dev/null
+++ b/source/a/dcron/stub
@@ -0,0 +1 @@
+.TH CRONTABS 4 2012-08-29 "Marcela Mašláňová" "Crontabs users' Manual"
diff --git a/source/a/elilo/elilo.SlackBuild b/source/a/elilo/elilo.SlackBuild
index 33809d721..4f88c2f0e 100755
--- a/source/a/elilo/elilo.SlackBuild
+++ b/source/a/elilo/elilo.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2013, 2014, 2016, 2017, 2018, 2019 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2013, 2014, 2016, 2017, 2018, 2019, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=elilo
VERSION=${VERSION:-$(echo $PKGNAM*.tar.?z* | rev | cut -f 2 -d - | rev)}
-BUILD=${BUILD:-12}
+BUILD=${BUILD:-13}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -75,6 +75,9 @@ tar xvf elilo-${VERSION}-source.tar.gz || exit 1
# things, as the loaders themselves seldom need to be rebuilt. Besides,
# elilo can be rather fragile, so we don't want to rebuild it without a
# good reason and risk breaking it.
+#
+# These EFI binaries were built with Slackware 14.2. Newer compilers might
+# cause bloat, or other issues.
tar xvf $CWD/elilo.loader.binaries.tar.xz || exit 1
chown -R root:root .
@@ -91,6 +94,10 @@ grep -r -l StrnCpy * | xargs sed -i "s/StrnCpy/elilo_StrnCpy/g"
# Increase kernel size limit from 8MB to 16MB (nobody will ever need more than 640K ;-):
zcat $CWD/elilo.double.kernel.size.limit.diff.gz | patch -p1 --verbose || exit 1
+# Disable the Confidential Computing blob which was leading to boot failures
+# with the 5.19.0 kernel and the EFI stub enabled:
+zcat $CWD/elilo.zeroes.cc_blob_address.diff.gz | patch -p1 --verbose || exit 1
+
# We will build the tools from source.
# However, we will package the pre-built EFI binaries, since we would
# like to include both 32-bit and 64-bit x86 EFI loaders in the
diff --git a/source/a/elilo/elilo.zeroes.cc_blob_address.diff b/source/a/elilo/elilo.zeroes.cc_blob_address.diff
new file mode 100644
index 000000000..5c98d7561
--- /dev/null
+++ b/source/a/elilo/elilo.zeroes.cc_blob_address.diff
@@ -0,0 +1,40 @@
+diff -Naur elilo-3.16-source.orig/x86_64/sysdeps.h elilo-3.16-source/x86_64/sysdeps.h
+--- elilo-3.16-source.orig/x86_64/sysdeps.h 2012-11-19 19:01:04.000000000 -0200
++++ elilo-3.16-source/x86_64/sysdeps.h 2022-08-05 15:51:02.700147207 -0300
+@@ -184,7 +184,12 @@
+ /* 0xA0 */ UINT16 mca_info_len; /* LDR */
+ /* 0xA2 */ UINT8 mca_info_buf[0x10]; /* LDR */
+
+-/* 0xB2 */ UINT8 pad_4[0x10E]; /* unused */
++/* 0xB2 */ UINT8 pad_41[0x8A]; /* unused */
++
++/* Confidential Computing Blob */
++/* 0x13C */ UINT32 cc_blob_address; /* LDR */
++
++/* 0x140 */ UINT8 pad_42[0x80]; /* unused */
+
+ /* EFI boot loader signature. */
+ /* 0x1C0 */ UINT8 efi_loader_sig[4]; /* LDR */
+diff -Naur elilo-3.16-source.orig/x86_64/system.c elilo-3.16-source/x86_64/system.c
+--- elilo-3.16-source.orig/x86_64/system.c 2013-03-29 16:03:15.000000000 -0300
++++ elilo-3.16-source/x86_64/system.c 2022-08-05 15:50:45.772968102 -0300
+@@ -684,6 +684,11 @@
+ ZeroMem(bp->s.hd1_info, sizeof bp->s.hd1_info);
+
+ /*
++ * Disable Confidential Computing blob
++ */
++ bp->s.cc_blob_address = 0;
++
++ /*
+ * Memory info.
+ */
+
+@@ -826,6 +831,7 @@
+ CHECK_OFFSET(hd1_info, 0x90, L"");
+ CHECK_OFFSET(mca_info_len, 0xA0, L"%xh");
+ CHECK_OFFSET(mca_info_buf, 0xA2, L"");
++ CHECK_OFFSET(cc_blob_address, 0x13C, L"%xh");
+ CHECK_OFFSET(efi_loader_sig, 0x1C0, L"'%-4.4a'");
+ CHECK_OFFSET(efi_sys_tbl, 0x1C4, L"%xh");
+ CHECK_OFFSET(efi_mem_desc_size, 0x1C8, L"%xh");
diff --git a/source/ap/most/most.SlackBuild b/source/ap/most/most.SlackBuild
index fa397797a..af4224f07 100755
--- a/source/ap/most/most.SlackBuild
+++ b/source/ap/most/most.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2018, 2022 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,8 +23,8 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=most
-VERSION=5.1.0
-BUILD=${BUILD:-3}
+VERSION=5.2.0
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -77,6 +77,7 @@ find . \
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
+ --sysconfdir=/etc \
--mandir=/usr/man \
--docdir=/usr/doc \
--with-slang=/usr \
diff --git a/source/d/FTBFSlog b/source/d/FTBFSlog
index 264fb7834..b6ca69df1 100644
--- a/source/d/FTBFSlog
+++ b/source/d/FTBFSlog
@@ -1,3 +1,7 @@
+Sat Aug 6 04:18:11 UTC 2022
+ llvm: patched to fix the build with glibc-2.36.
+ rust: patched to fix the build with glibc-2.36.
++--------------------------+
Thu Aug 4 19:14:56 UTC 2022
gcc: applied upstream patches to fix the build with glibc-2.36 (although it's
unlikely we'll need to rebuild this before gcc-12.2.0 comes along).
diff --git a/source/d/llvm/llvm.SlackBuild b/source/d/llvm/llvm.SlackBuild
index 0a343646f..f19643635 100755
--- a/source/d/llvm/llvm.SlackBuild
+++ b/source/d/llvm/llvm.SlackBuild
@@ -169,6 +169,9 @@ fi
# Won't build without this. See https://github.com/llvm/llvm-project/issues/54941
#zcat $CWD/llvm.bypass.broken.benchmarks.diff.gz | patch -p1 --verbose || exit 1
+# Patch to fix build with glibc-2.36:
+zcat $CWD/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff.gz | patch -p1 --verbose || exit 1
+
# These hackish links seem to be required...
cd ..
ln -sf */utils/gn/secondary/third-party .
diff --git a/source/d/llvm/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff b/source/d/llvm/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff
new file mode 100644
index 000000000..901741a06
--- /dev/null
+++ b/source/d/llvm/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff
@@ -0,0 +1,27 @@
+--- ./projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp.orig 2022-06-22 11:46:24.000000000 -0500
++++ ./projects/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp 2022-08-05 22:46:21.288664504 -0500
+@@ -73,7 +73,9 @@
+ #include <sys/vt.h>
+ #include <linux/cdrom.h>
+ #include <linux/fd.h>
++#if SANITIZER_ANDROID
+ #include <linux/fs.h>
++#endif
+ #include <linux/hdreg.h>
+ #include <linux/input.h>
+ #include <linux/ioctl.h>
+@@ -857,10 +859,10 @@
+ unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT;
+ unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT;
+ #endif
+- unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS;
+- unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION;
+- unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS;
+- unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION;
++ unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long);
++ unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long);
++ unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long);
++ unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long);
+ unsigned IOCTL_GIO_CMAP = GIO_CMAP;
+ unsigned IOCTL_GIO_FONT = GIO_FONT;
+ unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;
diff --git a/source/d/rust/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff b/source/d/rust/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff
new file mode 100644
index 000000000..6f68c0d84
--- /dev/null
+++ b/source/d/rust/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff
@@ -0,0 +1,27 @@
+--- ./src/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp.orig 2022-07-16 03:50:21.000000000 -0500
++++ ./src/llvm-project/compiler-rt/lib/sanitizer_common/sanitizer_platform_limits_posix.cpp 2022-08-05 23:15:14.928568611 -0500
+@@ -73,7 +73,9 @@
+ #include <sys/vt.h>
+ #include <linux/cdrom.h>
+ #include <linux/fd.h>
++#if SANITIZER_ANDROID
+ #include <linux/fs.h>
++#endif
+ #include <linux/hdreg.h>
+ #include <linux/input.h>
+ #include <linux/ioctl.h>
+@@ -860,10 +862,10 @@
+ unsigned IOCTL_EVIOCGPROP = IOCTL_NOT_PRESENT;
+ unsigned IOCTL_EVIOCSKEYCODE_V2 = IOCTL_NOT_PRESENT;
+ #endif
+- unsigned IOCTL_FS_IOC_GETFLAGS = FS_IOC_GETFLAGS;
+- unsigned IOCTL_FS_IOC_GETVERSION = FS_IOC_GETVERSION;
+- unsigned IOCTL_FS_IOC_SETFLAGS = FS_IOC_SETFLAGS;
+- unsigned IOCTL_FS_IOC_SETVERSION = FS_IOC_SETVERSION;
++ unsigned IOCTL_FS_IOC_GETFLAGS = _IOR('f', 1, long);
++ unsigned IOCTL_FS_IOC_GETVERSION = _IOR('v', 1, long);
++ unsigned IOCTL_FS_IOC_SETFLAGS = _IOW('f', 2, long);
++ unsigned IOCTL_FS_IOC_SETVERSION = _IOW('v', 2, long);
+ unsigned IOCTL_GIO_CMAP = GIO_CMAP;
+ unsigned IOCTL_GIO_FONT = GIO_FONT;
+ unsigned IOCTL_GIO_UNIMAP = GIO_UNIMAP;
diff --git a/source/d/rust/rust.SlackBuild b/source/d/rust/rust.SlackBuild
index f999f2852..4e3eafb66 100755
--- a/source/d/rust/rust.SlackBuild
+++ b/source/d/rust/rust.SlackBuild
@@ -142,6 +142,9 @@ if [ "${SYSTEM_LLVM}" = "YES" ]; then
zcat $CWD/link_libffi.diff.gz | patch -p1 --verbose || exit 1
fi
+# Fix build with glibc-2.36:
+zcat $CWD/llvm.sanitizer_platform_limits_posix.cpp.glibc-2.36.diff.gz | patch -p1 --verbose || exit 1
+
if [ "$LOCAL_BOOTSTRAP" != "yes" ] ; then
# rust requires bootstrapping with the previous rust version.
# versions are defined in src/stage0.txt.