summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2024-03-29 02:25:21 +0000
committer Eric Hameleers <alien@slackware.com>2024-03-29 13:30:42 +0100
commit3874039d9c50af9c13718a96c420ca173fe04b4a (patch)
tree66917f62562fae53f4a9f1c0295a8e637b7e2524
parent9146b9762b016788f798633449f921fb2f8df529 (diff)
downloadcurrent-3874039d9c50af9c13718a96c420ca173fe04b4a.tar.gz
current-3874039d9c50af9c13718a96c420ca173fe04b4a.tar.xz
Fri Mar 29 02:25:21 UTC 202420240329022521_15.0
patches/packages/coreutils-9.5-x86_64-1_slack15.0.txz: Upgraded. chmod -R now avoids a race where an attacker may replace a traversed file with a symlink, causing chmod to operate on an unintended file. [This bug was present in "the beginning".] split --line-bytes with a mixture of very long and short lines no longer overwrites the heap. For more information, see: https://www.cve.org/CVERecord?id=CVE-2024-0684 (* Security fix *)
-rw-r--r--ChangeLog.rss45
-rw-r--r--ChangeLog.txt25
-rw-r--r--FILELIST.TXT279
-rw-r--r--patches/packages/coreutils-9.5-x86_64-1_slack15.0.txt11
-rw-r--r--patches/packages/seamonkey-2.53.18.2-x86_64-1_slack15.0.txt (renamed from patches/packages/seamonkey-2.53.18.1-x86_64-1_slack15.0.txt)0
-rw-r--r--patches/packages/util-linux-2.37.4-x86_64-3_slack15.0.txt (renamed from patches/packages/util-linux-2.37.4-x86_64-2_slack15.0.txt)0
-rw-r--r--patches/source/coreutils/DIR_COLORS204
-rw-r--r--patches/source/coreutils/coreutils-dircolors.csh41
-rw-r--r--patches/source/coreutils/coreutils-dircolors.sh44
-rwxr-xr-xpatches/source/coreutils/coreutils.SlackBuild228
-rw-r--r--patches/source/coreutils/coreutils.uname.diff153
-rw-r--r--patches/source/coreutils/coreutils.wc.noavx2.diff11
-rw-r--r--patches/source/coreutils/doinst.sh16
-rw-r--r--patches/source/coreutils/no_ls_quoting.patch11
-rw-r--r--patches/source/coreutils/slack-desc19
-rw-r--r--patches/source/util-linux/CVE-2024-28085-pre1.patch190
-rw-r--r--patches/source/util-linux/CVE-2024-28085-pre2.patch167
-rw-r--r--patches/source/util-linux/CVE-2024-28085-pre3.patch207
-rw-r--r--patches/source/util-linux/CVE-2024-28085.patch23
-rwxr-xr-xpatches/source/util-linux/util-linux.SlackBuild10
-rwxr-xr-xrecompress.sh11
21 files changed, 1561 insertions, 134 deletions
diff --git a/ChangeLog.rss b/ChangeLog.rss
index 1b77bc7bb..99346763d 100644
--- a/ChangeLog.rss
+++ b/ChangeLog.rss
@@ -11,10 +11,51 @@
<description>Tracking Slackware development in git.</description>
<language>en-us</language>
<id xmlns="http://www.w3.org/2005/Atom">urn:uuid:c964f45e-6732-11e8-bbe5-107b4450212f</id>
- <pubDate>Wed, 27 Mar 2024 19:16:09 GMT</pubDate>
- <lastBuildDate>Thu, 28 Mar 2024 12:30:25 GMT</lastBuildDate>
+ <pubDate>Fri, 29 Mar 2024 02:25:21 GMT</pubDate>
+ <lastBuildDate>Fri, 29 Mar 2024 12:30:28 GMT</lastBuildDate>
<generator>maintain_current_git.sh v 1.17</generator>
<item>
+ <title>Fri, 29 Mar 2024 02:25:21 GMT</title>
+ <pubDate>Fri, 29 Mar 2024 02:25:21 GMT</pubDate>
+ <link>https://git.slackware.nl/current/tag/?h=20240329022521</link>
+ <guid isPermaLink="false">20240329022521</guid>
+ <description>
+ <![CDATA[<pre>
+patches/packages/coreutils-9.5-x86_64-1_slack15.0.txz: Upgraded.
+ chmod -R now avoids a race where an attacker may replace a traversed file
+ with a symlink, causing chmod to operate on an unintended file.
+ [This bug was present in "the beginning".]
+ split --line-bytes with a mixture of very long and short lines no longer
+ overwrites the heap.
+ For more information, see:
+ https://www.cve.org/CVERecord?id=CVE-2024-0684
+ (* Security fix *)
+ </pre>]]>
+ </description>
+ </item>
+ <item>
+ <title>Thu, 28 Mar 2024 21:40:08 GMT</title>
+ <pubDate>Thu, 28 Mar 2024 21:40:08 GMT</pubDate>
+ <link>https://git.slackware.nl/current/tag/?h=20240328214008</link>
+ <guid isPermaLink="false">20240328214008</guid>
+ <description>
+ <![CDATA[<pre>
+patches/packages/seamonkey-2.53.18.2-x86_64-1_slack15.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ https://www.seamonkey-project.org/releases/seamonkey2.53.18.2
+ (* Security fix *)
+patches/packages/util-linux-2.37.4-x86_64-3_slack15.0.txz: Rebuilt.
+ This release fixes a vulnerability where the wall command did not filter
+ escape sequences from command line arguments, allowing unprivileged users
+ to put arbitrary text on other users terminals.
+ For more information, see:
+ https://www.cve.org/CVERecord?id=CVE-2024-28085
+ (* Security fix *)
+ </pre>]]>
+ </description>
+ </item>
+ <item>
<title>Wed, 27 Mar 2024 19:16:09 GMT</title>
<pubDate>Wed, 27 Mar 2024 19:16:09 GMT</pubDate>
<link>https://git.slackware.nl/current/tag/?h=20240327191609</link>
diff --git a/ChangeLog.txt b/ChangeLog.txt
index 6ce5574b5..e2125cd47 100644
--- a/ChangeLog.txt
+++ b/ChangeLog.txt
@@ -1,3 +1,28 @@
+Fri Mar 29 02:25:21 UTC 2024
+patches/packages/coreutils-9.5-x86_64-1_slack15.0.txz: Upgraded.
+ chmod -R now avoids a race where an attacker may replace a traversed file
+ with a symlink, causing chmod to operate on an unintended file.
+ [This bug was present in "the beginning".]
+ split --line-bytes with a mixture of very long and short lines no longer
+ overwrites the heap.
+ For more information, see:
+ https://www.cve.org/CVERecord?id=CVE-2024-0684
+ (* Security fix *)
++--------------------------+
+Thu Mar 28 21:40:08 UTC 2024
+patches/packages/seamonkey-2.53.18.2-x86_64-1_slack15.0.txz: Upgraded.
+ This update contains security fixes and improvements.
+ For more information, see:
+ https://www.seamonkey-project.org/releases/seamonkey2.53.18.2
+ (* Security fix *)
+patches/packages/util-linux-2.37.4-x86_64-3_slack15.0.txz: Rebuilt.
+ This release fixes a vulnerability where the wall command did not filter
+ escape sequences from command line arguments, allowing unprivileged users
+ to put arbitrary text on other users terminals.
+ For more information, see:
+ https://www.cve.org/CVERecord?id=CVE-2024-28085
+ (* Security fix *)
++--------------------------+
Wed Mar 27 19:16:09 UTC 2024
patches/packages/curl-8.7.1-x86_64-1_slack15.0.txz: Upgraded.
This release fixes the following security issues:
diff --git a/FILELIST.TXT b/FILELIST.TXT
index 47b5b4d57..7fbf8e4dd 100644
--- a/FILELIST.TXT
+++ b/FILELIST.TXT
@@ -1,20 +1,20 @@
-Wed Mar 27 19:19:00 UTC 2024
+Fri Mar 29 02:28:08 UTC 2024
Here is the file list for this directory. If you are using a
mirror site and find missing or extra files in the disk
subdirectories, please have the archive administrator refresh
the mirror.
-drwxr-xr-x 12 root root 4096 2024-03-27 19:16 .
+drwxr-xr-x 12 root root 4096 2024-03-29 02:25 .
-rw-r--r-- 1 root root 5767 2022-02-02 22:44 ./ANNOUNCE.15.0
-rw-r--r-- 1 root root 16609 2022-03-30 19:03 ./CHANGES_AND_HINTS.TXT
--rw-r--r-- 1 root root 1227642 2024-03-24 18:25 ./CHECKSUMS.md5
--rw-r--r-- 1 root root 195 2024-03-24 18:25 ./CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 1228001 2024-03-28 21:43 ./CHECKSUMS.md5
+-rw-r--r-- 1 root root 195 2024-03-28 21:43 ./CHECKSUMS.md5.asc
-rw-r--r-- 1 root root 17976 1994-06-10 02:28 ./COPYING
-rw-r--r-- 1 root root 35147 2007-06-30 04:21 ./COPYING3
-rw-r--r-- 1 root root 19573 2016-06-23 20:08 ./COPYRIGHT.TXT
-rw-r--r-- 1 root root 616 2006-10-02 04:37 ./CRYPTO_NOTICE.TXT
--rw-r--r-- 1 root root 2103841 2024-03-27 19:16 ./ChangeLog.txt
+-rw-r--r-- 1 root root 2105025 2024-03-29 02:25 ./ChangeLog.txt
drwxr-xr-x 3 root root 4096 2013-03-20 22:17 ./EFI
drwxr-xr-x 2 root root 4096 2022-02-02 08:21 ./EFI/BOOT
-rw-r--r-- 1 root root 1187840 2021-06-15 19:16 ./EFI/BOOT/bootx64.efi
@@ -25,7 +25,7 @@ drwxr-xr-x 2 root root 4096 2022-02-02 08:21 ./EFI/BOOT
-rwxr-xr-x 1 root root 2504 2019-07-05 18:54 ./EFI/BOOT/make-grub.sh
-rw-r--r-- 1 root root 10722 2013-09-21 19:02 ./EFI/BOOT/osdetect.cfg
-rw-r--r-- 1 root root 1273 2013-08-12 21:08 ./EFI/BOOT/tools.cfg
--rw-r--r-- 1 root root 1603867 2024-03-24 18:24 ./FILELIST.TXT
+-rw-r--r-- 1 root root 1604286 2024-03-28 21:43 ./FILELIST.TXT
-rw-r--r-- 1 root root 1572 2012-08-29 18:27 ./GPG-KEY
-rw-r--r-- 1 root root 864745 2022-02-02 08:25 ./PACKAGES.TXT
-rw-r--r-- 1 root root 8034 2022-02-02 03:36 ./README.TXT
@@ -828,13 +828,13 @@ drwxr-xr-x 2 root root 4096 2022-12-17 19:52 ./pasture/source/samba
-rw-r--r-- 1 root root 7921 2018-04-29 17:31 ./pasture/source/samba/smb.conf.default
-rw-r--r-- 1 root root 7933 2018-01-14 20:41 ./pasture/source/samba/smb.conf.default.orig
-rw-r--r-- 1 root root 536 2017-03-23 19:18 ./pasture/source/samba/smb.conf.diff.gz
-drwxr-xr-x 4 root root 4096 2024-03-27 19:19 ./patches
--rw-r--r-- 1 root root 109769 2024-03-27 19:19 ./patches/CHECKSUMS.md5
--rw-r--r-- 1 root root 195 2024-03-27 19:19 ./patches/CHECKSUMS.md5.asc
--rw-r--r-- 1 root root 149921 2024-03-27 19:18 ./patches/FILE_LIST
--rw-r--r-- 1 root root 15339311 2024-03-27 19:18 ./patches/MANIFEST.bz2
--rw-r--r-- 1 root root 77641 2024-03-27 19:18 ./patches/PACKAGES.TXT
-drwxr-xr-x 5 root root 32768 2024-03-27 19:18 ./patches/packages
+drwxr-xr-x 4 root root 4096 2024-03-29 02:28 ./patches
+-rw-r--r-- 1 root root 111162 2024-03-29 02:28 ./patches/CHECKSUMS.md5
+-rw-r--r-- 1 root root 195 2024-03-29 02:28 ./patches/CHECKSUMS.md5.asc
+-rw-r--r-- 1 root root 151709 2024-03-29 02:28 ./patches/FILE_LIST
+-rw-r--r-- 1 root root 15353912 2024-03-29 02:28 ./patches/MANIFEST.bz2
+-rw-r--r-- 1 root root 78327 2024-03-29 02:28 ./patches/PACKAGES.TXT
+drwxr-xr-x 5 root root 32768 2024-03-29 02:27 ./patches/packages
-rw-r--r-- 1 root root 360 2023-09-26 19:28 ./patches/packages/Cython-0.29.36-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 2389564 2023-09-26 19:28 ./patches/packages/Cython-0.29.36-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2023-09-26 19:28 ./patches/packages/Cython-0.29.36-x86_64-1_slack15.0.txz.asc
@@ -868,6 +868,9 @@ drwxr-xr-x 5 root root 32768 2024-03-27 19:18 ./patches/packages
-rw-r--r-- 1 root root 367 2024-02-16 19:46 ./patches/packages/ca-certificates-20240216-noarch-1_slack15.0.txt
-rw-r--r-- 1 root root 138892 2024-02-16 19:46 ./patches/packages/ca-certificates-20240216-noarch-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2024-02-16 19:46 ./patches/packages/ca-certificates-20240216-noarch-1_slack15.0.txz.asc
+-rw-r--r-- 1 root root 523 2024-03-29 02:24 ./patches/packages/coreutils-9.5-x86_64-1_slack15.0.txt
+-rw-r--r-- 1 root root 2796940 2024-03-29 02:24 ./patches/packages/coreutils-9.5-x86_64-1_slack15.0.txz
+-rw-r--r-- 1 root root 195 2024-03-29 02:24 ./patches/packages/coreutils-9.5-x86_64-1_slack15.0.txz.asc
-rw-r--r-- 1 root root 642 2023-09-20 19:21 ./patches/packages/cups-2.4.7-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 1590936 2023-09-20 19:21 ./patches/packages/cups-2.4.7-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2023-09-20 19:21 ./patches/packages/cups-2.4.7-x86_64-1_slack15.0.txz.asc
@@ -1138,9 +1141,9 @@ drwxr-xr-x 2 root root 4096 2023-11-21 21:09 ./patches/packages/old-linux
-rw-r--r-- 1 root root 480 2022-12-20 20:19 ./patches/packages/sdl-1.2.15-x86_64-13_slack15.0.txt
-rw-r--r-- 1 root root 735084 2022-12-20 20:19 ./patches/packages/sdl-1.2.15-x86_64-13_slack15.0.txz
-rw-r--r-- 1 root root 163 2022-12-20 20:19 ./patches/packages/sdl-1.2.15-x86_64-13_slack15.0.txz.asc
--rw-r--r-- 1 root root 392 2024-01-17 20:14 ./patches/packages/seamonkey-2.53.18.1-x86_64-1_slack15.0.txt
--rw-r--r-- 1 root root 39379112 2024-01-17 20:14 ./patches/packages/seamonkey-2.53.18.1-x86_64-1_slack15.0.txz
--rw-r--r-- 1 root root 163 2024-01-17 20:14 ./patches/packages/seamonkey-2.53.18.1-x86_64-1_slack15.0.txz.asc
+-rw-r--r-- 1 root root 392 2024-03-28 18:30 ./patches/packages/seamonkey-2.53.18.2-x86_64-1_slack15.0.txt
+-rw-r--r-- 1 root root 39376108 2024-03-28 18:30 ./patches/packages/seamonkey-2.53.18.2-x86_64-1_slack15.0.txz
+-rw-r--r-- 1 root root 195 2024-03-28 18:30 ./patches/packages/seamonkey-2.53.18.2-x86_64-1_slack15.0.txz.asc
-rw-r--r-- 1 root root 442 2023-12-30 19:25 ./patches/packages/sudo-1.9.15p5-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 1307496 2023-12-30 19:25 ./patches/packages/sudo-1.9.15p5-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2023-12-30 19:25 ./patches/packages/sudo-1.9.15p5-x86_64-1_slack15.0.txz.asc
@@ -1153,9 +1156,9 @@ drwxr-xr-x 2 root root 4096 2023-11-21 21:09 ./patches/packages/old-linux
-rw-r--r-- 1 root root 508 2023-05-23 19:35 ./patches/packages/texlive-2023.230322-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 68289104 2023-05-23 19:35 ./patches/packages/texlive-2023.230322-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2023-05-23 19:35 ./patches/packages/texlive-2023.230322-x86_64-1_slack15.0.txz.asc
--rw-r--r-- 1 root root 354 2023-10-17 18:36 ./patches/packages/util-linux-2.37.4-x86_64-2_slack15.0.txt
--rw-r--r-- 1 root root 2804320 2023-10-17 18:36 ./patches/packages/util-linux-2.37.4-x86_64-2_slack15.0.txz
--rw-r--r-- 1 root root 163 2023-10-17 18:36 ./patches/packages/util-linux-2.37.4-x86_64-2_slack15.0.txz.asc
+-rw-r--r-- 1 root root 354 2024-03-28 19:01 ./patches/packages/util-linux-2.37.4-x86_64-3_slack15.0.txt
+-rw-r--r-- 1 root root 2804816 2024-03-28 19:01 ./patches/packages/util-linux-2.37.4-x86_64-3_slack15.0.txz
+-rw-r--r-- 1 root root 195 2024-03-28 19:01 ./patches/packages/util-linux-2.37.4-x86_64-3_slack15.0.txz.asc
-rw-r--r-- 1 root root 407 2023-11-24 19:00 ./patches/packages/vim-9.0.2127-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 8715316 2023-11-24 19:00 ./patches/packages/vim-9.0.2127-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2023-11-24 19:00 ./patches/packages/vim-9.0.2127-x86_64-1_slack15.0.txz.asc
@@ -1213,7 +1216,7 @@ drwxr-xr-x 2 root root 4096 2023-11-21 21:09 ./patches/packages/old-linux
-rw-r--r-- 1 root root 463 2023-04-05 18:16 ./patches/packages/zstd-1.5.5-x86_64-1_slack15.0.txt
-rw-r--r-- 1 root root 459652 2023-04-05 18:16 ./patches/packages/zstd-1.5.5-x86_64-1_slack15.0.txz
-rw-r--r-- 1 root root 163 2023-04-05 18:16 ./patches/packages/zstd-1.5.5-x86_64-1_slack15.0.txz.asc
-drwxr-xr-x 110 root root 4096 2024-03-27 18:48 ./patches/source
+drwxr-xr-x 111 root root 4096 2024-03-29 02:25 ./patches/source
drwxr-xr-x 2 root root 4096 2023-09-26 19:22 ./patches/source/Cython
-rw-r--r-- 1 root root 1623580 2023-07-04 19:24 ./patches/source/Cython/Cython-0.29.36.tar.lz
-rwxr-xr-x 1 root root 3041 2023-09-26 19:23 ./patches/source/Cython/Cython.SlackBuild
@@ -1301,6 +1304,18 @@ drwxr-xr-x 2 root root 4096 2024-02-16 19:46 ./patches/source/ca-certific
-rw-r--r-- 1 root root 128 2012-09-11 21:12 ./patches/source/ca-certificates/setup.11.cacerts
-rw-r--r-- 1 root root 829 2019-02-26 23:30 ./patches/source/ca-certificates/slack-desc
-rw-r--r-- 1 root root 229 2019-02-26 20:33 ./patches/source/ca-certificates/update-ca-certificates.c_rehash.diff.gz
+drwxr-xr-x 2 root root 4096 2024-03-29 01:28 ./patches/source/coreutils
+-rw-r--r-- 1 root root 1735 2021-09-27 17:36 ./patches/source/coreutils/DIR_COLORS.gz
+-rw-r--r-- 1 root root 6007136 2024-03-28 15:20 ./patches/source/coreutils/coreutils-9.5.tar.xz
+-rw-r--r-- 1 root root 833 2024-03-28 15:20 ./patches/source/coreutils/coreutils-9.5.tar.xz.sig
+-rw-r--r-- 1 root root 633 2017-11-28 22:34 ./patches/source/coreutils/coreutils-dircolors.csh.gz
+-rw-r--r-- 1 root root 754 2017-11-28 22:35 ./patches/source/coreutils/coreutils-dircolors.sh.gz
+-rwxr-xr-x 1 root root 8180 2024-03-29 02:20 ./patches/source/coreutils/coreutils.SlackBuild
+-rw-r--r-- 1 root root 1522 2022-04-17 18:30 ./patches/source/coreutils/coreutils.uname.diff.gz
+-rw-r--r-- 1 root root 212 2023-08-29 18:25 ./patches/source/coreutils/coreutils.wc.noavx2.diff.gz
+-rw-r--r-- 1 root root 327 2016-01-29 19:35 ./patches/source/coreutils/doinst.sh.gz
+-rw-r--r-- 1 root root 237 2021-09-25 00:47 ./patches/source/coreutils/no_ls_quoting.patch.gz
+-rw-r--r-- 1 root root 980 2018-02-27 06:13 ./patches/source/coreutils/slack-desc
drwxr-xr-x 2 root root 4096 2023-09-20 19:08 ./patches/source/cups
drwxr-xr-x 2 root root 4096 2023-05-19 18:08 ./patches/source/cups-filters
-rw-r--r-- 1 root root 1831 2023-05-19 18:08 ./patches/source/cups-filters/CVE-2023-24805.patch.gz
@@ -2114,14 +2129,14 @@ drwxr-xr-x 2 root root 4096 2022-12-20 20:09 ./patches/source/sdl
-rw-r--r-- 1 root root 407 2013-01-27 19:16 ./patches/source/sdl/sdl-1.2.14-fix-mouse-clicking.patch.gz
-rwxr-xr-x 1 root root 9039 2022-12-20 20:17 ./patches/source/sdl/sdl.SlackBuild
-rw-r--r-- 1 root root 931 2018-02-27 06:12 ./patches/source/sdl/slack-desc
-drwxr-xr-x 3 root root 4096 2024-01-17 19:42 ./patches/source/seamonkey
+drwxr-xr-x 3 root root 4096 2024-03-28 18:08 ./patches/source/seamonkey
drwxr-xr-x 2 root root 4096 2016-07-03 18:05 ./patches/source/seamonkey/autoconf
-rw-r--r-- 1 root root 5869 2016-07-03 18:04 ./patches/source/seamonkey/autoconf/autoconf-2.13-consolidated_fixes-1.patch.gz
-rw-r--r-- 1 root root 300116 1999-01-15 21:03 ./patches/source/seamonkey/autoconf/autoconf-2.13.tar.xz
-rwxr-xr-x 1 root root 2632 2016-07-03 18:50 ./patches/source/seamonkey/autoconf/autoconf.build
-rw-r--r-- 1 root root 248 2019-09-08 19:23 ./patches/source/seamonkey/doinst.sh.gz
-rw-r--r-- 1 root root 238 2023-07-31 20:31 ./patches/source/seamonkey/double_t.x86.diff.gz
--rw-r--r-- 1 root root 252530876 2024-01-16 02:39 ./patches/source/seamonkey/seamonkey-2.53.18.1.source.tar.xz
+-rw-r--r-- 1 root root 252310768 2024-03-27 08:15 ./patches/source/seamonkey/seamonkey-2.53.18.2.source.tar.xz
-rw-r--r-- 1 root root 12796 2006-02-09 03:17 ./patches/source/seamonkey/seamonkey-icon.png
-rw-r--r-- 1 root root 185 2006-02-09 03:40 ./patches/source/seamonkey/seamonkey-mail-icon.png
-rw-r--r-- 1 root root 211 2021-07-13 20:11 ./patches/source/seamonkey/seamonkey-mail.desktop
@@ -2168,7 +2183,11 @@ drwxr-xr-x 2 root root 4096 2023-03-22 07:06 ./patches/source/texlive/pre
-rwxr-xr-x 1 root root 6995 2023-05-23 19:28 ./patches/source/texlive/texlive.SlackBuild
-rw-r--r-- 1 root root 334 2023-05-23 19:26 ./patches/source/texlive/texlive.unicode5.0.diff.gz
-rw-r--r-- 1 root root 150 2023-03-22 07:44 ./patches/source/texlive/texlive.url
-drwxr-xr-x 4 root root 4096 2023-10-17 18:35 ./patches/source/util-linux
+drwxr-xr-x 4 root root 4096 2024-03-28 19:00 ./patches/source/util-linux
+-rw-rw-r-- 1 root root 2652 2024-03-22 12:24 ./patches/source/util-linux/CVE-2024-28085-pre1.patch.gz
+-rw-rw-r-- 1 root root 1948 2024-03-22 12:24 ./patches/source/util-linux/CVE-2024-28085-pre2.patch.gz
+-rw-rw-r-- 1 root root 2908 2024-03-22 12:24 ./patches/source/util-linux/CVE-2024-28085-pre3.patch.gz
+-rw-rw-r-- 1 root root 464 2024-03-22 12:24 ./patches/source/util-linux/CVE-2024-28085.patch.gz
-rw-r--r-- 1 root root 53236 2011-07-12 20:47 ./patches/source/util-linux/adjtimex_1.29-2.2.diff.gz
-rw-r--r-- 1 root root 85551 2010-04-17 03:32 ./patches/source/util-linux/adjtimex_1.29.orig.tar.gz
-rw-r--r-- 1 root root 434 2014-10-30 15:31 ./patches/source/util-linux/bsdstrings-util-linux_overflow.diff.gz
@@ -2194,7 +2213,7 @@ drwxr-xr-x 2 root root 4096 2020-05-08 19:39 ./patches/source/util-linux/
-rw-r--r-- 1 root root 170 2020-02-13 19:17 ./patches/source/util-linux/su.default
-rw-r--r-- 1 root root 833 2022-02-14 11:01 ./patches/source/util-linux/util-linux-2.37.4.tar.sign
-rw-r--r-- 1 root root 6114232 2022-02-14 11:01 ./patches/source/util-linux/util-linux-2.37.4.tar.xz
--rwxr-xr-x 1 root root 12442 2023-10-17 18:34 ./patches/source/util-linux/util-linux.SlackBuild
+-rwxr-xr-x 1 root root 12742 2024-03-28 19:00 ./patches/source/util-linux/util-linux.SlackBuild
-rw-r--r-- 1 root root 275 2019-01-02 21:53 ./patches/source/util-linux/util-linux.do.not.list.ram.devices.diff.gz
-rw-r--r-- 1 root root 335 2014-07-03 08:34 ./patches/source/util-linux/util-linux.fdisk-no-solaris.diff.gz
-rw-r--r-- 1 root root 10292 2009-05-30 01:25 ./patches/source/util-linux/ziptool-1.4.0.tar.xz
@@ -2628,29 +2647,29 @@ drwxr-xr-x 2 root root 20480 2022-02-02 08:24 ./slackware64/a
-rw-r--r-- 1 root root 163 2021-11-03 00:56 ./slackware64/a/libpwquality-1.4.4-x86_64-6.txz.asc
-rw-r--r-- 1 root root 591 2021-02-13 11:09 ./slackware64/a/lilo-24.2-x86_64-12.txt
-rw-r--r-- 1 root root 431340 2021-02-13 11:09 ./slackware64/a/lilo-24.2-x86_64-12.txz
--rw-r--r-- 1 root root 163 2021-02-13 11:09 ./slackware64/a/lilo-24.2-x86_64-12.txz.asc
--rw-r--r-- 1 root root 580 2021-05-21 18:56 ./slackware64/a/logrotate-3.18.1-x86_64-1.txt
--rw-r--r-- 1 root root 58984 2021-05-21 18:56 ./slackware64/a/logrotate-3.18.1-x86_64-1.txz
--rw-r--r-- 1 root root 163 2021-05-21 18:56 ./slackware64/a/logrotate-3.18.1-x86_64-1.txz.asc
--rw-r--r-- 1 root root 445 2021-03-08 18:58 ./slackware64/a/lrzip-0.641-x86_64-1.txt
--rw-r--r-- 1 root root 217872 2021-03-08 18:58 ./slackware64/a/lrzip-0.641-x86_64-1.txz
--rw-r--r-- 1 root root 163 2021-03-08 18:58 ./slackware64/a/lrzip-0.641-x86_64-1.txz.asc
--rw-r--r-- 1 root root 555 2021-08-12 19:27 ./slackware64/a/lvm2-2.03.13-x86_64-1.txt
--rw-r--r-- 1 root root 1615648 2021-08-12 19:27 ./slackware64/a/lvm2-2.03.13-x86_64-1.txz
--rw-r--r-- 1 root root 163 2021-08-12 19:27 ./slackware64/a/lvm2-2.03.13-x86_64-1.txz.asc
--rw-r--r-- 1 root root 441 2021-02-13 11:10 ./slackware64/a/lzip-1.22-x86_64-3.txt
--rw-r--r-- 1 root root 85204 2021-02-13 11:10 ./slackware64/a/lzip-1.22-x86_64-3.txz
--rw-r--r-- 1 root root 163 2021-02-13 11:10 ./slackware64/a/lzip-1.22-x86_64-3.txz.asc
--rw-r--r-- 1 root root 405 2022-01-27 19:11 ./slackware64/a/lzlib-1.13-x86_64-1.txt
--rw-r--r-- 1 root root 58460 2022-01-27 19:11 ./slackware64/a/lzlib-1.13-x86_64-1.txz
--rw-r--r-- 1 root root 163 2022-01-27 19:11 ./slackware64/a/lzlib-1.13-x86_64-1.txz.asc
--rw-r--r-- 1 root root 9806 2022-02-02 08:11 ./slackware64/a/maketag
--rw-r--r-- 1 root root 9806 2022-02-02 08:11 ./slackware64/a/maketag.ez
--rw-r--r-- 1 root root 591 2021-12-10 20:45 ./slackware64/a/mcelog-180-x86_64-1.txt
--rw-r--r-- 1 root root 349496 2021-12-10 20:45 ./slackware64/a/mcelog-180-x86_64-1.txz
--rw-r--r-- 1 root root 163 2021-12-10 20:45 ./slackware64/a/mcelog-180-x86_64-1.txz.asc
--rw-r--r-- 1 root root 470 2022-01-02 00:40 ./slackware64/a/mdadm-4.2-x86_64-1.txt
--rw-r--r-- 1 root root 359540 2022-01-02 00:40 ./slackware64/a/mdadm-4.2-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2021-02-13 11:09 ./slackware64/a/lilo-24.2-x86_64-12.txz.asc
+-rw-r--r-- 1 root root 580 2021-05-21 18:56 ./slackware64/a/logrotate-3.18.1-x86_64-1.txt
+-rw-r--r-- 1 root root 58984 2021-05-21 18:56 ./slackware64/a/logrotate-3.18.1-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2021-05-21 18:56 ./slackware64/a/logrotate-3.18.1-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 445 2021-03-08 18:58 ./slackware64/a/lrzip-0.641-x86_64-1.txt
+-rw-r--r-- 1 root root 217872 2021-03-08 18:58 ./slackware64/a/lrzip-0.641-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2021-03-08 18:58 ./slackware64/a/lrzip-0.641-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 555 2021-08-12 19:27 ./slackware64/a/lvm2-2.03.13-x86_64-1.txt
+-rw-r--r-- 1 root root 1615648 2021-08-12 19:27 ./slackware64/a/lvm2-2.03.13-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2021-08-12 19:27 ./slackware64/a/lvm2-2.03.13-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 441 2021-02-13 11:10 ./slackware64/a/lzip-1.22-x86_64-3.txt
+-rw-r--r-- 1 root root 85204 2021-02-13 11:10 ./slackware64/a/lzip-1.22-x86_64-3.txz
+-rw-r--r-- 1 root root 163 2021-02-13 11:10 ./slackware64/a/lzip-1.22-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 405 2022-01-27 19:11 ./slackware64/a/lzlib-1.13-x86_64-1.txt
+-rw-r--r-- 1 root root 58460 2022-01-27 19:11 ./slackware64/a/lzlib-1.13-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2022-01-27 19:11 ./slackware64/a/lzlib-1.13-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 9806 2022-02-02 08:11 ./slackware64/a/maketag
+-rw-r--r-- 1 root root 9806 2022-02-02 08:11 ./slackware64/a/maketag.ez
+-rw-r--r-- 1 root root 591 2021-12-10 20:45 ./slackware64/a/mcelog-180-x86_64-1.txt
+-rw-r--r-- 1 root root 349496 2021-12-10 20:45 ./slackware64/a/mcelog-180-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2021-12-10 20:45 ./slackware64/a/mcelog-180-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 470 2022-01-02 00:40 ./slackware64/a/mdadm-4.2-x86_64-1.txt
+-rw-r--r-- 1 root root 359540 2022-01-02 00:40 ./slackware64/a/mdadm-4.2-x86_64-1.txz
-rw-r--r-- 1 root root 163 2022-01-02 00:40 ./slackware64/a/mdadm-4.2-x86_64-1.txz.asc
-rw-r--r-- 1 root root 378 2021-02-13 11:11 ./slackware64/a/minicom-2.8-x86_64-3.txt
-rw-r--r-- 1 root root 313728 2021-02-13 11:11 ./slackware64/a/minicom-2.8-x86_64-3.txz
@@ -5382,24 +5401,24 @@ drwxr-xr-x 2 root root 69632 2022-02-02 04:20 ./slackware64/l
-rw-r--r-- 1 root root 526 2021-11-03 00:43 ./slackware64/l/python-pillow-8.4.0-x86_64-2.txt
-rw-r--r-- 1 root root 679164 2021-11-03 00:43 ./slackware64/l/python-pillow-8.4.0-x86_64-2.txz
-rw-r--r-- 1 root root 163 2021-11-03 00:43 ./slackware64/l/python-pillow-8.4.0-x86_64-2.txz.asc
--rw-r--r-- 1 root root 280 2021-11-03 00:43 ./slackware64/l/python-ply-3.11-x86_64-8.txt
--rw-r--r-- 1 root root 71828 2021-11-03 00:43 ./slackware64/l/python-ply-3.11-x86_64-8.txz
--rw-r--r-- 1 root root 163 2021-11-03 00:43 ./slackware64/l/python-ply-3.11-x86_64-8.txz.asc
--rw-r--r-- 1 root root 456 2021-11-06 16:58 ./slackware64/l/python-pycparser-2.21-x86_64-1.txt
--rw-r--r-- 1 root root 173496 2021-11-06 16:58 ./slackware64/l/python-pycparser-2.21-x86_64-1.txz
--rw-r--r-- 1 root root 163 2021-11-06 16:58 ./slackware64/l/python-pycparser-2.21-x86_64-1.txz.asc
--rw-r--r-- 1 root root 481 2021-11-03 00:43 ./slackware64/l/python-pygments-2.10.0-x86_64-3.txt
--rw-r--r-- 1 root root 1318468 2021-11-03 00:43 ./slackware64/l/python-pygments-2.10.0-x86_64-3.txz
--rw-r--r-- 1 root root 163 2021-11-03 00:43 ./slackware64/l/python-pygments-2.10.0-x86_64-3.txz.asc
--rw-r--r-- 1 root root 508 2021-11-03 00:43 ./slackware64/l/python-pysol_cards-0.12.0-x86_64-2.txt
--rw-r--r-- 1 root root 20056 2021-11-03 00:43 ./slackware64/l/python-pysol_cards-0.12.0-x86_64-2.txz
--rw-r--r-- 1 root root 163 2021-11-03 00:43 ./slackware64/l/python-pysol_cards-0.12.0-x86_64-2.txz.asc
--rw-r--r-- 1 root root 361 2021-11-03 00:43 ./slackware64/l/python-random2-1.0.1-x86_64-5.txt
--rw-r--r-- 1 root root 17600 2021-11-03 00:43 ./slackware64/l/python-random2-1.0.1-x86_64-5.txz
--rw-r--r-- 1 root root 163 2021-11-03 00:43 ./slackware64/l/python-random2-1.0.1-x86_64-5.txz.asc
--rw-r--r-- 1 root root 599 2021-11-03 00:43 ./slackware64/l/python-requests-2.26.0-x86_64-3.txt
--rw-r--r-- 1 root root 85912 2021-11-03 00:43 ./slackware64/l/python-requests-2.26.0-x86_64-3.txz
--rw-r--r-- 1 root root 163 2021-11-03 00:43 ./slackware64/l/python-requests-2.26.0-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 280 2021-11-03 00:43 ./slackware64/l/python-ply-3.11-x86_64-8.txt
+-rw-r--r-- 1 root root 71828 2021-11-03 00:43 ./slackware64/l/python-ply-3.11-x86_64-8.txz
+-rw-r--r-- 1 root root 163 2021-11-03 00:43 ./slackware64/l/python-ply-3.11-x86_64-8.txz.asc
+-rw-r--r-- 1 root root 456 2021-11-06 16:58 ./slackware64/l/python-pycparser-2.21-x86_64-1.txt
+-rw-r--r-- 1 root root 173496 2021-11-06 16:58 ./slackware64/l/python-pycparser-2.21-x86_64-1.txz
+-rw-r--r-- 1 root root 163 2021-11-06 16:58 ./slackware64/l/python-pycparser-2.21-x86_64-1.txz.asc
+-rw-r--r-- 1 root root 481 2021-11-03 00:43 ./slackware64/l/python-pygments-2.10.0-x86_64-3.txt
+-rw-r--r-- 1 root root 1318468 2021-11-03 00:43 ./slackware64/l/python-pygments-2.10.0-x86_64-3.txz
+-rw-r--r-- 1 root root 163 2021-11-03 00:43 ./slackware64/l/python-pygments-2.10.0-x86_64-3.txz.asc
+-rw-r--r-- 1 root root 508 2021-11-03 00:43 ./slackware64/l/python-pysol_cards-0.12.0-x86_64-2.txt
+-rw-r--r-- 1 root root 20056 2021-11-03 00:43 ./slackware64/l/python-pysol_cards-0.12.0-x86_64-2.txz
+-rw-r--r-- 1 root root 163 2021-11-03 00:43 ./slackware64/l/python-pysol_cards-0.12.0-x86_64-2.txz.asc
+-rw-r--r-- 1 root root 361 2021-11-03 00:43 ./slackware64/l/python-random2-1.0.1-x86_64-5.txt
+-rw-r--r-- 1 root root 17600 2021-11-03 00:43 ./slackware64/l/python-random2-1.0.1-x86_64-5.txz
+-rw-r--r-- 1 root root 163 2021-11-03 00:43 ./slackware64/l/python-random2-1.0.1-x86_64-5.txz.asc
+-rw-r--r-- 1 root root 599 2021-11-03 00:43 ./slackware64/l/python-requests-2.26.0-x86_64-3.txt
+-rw-r--r-- 1 root root 85912 2021-11-03 00:43 ./slackware64/l/python-requests-2.26.0-x86_64-3.txz
+-rw-r--r-- 1 root root 163 2021-11-03 00:43 ./slackware64/l/python-requests-2.26.0-x86_64-3.txz.asc
-rw-r--r-- 1 root root 328 2021-11-03 00:43 ./slackware64/l/python-sane-2.9.1-x86_64-5.txt
-rw-r--r-- 1 root root 18720 2021-11-03 00:43 ./slackware64/l/python-sane-2.9.1-x86_64-5.txz
-rw-r--r-- 1 root root 163 2021-11-03 00:43 ./slackware64/l/python-sane-2.9.1-x86_64-5.txz.asc
@@ -8335,29 +8354,29 @@ drwxr-xr-x 2 root root 4096 2020-05-08 19:39 ./source/a/util-linux/pam.d-s
-rw-r--r-- 1 root root 1014 2020-06-18 21:01 ./source/a/util-linux/pam.d/login
-rw-r--r-- 1 root root 200 2020-02-19 19:26 ./source/a/util-linux/pam.d/runuser
-rw-r--r-- 1 root root 150 2020-02-19 19:26 ./source/a/util-linux/pam.d/runuser-l
--rw-r--r-- 1 root root 483 2019-01-08 18:50 ./source/a/util-linux/rc.setterm
--rw-r--r-- 1 root root 1266 2009-05-30 01:25 ./source/a/util-linux/scsi_ioctl.h
--rw-r--r-- 1 root root 52437 2009-05-30 01:25 ./source/a/util-linux/setserial-2.17.tar.gz
--rw-r--r-- 1 root root 729 2009-05-30 01:25 ./source/a/util-linux/setserial-rc.serial.diff.gz
--rw-r--r-- 1 root root 376 2010-03-30 04:06 ./source/a/util-linux/setserial-undef_TIOCGHAYESESP.diff.gz
--rw-r--r-- 1 root root 806 2020-01-21 18:04 ./source/a/util-linux/slack-desc
--rw-r--r-- 1 root root 170 2020-02-13 19:17 ./source/a/util-linux/su.default
--rw-r--r-- 1 root root 833 2022-01-24 11:02 ./source/a/util-linux/util-linux-2.37.3.tar.sign
--rw-r--r-- 1 root root 6126260 2022-01-24 11:02 ./source/a/util-linux/util-linux-2.37.3.tar.xz
--rwxr-xr-x 1 root root 12124 2022-01-24 18:02 ./source/a/util-linux/util-linux.SlackBuild
--rw-r--r-- 1 root root 275 2019-01-02 21:53 ./source/a/util-linux/util-linux.do.not.list.ram.devices.diff.gz
--rw-r--r-- 1 root root 335 2014-07-03 08:34 ./source/a/util-linux/util-linux.fdisk-no-solaris.diff.gz
--rw-r--r-- 1 root root 10292 2009-05-30 01:25 ./source/a/util-linux/ziptool-1.4.0.tar.xz
--rw-r--r-- 1 root root 386 2009-05-30 01:25 ./source/a/util-linux/ziptool-fix_build.patch.gz
-drwxr-xr-x 2 root root 4096 2021-11-02 19:02 ./source/a/volume_key
--rw-r--r-- 1 root root 903 2020-10-28 18:58 ./source/a/volume_key/slack-desc
--rw-r--r-- 1 root root 152804 2020-10-28 19:00 ./source/a/volume_key/volume_key-volume_key-0.3.12.tar.lz
--rwxr-xr-x 1 root root 4499 2021-11-02 19:02 ./source/a/volume_key/volume_key.SlackBuild
--rw-r--r-- 1 root root 67 2020-10-28 19:01 ./source/a/volume_key/volume_key.url
-drwxr-xr-x 2 root root 4096 2021-02-13 05:31 ./source/a/which
--rw-r--r-- 1 root root 1032 2018-02-27 06:13 ./source/a/which/slack-desc
--rw-r--r-- 1 root root 149305 2015-03-20 16:38 ./source/a/which/which-2.21.tar.gz
--rw-r--r-- 1 root root 152 2015-03-20 16:38 ./source/a/which/which-2.21.tar.gz.sig
+-rw-r--r-- 1 root root 483 2019-01-08 18:50 ./source/a/util-linux/rc.setterm
+-rw-r--r-- 1 root root 1266 2009-05-30 01:25 ./source/a/util-linux/scsi_ioctl.h
+-rw-r--r-- 1 root root 52437 2009-05-30 01:25 ./source/a/util-linux/setserial-2.17.tar.gz
+-rw-r--r-- 1 root root 729 2009-05-30 01:25 ./source/a/util-linux/setserial-rc.serial.diff.gz
+-rw-r--r-- 1 root root 376 2010-03-30 04:06 ./source/a/util-linux/setserial-undef_TIOCGHAYESESP.diff.gz
+-rw-r--r-- 1 root root 806 2020-01-21 18:04 ./source/a/util-linux/slack-desc
+-rw-r--r-- 1 root root 170 2020-02-13 19:17 ./source/a/util-linux/su.default
+-rw-r--r-- 1 root root 833 2022-01-24 11:02 ./source/a/util-linux/util-linux-2.37.3.tar.sign
+-rw-r--r-- 1 root root 6126260 2022-01-24 11:02 ./source/a/util-linux/util-linux-2.37.3.tar.xz
+-rwxr-xr-x 1 root root 12124 2022-01-24 18:02 ./source/a/util-linux/util-linux.SlackBuild
+-rw-r--r-- 1 root root 275 2019-01-02 21:53 ./source/a/util-linux/util-linux.do.not.list.ram.devices.diff.gz
+-rw-r--r-- 1 root root 335 2014-07-03 08:34 ./source/a/util-linux/util-linux.fdisk-no-solaris.diff.gz
+-rw-r--r-- 1 root root 10292 2009-05-30 01:25 ./source/a/util-linux/ziptool-1.4.0.tar.xz
+-rw-r--r-- 1 root root 386 2009-05-30 01:25 ./source/a/util-linux/ziptool-fix_build.patch.gz
+drwxr-xr-x 2 root root 4096 2021-11-02 19:02 ./source/a/volume_key
+-rw-r--r-- 1 root root 903 2020-10-28 18:58 ./source/a/volume_key/slack-desc
+-rw-r--r-- 1 root root 152804 2020-10-28 19:00 ./source/a/volume_key/volume_key-volume_key-0.3.12.tar.lz
+-rwxr-xr-x 1 root root 4499 2021-11-02 19:02 ./source/a/volume_key/volume_key.SlackBuild
+-rw-r--r-- 1 root root 67 2020-10-28 19:01 ./source/a/volume_key/volume_key.url
+drwxr-xr-x 2 root root 4096 2021-02-13 05:31 ./source/a/which
+-rw-r--r-- 1 root root 1032 2018-02-27 06:13 ./source/a/which/slack-desc
+-rw-r--r-- 1 root root 149305 2015-03-20 16:38 ./source/a/which/which-2.21.tar.gz
+-rw-r--r-- 1 root root 152 2015-03-20 16:38 ./source/a/which/which-2.21.tar.gz.sig
-rwxr-xr-x 1 root root 3493 2021-02-13 05:31 ./source/a/which/which.SlackBuild
drwxr-xr-x 2 root root 4096 2021-08-21 18:50 ./source/a/xfsprogs
-rw-r--r-- 1 root root 950 2018-02-27 06:13 ./source/a/xfsprogs/slack-desc
@@ -11350,22 +11369,22 @@ drwxr-xr-x 2 root root 4096 2022-01-25 19:26 ./source/kde/kde/src/plasma-e
-rw-r--r-- 1 root root 833 2022-01-04 10:05 ./source/kde/kde/src/plasma/plasma-integration-5.23.5.tar.xz.sig
-rw-r--r-- 1 root root 65640 2022-01-04 10:05 ./source/kde/kde/src/plasma/plasma-nano-5.23.5.tar.xz
-rw-r--r-- 1 root root 833 2022-01-04 10:05 ./source/kde/kde/src/plasma/plasma-nano-5.23.5.tar.xz.sig
--rw-r--r-- 1 root root 924156 2022-01-04 10:06 ./source/kde/kde/src/plasma/plasma-nm-5.23.5.tar.xz
--rw-r--r-- 1 root root 833 2022-01-04 10:06 ./source/kde/kde/src/plasma/plasma-nm-5.23.5.tar.xz.sig
--rw-r--r-- 1 root root 130888 2022-01-04 10:06 ./source/kde/kde/src/plasma/plasma-pa-5.23.5.tar.xz
--rw-r--r-- 1 root root 833 2022-01-04 10:06 ./source/kde/kde/src/plasma/plasma-pa-5.23.5.tar.xz.sig
--rw-r--r-- 1 root root 1522656 2022-01-04 10:07 ./source/kde/kde/src/plasma/plasma-phone-components-5.23.5.tar.xz
--rw-r--r-- 1 root root 833 2022-01-04 10:07 ./source/kde/kde/src/plasma/plasma-phone-components-5.23.5.tar.xz.sig
--rw-r--r-- 1 root root 276324 2022-01-04 10:07 ./source/kde/kde/src/plasma/plasma-sdk-5.23.5.tar.xz
--rw-r--r-- 1 root root 833 2022-01-04 10:07 ./source/kde/kde/src/plasma/plasma-sdk-5.23.5.tar.xz.sig
--rw-r--r-- 1 root root 144876 2022-01-04 10:07 ./source/kde/kde/src/plasma/plasma-systemmonitor-5.23.5.tar.xz
--rw-r--r-- 1 root root 833 2022-01-04 10:07 ./source/kde/kde/src/plasma/plasma-systemmonitor-5.23.5.tar.xz.sig
--rw-r--r-- 1 root root 1536 2022-01-04 10:08 ./source/kde/kde/src/plasma/plasma-tests-5.23.5.tar.xz
--rw-r--r-- 1 root root 833 2022-01-04 10:08 ./source/kde/kde/src/plasma/plasma-tests-5.23.5.tar.xz.sig
--rw-r--r-- 1 root root 64968 2022-01-04 10:08 ./source/kde/kde/src/plasma/plasma-thunderbolt-5.23.5.tar.xz
--rw-r--r-- 1 root root 833 2022-01-04 10:08 ./source/kde/kde/src/plasma/plasma-thunderbolt-5.23.5.tar.xz.sig
--rw-r--r-- 1 root root 176288 2022-01-04 10:08 ./source/kde/kde/src/plasma/plasma-vault-5.23.5.tar.xz
--rw-r--r-- 1 root root 833 2022-01-04 10:08 ./source/kde/kde/src/plasma/plasma-vault-5.23.5.tar.xz.sig
+-rw-r--r-- 1 root root 924156 2022-01-04 10:06 ./source/kde/kde/src/plasma/plasma-nm-5.23.5.tar.xz
+-rw-r--r-- 1 root root 833 2022-01-04 10:06 ./source/kde/kde/src/plasma/plasma-nm-5.23.5.tar.xz.sig
+-rw-r--r-- 1 root root 130888 2022-01-04 10:06 ./source/kde/kde/src/plasma/plasma-pa-5.23.5.tar.xz
+-rw-r--r-- 1 root root 833 2022-01-04 10:06 ./source/kde/kde/src/plasma/plasma-pa-5.23.5.tar.xz.sig
+-rw-r--r-- 1 root root 1522656 2022-01-04 10:07 ./source/kde/kde/src/plasma/plasma-phone-components-5.23.5.tar.xz
+-rw-r--r-- 1 root root 833 2022-01-04 10:07 ./source/kde/kde/src/plasma/plasma-phone-components-5.23.5.tar.xz.sig
+-rw-r--r-- 1 root root 276324 2022-01-04 10:07 ./source/kde/kde/src/plasma/plasma-sdk-5.23.5.tar.xz
+-rw-r--r-- 1 root root 833 2022-01-04 10:07 ./source/kde/kde/src/plasma/plasma-sdk-5.23.5.tar.xz.sig
+-rw-r--r-- 1 root root 144876 2022-01-04 10:07 ./source/kde/kde/src/plasma/plasma-systemmonitor-5.23.5.tar.xz
+-rw-r--r-- 1 root root 833 2022-01-04 10:07 ./source/kde/kde/src/plasma/plasma-systemmonitor-5.23.5.tar.xz.sig
+-rw-r--r-- 1 root root 1536 2022-01-04 10:08 ./source/kde/kde/src/plasma/plasma-tests-5.23.5.tar.xz
+-rw-r--r-- 1 root root 833 2022-01-04 10:08 ./source/kde/kde/src/plasma/plasma-tests-5.23.5.tar.xz.sig
+-rw-r--r-- 1 root root 64968 2022-01-04 10:08 ./source/kde/kde/src/plasma/plasma-thunderbolt-5.23.5.tar.xz
+-rw-r--r-- 1 root root 833 2022-01-04 10:08 ./source/kde/kde/src/plasma/plasma-thunderbolt-5.23.5.tar.xz.sig
+-rw-r--r-- 1 root root 176288 2022-01-04 10:08 ./source/kde/kde/src/plasma/plasma-vault-5.23.5.tar.xz
+-rw-r--r-- 1 root root 833 2022-01-04 10:08 ./source/kde/kde/src/plasma/plasma-vault-5.23.5.tar.xz.sig
-rw-r--r-- 1 root root 9010724 2022-01-04 10:10 ./source/kde/kde/src/plasma/plasma-workspace-5.23.5.tar.xz
-rw-r--r-- 1 root root 833 2022-01-04 10:10 ./source/kde/kde/src/plasma/plasma-workspace-5.23.5.tar.xz.sig
-rw-r--r-- 1 root root 57049508 2022-01-04 10:11 ./source/kde/kde/src/plasma/plasma-workspace-wallpapers-5.23.5.tar.xz
@@ -14832,32 +14851,32 @@ drwxr-xr-x 2 root root 4096 2021-02-13 05:32 ./source/x/ibus-unikey
-rwxr-xr-x 1 root root 3717 2021-02-13 05:32 ./source/x/ibus-unikey/ibus-unikey.SlackBuild
-rw-r--r-- 1 root root 784 2020-11-22 20:12 ./source/x/ibus-unikey/slack-desc
-rw-r--r-- 1 root root 561 2021-11-18 17:59 ./source/x/ibus/571e3b6e4f386abf12d3db70b9468e092c8d72bd.patch.gz
--rw-r--r-- 1 root root 4318 2019-07-10 18:25 ./source/x/ibus/Blocks.txt.gz
--rw-r--r-- 1 root root 370924 2020-02-24 21:51 ./source/x/ibus/NamesList.txt.gz
--rw-r--r-- 1 root root 191 2017-03-18 18:15 ./source/x/ibus/doinst.sh.gz
--rw-r--r-- 1 root root 38764 2018-02-07 17:26 ./source/x/ibus/emoji-test.txt.gz
--rw-r--r-- 1 root root 1713284 2021-08-20 07:13 ./source/x/ibus/ibus-1.5.25.tar.lz
--rw-r--r-- 1 root root 409 2017-10-03 09:24 ./source/x/ibus/ibus-autostart
--rw-r--r-- 1 root root 710 2017-10-03 09:39 ./source/x/ibus/ibus-autostart-plasma.desktop
--rw-r--r-- 1 root root 740 2017-10-03 09:39 ./source/x/ibus/ibus-autostart.desktop
--rwxr-xr-x 1 root root 4503 2021-11-18 17:59 ./source/x/ibus/ibus.SlackBuild
--rw-r--r-- 1 root root 232 2021-08-21 03:08 ./source/x/ibus/ibus.url
--rw-r--r-- 1 root root 772 2020-11-22 20:12 ./source/x/ibus/slack-desc
-drwxr-xr-x 2 root root 4096 2021-02-13 05:32 ./source/x/intel-vaapi-driver
--rw-r--r-- 1 root root 1570064 2020-06-01 01:17 ./source/x/intel-vaapi-driver/intel-vaapi-driver-2.4.1.tar.lz
--rwxr--r-- 1 root root 3402 2021-02-13 05:32 ./source/x/intel-vaapi-driver/intel-vaapi-driver.SlackBuild
--rw-r--r-- 1 root root 44 2018-12-22 03:16 ./source/x/intel-vaapi-driver/intel-vaapi-driver.url
--rw-r--r-- 1 root root 952 2018-02-27 06:13 ./source/x/intel-vaapi-driver/slack-desc
-drwxr-xr-x 2 root root 4096 2021-02-13 05:32 ./source/x/libXaw3dXft
--rw-r--r-- 1 root root 483878 2020-07-02 21:16 ./source/x/libXaw3dXft/libXaw3dXft-1.6.2h.tar.lz
--rwxr--r-- 1 root root 3420 2021-02-13 05:32 ./source/x/libXaw3dXft/libXaw3dXft.SlackBuild
--rw-r--r-- 1 root root 50 2020-07-02 17:10 ./source/x/libXaw3dXft/libXaw3dXft.url
--rw-r--r-- 1 root root 1015 2018-02-27 06:13 ./source/x/libXaw3dXft/slack-desc
-drwxr-xr-x 2 root root 4096 2021-02-13 05:32 ./source/x/libXcm
--rw-r--r-- 1 root root 262054 2016-12-09 22:32 ./source/x/libXcm/libXcm-0.5.4.tar.lz
--rwxr-xr-x 1 root root 3492 2021-02-13 05:32 ./source/x/libXcm/libXcm.SlackBuild
--rw-r--r-- 1 root root 47 2018-11-11 20:22 ./source/x/libXcm/libXcm.url
--rw-r--r-- 1 root root 766 2018-02-26 22:56 ./source/x/libXcm/slack-desc
+-rw-r--r-- 1 root root 4318 2019-07-10 18:25 ./source/x/ibus/Blocks.txt.gz
+-rw-r--r-- 1 root root 370924 2020-02-24 21:51 ./source/x/ibus/NamesList.txt.gz
+-rw-r--r-- 1 root root 191 2017-03-18 18:15 ./source/x/ibus/doinst.sh.gz
+-rw-r--r-- 1 root root 38764 2018-02-07 17:26 ./source/x/ibus/emoji-test.txt.gz
+-rw-r--r-- 1 root root 1713284 2021-08-20 07:13 ./source/x/ibus/ibus-1.5.25.tar.lz
+-rw-r--r-- 1 root root 409 2017-10-03 09:24 ./source/x/ibus/ibus-autostart
+-rw-r--r-- 1 root root 710 2017-10-03 09:39 ./source/x/ibus/ibus-autostart-plasma.desktop
+-rw-r--r-- 1 root root 740 2017-10-03 09:39 ./source/x/ibus/ibus-autostart.desktop
+-rwxr-xr-x 1 root root 4503 2021-11-18 17:59 ./source/x/ibus/ibus.SlackBuild
+-rw-r--r-- 1 root root 232 2021-08-21 03:08 ./source/x/ibus/ibus.url
+-rw-r--r-- 1 root root 772 2020-11-22 20:12 ./source/x/ibus/slack-desc
+drwxr-xr-x 2 root root 4096 2021-02-13 05:32 ./source/x/intel-vaapi-driver
+-rw-r--r-- 1 root root 1570064 2020-06-01 01:17 ./source/x/intel-vaapi-driver/intel-vaapi-driver-2.4.1.tar.lz
+-rwxr--r-- 1 root root 3402 2021-02-13 05:32 ./source/x/intel-vaapi-driver/intel-vaapi-driver.SlackBuild
+-rw-r--r-- 1 root root 44 2018-12-22 03:16 ./source/x/intel-vaapi-driver/intel-vaapi-driver.url
+-rw-r--r-- 1 root root 952 2018-02-27 06:13 ./source/x/intel-vaapi-driver/slack-desc
+drwxr-xr-x 2 root root 4096 2021-02-13 05:32 ./source/x/libXaw3dXft
+-rw-r--r-- 1 root root 483878 2020-07-02 21:16 ./source/x/libXaw3dXft/libXaw3dXft-1.6.2h.tar.lz
+-rwxr--r-- 1 root root 3420 2021-02-13 05:32 ./source/x/libXaw3dXft/libXaw3dXft.SlackBuild
+-rw-r--r-- 1 root root 50 2020-07-02 17:10 ./source/x/libXaw3dXft/libXaw3dXft.url
+-rw-r--r-- 1 root root 1015 2018-02-27 06:13 ./source/x/libXaw3dXft/slack-desc
+drwxr-xr-x 2 root root 4096 2021-02-13 05:32 ./source/x/libXcm
+-rw-r--r-- 1 root root 262054 2016-12-09 22:32 ./source/x/libXcm/libXcm-0.5.4.tar.lz
+-rwxr-xr-x 1 root root 3492 2021-02-13 05:32 ./source/x/libXcm/libXcm.SlackBuild
+-rw-r--r-- 1 root root 47 2018-11-11 20:22 ./source/x/libXcm/libXcm.url
+-rw-r--r-- 1 root root 766 2018-02-26 22:56 ./source/x/libXcm/slack-desc
drwxr-xr-x 2 root root 4096 2022-01-03 19:53 ./source/x/libdrm
-rw-r--r-- 1 root root 433708 2021-11-25 20:36 ./source/x/libdrm/libdrm-2.4.109.tar.xz
-rw-r--r-- 1 root root 566 2021-11-25 20:36 ./source/x/libdrm/libdrm-2.4.109.tar.xz.sig
diff --git a/patches/packages/coreutils-9.5-x86_64-1_slack15.0.txt b/patches/packages/coreutils-9.5-x86_64-1_slack15.0.txt
new file mode 100644
index 000000000..786768d1b
--- /dev/null
+++ b/patches/packages/coreutils-9.5-x86_64-1_slack15.0.txt
@@ -0,0 +1,11 @@
+coreutils: coreutils (core GNU utilities)
+coreutils:
+coreutils: These are the GNU core utilities, the basic command line programs
+coreutils: such as 'mkdir', 'ls', and 'rm' that are needed for the system to
+coreutils: run. This package is the union of the GNU fileutils, sh-utils, and
+coreutils: textutils packages. Most of these programs have significant
+coreutils: advantages over their Unix counterparts, such as greater speed,
+coreutils: additional options, and fewer arbitrary limits.
+coreutils:
+coreutils:
+coreutils:
diff --git a/patches/packages/seamonkey-2.53.18.1-x86_64-1_slack15.0.txt b/patches/packages/seamonkey-2.53.18.2-x86_64-1_slack15.0.txt
index dad8e1f1b..dad8e1f1b 100644
--- a/patches/packages/seamonkey-2.53.18.1-x86_64-1_slack15.0.txt
+++ b/patches/packages/seamonkey-2.53.18.2-x86_64-1_slack15.0.txt
diff --git a/patches/packages/util-linux-2.37.4-x86_64-2_slack15.0.txt b/patches/packages/util-linux-2.37.4-x86_64-3_slack15.0.txt
index 7e4aa7b72..7e4aa7b72 100644
--- a/patches/packages/util-linux-2.37.4-x86_64-2_slack15.0.txt
+++ b/patches/packages/util-linux-2.37.4-x86_64-3_slack15.0.txt
diff --git a/patches/source/coreutils/DIR_COLORS b/patches/source/coreutils/DIR_COLORS
new file mode 100644
index 000000000..5b97e4a45
--- /dev/null
+++ b/patches/source/coreutils/DIR_COLORS
@@ -0,0 +1,204 @@
+# Configuration file for dircolors, a utility to help you set the
+# LS_COLORS environment variable used by GNU ls with the --color option.
+
+# The keywords COLOR, OPTIONS, and EIGHTBIT (honored by the
+# slackware version of dircolors) are recognized but ignored.
+# (see the scripts in /etc/profile.d/coreutils-dircolors.* to change default
+# options in the Slackware aliases)
+
+# Below, there should be one TERM entry for each termtype that is colorizable
+TERM Eterm
+TERM ansi
+TERM color-xterm
+TERM con132x25
+TERM con132x30
+TERM con132x43
+TERM con132x60
+TERM con80x25
+TERM con80x28
+TERM con80x30
+TERM con80x43
+TERM con80x50
+TERM con80x60
+TERM cons25
+TERM console
+TERM cygwin
+TERM dtterm
+TERM eterm-color
+TERM gnome
+TERM gnome-256color
+TERM jfbterm
+TERM konsole
+TERM kterm
+TERM linux
+TERM linux-c
+TERM mach-color
+TERM mlterm
+TERM putty
+TERM rxvt
+TERM rxvt-256color
+TERM rxvt-cygwin
+TERM rxvt-cygwin-native
+TERM rxvt-unicode
+TERM rxvt-unicode-256color
+TERM rxvt-unicode256
+TERM screen
+TERM screen-256color
+TERM screen-256color-bce
+TERM screen-bce
+TERM screen-w
+TERM screen.linux
+TERM screen.rxvt
+TERM terminator
+TERM tmux
+TERM tmux-256color
+TERM vt100
+TERM xterm
+TERM xterm-16color
+TERM xterm-256color
+TERM xterm-88color
+TERM xterm-color
+TERM xterm-debian
+TERM xterm-new
+
+# Below are the color init strings for the basic file types. A color init
+# string consists of one or more of the following numeric codes:
+# Attribute codes:
+# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
+# Text color codes:
+# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
+# Background color codes:
+# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
+NORMAL 00 # global default, although everything should be something.
+FILE 00 # normal file
+# RESET 0 # reset to "normal" color
+DIR 01;34 # directory
+LINK 01;36 # symbolic link. (If you set this to 'target' instead of a
+ # numerical value, the color is as for the file pointed to.)
+# HARDLINK 44;37 # regular file with more than one link
+FIFO 40;33 # pipe
+SOCK 01;35 # socket
+DOOR 01;35 # door
+BLK 40;33;01 # block device driver
+CHR 40;33;01 # character device driver
+ORPHAN 40;31;01 # symlink to nonexistent file
+SETUID 37;41 # file that is setuid (u+s)
+SETGID 30;43 # file that is setgid (g+s)
+CAPABILITY 30;41 # file with capability
+STICKY_OTHER_WRITABLE 30;42 # dir that is sticky and other-writable (+t,o+w)
+OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky
+STICKY 37;44 # dir with the sticky bit set (+t) and not other-writable
+EXEC 01;32 # This is for files with execute permission:
+
+# List any file extensions like '.gz' or '.tar' that you would like ls
+# to colorize below. Put the extension, a space, and the color init string.
+# (and any comments you want to add after a '#')
+
+# DOS-style executables (bright green)
+.bat 01;32
+.btm 01;32
+.cmd 01;32
+.com 01;32
+.dll 01;32
+.exe 01;32
+
+# archives or compressed (bright red)
+.7z 01;31
+.ace 01;31
+.arj 01;31
+.bz2 01;31
+.cpio 01;31
+.deb 01;31
+.dz 01;31
+.gz 01;31
+.jar 01;31
+.lha 01;31
+.lz 01;31
+.lzh 01;31
+.lzma 01;31
+.rar 01;31
+.rpm 01;31
+.rz 01;31
+.tar 01;31
+.taz 01;31
+.tb2 01;31
+.tbz2 01;31
+.tbz 01;31
+.tgz 01;31
+.tlz 01;31
+.trz 01;31
+.txz 01;31
+.tz 01;31
+.tz2 01;31
+.tzst 01;31
+.xz 01;31
+.z 01;31
+.zip 01;31
+.zoo 01;31
+.zst 01;31
+
+# multimedia (video/image/sound) file formats
+.aac 01;35
+.anx 01;35
+.asf 01;35
+.au 01;35
+.axa 01;35
+.axv 01;35
+.avi 01;35
+.bmp 01;35
+.divx 01;35
+.flac 01;35
+.flv 01;35
+.gif 01;35
+.ico 01;35
+.jpg 01;35
+.jpeg 01;35
+.m2a 01;35
+.m2t 01;35
+.m2v 01;35
+.m4a 01;35
+.m4p 01;35
+.m4v 01;35
+.mid 01;35
+.midi 01;35
+.mka 01;35
+.mkv 01;35
+.mov 01;35
+.mp3 01;35
+.mp4 01;35
+.mp4v 01;35
+.mpc 01;35
+.mpeg 01;35
+.mpg 01;35
+.nuv 01;35
+.oga 01;35
+.ogv 01;35
+.ogx 01;35
+.ogg 01;35
+.opus 01;35
+.pbm 01;35
+.pgm 01;35
+.png 01;35
+.ppm 01;35
+.qt 01;35
+.ra 01;35
+.ram 01;35
+.rm 01;35
+.spx 01;35
+.svg 01;35
+.svgz 01;35
+.tga 01;35
+.tif 01;35
+.tiff 01;35
+.vob 01;35
+.wav 01;35
+.webm 01;35
+.webp 01;35
+.wma 01;35
+.wmv 01;35
+.xbm 01;35
+.xcf 01;35
+.xpm 01;35
+.xspf 01;35
+.xwd 01;35
+.xvid 01;35
diff --git a/patches/source/coreutils/coreutils-dircolors.csh b/patches/source/coreutils/coreutils-dircolors.csh
new file mode 100644
index 000000000..e29f18893
--- /dev/null
+++ b/patches/source/coreutils/coreutils-dircolors.csh
@@ -0,0 +1,41 @@
+# Slackware color ls profile script for /bin/csh-like shells.
+
+# Set up LS_OPTIONS environment variable.
+# This contains extra command line options to use with ls.
+# The default ones are:
+# -F = show '/' for dirs, '*' for executables, etc.
+# -T 0 = don't trust tab spacing when formatting ls output.
+# -b = better support for special characters
+setenv OPTIONS "-F -b -T 0"
+
+# COLOR needs one of these arguments:
+# 'auto' colorizes output to ttys, but not pipes.
+# 'always' adds color characters to all output.
+# 'never' shuts colorization off.
+setenv COLOR auto
+
+# This section shouldn't require any user adjustment since it is
+# simply setting the LS_OPTIONS variable using the information
+# already given above:
+setenv LS_OPTIONS " $OPTIONS --color=$COLOR "
+unsetenv COLOR
+unsetenv OPTIONS
+
+# Set up alias to use color ls by default:
+alias ls '/bin/ls $LS_OPTIONS';
+unsetenv noglob;
+
+# Set up the LS_COLORS environment:
+[ -f $HOME/.dir_colors ]
+if ($status == 0) then
+ eval `/bin/dircolors -c $HOME/.dir_colors`
+endif
+[ -f /etc/DIR_COLORS ]
+if ($status == 0) then
+ eval `/bin/dircolors -c /etc/DIR_COLORS`
+endif
+[ ! -f $HOME/.dir_colors -a ! -f /etc/DIR_COLORS ]
+if ($status == 0) then
+ eval `/bin/dircolors -c`
+endif
+
diff --git a/patches/source/coreutils/coreutils-dircolors.sh b/patches/source/coreutils/coreutils-dircolors.sh
new file mode 100644
index 000000000..d2c94f8fc
--- /dev/null
+++ b/patches/source/coreutils/coreutils-dircolors.sh
@@ -0,0 +1,44 @@
+# Slackware color ls profile script for /bin/sh-like shells.
+
+# Set up LS_OPTIONS environment variable.
+# This contains extra command line options to use with ls.
+# The default ones are:
+# -F = show '/' for dirs, '*' for executables, etc.
+# -T 0 = don't trust tab spacing when formatting ls output.
+# -b = better support for special characters
+OPTIONS="-F -b -T 0"
+
+# COLOR needs one of these arguments:
+# 'auto' colorizes output to ttys, but not pipes.
+# 'always' adds color characters to all output.
+# 'never' shuts colorization off.
+COLOR=auto
+
+
+# This section shouldn't require any user adjustment since it is
+# simply setting the LS_OPTIONS variable using the information
+# already given above:
+LS_OPTIONS="$OPTIONS --color=$COLOR";
+export LS_OPTIONS;
+unset COLOR
+unset OPTIONS
+
+# Set up aliases to use color ls by default:
+if [ "$SHELL" = "/bin/zsh" ] ; then
+ # By default, zsh doesn't split parameters into separate words
+ # when it encounters whitespace. The '=' flag will fix this.
+ # see zshexpn(1) man-page regarding SH_WORD_SPLIT.
+ alias ls='/bin/ls ${=LS_OPTIONS}'
+else
+ alias ls='/bin/ls $LS_OPTIONS'
+fi
+
+# Set up the LS_COLORS environment:
+if [ -f $HOME/.dir_colors ]; then
+ eval `/bin/dircolors -b $HOME/.dir_colors`
+elif [ -f /etc/DIR_COLORS ]; then
+ eval `/bin/dircolors -b /etc/DIR_COLORS`
+else
+ eval `/bin/dircolors -b`
+fi
+
diff --git a/patches/source/coreutils/coreutils.SlackBuild b/patches/source/coreutils/coreutils.SlackBuild
new file mode 100755
index 000000000..bc37e3046
--- /dev/null
+++ b/patches/source/coreutils/coreutils.SlackBuild
@@ -0,0 +1,228 @@
+#!/bin/bash
+
+# Copyright 2005-2023 Patrick J. Volkerding, Sebeka, MN, USA
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+cd $(dirname $0) ; CWD=$(pwd)
+
+PKGNAM=coreutils
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
+BUILD=${BUILD:-1_slack15.0}
+
+NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+
+# "wc" seems to be the only thing used by pkgtools that can make use of AVX2,
+# and since the kernel has added a mitigation that makes AVX2 seem to be
+# available when it really isn't, it is not reliable. Even the author of this
+# wc optimization questioned how useful it really was... and for us, it isn't
+# worth it to have by default. But feel free to enable/recompile if you like.
+DISABLE_USE_AVX2_WC_LINECOUNT=${DISABLE_USE_AVX2_WC_LINECOUNT:-true}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) export ARCH=i586 ;;
+ arm*) export ARCH=arm ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) export ARCH=$( uname -m ) ;;
+ esac
+fi
+
+# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
+# the name of the created package would be, and then exit. This information
+# could be useful to other scripts.
+if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
+ echo "$PKGNAM-$VERSION-$ARCH-$BUILD.txz"
+ exit 0
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "arm" ]; then
+ SLKCFLAGS="-O2 -march=armv4 -mtune=xscale"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "armel" ]; then
+ SLKCFLAGS="-O2 -march=armv4t"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+# Don't use icecream:
+PATH=$(echo $PATH | sed "s|/usr/libexec/icecc/bin||g" | tr -s : | sed "s/^://g" | sed "s/:$//g")
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+cd $TMP
+
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+cd $PKGNAM-$VERSION || exit 1
+
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \+ -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \+
+
+# Patch uname to correctly display CPU information:
+zcat $CWD/$PKGNAM.uname.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
+# Revert change to ls quoting style introduced in coreutils-8.25:
+zcat $CWD/no_ls_quoting.patch.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
+
+if [ "$DISABLE_USE_AVX2_WC_LINECOUNT" = "true" ]; then
+ zcat $CWD/coreutils.wc.noavx2.diff.gz | patch -p1 --verbose || exit 1
+fi
+
+# Compilation with glibc version later than 2.3.2 needs the environment
+# variable DEFAULT_POSIX2_VERSION set to 199209.
+# Without that line, the coreutils will start complaining about 'obsolete'
+# command switches, like "tail -20" will be considered obsolete.
+# This behaviour breaks many other packages... the 'obsolete' parameters are
+# too commonly used to disregard them. Better to stick with the older more
+# widely accepted standards until things begin to demand the new way.
+
+# Don't use the openssl crypto library, otherwise /bin/sort ends up linked
+# against openssl's libcrypto which creates problems for upgradepkg.
+# It is also possible to use --with-linux-crypto to enable the Linux kernel
+# crypto routines, but we'll skip this for now.
+
+# configure: error: could not enable timestamps after mid-January 2038.
+# This package recommends support for these later
+# timestamps. However, to proceed with signed 32-bit
+# time_t even though it will fail then, configure with
+# '--disable-year2038'.
+
+FORCE_UNSAFE_CONFIGURE=1 \
+CFLAGS="$SLKCFLAGS" \
+DEFAULT_POSIX2_VERSION=199209 \
+./configure \
+ --prefix=/usr \
+ --bindir=/bin \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --enable-install-program=arch \
+ --with-openssl=no \
+ --disable-year2038 \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+find $PKG | xargs file | grep -e "executable" -e "shared object" \
+ | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# This seems wrong, and it stomps on files in the ksh93 package, though I'm
+# not sure the placement of those is correct, either... The ksh93 package
+# installs them as flat text files, while coreutils installs empty directories
+# Oh well, this is what we've done for years, and nobody's complained...
+rm -rf $PKG/usr/share/locale/*/LC_TIME
+
+# Move "arch" to /bin
+mv $PKG/usr/bin/arch $PKG/bin
+
+# These are important enough that they should probably all go into /bin at this
+# point... Having some of them unavailable when /usr isn't mounted is just a
+# source of unending bug reports for various third party applications.
+# Time to end those reports. :-)
+mkdir -p $PKG/bin $PKG/usr/bin
+( cd $PKG/usr/bin
+ for file in ../../bin/* ; do
+ ln --verbose -sf $file .
+ done
+)
+
+# Add some defaults, although a very slack-like set of default options are built
+# into /bin/ls now anyway:
+mkdir -p $PKG/etc
+zcat $CWD/DIR_COLORS.gz > $PKG/etc/DIR_COLORS.new
+
+# Since dircolors no longer provides any default aliases these scripts
+# will be needed for ls to act as expected:
+mkdir -p $PKG/etc/profile.d
+zcat $CWD/coreutils-dircolors.csh.gz > $PKG/etc/profile.d/coreutils-dircolors.csh
+zcat $CWD/coreutils-dircolors.sh.gz > $PKG/etc/profile.d/coreutils-dircolors.sh
+chmod 755 $PKG/etc/profile.d/*
+
+# Remove things that are provided by other Slackware packages:
+for dupe in hostname kill su uptime ; do
+ rm -f $PKG/bin/${dupe} $PKG/usr/bin/${dupe} \
+ $PKG/usr/sbin/${dupe} $PKG/usr/man/man?/${dupe}.* ;
+done
+
+# Add ginstall links (there's still a lot of stuff that needs this to compile):
+( cd $PKG/bin ; ln -sf install ginstall )
+( cd $PKG/usr/bin ; ln -sf ../../bin/ginstall ginstall )
+( cd $PKG/usr/man/man1 ; ln -sf install.1 ginstall.1 )
+
+# Compress and link manpages, if any:
+if [ -d $PKG/usr/man ]; then
+ ( cd $PKG/usr/man
+ for manpagedir in $(find . -type d -name "man*") ; do
+ ( cd $manpagedir
+ for eachpage in $( find . -type l -maxdepth 1) ; do
+ ln -s $( readlink $eachpage ).gz $eachpage.gz
+ rm $eachpage
+ done
+ gzip -9 *.?
+ )
+ done
+ )
+fi
+
+rm -f $PKG/usr/info/dir
+gzip -9 $PKG/usr/info/*
+
+mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+cp -a \
+ AUTHORS COPYING* NEWS README* THANKS THANKS-to-translators TODO \
+ $PKG/usr/doc/$PKGNAM-$VERSION
+
+# If there's a ChangeLog, installing at least part of the recent history
+# is useful, but don't let it get totally out of control:
+if [ -r ChangeLog ]; then
+ DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
+ cat ChangeLog | head -n 1000 > $DOCSDIR/ChangeLog
+ touch -r ChangeLog $DOCSDIR/ChangeLog
+fi
+
+mkdir -p $PKG/install
+zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+# Build the package:
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+
diff --git a/patches/source/coreutils/coreutils.uname.diff b/patches/source/coreutils/coreutils.uname.diff
new file mode 100644
index 000000000..3aec5e5f6
--- /dev/null
+++ b/patches/source/coreutils/coreutils.uname.diff
@@ -0,0 +1,153 @@
+--- ./src/uname.c.orig 2022-04-08 06:22:18.000000000 -0500
++++ ./src/uname.c 2022-04-17 13:30:46.550023254 -0500
+@@ -44,6 +44,11 @@
+ # endif
+ #endif
+
++#if defined (__linux__)
++# define USE_PROCINFO
++# define UNAME_HARDWARE_PLATFORM
++#endif
++
+ #include "system.h"
+ #include "die.h"
+ #include "error.h"
+@@ -149,6 +154,106 @@
+ exit (status);
+ }
+
++#if defined(USE_PROCINFO)
++
++# if defined(__s390__) || defined(__s390x__)
++# define CPUINFO_FILE "/proc/sysinfo"
++# define CPUINFO_FORMAT "%64[^\t :]%*[ :]%256[^\n]%c"
++# else
++# define CPUINFO_FILE "/proc/cpuinfo"
++# define CPUINFO_FORMAT "%64[^\t:]\t:%256[^\n]%c"
++# endif
++
++# define PROCINFO_PROCESSOR 0
++# define PROCINFO_HARDWARE_PLATFORM 1
++
++static void __eat_cpuinfo_space(char *buf)
++{
++ /* first eat trailing space */
++ char *tmp = buf + strlen(buf) - 1;
++ while (tmp > buf && isspace(*tmp))
++ *tmp-- = '\0';
++ /* then eat leading space */
++ tmp = buf;
++ while (*tmp && isspace(*tmp))
++ tmp++;
++ if (tmp != buf)
++ memmove(buf, tmp, strlen(tmp)+1);
++}
++
++static int __linux_procinfo (int x, char *fstr, size_t s)
++{
++ FILE *fp;
++
++ char *procinfo_keys[] = {
++ /* --processor --hardware-platform */
++ #if defined(__alpha__)
++ "cpu model", "system type"
++ #elif defined(__arm__)
++ "Processor", "Hardware"
++ #elif defined(bfin)
++ "CPU", "BOARD Name"
++ #elif defined(__cris__)
++ "cpu", "cpu model"
++ #elif defined(__frv__)
++ "CPU-Core", "System"
++ #elif defined(__i386__) || defined(__x86_64__)
++ "model name", "vendor_id"
++ #elif defined(__ia64__)
++ "family", "vendor"
++ #elif defined(__hppa__)
++ "cpu", "model"
++ #elif defined(__m68k__)
++ "CPU", "MMU"
++ #elif defined(__mips__)
++ "cpu model", "system type"
++ #elif defined(__powerpc__) || defined(__powerpc64__)
++ "cpu", "machine"
++ #elif defined(__s390__) || defined(__s390x__)
++ "Type", "Manufacturer"
++ #elif defined(__sh__)
++ "cpu type", "machine"
++ #elif defined(sparc) || defined(__sparc__)
++ "type", "cpu"
++ #elif defined(__vax__)
++ "cpu type", "cpu"
++ #else
++ "unknown", "unknown"
++ #endif
++ };
++
++ if ((fp = fopen(CPUINFO_FILE, "r")) != NULL) {
++ char key[65], value[257], eol, *ret = NULL;
++
++ while (fscanf(fp, CPUINFO_FORMAT, key, value, &eol) != EOF) {
++ __eat_cpuinfo_space(key);
++ if (!strcmp(key, procinfo_keys[x])) {
++ __eat_cpuinfo_space(value);
++ ret = value;
++ break;
++ }
++ if (eol != '\n') {
++ /* we need two fscanf's here in case the previous
++ * length limit caused us to read right up to the
++ * newline ... doing "%*[^\n]\n" wont eat the newline
++ */
++ fscanf(fp, "%*[^\n]");
++ fscanf(fp, "\n");
++ }
++ }
++ fclose(fp);
++
++ if (ret) {
++ strncpy(fstr, ret, s);
++ return 0;
++ }
++ }
++
++ return -1;
++}
++
++#endif
++
+ /* Print ELEMENT, preceded by a space if something has already been
+ printed. */
+
+@@ -323,11 +428,16 @@
+ element = "powerpc";
+ # endif
+ #endif
+-#if HAVE_SYSINFO && defined SI_ARCHITECTURE
++#if ( HAVE_SYSINFO && defined SI_ARCHITECTURE ) || defined(USE_PROCINFO)
+ if (element == unknown)
+ {
+ static char processor[257];
++#if defined(USE_PROCINFO)
++ if (0 <= __linux_procinfo (PROCINFO_PROCESSOR, processor, sizeof processor))
++#else
++
+ if (0 <= sysinfo (SI_ARCHITECTURE, processor, sizeof processor))
++#endif
+ element = processor;
+ }
+ #endif
+@@ -360,9 +470,13 @@
+ if (element == unknown)
+ {
+ static char hardware_platform[257];
++#if defined(USE_PROCINFO)
++ if (0 <= __linux_procinfo (PROCINFO_HARDWARE_PLATFORM, hardware_platform, sizeof hardware_platform))
++#else
+ size_t s = sizeof hardware_platform;
+ static int mib[] = { CTL_HW, UNAME_HARDWARE_PLATFORM };
+ if (sysctl (mib, 2, hardware_platform, &s, 0, 0) >= 0)
++#endif
+ element = hardware_platform;
+ }
+ #endif
diff --git a/patches/source/coreutils/coreutils.wc.noavx2.diff b/patches/source/coreutils/coreutils.wc.noavx2.diff
new file mode 100644
index 000000000..ccae18bb8
--- /dev/null
+++ b/patches/source/coreutils/coreutils.wc.noavx2.diff
@@ -0,0 +1,11 @@
+--- ./src/wc.c.orig 2023-08-29 06:39:27.000000000 -0500
++++ ./src/wc.c 2023-08-29 13:24:53.642035314 -0500
+@@ -147,7 +147,7 @@
+ static bool
+ avx2_supported (void)
+ {
+- bool avx_enabled = 0 < __builtin_cpu_supports ("avx2");
++ bool avx_enabled = 0;
+
+ if (debug)
+ error (0, 0, (avx_enabled
diff --git a/patches/source/coreutils/doinst.sh b/patches/source/coreutils/doinst.sh
new file mode 100644
index 000000000..73403aa5b
--- /dev/null
+++ b/patches/source/coreutils/doinst.sh
@@ -0,0 +1,16 @@
+config() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ # If there's no config file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+config etc/DIR_COLORS.new
+
+# This is needed to prevent installpkg from trippping over itself:
+PATH=/bin:$PATH
+
diff --git a/patches/source/coreutils/no_ls_quoting.patch b/patches/source/coreutils/no_ls_quoting.patch
new file mode 100644
index 000000000..b8643c40f
--- /dev/null
+++ b/patches/source/coreutils/no_ls_quoting.patch
@@ -0,0 +1,11 @@
+--- ./src/ls.c.orig 2021-09-24 06:31:05.000000000 -0500
++++ ./src/ls.c 2021-09-24 19:47:32.230001419 -0500
+@@ -2342,7 +2342,7 @@
+ qs = getenv_quoting_style ();
+ if (qs < 0)
+ qs = (ls_mode == LS_LS
+- ? (stdout_isatty () ? shell_escape_quoting_style : -1)
++ ? (stdout_isatty () ? escape_quoting_style : -1)
+ : escape_quoting_style);
+ if (0 <= qs)
+ set_quoting_style (NULL, qs);
diff --git a/patches/source/coreutils/slack-desc b/patches/source/coreutils/slack-desc
new file mode 100644
index 000000000..842ed6dbf
--- /dev/null
+++ b/patches/source/coreutils/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+coreutils: coreutils (core GNU utilities)
+coreutils:
+coreutils: These are the GNU core utilities, the basic command line programs
+coreutils: such as 'mkdir', 'ls', and 'rm' that are needed for the system to
+coreutils: run. This package is the union of the GNU fileutils, sh-utils, and
+coreutils: textutils packages. Most of these programs have significant
+coreutils: advantages over their Unix counterparts, such as greater speed,
+coreutils: additional options, and fewer arbitrary limits.
+coreutils:
+coreutils:
+coreutils:
diff --git a/patches/source/util-linux/CVE-2024-28085-pre1.patch b/patches/source/util-linux/CVE-2024-28085-pre1.patch
new file mode 100644
index 000000000..e2cfb0783
--- /dev/null
+++ b/patches/source/util-linux/CVE-2024-28085-pre1.patch
@@ -0,0 +1,190 @@
+From 8a7b8456d1dc0e7ca557d1ac31f638986704757f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= <nabijaczleweli@nabijaczleweli.xyz>
+Date: Wed, 15 Mar 2023 16:16:31 +0100
+Subject: [PATCH] write: correctly handle wide characters
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Do this by replacing fputc_careful() (notice that the description said
+it's locale-aware ‒ it very much is /not/), with a fputs_careful() which
+does the same thing, but if it were to output a byte in the \123 format,
+first it checks whether this byte starts a valid multibyte character.
+
+If it does, and that character is printable, write it verbatim.
+This means that
+ echo 'foo åäö ąęćźżń bar' | write nabijaczleweli pts/4
+instead of
+ foo \303\245\303\244\303\266
+ \304\205\304\231\304\207\305\272\305\274\305\204 bar
+yields
+ foo åäö ąęćźżń bar
+or, more realistically, from a message I got earlier today,
+ Filip powiedzia\305\202 \305\274e zap\305\202aci jutro
+becomes
+ Filip powiedział że zapłaci jutro
+
+Invalid/non-printable sequences get processed as before.
+
+Line reading in write must become getline() to avoid dealing with
+partial characters: for example on input consisting solely of
+ąęćźżń, where every {1} is an instance, the output would be
+ {42}ąęć\305\272żń{84}ąęćź\305\274ń{84}ąęćźż\305\204{39}
+with just fixed-512 fgets()
+
+Bug-Debian: https://bugs.debian.org/826596
+---
+ include/carefulputc.h | 60 +++++++++++++++++++++++++++++++------------
+ login-utils/last.c | 4 +--
+ term-utils/write.c | 25 +++++-------------
+ 3 files changed, 52 insertions(+), 37 deletions(-)
+
+--- a/include/carefulputc.h
++++ b/include/carefulputc.h
+@@ -1,31 +1,59 @@
+ #ifndef UTIL_LINUX_CAREFULPUTC_H
+ #define UTIL_LINUX_CAREFULPUTC_H
+
+-/*
+- * A putc() for use in write and wall (that sometimes are sgid tty).
+- * It avoids control characters in our locale, and also ASCII control
+- * characters. Note that the locale of the recipient is unknown.
+-*/
+ #include <stdio.h>
+ #include <string.h>
+ #include <ctype.h>
++#ifdef HAVE_WIDECHAR
++#include <wctype.h>
++#endif
++#include <stdbool.h>
+
+ #include "cctype.h"
+
+-static inline int fputc_careful(int c, FILE *fp, const char fail)
++/*
++ * A puts() for use in write and wall (that sometimes are sgid tty).
++ * It avoids control and invalid characters.
++ * The locale of the recipient is nominally unknown,
++ * but it's a solid bet that the encoding is compatible with the author's.
++ */
++static inline int fputs_careful(const char * s, FILE *fp, const char ctrl, bool cr_lf)
+ {
+- int ret;
++ int ret = 0;
+
+- if (isprint(c) || c == '\a' || c == '\t' || c == '\r' || c == '\n')
+- ret = putc(c, fp);
+- else if (!c_isascii(c))
+- ret = fprintf(fp, "\\%3o", (unsigned char)c);
+- else {
+- ret = putc(fail, fp);
+- if (ret != EOF)
+- ret = putc(c ^ 0x40, fp);
++ for (size_t slen = strlen(s); *s; ++s, --slen) {
++ if (*s == '\n')
++ ret = fputs(cr_lf ? "\r\n" : "\n", fp);
++ else if (isprint(*s) || *s == '\a' || *s == '\t' || *s == '\r')
++ ret = putc(*s, fp);
++ else if (!c_isascii(*s)) {
++#ifdef HAVE_WIDECHAR
++ wchar_t w;
++ size_t clen = mbtowc(&w, s, slen);
++ switch(clen) {
++ case (size_t)-2: // incomplete
++ case (size_t)-1: // EILSEQ
++ mbtowc(NULL, NULL, 0);
++ nonprint:
++ ret = fprintf(fp, "\\%3hho", *s);
++ break;
++ default:
++ if(!iswprint(w))
++ goto nonprint;
++ ret = fwrite(s, 1, clen, fp);
++ s += clen - 1;
++ slen -= clen - 1;
++ break;
++ }
++#else
++ ret = fprintf(fp, "\\%3hho", *s);
++#endif
++ } else
++ ret = fputs((char[]){ ctrl, *s ^ 0x40, '\0' }, fp);
++ if (ret < 0)
++ return EOF;
+ }
+- return (ret < 0) ? EOF : 0;
++ return 0;
+ }
+
+ static inline void fputs_quoted_case(const char *data, FILE *out, int dir)
+--- a/login-utils/last.c
++++ b/login-utils/last.c
+@@ -403,7 +403,6 @@ static int list(const struct last_contro
+ char final[512];
+ char utline[sizeof(p->ut_line) + 1];
+ char domain[256];
+- char *s;
+ int mins, hours, days;
+ int r, len;
+ struct last_timefmt *fmt;
+@@ -559,8 +558,7 @@ static int list(const struct last_contro
+ /*
+ * Print out "final" string safely.
+ */
+- for (s = final; *s; s++)
+- fputc_careful(*s, stdout, '*');
++ fputs_careful(final, stdout, '*', false);
+
+ if (len < 0 || (size_t)len >= sizeof(final))
+ putchar('\n');
+--- a/term-utils/write.c
++++ b/term-utils/write.c
+@@ -224,21 +224,6 @@ static void signal_handler(int signo)
+ }
+
+ /*
+- * write_line - like fputs(), but makes control characters visible and
+- * turns \n into \r\n.
+- */
+-static void write_line(char *s)
+-{
+- while (*s) {
+- const int c = *s++;
+-
+- if ((c == '\n' && fputc_careful('\r', stdout, '^') == EOF)
+- || fputc_careful(c, stdout, '^') == EOF)
+- err(EXIT_FAILURE, _("carefulputc failed"));
+- }
+-}
+-
+-/*
+ * do_write - actually make the connection
+ */
+ static void do_write(const struct write_control *ctl)
+@@ -247,7 +232,8 @@ static void do_write(const struct write_
+ struct passwd *pwd;
+ time_t now;
+ struct tm *tm;
+- char *host, line[512];
++ char *host, *line = NULL;
++ size_t linelen = 0;
+ struct sigaction sigact;
+
+ /* Determine our login name(s) before the we reopen() stdout */
+@@ -286,11 +272,14 @@ static void do_write(const struct write_
+ free(host);
+ printf("\r\n");
+
+- while (fgets(line, sizeof(line), stdin) != NULL) {
++ while (getline(&line, &linelen, stdin) >= 0) {
+ if (signal_received)
+ break;
+- write_line(line);
++
++ if (fputs_careful(line, stdout, '^', true) == EOF)
++ err(EXIT_FAILURE, _("carefulputc failed"));
+ }
++ free(line);
+ printf("EOF\r\n");
+ }
+
diff --git a/patches/source/util-linux/CVE-2024-28085-pre2.patch b/patches/source/util-linux/CVE-2024-28085-pre2.patch
new file mode 100644
index 000000000..3ad4f051b
--- /dev/null
+++ b/patches/source/util-linux/CVE-2024-28085-pre2.patch
@@ -0,0 +1,167 @@
+From 27ee6446503af7ec0c2647704ca47ac4de3852ef Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= <nabijaczleweli@nabijaczleweli.xyz>
+Date: Wed, 15 Mar 2023 16:16:43 +0100
+Subject: [PATCH] wall: convert homebrew buffering to open_memstream()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+The struct buffer system duplicates a plethora of standard I/O
+functions (including a fork of fputc_careful())
+and adds a lot of complexity ‒ open_memstream() is standard,
+and fits perfectly into this niche
+---
+ term-utils/wall.c | 95 ++++++++++-------------------------------------
+ 1 file changed, 20 insertions(+), 75 deletions(-)
+
+diff --git a/term-utils/wall.c b/term-utils/wall.c
+index c601d3e5b7..a51a928293 100644
+--- a/term-utils/wall.c
++++ b/term-utils/wall.c
+@@ -274,74 +274,22 @@ int main(int argc, char **argv)
+ exit(EXIT_SUCCESS);
+ }
+
+-struct buffer {
+- size_t sz;
+- size_t used;
+- char *data;
+-};
+-
+-static void buf_enlarge(struct buffer *bs, size_t len)
++static void buf_putc_careful(FILE *fs, int c)
+ {
+- if (bs->sz == 0 || len > bs->sz - bs->used) {
+- bs->sz += len < 128 ? 128 : len;
+- bs->data = xrealloc(bs->data, bs->sz);
+- }
+-}
+-
+-static void buf_puts(struct buffer *bs, const char *s)
+-{
+- size_t len = strlen(s);
+-
+- buf_enlarge(bs, len + 1);
+- memcpy(bs->data + bs->used, s, len + 1);
+- bs->used += len;
+-}
+-
+-static void __attribute__((__format__ (__printf__, 2, 3)))
+- buf_printf(struct buffer *bs, const char *fmt, ...)
+-{
+- int rc;
+- va_list ap;
+- size_t limit;
+-
+- buf_enlarge(bs, 0); /* default size */
+- limit = bs->sz - bs->used;
+-
+- va_start(ap, fmt);
+- rc = vsnprintf(bs->data + bs->used, limit, fmt, ap);
+- va_end(ap);
+-
+- if (rc >= 0 && (size_t) rc >= limit) { /* not enough, enlarge */
+- buf_enlarge(bs, (size_t)rc + 1);
+- limit = bs->sz - bs->used;
+- va_start(ap, fmt);
+- rc = vsnprintf(bs->data + bs->used, limit, fmt, ap);
+- va_end(ap);
+- }
+-
+- if (rc > 0)
+- bs->used += rc;
+-}
+-
+-static void buf_putc_careful(struct buffer *bs, int c)
+-{
+- if (isprint(c) || c == '\a' || c == '\t' || c == '\r' || c == '\n') {
+- buf_enlarge(bs, 1);
+- bs->data[bs->used++] = c;
+- } else if (!c_isascii(c))
+- buf_printf(bs, "\\%3o", (unsigned char)c);
+- else {
+- char tmp[] = { '^', c ^ 0x40, '\0' };
+- buf_puts(bs, tmp);
+- }
++ if (isprint(c) || c == '\a' || c == '\t' || c == '\r' || c == '\n')
++ fputc(c, fs);
++ else if (!c_isascii(c))
++ fprintf(fs, "\\%3o", (unsigned char)c);
++ else
++ fputs((char[]){ '^', c ^ 0x40, '\0' }, fs);
+ }
+
+ static char *makemsg(char *fname, char **mvec, int mvecsz,
+ size_t *mbufsize, int print_banner)
+ {
+- struct buffer _bs = {.used = 0}, *bs = &_bs;
+ register int ch, cnt;
+- char *p, *lbuf;
++ char *p, *lbuf, *retbuf;
++ FILE * fs = open_memstream(&retbuf, mbufsize);
+ long line_max;
+
+ line_max = sysconf(_SC_LINE_MAX);
+@@ -379,15 +327,15 @@ static char *makemsg(char *fname, char **mvec, int mvecsz,
+ */
+ /* snprintf is not always available, but the sprintf's here
+ will not overflow as long as %d takes at most 100 chars */
+- buf_printf(bs, "\r%*s\r\n", TERM_WIDTH, " ");
++ fprintf(fs, "\r%*s\r\n", TERM_WIDTH, " ");
+
+ snprintf(lbuf, line_max,
+ _("Broadcast message from %s@%s (%s) (%s):"),
+ whom, hostname, where, date);
+- buf_printf(bs, "%-*.*s\007\007\r\n", TERM_WIDTH, TERM_WIDTH, lbuf);
++ fprintf(fs, "%-*.*s\007\007\r\n", TERM_WIDTH, TERM_WIDTH, lbuf);
+ free(hostname);
+ }
+- buf_printf(bs, "%*s\r\n", TERM_WIDTH, " ");
++ fprintf(fs, "%*s\r\n", TERM_WIDTH, " ");
+
+ if (mvec) {
+ /*
+@@ -396,11 +344,11 @@ static char *makemsg(char *fname, char **mvec, int mvecsz,
+ int i;
+
+ for (i = 0; i < mvecsz; i++) {
+- buf_puts(bs, mvec[i]);
++ fputs(mvec[i], fs);
+ if (i < mvecsz - 1)
+- buf_puts(bs, " ");
++ fputc(' ', fs);
+ }
+- buf_puts(bs, "\r\n");
++ fputs("\r\n", fs);
+ } else {
+ /*
+ * read message from <file>
+@@ -428,23 +376,20 @@ static char *makemsg(char *fname, char **mvec, int mvecsz,
+ while (fgets(lbuf, line_max, stdin)) {
+ for (cnt = 0, p = lbuf; (ch = *p) != '\0'; ++p, ++cnt) {
+ if (cnt == TERM_WIDTH || ch == '\n') {
+- for (; cnt < TERM_WIDTH; ++cnt)
+- buf_puts(bs, " ");
+- buf_puts(bs, "\r\n");
++ fprintf(fs, "%*s\r\n", TERM_WIDTH - cnt, "");
+ cnt = 0;
+ }
+ if (ch == '\t')
+ cnt += (7 - (cnt % 8));
+ if (ch != '\n')
+- buf_putc_careful(bs, ch);
++ buf_putc_careful(fs, ch);
+ }
+ }
+ }
+- buf_printf(bs, "%*s\r\n", TERM_WIDTH, " ");
++ fprintf(fs, "%*s\r\n", TERM_WIDTH, " ");
+
+ free(lbuf);
+
+- bs->data[bs->used] = '\0'; /* be paranoid */
+- *mbufsize = bs->used;
+- return bs->data;
++ fclose(fs);
++ return retbuf;
+ }
diff --git a/patches/source/util-linux/CVE-2024-28085-pre3.patch b/patches/source/util-linux/CVE-2024-28085-pre3.patch
new file mode 100644
index 000000000..3f37d7c3e
--- /dev/null
+++ b/patches/source/util-linux/CVE-2024-28085-pre3.patch
@@ -0,0 +1,207 @@
+From aa13246a1bf1be9e4f6eb331f4d4d2dbc875e22f Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=D0=BD=D0=B0=D0=B1?= <nabijaczleweli@nabijaczleweli.xyz>
+Date: Wed, 15 Mar 2023 16:16:48 +0100
+Subject: [PATCH] wall: use fputs_careful()
+
+LINE_MAX only applies to teletypes in canonical mode: when stdin is a
+file, it could still very much tear; start off at 512 for the sprintf(),
+then use getline() like in write.
+
+The line wrapping has one suboptimal edge-case:
+ $ wall < all
+
+ Broadcast message from nabijaczleweli@tarta (pts/4) (Tue Mar 14 22:31:25
+ 2023):
+
+ ^N^O^P^Q^R^S^T^U^V^W^X^Y^Z^[^\^]^^^_
+ !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJ
+ KLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~^?\200\201\202\203\204\205\206
+ \207\210\211\212\213\214\215\216\217\220\221\222\223\224\225\226\227\230\231\232
+ \233\234\235\236\237\240\241\242\243\244\245\246\247\250\251\252\253\254\255\256
+ \257\260\261\262\263\264\265\266\267\270\271\272\273\274\275\276\277\300\301\302
+ \303\304\305\306\307\310\311\312\313\314\315\316\317\320\321\322\323\324\325\326
+ \327\330\331\332\333\334\335\336\337\340\341\342\343\344\345\346\347\350\351\352
+ \353\354\355\356\357\360\361\362\363\364\365\366\367\370\371\372\373\374\375\376
+ \377
+but that's a pathological input, and the result is still infinitely
+better than it was before, so fixing that is more trouble than it's
+worth.
+
+Bug-Debian: https://bugs.debian.org/826596
+---
+ include/carefulputc.h | 42 +++++++++++++++++++++++++++++++++---------
+ login-utils/last.c | 2 +-
+ term-utils/wall.c | 38 ++++++--------------------------------
+ term-utils/write.c | 2 +-
+ 4 files changed, 41 insertions(+), 43 deletions(-)
+
+--- a/include/carefulputc.h
++++ b/include/carefulputc.h
+@@ -6,6 +6,7 @@
+ #include <ctype.h>
+ #ifdef HAVE_WIDECHAR
+ #include <wctype.h>
++#include <wchar.h>
+ #endif
+ #include <stdbool.h>
+
+@@ -15,18 +16,35 @@
+ * A puts() for use in write and wall (that sometimes are sgid tty).
+ * It avoids control and invalid characters.
+ * The locale of the recipient is nominally unknown,
+- * but it's a solid bet that the encoding is compatible with the author's.
++ * but it's a solid bet that it's compatible with the author's.
++ * Use soft_width=0 to disable wrapping.
+ */
+-static inline int fputs_careful(const char * s, FILE *fp, const char ctrl, bool cr_lf)
++static inline int fputs_careful(const char * s, FILE *fp, const char ctrl, bool cr_lf, int soft_width)
+ {
+- int ret = 0;
++ int ret = 0, col = 0;
+
+ for (size_t slen = strlen(s); *s; ++s, --slen) {
+- if (*s == '\n')
++ if (*s == '\t')
++ col += (7 - (col % 8)) - 1;
++ else if (*s == '\r')
++ col = -1;
++ else if (*s == '\a')
++ --col;
++
++ if ((soft_width && col >= soft_width) || *s == '\n') {
++ if (soft_width) {
++ fprintf(fp, "%*s", soft_width - col, "");
++ col = 0;
++ }
+ ret = fputs(cr_lf ? "\r\n" : "\n", fp);
+- else if (isprint(*s) || *s == '\a' || *s == '\t' || *s == '\r')
++ if (*s == '\n' || ret < 0)
++ goto wrote;
++ }
++
++ if (isprint(*s) || *s == '\a' || *s == '\t' || *s == '\r') {
+ ret = putc(*s, fp);
+- else if (!c_isascii(*s)) {
++ ++col;
++ } else if (!c_isascii(*s)) {
+ #ifdef HAVE_WIDECHAR
+ wchar_t w;
+ size_t clen = mbtowc(&w, s, slen);
+@@ -35,21 +53,27 @@ static inline int fputs_careful(const ch
+ case (size_t)-1: // EILSEQ
+ mbtowc(NULL, NULL, 0);
+ nonprint:
+- ret = fprintf(fp, "\\%3hho", *s);
++ col += ret = fprintf(fp, "\\%3hho", *s);
+ break;
+ default:
+ if(!iswprint(w))
+ goto nonprint;
+ ret = fwrite(s, 1, clen, fp);
++ if (soft_width)
++ col += wcwidth(w);
+ s += clen - 1;
+ slen -= clen - 1;
+ break;
+ }
+ #else
+- ret = fprintf(fp, "\\%3hho", *s);
++ col += ret = fprintf(fp, "\\%3hho", *s);
+ #endif
+- } else
++ } else {
+ ret = fputs((char[]){ ctrl, *s ^ 0x40, '\0' }, fp);
++ col += 2;
++ }
++
++ wrote:
+ if (ret < 0)
+ return EOF;
+ }
+--- a/login-utils/last.c
++++ b/login-utils/last.c
+@@ -558,7 +558,7 @@ static int list(const struct last_contro
+ /*
+ * Print out "final" string safely.
+ */
+- fputs_careful(final, stdout, '*', false);
++ fputs_careful(final, stdout, '*', false, 0);
+
+ if (len < 0 || (size_t)len >= sizeof(final))
+ putchar('\n');
+--- a/term-utils/wall.c
++++ b/term-utils/wall.c
+@@ -274,29 +274,13 @@ int main(int argc, char **argv)
+ exit(EXIT_SUCCESS);
+ }
+
+-static void buf_putc_careful(FILE *fs, int c)
+-{
+- if (isprint(c) || c == '\a' || c == '\t' || c == '\r' || c == '\n')
+- fputc(c, fs);
+- else if (!c_isascii(c))
+- fprintf(fs, "\\%3o", (unsigned char)c);
+- else
+- fputs((char[]){ '^', c ^ 0x40, '\0' }, fs);
+-}
+-
+ static char *makemsg(char *fname, char **mvec, int mvecsz,
+ size_t *mbufsize, int print_banner)
+ {
+- register int ch, cnt;
+- char *p, *lbuf, *retbuf;
++ char *lbuf, *retbuf;
+ FILE * fs = open_memstream(&retbuf, mbufsize);
+- long line_max;
+-
+- line_max = sysconf(_SC_LINE_MAX);
+- if (line_max <= 0)
+- line_max = 512;
+-
+- lbuf = xmalloc(line_max);
++ size_t lbuflen = 512;
++ lbuf = xmalloc(lbuflen);
+
+ if (print_banner == TRUE) {
+ char *hostname = xgethostname();
+@@ -329,7 +313,7 @@ static char *makemsg(char *fname, char *
+ will not overflow as long as %d takes at most 100 chars */
+ fprintf(fs, "\r%*s\r\n", TERM_WIDTH, " ");
+
+- snprintf(lbuf, line_max,
++ snprintf(lbuf, lbuflen,
+ _("Broadcast message from %s@%s (%s) (%s):"),
+ whom, hostname, where, date);
+ fprintf(fs, "%-*.*s\007\007\r\n", TERM_WIDTH, TERM_WIDTH, lbuf);
+@@ -373,18 +357,8 @@ static char *makemsg(char *fname, char *
+ /*
+ * Read message from stdin.
+ */
+- while (fgets(lbuf, line_max, stdin)) {
+- for (cnt = 0, p = lbuf; (ch = *p) != '\0'; ++p, ++cnt) {
+- if (cnt == TERM_WIDTH || ch == '\n') {
+- fprintf(fs, "%*s\r\n", TERM_WIDTH - cnt, "");
+- cnt = 0;
+- }
+- if (ch == '\t')
+- cnt += (7 - (cnt % 8));
+- if (ch != '\n')
+- buf_putc_careful(fs, ch);
+- }
+- }
++ while (getline(&lbuf, &lbuflen, stdin) >= 0)
++ fputs_careful(lbuf, fs, '^', true, TERM_WIDTH);
+ }
+ fprintf(fs, "%*s\r\n", TERM_WIDTH, " ");
+
+--- a/term-utils/write.c
++++ b/term-utils/write.c
+@@ -276,7 +276,7 @@ static void do_write(const struct write_
+ if (signal_received)
+ break;
+
+- if (fputs_careful(line, stdout, '^', true) == EOF)
++ if (fputs_careful(line, stdout, '^', true, 0) == EOF)
+ err(EXIT_FAILURE, _("carefulputc failed"));
+ }
+ free(line);
diff --git a/patches/source/util-linux/CVE-2024-28085.patch b/patches/source/util-linux/CVE-2024-28085.patch
new file mode 100644
index 000000000..b84756550
--- /dev/null
+++ b/patches/source/util-linux/CVE-2024-28085.patch
@@ -0,0 +1,23 @@
+From f86bbf07ca85640c886dacc4fba159570ddc1b4d Mon Sep 17 00:00:00 2001
+From: Karel Zak <kzak@redhat.com>
+Date: Thu, 21 Mar 2024 11:16:20 +0100
+Subject: [PATCH] wall: consolidate output on the terminal
+
+Let's use for all cases the same output function.
+
+Signed-off-by: Karel Zak <kzak@redhat.com>
+---
+ term-utils/wall.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/term-utils/wall.c
++++ b/term-utils/wall.c
+@@ -328,7 +328,7 @@ static char *makemsg(char *fname, char *
+ int i;
+
+ for (i = 0; i < mvecsz; i++) {
+- fputs(mvec[i], fs);
++ fputs_careful(mvec[i], fs, '^', true, TERM_WIDTH);
+ if (i < mvecsz - 1)
+ fputc(' ', fs);
+ }
diff --git a/patches/source/util-linux/util-linux.SlackBuild b/patches/source/util-linux/util-linux.SlackBuild
index 114fd3490..52e43d06e 100755
--- a/patches/source/util-linux/util-linux.SlackBuild
+++ b/patches/source/util-linux/util-linux.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2017, 2018, 2020, 2021, 2022, 2023 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2017, 2018, 2020, 2021, 2022, 2023, 2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=util-linux
VERSION=${VERSION:-$(echo util-linux*.tar.xz | cut -d - -f 3 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-2_slack15.0}
+BUILD=${BUILD:-3_slack15.0}
ADJTIMEXVERS=1.29
SETSERIALVERS=2.17
@@ -129,6 +129,12 @@ zcat $CWD/util-linux.fdisk-no-solaris.diff.gz | patch -p1 --verbose || exit 1
# /dev/ram* devices in 'fdisk -l' output:
zcat $CWD/util-linux.do.not.list.ram.devices.diff.gz | patch -p1 --verbose || exit 1
+# Patch wall:
+zcat $CWD/CVE-2024-28085-pre1.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/CVE-2024-28085-pre2.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/CVE-2024-28085-pre3.patch.gz | patch -p1 --verbose || exit 1
+zcat $CWD/CVE-2024-28085.patch.gz | patch -p1 --verbose || exit 1
+
# This just call the configure script with $1 either being 2 for python2
# or 3 for python3.
#
diff --git a/recompress.sh b/recompress.sh
index 46f49154e..b8fa8de9d 100755
--- a/recompress.sh
+++ b/recompress.sh
@@ -1216,6 +1216,13 @@ gzip ./patches/source/xpdf/lang/xpdf-turkish.diff
gzip ./patches/source/xpdf/lang/xpdf-greek.diff
gzip ./patches/source/xpdf/patches/xpdfrc.diff
gzip ./patches/source/xpdf/doinst.sh
+gzip ./patches/source/coreutils/coreutils-dircolors.csh
+gzip ./patches/source/coreutils/coreutils.wc.noavx2.diff
+gzip ./patches/source/coreutils/no_ls_quoting.patch
+gzip ./patches/source/coreutils/doinst.sh
+gzip ./patches/source/coreutils/coreutils.uname.diff
+gzip ./patches/source/coreutils/coreutils-dircolors.sh
+gzip ./patches/source/coreutils/DIR_COLORS
gzip ./patches/source/python3/python.sysconfig.py.x86_64.diff
gzip ./patches/source/python3/python3.no-static-library.diff
gzip ./patches/source/python3/python3.readline.set_pre_input_hook.diff
@@ -1354,9 +1361,13 @@ gzip ./patches/source/util-linux/setserial-rc.serial.diff
gzip ./patches/source/util-linux/util-linux.do.not.list.ram.devices.diff
gzip ./patches/source/util-linux/bsdstrings-util-linux_overflow.diff
gzip ./patches/source/util-linux/util-linux.fdisk-no-solaris.diff
+gzip ./patches/source/util-linux/CVE-2024-28085-pre2.patch
gzip ./patches/source/util-linux/adjtimex_1.29-2.2.diff
gzip ./patches/source/util-linux/doinst.sh
+gzip ./patches/source/util-linux/CVE-2024-28085.patch
gzip ./patches/source/util-linux/ziptool-fix_build.patch
+gzip ./patches/source/util-linux/CVE-2024-28085-pre1.patch
+gzip ./patches/source/util-linux/CVE-2024-28085-pre3.patch
gzip ./patches/source/flac/flac.man.diff
gzip ./patches/source/libtiff/patches/CVE-2022-2056_2057_2058.patch
gzip ./patches/source/libtiff/patches/CVE-2022-34526.patch