summaryrefslogtreecommitdiffstats
path: root/source/a
diff options
context:
space:
mode:
Diffstat (limited to 'source/a')
-rwxr-xr-xsource/a/aaa_libraries/aaa_libraries.SlackBuild14
-rw-r--r--source/a/aaa_libraries/symlinks-to-tracked-libs13
-rw-r--r--source/a/aaa_libraries/tracked-files-tmp.d/aaa_libraries-boost41
-rw-r--r--source/a/aaa_libraries/tracked-files-tmp.d/boost41
-rw-r--r--source/a/bash/bash-5.2-patches/bash52-02763
-rw-r--r--source/a/bash/bash-5.2-patches/bash52-02849
-rw-r--r--source/a/bash/bash-5.2-patches/bash52-029137
-rw-r--r--source/a/bash/bash-5.2-patches/bash52-030130
-rw-r--r--source/a/bash/bash-5.2-patches/bash52-03146
-rw-r--r--source/a/bash/bash-5.2-patches/bash52-03251
-rwxr-xr-xsource/a/bash/bash.SlackBuild27
-rw-r--r--source/a/bash/bash.gcc14.diff11
-rw-r--r--source/a/bcachefs-tools/bcachefs-tools-1.9.4.tar.zstbin0 -> 1125709 bytes
-rwxr-xr-xsource/a/bcachefs-tools/bcachefs-tools.SlackBuild (renamed from source/a/udisks/udisks.SlackBuild)122
-rw-r--r--source/a/bcachefs-tools/bcachefs-tools.url1
-rw-r--r--source/a/bcachefs-tools/slack-desc19
-rwxr-xr-xsource/a/btrfs-progs/btrfs-progs.SlackBuild17
-rwxr-xr-xsource/a/coreutils/coreutils.SlackBuild4
-rwxr-xr-xsource/a/cracklib/cracklib.SlackBuild23
-rwxr-xr-xsource/a/cryptsetup/cryptsetup.SlackBuild13
-rw-r--r--source/a/cryptsetup/rc.luks2
-rw-r--r--source/a/dracut/doinst.sh14
-rwxr-xr-xsource/a/dracut/dracut.SlackBuild127
-rw-r--r--source/a/dracut/dracut.url2
-rw-r--r--source/a/dracut/elogind.conf1
-rw-r--r--source/a/dracut/slack-desc19
-rwxr-xr-xsource/a/e2fsprogs/e2fsprogs.SlackBuild3
-rwxr-xr-xsource/a/efibootmgr/efibootmgr.SlackBuild25
-rw-r--r--source/a/efibootmgr/f862d860103511ae953cc2dd1283e1e95bf00376.patch22
-rw-r--r--source/a/elogind/11-prefer-deep-suspend.patch8
-rw-r--r--source/a/elogind/12-default-deep-suspend.patch11
-rw-r--r--source/a/elogind/doinst.sh1
-rwxr-xr-xsource/a/elogind/elogind.SlackBuild57
-rwxr-xr-xsource/a/elvis/elvis.SlackBuild2
-rw-r--r--source/a/etc/_etc/etc/profile.new11
-rw-r--r--source/a/etc/doinst.sh9
-rwxr-xr-xsource/a/etc/etc.SlackBuild3
-rw-r--r--source/a/etc/group.new1
-rw-r--r--source/a/etc/passwd.new1
-rw-r--r--source/a/etc/shadow.new1
-rw-r--r--source/a/eudev/config/modprobe.d/watchdog.conf3
-rwxr-xr-xsource/a/eudev/eudev.SlackBuild4
-rwxr-xr-xsource/a/exfatprogs/exfatprogs.SlackBuild17
-rwxr-xr-xsource/a/gawk/gawk.SlackBuild11
-rwxr-xr-xsource/a/genpower/genpower.SlackBuild112
-rw-r--r--source/a/genpower/genpower.halt.diff32
-rw-r--r--source/a/genpower/genpower.var.diff34
-rw-r--r--source/a/genpower/slack-desc19
-rwxr-xr-xsource/a/gettext/gettext-tools.SlackBuild2
-rwxr-xr-xsource/a/gettext/gettext.SlackBuild2
-rwxr-xr-xsource/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild23
-rw-r--r--source/a/glibc-zoneinfo/timezone-scripts/parts/0015
-rw-r--r--source/a/glibc-zoneinfo/timezone-scripts/timeconfig22
-rw-r--r--source/a/gpm/gpm-1.20.1-weak-wgetch.patch14
-rwxr-xr-xsource/a/gpm/gpm.SlackBuild30
-rw-r--r--source/a/gpm/gpm.configure.diff23
-rwxr-xr-xsource/a/gptfdisk/gptfdisk.SlackBuild2
-rw-r--r--source/a/grub/0001-00_header-add-GRUB_COLOR_-variables.patch41
-rw-r--r--source/a/grub/0001-skip-new-and-orig-files-in-etc-grub.d.patch10
-rw-r--r--source/a/grub/0001-skip-new-files-in-etc-grub.d.patch11
-rw-r--r--source/a/grub/0003-support-dropins-for-default-configuration.patch28
-rw-r--r--source/a/grub/0004-initrd_fallback_name.patch24
-rw-r--r--source/a/grub/0005-GRUB_DISPLAY_KERNEL_FILETYPES.patch32
-rw-r--r--source/a/grub/0006-warn-grub.d-overwrites-docs.patch11
-rw-r--r--source/a/grub/09_slackware_linux196
-rw-r--r--source/a/grub/10_linux.osname.patch12
-rw-r--r--source/a/grub/7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763.patch59
-rw-r--r--source/a/grub/a4b495520e4dc41a896a8b916a64eda9970c50ea.patch121
-rw-r--r--source/a/grub/b835601c7639ed1890f2d3db91900a8506011a8e.patch34
-rw-r--r--source/a/grub/doinst.sh20
-rw-r--r--source/a/grub/etc.default.grub33
-rwxr-xr-xsource/a/grub/grub.SlackBuild99
-rw-r--r--source/a/grub/initrd_naming.patch13
-rw-r--r--source/a/grub/slack-desc6
-rw-r--r--source/a/grub/update-grub10
-rwxr-xr-xsource/a/hwdata/hwdata.SlackBuild11
-rwxr-xr-xsource/a/infozip/infozip.SlackBuild6
-rw-r--r--source/a/infozip/unzip-patches/unzip.gnu89.diff11
-rw-r--r--source/a/infozip/zip-patches/zip.gnu89.diff11
-rwxr-xr-xsource/a/iniparser/iniparser.SlackBuild27
-rwxr-xr-xsource/a/kmod/kmod.SlackBuild13
-rw-r--r--source/a/less/doinst.sh17
-rwxr-xr-xsource/a/less/less.SlackBuild62
-rw-r--r--source/a/less/less.csh18
-rw-r--r--source/a/less/less.sh18
-rw-r--r--source/a/less/lesspipe.log.patch21
-rw-r--r--source/a/less/lesspipe.sh70
-rw-r--r--source/a/less/lesspipe.url1
-rw-r--r--source/a/libblockdev/doinst.sh4
-rwxr-xr-xsource/a/libblockdev/libblockdev.SlackBuild37
-rwxr-xr-xsource/a/libbytesize/libbytesize.SlackBuild17
-rw-r--r--source/a/libbytesize/libbytesize.url2
-rwxr-xr-xsource/a/libcgroup/libcgroup.SlackBuild3
-rwxr-xr-xsource/a/libpwquality/libpwquality.SlackBuild2
-rwxr-xr-xsource/a/logrotate/logrotate.SlackBuild5
-rw-r--r--source/a/logrotate/logrotate.slackware.diff39
-rw-r--r--source/a/logrotate/logrotate.url1
-rwxr-xr-xsource/a/lvm2/lvm2.SlackBuild11
-rwxr-xr-xsource/a/minicom/minicom.SlackBuild4
-rw-r--r--source/a/mkinitrd/README.initrd15
-rw-r--r--source/a/mkinitrd/busybox-dot-config6
-rw-r--r--source/a/mkinitrd/doinst.sh13
-rw-r--r--source/a/mkinitrd/geninitrd.default17
-rwxr-xr-xsource/a/mkinitrd/mkinitrd.SlackBuild12
-rw-r--r--source/a/mkinitrd/setup.01.mkinitrd62
-rwxr-xr-xsource/a/ndctl/ndctl.SlackBuild2
-rw-r--r--source/a/nut/doinst.sh30
-rwxr-xr-xsource/a/nut/nut.SlackBuild196
-rw-r--r--source/a/nut/rc.nut-drvctl32
-rw-r--r--source/a/nut/rc.nut-upsd41
-rw-r--r--source/a/nut/rc.nut-upsmon46
-rw-r--r--source/a/nut/slack-desc19
-rwxr-xr-xsource/a/nvi/nvi.SlackBuild7
-rw-r--r--source/a/nvi/patches/0039-Add-function-prototypes-to-fix-implicit-function-dec.patch87
-rw-r--r--source/a/os-prober/os-prober-grub2-mount-workaround.patch35
-rwxr-xr-xsource/a/os-prober/os-prober.SlackBuild26
-rw-r--r--source/a/pam/fedora-patches/pam-1.6.0-noflex.patch24
-rwxr-xr-xsource/a/pam/pam.SlackBuild1
-rw-r--r--source/a/pam/pam.url3
-rw-r--r--source/a/pkgtools/scripts/installpkg102
-rw-r--r--source/a/pkgtools/scripts/pkgtool12
-rwxr-xr-xsource/a/procps-ng/procps-ng.SlackBuild5
-rw-r--r--source/a/shadow/shadow.url2
-rwxr-xr-xsource/a/splitvt/splitvt.SlackBuild6
-rw-r--r--source/a/splitvt/splitvt.configure.gcc14.diff11
-rw-r--r--source/a/splitvt/splitvt.gcc14.diff11
-rwxr-xr-xsource/a/sysklogd/sysklogd.SlackBuild21
-rw-r--r--source/a/sysvinit-functions/function-src.gcc14.diff9
-rwxr-xr-xsource/a/sysvinit-functions/sysvinit-functions.SlackBuild1
-rw-r--r--source/a/sysvinit-scripts/default/zram26
-rw-r--r--source/a/sysvinit-scripts/default/zram.i68634
-rw-r--r--source/a/sysvinit-scripts/doinst.sh1
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.640
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.M46
-rw-r--r--source/a/sysvinit-scripts/scripts/rc.S37
-rwxr-xr-xsource/a/sysvinit-scripts/sysvinit-scripts.SlackBuild9
-rwxr-xr-xsource/a/sysvinit/sysvinit.SlackBuild2
-rw-r--r--source/a/sysvinit/sysvinit.always.define.version.diff6
-rw-r--r--source/a/udisks/slack-desc19
-rw-r--r--source/a/udisks/udisks.glibc228.diff52
-rw-r--r--source/a/udisks/udisks.no.pci-db.diff32
-rw-r--r--source/a/udisks/udisks.url1
-rw-r--r--source/a/unarj/Makefile2
-rwxr-xr-xsource/a/upower/upower.SlackBuild17
-rw-r--r--source/a/upower/upower.url1
-rwxr-xr-xsource/a/userspace-rcu/userspace-rcu.SlackBuild19
-rw-r--r--source/a/util-linux/bsdstrings.gcc14.diff12
-rwxr-xr-xsource/a/util-linux/util-linux.SlackBuild10
-rwxr-xr-xsource/a/volume_key/volume_key.SlackBuild2
-rwxr-xr-xsource/a/xfsprogs/xfsprogs.SlackBuild13
-rw-r--r--source/a/xfsprogs/xfsprogs.url2
-rwxr-xr-xsource/a/xz/xz.SlackBuild14
-rw-r--r--source/a/xz/xz.url2
-rwxr-xr-xsource/a/zoo/zoo.SlackBuild1
-rw-r--r--source/a/zoo/zoo.gcc14.diff11
155 files changed, 2638 insertions, 1305 deletions
diff --git a/source/a/aaa_libraries/aaa_libraries.SlackBuild b/source/a/aaa_libraries/aaa_libraries.SlackBuild
index 5b6c6b023..d31050e81 100755
--- a/source/a/aaa_libraries/aaa_libraries.SlackBuild
+++ b/source/a/aaa_libraries/aaa_libraries.SlackBuild
@@ -23,12 +23,12 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=aaa_libraries
VERSION=${VERSION:-15.1}
-BUILD=${BUILD:-28}
+BUILD=${BUILD:-33}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
@@ -142,6 +142,16 @@ chmod 755 $PKG/lib${LIBDIRSUFFIX}/lib*.so.* $PKG/usr/lib${LIBDIRSUFFIX}/lib*.so.
# installpkg will create them if needed by running ldconfig.
find $PKG -type l -exec rm --verbose "{}" \+
+# Time to ask for trouble. We should add a few compatibility symlinks for the
+# non-wide ncurses libraries, and for the now built-in tic/tinfo:
+( cd $PKG/lib${LIBDIRSUFFIX}
+ ln -sf libformw.so.6 libform.so.6
+ ln -sf libmenuw.so.6 libmenu.so.6
+ ln -sf libncurses++w.so.6 libncurses++.so.6
+ ln -sf libncursesw.so.6 libncurses.so.6
+ ln -sf libpanelw.so.6 libpanel.so.6
+)
+
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
diff --git a/source/a/aaa_libraries/symlinks-to-tracked-libs b/source/a/aaa_libraries/symlinks-to-tracked-libs
index 9ee542272..4b068eec2 100644
--- a/source/a/aaa_libraries/symlinks-to-tracked-libs
+++ b/source/a/aaa_libraries/symlinks-to-tracked-libs
@@ -9,7 +9,9 @@
/lib/libcap.so.2
/lib/libdm.so.0
/lib/libelf.so.1
+/lib/libformw.so.6
/lib/libfuse.so.2
+/lib/libgpg-error.so.0
/lib/libgpm.so.2
/lib/libkeyutils.so.1
/lib/libkrb5support.so.0
@@ -17,12 +19,14 @@
/lib/libk5crypto.so.3
/lib/libgssapi_krb5.so.2
/lib/liblzma.so.5
+/lib/libmenuw.so.6
/lib/libncurses.so.5
-/lib/libncurses.so.6
/lib/libncursesw.so.5
/lib/libncursesw.so.6
+/lib/libncurses++w.so.6
/lib/libnsl.so.2
/lib/libnsl.so.3
+/lib/libpanelw.so.6
/lib/libpcre.so.1
/lib/libpcre2-8.so.0
/lib/libpcreposix.so.0
@@ -30,6 +34,7 @@
/lib/libsigsegv.so.2
/lib/libsysfs.so.2
/lib/libtermcap.so.2
+/lib/libtic.so.6
/lib/libtinfo.so.6
/lib/libtirpc.so.3
/lib/libudev.so.1
@@ -42,9 +47,7 @@
/usr/lib/libexpat.so.1
/usr/lib/libffi.so.8
/usr/lib/libform.so.5
-/usr/lib/libform.so.6
/usr/lib/libformw.so.5
-/usr/lib/libformw.so.6
/usr/lib/libgdbm.so.4
/usr/lib/libgdbm.so.6
/usr/lib/libglib-2.0.so.0
@@ -64,14 +67,10 @@
/usr/lib/libldap.so.2
/usr/lib/libltdl.so.7
/usr/lib/libmenu.so.5
-/usr/lib/libmenu.so.6
/usr/lib/libmenuw.so.5
-/usr/lib/libmenuw.so.6
/usr/lib/libmm.so.14
/usr/lib/libpanel.so.5
-/usr/lib/libpanel.so.6
/usr/lib/libpanelw.so.5
-/usr/lib/libpanelw.so.6
/usr/lib/libpng14.so.14
/usr/lib/libpng16.so.16
/usr/lib/libpsl.so.5
diff --git a/source/a/aaa_libraries/tracked-files-tmp.d/aaa_libraries-boost b/source/a/aaa_libraries/tracked-files-tmp.d/aaa_libraries-boost
new file mode 100644
index 000000000..282c0e73a
--- /dev/null
+++ b/source/a/aaa_libraries/tracked-files-tmp.d/aaa_libraries-boost
@@ -0,0 +1,41 @@
+# We'll keep these around for a little while... probably remove on 2024-09-16 or thereabouts
+/usr/lib/libboost_atomic.so.1.85.0
+/usr/lib/libboost_charconv.so.1.85.0
+/usr/lib/libboost_chrono.so.1.85.0
+/usr/lib/libboost_container.so.1.85.0
+/usr/lib/libboost_context.so.1.85.0
+/usr/lib/libboost_contract.so.1.85.0
+/usr/lib/libboost_coroutine.so.1.85.0
+/usr/lib/libboost_date_time.so.1.85.0
+/usr/lib/libboost_fiber.so.1.85.0
+/usr/lib/libboost_filesystem.so.1.85.0
+/usr/lib/libboost_graph.so.1.85.0
+/usr/lib/libboost_iostreams.so.1.85.0
+/usr/lib/libboost_json.so.1.85.0
+/usr/lib/libboost_locale.so.1.85.0
+/usr/lib/libboost_log.so.1.85.0
+/usr/lib/libboost_log_setup.so.1.85.0
+/usr/lib/libboost_math_c99.so.1.85.0
+/usr/lib/libboost_math_c99f.so.1.85.0
+/usr/lib/libboost_math_c99l.so.1.85.0
+/usr/lib/libboost_math_tr1.so.1.85.0
+/usr/lib/libboost_math_tr1f.so.1.85.0
+/usr/lib/libboost_math_tr1l.so.1.85.0
+/usr/lib/libboost_nowide.so.1.85.0
+/usr/lib/libboost_prg_exec_monitor.so.1.85.0
+/usr/lib/libboost_program_options.so.1.85.0
+/usr/lib/libboost_python311.so.1.85.0
+/usr/lib/libboost_random.so.1.85.0
+/usr/lib/libboost_regex.so.1.85.0
+/usr/lib/libboost_serialization.so.1.85.0
+/usr/lib/libboost_stacktrace_addr2line.so.1.85.0
+/usr/lib/libboost_stacktrace_basic.so.1.85.0
+/usr/lib/libboost_stacktrace_noop.so.1.85.0
+/usr/lib/libboost_system.so.1.85.0
+/usr/lib/libboost_thread.so.1.85.0
+/usr/lib/libboost_timer.so.1.85.0
+/usr/lib/libboost_type_erasure.so.1.85.0
+/usr/lib/libboost_unit_test_framework.so.1.85.0
+/usr/lib/libboost_url.so.1.85.0
+/usr/lib/libboost_wave.so.1.85.0
+/usr/lib/libboost_wserialization.so.1.85.0
diff --git a/source/a/aaa_libraries/tracked-files-tmp.d/boost b/source/a/aaa_libraries/tracked-files-tmp.d/boost
deleted file mode 100644
index 63d13b3e1..000000000
--- a/source/a/aaa_libraries/tracked-files-tmp.d/boost
+++ /dev/null
@@ -1,41 +0,0 @@
-# We'll keep these around for a little while... probably remove on 2024-01-14 or thereabouts
-/usr/lib/libboost_atomic.so.1.83.0
-/usr/lib/libboost_chrono.so.1.83.0
-/usr/lib/libboost_container.so.1.83.0
-/usr/lib/libboost_context.so.1.83.0
-/usr/lib/libboost_contract.so.1.83.0
-/usr/lib/libboost_coroutine.so.1.83.0
-/usr/lib/libboost_date_time.so.1.83.0
-/usr/lib/libboost_fiber.so.1.83.0
-/usr/lib/libboost_filesystem.so.1.83.0
-/usr/lib/libboost_graph.so.1.83.0
-/usr/lib/libboost_iostreams.so.1.83.0
-/usr/lib/libboost_json.so.1.83.0
-/usr/lib/libboost_locale.so.1.83.0
-/usr/lib/libboost_log.so.1.83.0
-/usr/lib/libboost_log_setup.so.1.83.0
-/usr/lib/libboost_math_c99.so.1.83.0
-/usr/lib/libboost_math_c99f.so.1.83.0
-/usr/lib/libboost_math_c99l.so.1.83.0
-/usr/lib/libboost_math_tr1.so.1.83.0
-/usr/lib/libboost_math_tr1f.so.1.83.0
-/usr/lib/libboost_math_tr1l.so.1.83.0
-/usr/lib/libboost_nowide.so.1.83.0
-/usr/lib/libboost_prg_exec_monitor.so.1.83.0
-/usr/lib/libboost_program_options.so.1.83.0
-/usr/lib/libboost_python27.so.1.83.0
-/usr/lib/libboost_python39.so.1.83.0
-/usr/lib/libboost_random.so.1.83.0
-/usr/lib/libboost_regex.so.1.83.0
-/usr/lib/libboost_serialization.so.1.83.0
-/usr/lib/libboost_stacktrace_addr2line.so.1.83.0
-/usr/lib/libboost_stacktrace_basic.so.1.83.0
-/usr/lib/libboost_stacktrace_noop.so.1.83.0
-/usr/lib/libboost_system.so.1.83.0
-/usr/lib/libboost_thread.so.1.83.0
-/usr/lib/libboost_timer.so.1.83.0
-/usr/lib/libboost_type_erasure.so.1.83.0
-/usr/lib/libboost_unit_test_framework.so.1.83.0
-/usr/lib/libboost_url.so.1.83.0
-/usr/lib/libboost_wave.so.1.83.0
-/usr/lib/libboost_wserialization.so.1.83.0
diff --git a/source/a/bash/bash-5.2-patches/bash52-027 b/source/a/bash/bash-5.2-patches/bash52-027
new file mode 100644
index 000000000..9f18676f8
--- /dev/null
+++ b/source/a/bash/bash-5.2-patches/bash52-027
@@ -0,0 +1,63 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.2
+Patch-ID: bash52-027
+
+Bug-Reported-by: Emanuel Haupt <ehaupt@FreeBSD.org>
+Bug-Reference-ID: <20221001123841.27e1bfb3bf3ed58ab32ea2b5@FreeBSD.org>
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2022-10/msg00000.html
+
+Bug-Description:
+
+The configure test for the presence of strtoimax(3) is inverted.
+
+Patch (apply with `patch -p0'):
+
+
+*** ../bash-5.2-patched/m4/strtoimax.m4 Mon Apr 11 16:31:52 2022
+--- m4/strtoimax.m4 Tue Apr 9 11:12:36 2024
+***************
+*** 30,34 ****
+ ])
+ AC_MSG_RESULT($bash_cv_func_strtoimax)
+! if test $bash_cv_func_strtoimax = yes; then
+ AC_LIBOBJ(strtoimax)
+ fi
+--- 30,34 ----
+ ])
+ AC_MSG_RESULT($bash_cv_func_strtoimax)
+! if test $bash_cv_func_strtoimax = no; then
+ AC_LIBOBJ(strtoimax)
+ fi
+*** ..//bash-5.2-patched/configure Fri Sep 23 10:13:22 2022
+--- configure Tue Apr 9 11:13:21 2024
+***************
+*** 20444,20448 ****
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $bash_cv_func_strtoimax" >&5
+ printf "%s\n" "$bash_cv_func_strtoimax" >&6; }
+! if test $bash_cv_func_strtoimax = yes; then
+ case " $LIBOBJS " in
+ *" strtoimax.$ac_objext "* ) ;;
+--- 20444,20448 ----
+ { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $bash_cv_func_strtoimax" >&5
+ printf "%s\n" "$bash_cv_func_strtoimax" >&6; }
+! if test $bash_cv_func_strtoimax = no; then
+ case " $LIBOBJS " in
+ *" strtoimax.$ac_objext "* ) ;;
+
+*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 26
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 27
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-5.2-patches/bash52-028 b/source/a/bash/bash-5.2-patches/bash52-028
new file mode 100644
index 000000000..806bdc5ee
--- /dev/null
+++ b/source/a/bash/bash-5.2-patches/bash52-028
@@ -0,0 +1,49 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.2
+Patch-ID: bash52-028
+
+Bug-Reported-by: Mark March <march@systempad.cloud>
+Bug-Reference-ID: <834896722.6304071.1718744118467@mail.yahoo.com>
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2024-06/msg00122.html
+
+Bug-Description:
+
+A DEBUG trap in an asynchronous process can steal the controlling terminal
+away from the calling shell, causing it to exit.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-20240609/trap.c Fri May 3 12:12:38 2024
+--- trap.c Wed Jun 26 10:41:40 2024
+***************
+*** 1217,1221 ****
+ restore_pgrp_pipe (save_pipe);
+ # endif
+! if (pipeline_pgrp > 0 && ((subshell_environment & (SUBSHELL_ASYNC|SUBSHELL_PIPE)) == 0))
+ give_terminal_to (pipeline_pgrp, 1);
+
+--- 1217,1223 ----
+ restore_pgrp_pipe (save_pipe);
+ # endif
+! /* If the trap command gave the terminal to another process group,
+! restore it. XXX - check running_in_background? */
+! if (job_control && pipeline_pgrp > 0 && ((subshell_environment & (SUBSHELL_ASYNC|SUBSHELL_PIPE)) == 0))
+ give_terminal_to (pipeline_pgrp, 1);
+
+*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 27
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 28
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-5.2-patches/bash52-029 b/source/a/bash/bash-5.2-patches/bash52-029
new file mode 100644
index 000000000..7c816eaa2
--- /dev/null
+++ b/source/a/bash/bash-5.2-patches/bash52-029
@@ -0,0 +1,137 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.2
+Patch-ID: bash52-029
+
+Bug-Reported-by: Grisha Levit <grishalevit@gmail.com>
+Bug-Reference-ID: <CAMu=Brp9QHvLh8vbY45hRgCVaQUNSnU7n8EVjsWKajT7c99K8Q@mail.gmail.com>
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2023-04/msg00072.html
+
+Bug-Description:
+
+There are problems with recovery after parser errors when parsing compound
+assignments. For instance, the `local' builtin reports an error but never
+cleans up the function context.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-20230427/parse.y Fri Apr 14 11:50:29 2023
+--- parse.y Mon May 1 16:25:14 2023
+***************
+*** 6471,6478 ****
+ {
+ set_exit_status (EXECUTION_FAILURE);
+ if (interactive_shell == 0 && posixly_correct)
+ jump_to_top_level (FORCE_EOF);
+ else
+! jump_to_top_level (DISCARD);
+ }
+
+--- 6471,6483 ----
+ {
+ set_exit_status (EXECUTION_FAILURE);
++ current_token = '\n'; /* XXX */
+ if (interactive_shell == 0 && posixly_correct)
+ jump_to_top_level (FORCE_EOF);
+ else
+! {
+! if (executing && parse_and_execute_level == 0)
+! top_level_cleanup ();
+! jump_to_top_level (DISCARD);
+! }
+ }
+
+***************
+*** 6538,6546 ****
+ {
+ set_exit_status (EXECUTION_FAILURE);
+! last_read_token = '\n'; /* XXX */
+ if (interactive_shell == 0 && posixly_correct)
+ jump_to_top_level (FORCE_EOF);
+ else
+! jump_to_top_level (DISCARD);
+ }
+
+--- 6543,6555 ----
+ {
+ set_exit_status (EXECUTION_FAILURE);
+! last_read_token = current_token = '\n'; /* XXX */
+ if (interactive_shell == 0 && posixly_correct)
+ jump_to_top_level (FORCE_EOF);
+ else
+! {
+! if (executing && parse_and_execute_level == 0)
+! top_level_cleanup ();
+! jump_to_top_level (DISCARD);
+! }
+ }
+
+
+*** ../bash-20230427/y.tab.c Tue Jul 30 15:19:31 2024
+--- y.tab.c Tue Jul 30 15:20:21 2024
+***************
+*** 8786,8793 ****
+ {
+ set_exit_status (EXECUTION_FAILURE);
+ if (interactive_shell == 0 && posixly_correct)
+ jump_to_top_level (FORCE_EOF);
+ else
+! jump_to_top_level (DISCARD);
+ }
+
+--- 8786,8798 ----
+ {
+ set_exit_status (EXECUTION_FAILURE);
++ current_token = '\n'; /* XXX */
+ if (interactive_shell == 0 && posixly_correct)
+ jump_to_top_level (FORCE_EOF);
+ else
+! {
+! if (executing && parse_and_execute_level == 0)
+! top_level_cleanup ();
+! jump_to_top_level (DISCARD);
+! }
+ }
+
+***************
+*** 8853,8861 ****
+ {
+ set_exit_status (EXECUTION_FAILURE);
+! last_read_token = '\n'; /* XXX */
+ if (interactive_shell == 0 && posixly_correct)
+ jump_to_top_level (FORCE_EOF);
+ else
+! jump_to_top_level (DISCARD);
+ }
+
+--- 8858,8870 ----
+ {
+ set_exit_status (EXECUTION_FAILURE);
+! last_read_token = current_token = '\n'; /* XXX */
+ if (interactive_shell == 0 && posixly_correct)
+ jump_to_top_level (FORCE_EOF);
+ else
+! {
+! if (executing && parse_and_execute_level == 0)
+! top_level_cleanup ();
+! jump_to_top_level (DISCARD);
+! }
+ }
+
+
+*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 28
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 29
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-5.2-patches/bash52-030 b/source/a/bash/bash-5.2-patches/bash52-030
new file mode 100644
index 000000000..20b8f244c
--- /dev/null
+++ b/source/a/bash/bash-5.2-patches/bash52-030
@@ -0,0 +1,130 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.2
+Patch-ID: bash52-030
+
+Bug-Reported-by: Steven Pelley <stevenpelley@gmail.com>
+Bug-Reference-ID: <CAGOYURh6CKaE-D0Z8puP-tQknavCQNRHo02vpvgMQqaTG3_cRw@mail.gmail.com>
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2024-01/msg00104.html
+
+Bug-Description:
+
+`wait -n' can fail to return some jobs if they exit due to signals the shell
+does not report to the user.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.2-patched/jobs.c Thu Nov 9 14:59:14 2023
+--- jobs.c Tue Jul 30 15:27:44 2024
+***************
+*** 4275,4279 ****
+ ((DEADJOB (job) && IS_FOREGROUND (job) == 0) || STOPPED (job)))
+ continue;
+!
+ /* If job control is disabled, don't print the status messages.
+ Mark dead jobs as notified so that they get cleaned up. If
+--- 4288,4312 ----
+ ((DEADJOB (job) && IS_FOREGROUND (job) == 0) || STOPPED (job)))
+ continue;
+!
+! /* Do the same thing and don't print anything or mark as notified
+! for the signals we're not going to report on. This is the opposite
+! of the first two cases under case JDEAD below. */
+! else if (interactive_shell == 0 && DEADJOB (job) && IS_FOREGROUND (job) == 0 &&
+! WIFSIGNALED (s) && (termsig == SIGINT
+! #if defined (DONT_REPORT_SIGTERM)
+! || termsig == SIGTERM
+! #endif
+! #if defined (DONT_REPORT_SIGPIPE)
+! || termsig == SIGPIPE
+! #endif
+! || signal_is_trapped (termsig)))
+! continue;
+!
+! /* hang onto the status if the shell is running -c command */
+! else if (startup_state == 2 && subshell_environment == 0 &&
+! WIFSIGNALED (s) == 0 &&
+! ((DEADJOB (job) && IS_FOREGROUND (job) == 0) || STOPPED (job)))
+! continue;
+!
+ /* If job control is disabled, don't print the status messages.
+ Mark dead jobs as notified so that they get cleaned up. If
+***************
+*** 4298,4302 ****
+ /* Print info on jobs that are running in the background,
+ and on foreground jobs that were killed by anything
+! except SIGINT (and possibly SIGPIPE). */
+ switch (JOBSTATE (job))
+ {
+--- 4331,4335 ----
+ /* Print info on jobs that are running in the background,
+ and on foreground jobs that were killed by anything
+! except SIGINT (and possibly SIGTERM and SIGPIPE). */
+ switch (JOBSTATE (job))
+ {
+***************
+*** 4318,4321 ****
+--- 4351,4355 ----
+ else if (IS_FOREGROUND (job))
+ {
++ /* foreground jobs, interactive and non-interactive shells */
+ #if !defined (DONT_REPORT_SIGPIPE)
+ if (termsig && WIFSIGNALED (s) && termsig != SIGINT)
+***************
+*** 4331,4337 ****
+ fprintf (stderr, "\n");
+ }
+ }
+! else if (job_control) /* XXX job control test added */
+ {
+ if (dir == 0)
+ dir = current_working_directory ();
+--- 4365,4375 ----
+ fprintf (stderr, "\n");
+ }
++ /* foreground jobs that exit cleanly */
++ jobs[job]->flags |= J_NOTIFIED;
+ }
+! else if (job_control)
+ {
++ /* background jobs with job control, interactive and
++ non-interactive shells */
+ if (dir == 0)
+ dir = current_working_directory ();
+***************
+*** 4342,4346 ****
+ }
+
+! jobs[job]->flags |= J_NOTIFIED;
+ break;
+
+--- 4380,4391 ----
+ }
+
+! /* Interactive shells without job control enabled are handled
+! above. */
+! /* XXX - this is a catch-all in case we missed a state */
+! else
+! {
+! internal_debug("notify_of_job_status: catch-all setting J_NOTIFIED on job %d (%d), startup state = %d", job, jobs[job]->flags, startup_state);
+! jobs[job]->flags |= J_NOTIFIED;
+! }
+ break;
+
+
+*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 29
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 30
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash-5.2-patches/bash52-031 b/source/a/bash/bash-5.2-patches/bash52-031
new file mode 100644
index 000000000..0210bb278
--- /dev/null
+++ b/source/a/bash/bash-5.2-patches/bash52-031
@@ -0,0 +1,46 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.2
+Patch-ID: bash52-031
+
+Bug-Reported-by: Grisha Levit <grishalevit@gmail.com>
+Bug-Reference-ID: <CAMu=BrrD52xxF7C9Ke1fosAurHq1kz82t7FcHsrPBw9CbAst6A@mail.gmail.com>
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2023-06/msg00045.html
+
+Bug-Description:
+
+There is a memory leak in the code that implements the optimized $(<file)
+expansion for some code paths.
+
+Patch (apply with `patch -p0'):
+
+*** ../bash-5.2-patched/builtins/evalstring.c Tue Dec 13 12:53:21 2022
+--- builtins/evalstring.c Tue Nov 28 17:25:39 2023
+***************
+*** 763,766 ****
+--- 773,779 ----
+ if (fnp)
+ *fnp = fn;
++ else
++ free (fn);
++
+ return fd;
+ }
+
+*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 30
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 31
+
+ #endif /* _PATCHLEVEL_H_ */
+
diff --git a/source/a/bash/bash-5.2-patches/bash52-032 b/source/a/bash/bash-5.2-patches/bash52-032
new file mode 100644
index 000000000..618a37fca
--- /dev/null
+++ b/source/a/bash/bash-5.2-patches/bash52-032
@@ -0,0 +1,51 @@
+ BASH PATCH REPORT
+ =================
+
+Bash-Release: 5.2
+Patch-ID: bash52-032
+
+Bug-Reported-by: Albert Akchurin <ackbeat@gmail.com>
+Bug-Reference-ID: Mon, 11 Dec 2023 20:41:58 +0600
+Bug-Reference-URL: https://lists.gnu.org/archive/html/bug-bash/2023-12/msg00047.html
+
+Bug-Description:
+
+Patch (apply with `patch -p0'):
+
+When printing functions containing coprocesses, the displayed coproc command
+has the word COPROC inserted unconditionally, resulting in function bodies
+that cannot be re-read as input.
+
+*** ../bash-5.2-patched/print_cmd.c Mon Aug 21 16:09:44 2023
+--- print_cmd.c Mon Dec 11 15:34:30 2023
+***************
+*** 357,361 ****
+
+ case cm_coproc:
+! cprintf ("coproc %s ", command->value.Coproc->name);
+ skip_this_indent++;
+ make_command_string_internal (command->value.Coproc->command);
+--- 357,363 ----
+
+ case cm_coproc:
+! cprintf ("coproc ");
+! if (command->value.Coproc->command->type != cm_simple)
+! cprintf ("%s ", command->value.Coproc->name);
+ skip_this_indent++;
+ make_command_string_internal (command->value.Coproc->command);
+
+*** ../bash-5.2/patchlevel.h 2020-06-22 14:51:03.000000000 -0400
+--- patchlevel.h 2020-10-01 11:01:28.000000000 -0400
+***************
+*** 26,30 ****
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 31
+
+ #endif /* _PATCHLEVEL_H_ */
+--- 26,30 ----
+ looks for to find the patch level (for the sccs version string). */
+
+! #define PATCHLEVEL 32
+
+ #endif /* _PATCHLEVEL_H_ */
diff --git a/source/a/bash/bash.SlackBuild b/source/a/bash/bash.SlackBuild
index 5d58965b1..0008dfbe2 100755
--- a/source/a/bash/bash.SlackBuild
+++ b/source/a/bash/bash.SlackBuild
@@ -31,14 +31,13 @@ PKG=$TMP/package-bash
PKGNAM=bash
VERSION=${VERSION:-$(echo bash-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$MARCH ;;
@@ -47,21 +46,12 @@ fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-if [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-O2 -march=i486 -mcpu=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -107,11 +97,18 @@ if [ -d $CWD/bash-${VERSION}-patches ]; then
( cd $CWD/bash-${VERSION}-patches ; cat bash5?-??? ) | patch -p0 --verbose || exit 1
fi
+# Fix builtin printf with gcc14:
+zcat $CWD/bash.gcc14.diff.gz | patch -p1 --verbose || exit 1
+
# End of preparations
if echo "$*" | grep -qw -- --prep ; then
exit 0
fi
+# Reconf due to configure.ac patch:
+autoreconf -vif
+# The above will generate an error, but it still works...
+
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
diff --git a/source/a/bash/bash.gcc14.diff b/source/a/bash/bash.gcc14.diff
new file mode 100644
index 000000000..789378d15
--- /dev/null
+++ b/source/a/bash/bash.gcc14.diff
@@ -0,0 +1,11 @@
+--- ./configure.ac.orig 2022-09-23 09:12:27.000000000 -0500
++++ ./configure.ac 2024-08-06 12:28:34.813038791 -0500
+@@ -885,7 +885,7 @@
+ [AC_COMPILE_IFELSE(
+ [AC_LANG_PROGRAM(
+ [[#include <stdlib.h>]],
+- [[long double r; char *foo, bar; r = strtold(foo, &bar);]]
++ [[long double r; char *foo, *bar; r = strtold(foo, &bar);]]
+ )],
+ [bash_cv_strtold_broken=no],[bash_cv_strtold_broken=yes])
+ ]
diff --git a/source/a/bcachefs-tools/bcachefs-tools-1.9.4.tar.zst b/source/a/bcachefs-tools/bcachefs-tools-1.9.4.tar.zst
new file mode 100644
index 000000000..d0309526b
--- /dev/null
+++ b/source/a/bcachefs-tools/bcachefs-tools-1.9.4.tar.zst
Binary files differ
diff --git a/source/a/udisks/udisks.SlackBuild b/source/a/bcachefs-tools/bcachefs-tools.SlackBuild
index f84094210..5eaabd8d0 100755
--- a/source/a/udisks/udisks.SlackBuild
+++ b/source/a/bcachefs-tools/bcachefs-tools.SlackBuild
@@ -1,8 +1,6 @@
#!/bin/bash
-# Slackware build script for udisks
-
-# Copyright 2010, 2011, 2014, 2015, 2020 Robby Workman, Tuscaloosa, Alabama, USA
+# Copyright 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -11,7 +9,7 @@
# 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
+# 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,
@@ -22,26 +20,21 @@
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-# Modified 2012 by Eric Hameleers <alien at slackware.com> for ARM port.
-
cd $(dirname $0) ; CWD=$(pwd)
-PKGNAM=udisks
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-11}
-
-NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
+PKGNAM=bcachefs-tools
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.zst | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
-MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
- case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
- arm*) export ARCH=arm ;;
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
- *) export ARCH=$MARCH ;;
+ *) ARCH=$(uname -m) ;;
esac
+ export ARCH
fi
# If the variable PRINT_PACKAGE_NAME is set, then this script will report what
@@ -52,83 +45,88 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
if [ "$ARCH" = "i586" ]; then
SLKCFLAGS="-O2 -march=i586 -mtune=i686"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-O2 -fPIC"
LIBDIRSUFFIX="64"
elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
fi
-case "$ARCH" in
- arm*) TARGET=$ARCH-slackware-linux-gnueabi ;;
- *) TARGET=$ARCH-slackware-linux ;;
-esac
-
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
rm -rf $PKG
mkdir -p $TMP $PKG
+
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.xz
+tar xvf $CWD/$PKGNAM-$VERSION.tar.zst || 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 {} \+
+ \( -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 {} \+
-zcat $CWD/udisks.no.pci-db.diff.gz | patch -p1 --verbose || exit 1
-zcat $CWD/udisks.glibc228.diff.gz | patch -p1 --verbose || exit 1
+# Let's not draw this dep in right now:
+# BCACHEFS_FUSE=1
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
-./configure \
- --prefix=/usr \
- --libdir=/usr/lib${LIBDIRSUFFIX} \
- --sysconfdir=/etc \
- --localstatedir=/var \
- --mandir=/usr/man \
- --docdir=/usr/doc/$PKGNAM-$VERSION \
- --build=$TARGET
-
-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 || true
-
-# Move the bash completion file to the system directory
-# Put bash-completion file in system directory:
-mkdir -p $PKG/usr/share/bash-completion/completions/
-mv $PKG/etc/profile.d/udisks-bash-completion.sh \
- $PKG/usr/share/bash-completion/completions/udisks
-rmdir --parents $PKG/etc/profile.d
-
-# Move the dbus config file to the system directory
-mkdir -p $PKG/usr/share/dbus-1/system.d/
-mv $PKG/etc/dbus-1/system.d/* $PKG/usr/share/dbus-1/system.d/
-rmdir --parents $PKG/etc/dbus-1/system.d/
-
+ make $NUMJOBS \
+ PREFIX=/usr \
+ LIBEXECDIR=/usr/lib${LIBDIRSUFFIX} \
+ ROOT_SBINDIR=/sbin \
+ INITRAMFS_DIR=/etc/junk \
+ DESTDIR=$PKG \
+ install || exit 1
+
+# Remove junk:
+rm -rf $PKG/etc
+
+# No option, so relocate:
+mv $PKG/usr/share/man $PKG/usr
+rmdir $PKG/usr/share
+
+# Install completions:
+mkdir -p $PKG/usr/share/bash-completion/completions
+$PKG/sbin/bcachefs completions bash > $PKG/usr/share/bash-completion/completions/bcachefs
+mkdir -p $PKG/usr/share/zsh/site-functions
+$PKG/sbin/bcachefs completions zsh > $PKG/usr/share/zsh/site-functions/_bcachefs
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
find $PKG/usr/man -type f -exec gzip -9 {} \+
-for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
-mkdir -p $PKG/usr/doc/$PKGNAM-$VERSION
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
cp -a \
- AUTHORS COPYING ChangeLog HACKING INSTALL NEWS README \
- $PKG/usr/doc/$PKGNAM-$VERSION
+ COPYING* INSTALL* README* \
+ doc/bcachefs-principles-of-operation.tex \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/source/a/bcachefs-tools/bcachefs-tools.url b/source/a/bcachefs-tools/bcachefs-tools.url
new file mode 100644
index 000000000..42c0def89
--- /dev/null
+++ b/source/a/bcachefs-tools/bcachefs-tools.url
@@ -0,0 +1 @@
+https://evilpiepirate.org/bcachefs-tools/
diff --git a/source/a/bcachefs-tools/slack-desc b/source/a/bcachefs-tools/slack-desc
new file mode 100644
index 000000000..6d78e799a
--- /dev/null
+++ b/source/a/bcachefs-tools/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------------------------------------------------------|
+bcachefs-tools: bcachefs-tools (tools for bcachefs filesystem)
+bcachefs-tools:
+bcachefs-tools: Bcachefs is an advanced new filesystem for Linux, with an emphasis on
+bcachefs-tools: reliability and robustness and the complete set of features one would
+bcachefs-tools: expect from a modern filesystem.
+bcachefs-tools:
+bcachefs-tools: This package contains the bcachefs tool, {mkfs,mount,fsck}.bcachefs
+bcachefs-tools: wrappers that call the bcachefs tool, and documentation.
+bcachefs-tools:
+bcachefs-tools: Homepage: https://bcachefs.org
+bcachefs-tools:
diff --git a/source/a/btrfs-progs/btrfs-progs.SlackBuild b/source/a/btrfs-progs/btrfs-progs.SlackBuild
index bd36c98d8..1f9c9e7ae 100755
--- a/source/a/btrfs-progs/btrfs-progs.SlackBuild
+++ b/source/a/btrfs-progs/btrfs-progs.SlackBuild
@@ -40,7 +40,7 @@ VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
@@ -55,21 +55,12 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
diff --git a/source/a/coreutils/coreutils.SlackBuild b/source/a/coreutils/coreutils.SlackBuild
index 3d655f996..560948fe4 100755
--- a/source/a/coreutils/coreutils.SlackBuild
+++ b/source/a/coreutils/coreutils.SlackBuild
@@ -76,6 +76,9 @@ else
LIBDIRSUFFIX=""
fi
+# GCC 14 "fix":
+SLKCFLAGS="$SLKCFLAGS -Wno-error=implicit-function-declaration"
+
# Don't use icecream:
PATH=$(echo $PATH | sed "s|/usr/libexec/icecc/bin||g" | tr -s : | sed "s/^://g" | sed "s/:$//g")
@@ -129,6 +132,7 @@ DEFAULT_POSIX2_VERSION=199209 \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--enable-install-program=arch \
--with-openssl=no \
+ --enable-year2038 \
--build=$ARCH-slackware-linux || exit 1
make $NUMJOBS || make || exit 1
diff --git a/source/a/cracklib/cracklib.SlackBuild b/source/a/cracklib/cracklib.SlackBuild
index 4a617bbb6..4ba95f221 100755
--- a/source/a/cracklib/cracklib.SlackBuild
+++ b/source/a/cracklib/cracklib.SlackBuild
@@ -1,7 +1,7 @@
#!/bin/sh
# Copyright 2010,2011 Vincent Batts, Vienna, VA, USA
-# Copyright 2010, 2018, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2010, 2018, 2023, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -30,7 +30,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
@@ -50,14 +50,11 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
@@ -77,6 +74,16 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+cd src
+
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/a/cryptsetup/cryptsetup.SlackBuild b/source/a/cryptsetup/cryptsetup.SlackBuild
index 12000d75e..3096daa5e 100755
--- a/source/a/cryptsetup/cryptsetup.SlackBuild
+++ b/source/a/cryptsetup/cryptsetup.SlackBuild
@@ -25,12 +25,12 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=cryptsetup
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
@@ -47,14 +47,11 @@ fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
diff --git a/source/a/cryptsetup/rc.luks b/source/a/cryptsetup/rc.luks
index 9e85ceade..2da93b359 100644
--- a/source/a/cryptsetup/rc.luks
+++ b/source/a/cryptsetup/rc.luks
@@ -58,6 +58,8 @@ luks_start() {
if echo $OPTS | grep -wq discard ; then LUKSOPTS="${LUKSOPTS} --allow-discards" ; fi
# Skip LUKS volumes that were already unlocked (in the initrd):
/sbin/cryptsetup status $LUKS 2>/dev/null | head -n 1 | grep -q "is active" && continue
+ # Skip LUKS volumes that have the "noauto" option in /etc/fstab:
+ if echo $OPTS | grep -wq noauto ; then continue ; fi
if /sbin/cryptsetup isLuks $DEV 2>/dev/null ; then
if [ -z "${LUKSOPTS}" ]; then
echo "Unlocking LUKS encrypted volume '${LUKS}' on device '$DEV':"
diff --git a/source/a/dracut/doinst.sh b/source/a/dracut/doinst.sh
new file mode 100644
index 000000000..89ec66020
--- /dev/null
+++ b/source/a/dracut/doinst.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+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/dracut.conf.d/elogind.conf.new
diff --git a/source/a/dracut/dracut.SlackBuild b/source/a/dracut/dracut.SlackBuild
new file mode 100755
index 000000000..182385a29
--- /dev/null
+++ b/source/a/dracut/dracut.SlackBuild
@@ -0,0 +1,127 @@
+#!/bin/bash
+
+# Copyright 2023 Matt Egger USA
+# Copyright 2024 Patrick J. Volkerding, Sebeka, Minnesota, 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=dracut
+SRCNAM=dracut-ng
+VERSION=${VERSION:-$(echo $SRCNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-2}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i686 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+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
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $SRCNAM-$VERSION
+tar xvf $CWD/$SRCNAM-$VERSION.tar.?z || exit 1
+cd $SRCNAM-$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 {} \+
+
+# configure accepts --libdir, but the scripts still need to be edited
+# or they won't work:
+sed -i "s|/usr/lib/dracut|/usr/lib$LIBDIRSUFFIX/dracut|g" *.sh
+
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
+ --mandir=/usr/man \
+ --infodir=/usr/info \
+ --disable-static \
+ --build=$ARCH-slackware-linux || exit 1
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Include elogind-uaccess-command to allow processing uaccess rules correctly:
+cat $CWD/elogind.conf | sed "s#/lib/#/lib${LIBDIRSUFFIX}/#g" > $PKG/etc/dracut.conf.d/elogind.conf.new
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* CONTRIBUTING* COPYING* NEWS* README* \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+mkdir -p $PKG/install
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+cat $CWD/slack-desc > $PKG/install/slack-desc
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/a/dracut/dracut.url b/source/a/dracut/dracut.url
new file mode 100644
index 000000000..8854b664c
--- /dev/null
+++ b/source/a/dracut/dracut.url
@@ -0,0 +1,2 @@
+https://github.com/dracut-ng/dracut-ng
+https://github.com/dracut-ng/dracut-ng/archive/103/dracut-ng-103.tar.gz
diff --git a/source/a/dracut/elogind.conf b/source/a/dracut/elogind.conf
new file mode 100644
index 000000000..f944528c2
--- /dev/null
+++ b/source/a/dracut/elogind.conf
@@ -0,0 +1 @@
+install_items="/lib/elogind/elogind-uaccess-command"
diff --git a/source/a/dracut/slack-desc b/source/a/dracut/slack-desc
new file mode 100644
index 000000000..11b06415d
--- /dev/null
+++ b/source/a/dracut/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 ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+dracut: dracut (creates an initrd for the kernel)
+dracut:
+dracut: dracut contains tools to create bootable initrds for the Linux kernel.
+dracut: dracut will include the needed Linux kernel modules which are then
+dracut: loaded by the event-based udev.
+dracut:
+dracut: Homepage: https://github.com/dracut-ng/dracut-ng/wiki
+dracut:
+dracut:
+dracut:
+dracut:
diff --git a/source/a/e2fsprogs/e2fsprogs.SlackBuild b/source/a/e2fsprogs/e2fsprogs.SlackBuild
index 0e58d8032..e39559fc1 100755
--- a/source/a/e2fsprogs/e2fsprogs.SlackBuild
+++ b/source/a/e2fsprogs/e2fsprogs.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=e2fsprogs
VERSION=${VERSION:-$(echo e2fsprogs*.tar.?z | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -102,6 +102,7 @@ CFLAGS="$SLKCFLAGS" \
--includedir=/usr/include \
--datadir=/usr/share \
--datarootdir=/usr/share \
+ --libexecdir=/usr/libexec \
--mandir=/usr/man \
--infodir=/usr/info \
--docdir=/usr/doc/e2fsprogs-$VERSION \
diff --git a/source/a/efibootmgr/efibootmgr.SlackBuild b/source/a/efibootmgr/efibootmgr.SlackBuild
index dc61fea82..535126684 100755
--- a/source/a/efibootmgr/efibootmgr.SlackBuild
+++ b/source/a/efibootmgr/efibootmgr.SlackBuild
@@ -24,12 +24,12 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=efibootmgr
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-4}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
- i?86) ARCH=i586 ;;
+ i?86) ARCH=i686 ;;
arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
@@ -45,24 +45,12 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
-if [ "$ARCH" = "i386" ]; then
- SLKCFLAGS="-O2 -march=i386 -mcpu=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -79,9 +67,6 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/$PKGNAM-$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION
-# Remove wrong check of opts.reconnect:
-zcat $CWD/f862d860103511ae953cc2dd1283e1e95bf00376.patch.gz | patch -p1 --verbose || exit 1
-
chown -R root:root .
find . \
\( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
diff --git a/source/a/efibootmgr/f862d860103511ae953cc2dd1283e1e95bf00376.patch b/source/a/efibootmgr/f862d860103511ae953cc2dd1283e1e95bf00376.patch
deleted file mode 100644
index 2b1a0a40f..000000000
--- a/source/a/efibootmgr/f862d860103511ae953cc2dd1283e1e95bf00376.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From f862d860103511ae953cc2dd1283e1e95bf00376 Mon Sep 17 00:00:00 2001
-From: Sly_tom_cat <slytomcat@users.noreply.github.com>
-Date: Thu, 24 Oct 2019 22:23:49 +0300
-Subject: [PATCH] Remove wrong check of opts.reconnect
-
----
- src/efibootmgr.c | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/src/efibootmgr.c b/src/efibootmgr.c
-index 59ba871..f9d01bb 100644
---- a/src/efibootmgr.c
-+++ b/src/efibootmgr.c
-@@ -1738,9 +1738,6 @@ main(int argc, char **argv)
- mode = driver;
- }
-
-- if (opts.reconnect && !opts.driver)
-- errorx(30, "--reconnect is supported only for driver entries.");
--
- if (!efi_variables_supported())
- errorx(2, "EFI variables are not supported on this system.");
diff --git a/source/a/elogind/11-prefer-deep-suspend.patch b/source/a/elogind/11-prefer-deep-suspend.patch
new file mode 100644
index 000000000..c3d3d23b5
--- /dev/null
+++ b/source/a/elogind/11-prefer-deep-suspend.patch
@@ -0,0 +1,8 @@
+--- ./src/sleep/10-elogind.conf.orig 2024-04-16 02:21:44.000000000 -0500
++++ ./src/sleep/10-elogind.conf 2024-04-16 13:32:01.046025234 -0500
+@@ -19,4 +19,4 @@
+ #HandleNvidiaSleep=no
+ #HibernateByUsing=
+ #SuspendByUsing=
+-#SuspendMode=s2idle deep
++SuspendMode=deep s2idle
diff --git a/source/a/elogind/12-default-deep-suspend.patch b/source/a/elogind/12-default-deep-suspend.patch
new file mode 100644
index 000000000..25eb73dc6
--- /dev/null
+++ b/source/a/elogind/12-default-deep-suspend.patch
@@ -0,0 +1,11 @@
+--- ./src/shared/sleep-config.c.orig 2024-04-16 02:21:44.000000000 -0500
++++ ./src/shared/sleep-config.c 2024-04-22 13:31:58.033078814 -0500
+@@ -45,7 +45,7 @@
+ #if 0 /// elogind supports suspend modes (deep s2idle) so we need defaults, too
+ /* Not used by SLEEP_SUSPEND */
+ #else // 0
+- [SLEEP_SUSPEND] = STRV_MAKE("s2idle", "deep"),
++ [SLEEP_SUSPEND] = STRV_MAKE("deep", "s2idle"),
+ #endif // 0
+ [SLEEP_HIBERNATE] = STRV_MAKE("platform", "shutdown"),
+ [SLEEP_HYBRID_SLEEP] = STRV_MAKE("suspend"),
diff --git a/source/a/elogind/doinst.sh b/source/a/elogind/doinst.sh
index e529fda15..e39e2aee3 100644
--- a/source/a/elogind/doinst.sh
+++ b/source/a/elogind/doinst.sh
@@ -29,6 +29,7 @@ preserve_perms() {
preserve_perms etc/rc.d/rc.elogind.new
config etc/elogind/logind.conf.new
config etc/elogind/sleep.conf.new
+config etc/elogind/sleep.conf.d/10-elogind.conf.new
config etc/pam.d/elogind-user.new
# Reload elogind-daemon:
diff --git a/source/a/elogind/elogind.SlackBuild b/source/a/elogind/elogind.SlackBuild
index dd89aa081..74d26ab85 100755
--- a/source/a/elogind/elogind.SlackBuild
+++ b/source/a/elogind/elogind.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=elogind
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -98,30 +98,51 @@ find . \
# but sed will still happily scribble all over everything.
cat $CWD/elogind.nobody.nogroup.99.99.diff | patch -p1 --verbose || exit 1
+# OK, here's the scoop on s2idle. After doing some digging, it looks like both
+# Intel and AMD have stopped officially supporting S3 sleep (aka "deep") with
+# the latest generation of CPUs (although it "might work"). I've also seen a
+# few people say that S3 is "not secure"... which if you're worried that a
+# three letter agency might grab your sleeping laptop and extract the contents
+# of the RAM while keeping it powered up, well, maybe in that sense it isn't.
+# As far as s2idle, I have heard that it has the potential to be as much of a
+# low power mode as deep, but that depends on how low the IRQ rate gets. In
+# practice I have heard of s2idle draining a battery in half a day.
+#
+# Anyway, I tried s2idle here again (with the below sleep patches) and it still
+# locks up my machine (a fairly recent Thinkpad X1).
+#
+# S3 works and has the best power savings of all the partially-on modes.
+# Feel free to edit /etc/elogind/sleep.conf.d/10-elogind.conf if s2idle works
+# for you, but we'll continue to default to deep for now.
+#
+# Don't prefer s2idle, as it doesn't seem to work:
+cat $CWD/11-prefer-deep-suspend.patch | patch -p1 --verbose || exit 1
+cat $CWD/12-default-deep-suspend.patch | patch -p1 --verbose || exit 1
+
# Configure, build, and install:
export CFLAGS="$SLKCFLAGS"
export CXXFLAGS="$SLKCFLAGS"
mkdir meson-build
cd meson-build
-meson \
- --buildtype release \
- --prefix /usr \
- --libdir /usr/lib${LIBDIRSUFFIX} \
- -Drootlibdir="/lib${LIBDIRSUFFIX}" \
- -Drootlibexecdir="/lib${LIBDIRSUFFIX}/elogind" \
+meson setup \
+ --buildtype=release \
+ --prefix=/usr \
+ --libdir=/lib${LIBDIRSUFFIX} \
+ --libexecdir=/lib${LIBDIRSUFFIX}/elogind \
+ -Dpkgconfiglibdir=/usr/lib${LIBDIRSUFFIX}/pkgconfig \
+ -Dpamlibdir=/lib${LIBDIRSUFFIX}/security \
-Dudevrulesdir="/lib/udev/rules.d" \
-Ddocdir="/usr/doc/$PKGNAM-$VERSION" \
-Dhtmldir="/usr/doc/$PKGNAM-$VERSION/html" \
-Dmandir="/usr/man" \
- -Dman=true \
- -Dhtml=false \
+ -Dman=enabled \
+ -Dhtml=disabled \
-Dbashcompletiondir="/usr/share/bash-completion/completions" \
-Dnobody-user=nobody \
-Dnobody-group=nogroup \
- -Dpam=true \
- -Dpamlibdir="/lib${LIBDIRSUFFIX}/security" \
+ -Dpam=enabled \
-Dpamconfdir="/etc/pam.d" \
- -Dacl=true \
+ -Dacl=enabled \
-Dsmack=false \
-Dutmp=true \
-Ddefault-hierarchy=legacy \
@@ -130,19 +151,21 @@ meson \
-Dpoweroff-path=/sbin/poweroff \
-Dreboot-path=/sbin/reboot \
-Ddefault-kill-user-processes=false \
+ -Dmode=release \
.. || exit 1
"${NINJA:=ninja}" $NUMJOBS || exit 1
DESTDIR=$PKG $NINJA install || exit 1
cd ..
-# Create symlinks for elogind binaries to /usr/bin/:
-mkdir -p $PKG/usr/bin
-ln -sf /bin/elogind-inhibit $PKG/usr/bin/elogind-inhibit
-ln -sf /bin/loginctl $PKG/usr/bin/loginctl
+# Create symlinks for elogind binaries to /bin/:
+mkdir -p $PKG/bin
+ln -sf /usr/bin/elogind-inhibit $PKG/bin/elogind-inhibit
+ln -sf /usr/bin/loginctl $PKG/bin/loginctl
# Make sure we do not overwrite the user's customizations:
mv -i $PKG/etc/elogind/logind.conf{,.new}
mv -i $PKG/etc/elogind/sleep.conf{,.new}
+mv -i $PKG/etc/elogind/sleep.conf.d/10-elogind.conf{,.new}
mv -i $PKG/etc/pam.d/elogind-user{,.new}
# Strip binaries:
@@ -168,7 +191,7 @@ mkdir -p $PKG/etc/elogind/logind.conf.d/ $PKG/etc/elogind/sleep.conf.d/
# Add login1 policy file that allows users in the 'power' group
# to shutdown/reboot the computer:
mkdir -p $PKG/usr/share/polkit-1/rules.d
-zcat $CWD/10-enable-elogind-power.rules.gz > $PKG/usr/share/polkit-1/rules.d/10-enable-session-power.rules
+cat $CWD/10-enable-elogind-power.rules > $PKG/usr/share/polkit-1/rules.d/10-enable-session-power.rules
# We don't need the hidden files to make inferior package managers keep dirs:
find $PKG -type f -name ".keep_dir" -exec rm -f {} \;
diff --git a/source/a/elvis/elvis.SlackBuild b/source/a/elvis/elvis.SlackBuild
index fe2817d3b..b3bd8261d 100755
--- a/source/a/elvis/elvis.SlackBuild
+++ b/source/a/elvis/elvis.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=elvis
VERSION=2.2_0
-BUILD=${BUILD:-8}
+BUILD=${BUILD:-9}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/etc/_etc/etc/profile.new b/source/a/etc/_etc/etc/profile.new
index 9cfc74aa0..73a6c9993 100644
--- a/source/a/etc/_etc/etc/profile.new
+++ b/source/a/etc/_etc/etc/profile.new
@@ -4,15 +4,6 @@
# Set the values for some environment variables:
export MINICOM="-c on"
export HOSTNAME="`cat /etc/HOSTNAME`"
-export LESSOPEN="|lesspipe.sh %s"
-# Setting a default $LESS was something inherited from SLS many years ago,
-# but apparently the previous setting of "-M" causes display issues with
-# some programs (i.e. git log). Adding "-R" as well fixes this, but some
-# folks have concerns about the security of this option (I think it's
-# actually "-r" that's the dangerous one). Anyway, it might be best to just
-# leave this unset by default. Uncomment it if you like, or set up your
-# own definition or aliases on a per-account basis.
-#export LESS="-M -R"
# If the user doesn't have a .inputrc, use the one in /etc.
if [ ! -r "$HOME/.inputrc" ]; then
@@ -63,7 +54,7 @@ else
PS1='\u@\h:\w\$ '
fi
PS2='> '
-export PATH DISPLAY LESS TERM PS1 PS2
+export PATH DISPLAY TERM PS1 PS2
# Default umask. A umask of 022 prevents new files from being created group
# and world writable.
diff --git a/source/a/etc/doinst.sh b/source/a/etc/doinst.sh
index 18b53f333..3734bc854 100644
--- a/source/a/etc/doinst.sh
+++ b/source/a/etc/doinst.sh
@@ -100,6 +100,15 @@ rm -f etc/gshadow.new
rm -f etc/passwd.new
rm -f etc/shadow.new
+# We will add any missing entries to gshadow, but make no attempt to repair existing ones:
+cat etc/group | while read line ; do
+ GRP="$(echo $line | cut -f 1 -d :)"
+ GMEMBERS="$(echo $line | rev | cut -f 1 -d : | rev)"
+ if ! grep -q "^${GRP}:" etc/gshadow ; then
+ echo "${GRP}:x::${GMEMBERS}" >> etc/gshadow
+ fi
+done
+
# Make sure $HOME is correct for user sddm:
chroot . /usr/sbin/usermod -d /var/lib/sddm sddm > /dev/null 2> /dev/null
# Make sure that sddm is a member of group video:
diff --git a/source/a/etc/etc.SlackBuild b/source/a/etc/etc.SlackBuild
index 4dc6e0d59..82526efd0 100755
--- a/source/a/etc/etc.SlackBuild
+++ b/source/a/etc/etc.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=etc
VERSION=15.1
-BUILD=${BUILD:-9}
+BUILD=${BUILD:-12}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -80,4 +80,3 @@ zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
# Build the package:
cd $PKG
/sbin/makepkg -l y -c n $TMP/etc-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/a/etc/group.new b/source/a/etc/group.new
index d4a516c68..2bcaf4ea9 100644
--- a/source/a/etc/group.new
+++ b/source/a/etc/group.new
@@ -59,6 +59,7 @@ nogroup:x:99:
users:x:100:
console:x:101:
avahi:x:214:
+nut:x:218:
colord:x:303:
nm-openvpn:x:320:
ldap:x:330:
diff --git a/source/a/etc/passwd.new b/source/a/etc/passwd.new
index e926f2f4a..f7e8e0e26 100644
--- a/source/a/etc/passwd.new
+++ b/source/a/etc/passwd.new
@@ -37,6 +37,7 @@ dovenull:x:95:95:User for Dovecot login processing:/dev/null:/bin/false
proftpd:x:97:97:User for ProFTPD:/:/bin/false
nobody:x:99:99:nobody:/:/bin/false
avahi:x:214:214:User for avahi:/dev/null:/bin/false
+nut:x:218:218:User for NUT:/dev/null:/bin/false
colord:x:303:303:User for colord:/var/lib/colord:/bin/false
nm-openvpn:x:320:320:User for NetworkManager-openvpn:/var/lib/openvpn/chroot:/bin/false
ldap:x:330:330:OpenLDAP server:/var/lib/openldap:/bin/false
diff --git a/source/a/etc/shadow.new b/source/a/etc/shadow.new
index f2acecf78..3cbc04070 100644
--- a/source/a/etc/shadow.new
+++ b/source/a/etc/shadow.new
@@ -37,6 +37,7 @@ dovenull:*:9797:0:::::
proftpd:*:9797:0:::::
nobody:*:9797:0:::::
avahi:*:9797:0:::::
+nut:*:9797:0:::::
colord:*:9797:0:::::
nm-openvpn:*:9797:0:::::
ldap:*:9797:0:::::
diff --git a/source/a/eudev/config/modprobe.d/watchdog.conf b/source/a/eudev/config/modprobe.d/watchdog.conf
index b5d1e65e7..6760f7593 100644
--- a/source/a/eudev/config/modprobe.d/watchdog.conf
+++ b/source/a/eudev/config/modprobe.d/watchdog.conf
@@ -5,12 +5,14 @@
# Blacklist all watchdog modules. Many motherboards hang with them, and
# if you really need a watchdog, you probably know how to load the module.
blacklist acquirewdt
+blacklist advantech_ec_wdt
blacklist advantechwdt
blacklist alim1535_wdt
blacklist alim7101_wdt
blacklist bcm7038_wdt
blacklist cadence_wdt
blacklist cpu5wdt
+blacklist cros_ec_wdt
blacklist da9062_wdt
blacklist da9063_wdt
blacklist dw_wdt
@@ -27,6 +29,7 @@ blacklist ibmasr
blacklist ie6xx_wdt
blacklist it8712f_wdt
blacklist it87_wdt
+blacklist lenovo_se10_wdt
blacklist machzwd
blacklist max63xx_wdt
blacklist mei_wdt
diff --git a/source/a/eudev/eudev.SlackBuild b/source/a/eudev/eudev.SlackBuild
index 60125bbfe..0dd8ec33d 100755
--- a/source/a/eudev/eudev.SlackBuild
+++ b/source/a/eudev/eudev.SlackBuild
@@ -24,14 +24,14 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=eudev
VERSION=${VERSION:-$(echo eudev-*.tar.* | cut -d - -f 2 | rev | cut -f 3- -d . | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
diff --git a/source/a/exfatprogs/exfatprogs.SlackBuild b/source/a/exfatprogs/exfatprogs.SlackBuild
index de966a191..a9735fd29 100755
--- a/source/a/exfatprogs/exfatprogs.SlackBuild
+++ b/source/a/exfatprogs/exfatprogs.SlackBuild
@@ -29,7 +29,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
- i?86) ARCH=i586 ;;
+ i?86) ARCH=i686 ;;
arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
@@ -47,21 +47,12 @@ fi
NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
diff --git a/source/a/gawk/gawk.SlackBuild b/source/a/gawk/gawk.SlackBuild
index 63d668eb7..24bea9435 100755
--- a/source/a/gawk/gawk.SlackBuild
+++ b/source/a/gawk/gawk.SlackBuild
@@ -31,7 +31,7 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
@@ -49,14 +49,11 @@ fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-gawk
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
diff --git a/source/a/genpower/genpower.SlackBuild b/source/a/genpower/genpower.SlackBuild
deleted file mode 100755
index bfcdf23c1..000000000
--- a/source/a/genpower/genpower.SlackBuild
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/bin/bash
-
-# Copyright 2008, 2009, 2010, 2018 Patrick J. Volkerding, Sebeka, Minnesota, 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=genpower
-VERSION=${VERSION:-1.0.5}
-BUILD=${BUILD:-5}
-
-# 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-genpower
-
-rm -rf $PKG
-mkdir -p $TMP $PKG
-
-cd $TMP
-rm -rf genpower-$VERSION
-tar xvf $CWD/genpower-$VERSION.tar.gz || exit 1
-cd genpower-$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 {} \+
-
-find . -type d -name CVS -depth -exec rm -rf {} \+
-
-zcat $CWD/genpower.var.diff.gz | patch -p1 -E --verbose || exit 1
-zcat $CWD/genpower.halt.diff.gz | patch -p1 --verbose || exit 1
-
-make -j4 || make || exit 1
-mkdir -p $PKG/sbin
-cat genpowerd > $PKG/sbin/genpowerd
-cat gentest > $PKG/sbin/gentest
-cat genpowerfail > $PKG/sbin/genpowerfail
-mkdir -p $PKG/etc
-cat genpowerd.conf > $PKG/etc/genpowerd.conf.new
-chmod 755 $PKG/sbin/*
-
-find $PKG | xargs file | grep -e "executable" -e "shared object" \
- | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
-
-mkdir -p $PKG/usr/man/man8
-cat genpowerd.8 | gzip -9c > $PKG/usr/man/man8/genpowerd.8.gz
-cat gentest.8 | gzip -9c > $PKG/usr/man/man8/gentest.8.gz
-
-mkdir -p $PKG/usr/doc/genpower-$VERSION
-cp -a \
- COPYING Change.Log README TODO genpower.docs cables \
- $PKG/usr/doc/genpower-$VERSION
-
-mkdir -p $PKG/install
-cat << EOF > $PKG/install/doinst.sh
-#!/bin/bash
-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/genpowerd.conf.new
-EOF
-cat $CWD/slack-desc > $PKG/install/slack-desc
-
-# Build the package:
-cd $PKG
-/sbin/makepkg -l y -c n $TMP/genpower-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/a/genpower/genpower.halt.diff b/source/a/genpower/genpower.halt.diff
deleted file mode 100644
index 05c6a23f1..000000000
--- a/source/a/genpower/genpower.halt.diff
+++ /dev/null
@@ -1,32 +0,0 @@
---- ./genpowerfail.orig 2008-12-02 17:49:36.000000000 -0600
-+++ ./genpowerfail 2008-12-02 18:22:37.000000000 -0600
-@@ -36,23 +36,23 @@
- stats=`head -1 $statpath`
- case "$stats" in
- FAIL) # Power is down
-- shutdown -r +2 "THE POWER IS DOWN! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
-+ shutdown -h +2 "THE POWER IS DOWN! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
- ;;
- SCRAM) # Battery is low
-- shutdown -r now "THE POWER IS DOWN! BATTERY POWER IS LOW! EMERGENCY SHUTDOWN!" < /dev/console &
-+ shutdown -h now "THE POWER IS DOWN! BATTERY POWER IS LOW! EMERGENCY SHUTDOWN!" < /dev/console &
- ;;
- CABLE) # Possible bad cable
-- shutdown -r +1 "POSSIBLE BAD CABLE! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
-+ shutdown -h +1 "POSSIBLE BAD CABLE! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
- ;;
- *) # Unknown message, assume power is down
-- shutdown -r +2 "THE POWER IS DOWN! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
-+ shutdown -h +2 "THE POWER IS DOWN! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
- ;;
-
- esac
- else
-- # genowerfail called, and upsstatus dosen't exist.
-+ # genpowerfail called, and upsstatus dosen't exist.
- # Assume user is using powerd, and shutdown.
-- shutdown -r +2 "THE POWER IS DOWN! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
-+ shutdown -h +2 "THE POWER IS DOWN! SHUTTING DOWN SYSTEM! PLEASE LOG OFF NOW!" < /dev/console &
-
- fi
- ;;
diff --git a/source/a/genpower/genpower.var.diff b/source/a/genpower/genpower.var.diff
deleted file mode 100644
index fa3c9e998..000000000
--- a/source/a/genpower/genpower.var.diff
+++ /dev/null
@@ -1,34 +0,0 @@
---- ./genpowerfail.orig Wed Apr 10 18:25:07 2002
-+++ ./genpowerfail Wed Apr 10 19:14:27 2002
-@@ -6,19 +6,19 @@
- # This script is also being run when the power comes
- # up again (if it does in time!)
- #
--# Version: /etc/genpowerfail 1.0.1
-+# Version: /sbin/genpowerfail 1.0.1
- #
- # Author: Tom Webster <webster@kaiwan.com>
- #
-
- # Set the path.
--PATH=/sbin:/etc:/bin:/usr/bin
-+PATH=/sbin:/bin:/usr/bin:/usr/sbin
-
- # Set location of upsstatus file
- statpath="/etc/upsstatus"
-
- # Set location of file containing PID of running shutdowns
--spidpath="/etc/shutdownpid"
-+spidpath="/var/run/shutdownpid"
-
- # See what happened.
- case "$1" in
-@@ -63,7 +63,7 @@
- shutdown -c "THE POWER IS BACK"
- ;;
- *)
-- echo "Usage: /etc/genpowerfail {start|stop}"
-+ echo "Usage: /sbin/genpowerfail {start|stop}"
- exit 1
- ;;
- esac
diff --git a/source/a/genpower/slack-desc b/source/a/genpower/slack-desc
deleted file mode 100644
index 242614456..000000000
--- a/source/a/genpower/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-genpower: genpower (UPS monitoring daemon)
-genpower:
-genpower: The genpower daemon, genpowerd, will monitor the status of a serial
-genpower: line connected to a UPS (Uninterruptible Power Supply). If a power
-genpower: failure is detected, genpowerd will notify the system to take the
-genpower: needed steps to react to the condition of the UPS. This may include
-genpower: shutting the system down, or canceling a pending shutdown if the
-genpower: power is restored.
-genpower:
-genpower:
-genpower:
diff --git a/source/a/gettext/gettext-tools.SlackBuild b/source/a/gettext/gettext-tools.SlackBuild
index 80bcbdc94..871db6be2 100755
--- a/source/a/gettext/gettext-tools.SlackBuild
+++ b/source/a/gettext/gettext-tools.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gettext-tools
VERSION=0.22.5
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
diff --git a/source/a/gettext/gettext.SlackBuild b/source/a/gettext/gettext.SlackBuild
index 77aeee327..b82d7b124 100755
--- a/source/a/gettext/gettext.SlackBuild
+++ b/source/a/gettext/gettext.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gettext
VERSION=0.22.5
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
diff --git a/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild b/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
index fbbf71430..3fbf15ecb 100755
--- a/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
+++ b/source/a/glibc-zoneinfo/glibc-zoneinfo.SlackBuild
@@ -29,7 +29,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
- i?86) ARCH=i586 ;;
+ i?86) ARCH=i686 ;;
arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
@@ -47,27 +47,12 @@ fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-if [ "$ARCH" = "i386" ]; then
- SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i386 -mcpu=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i486 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -fPIC"
+ SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-DHAVE_SNPRINTF=1 -O3 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
else
SLKCFLAGS="-DHAVE_SNPRINTF=1 -O2"
LIBDIRSUFFIX=""
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/parts/00 b/source/a/glibc-zoneinfo/timezone-scripts/parts/00
index 9174637e9..d37f787a9 100644
--- a/source/a/glibc-zoneinfo/timezone-scripts/parts/00
+++ b/source/a/glibc-zoneinfo/timezone-scripts/parts/00
@@ -71,6 +71,21 @@ setzone()
# value is stored.
writeconf()
{
+ # First, we need to make sure that /etc/adjtime won't override this choice:
+ if [ "$1" = "localtime" ]; then
+cat > $T_PX/etc/adjtime << "EOF"
+0.0 0 0.0
+0
+LOCAL
+EOF
+ else
+cat > $T_PX/etc/adjtime << "EOF"
+0.0 0 0.0
+0
+UTC
+EOF
+ fi
+ # Next write out the $HWCLOCK_CONF file:
echo "# /etc/hardwareclock" > $HWCLOCK_CONF
echo "#" >> $HWCLOCK_CONF
echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF
diff --git a/source/a/glibc-zoneinfo/timezone-scripts/timeconfig b/source/a/glibc-zoneinfo/timezone-scripts/timeconfig
index 8109aafa9..a5b7bcabb 100644
--- a/source/a/glibc-zoneinfo/timezone-scripts/timeconfig
+++ b/source/a/glibc-zoneinfo/timezone-scripts/timeconfig
@@ -6,6 +6,7 @@
# Modified by: David Cantrell <david@slackware.com>, 06-Oct-2000
#
# ChangeLog:
+# 2024-08-11: Updated timezones from tzdata2024a. <pjv>
# 2019-09-11: Updated timezones from tzdata2019c. <pjv>
# 2014-10-22: Updated timezones from tzdata2014i. <pjv>
# 2012-12-12: Updated timezones from tzdata2012j. <pjv>
@@ -71,6 +72,21 @@ setzone()
# value is stored.
writeconf()
{
+ # First, we need to make sure that /etc/adjtime won't override this choice:
+ if [ "$1" = "localtime" ]; then
+cat > $T_PX/etc/adjtime << "EOF"
+0.0 0 0.0
+0
+LOCAL
+EOF
+ else
+cat > $T_PX/etc/adjtime << "EOF"
+0.0 0 0.0
+0
+UTC
+EOF
+ fi
+ # Next write out the $HWCLOCK_CONF file:
echo "# /etc/hardwareclock" > $HWCLOCK_CONF
echo "#" >> $HWCLOCK_CONF
echo "# Tells how the hardware clock time is stored." >> $HWCLOCK_CONF
@@ -237,6 +253,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"America/Cayman" " " \
"America/Chicago" " " \
"America/Chihuahua" " " \
+"America/Ciudad_Juarez" " " \
"America/Coral_Harbour" " " \
"America/Cordoba" " " \
"America/Costa_Rica" " " \
@@ -591,6 +608,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"Europe/Kaliningrad" " " \
"Europe/Kiev" " " \
"Europe/Kirov" " " \
+"Europe/Kyiv" " " \
"Europe/Lisbon" " " \
"Europe/Ljubljana" " " \
"Europe/London" " " \
@@ -686,6 +704,7 @@ if [ "$COLOR" = "on" -o -r $TMP/SeTcolor -o "$T_PX" = "/" ]; then
"Pacific/Guam" " " \
"Pacific/Honolulu" " " \
"Pacific/Johnston" " " \
+"Pacific/Kanton" " " \
"Pacific/Kiritimati" " " \
"Pacific/Kosrae" " " \
"Pacific/Kwajalein" " " \
@@ -859,6 +878,7 @@ America/Cayenne
America/Cayman
America/Chicago
America/Chihuahua
+America/Ciudad_Juarez
America/Coral_Harbour
America/Cordoba
America/Costa_Rica
@@ -1213,6 +1233,7 @@ Europe/Jersey
Europe/Kaliningrad
Europe/Kiev
Europe/Kirov
+Europe/Kyiv
Europe/Lisbon
Europe/Ljubljana
Europe/London
@@ -1308,6 +1329,7 @@ Pacific/Guadalcanal
Pacific/Guam
Pacific/Honolulu
Pacific/Johnston
+Pacific/Kanton
Pacific/Kiritimati
Pacific/Kosrae
Pacific/Kwajalein
diff --git a/source/a/gpm/gpm-1.20.1-weak-wgetch.patch b/source/a/gpm/gpm-1.20.1-weak-wgetch.patch
index 2546e17f7..cf10ee6b2 100644
--- a/source/a/gpm/gpm-1.20.1-weak-wgetch.patch
+++ b/source/a/gpm/gpm-1.20.1-weak-wgetch.patch
@@ -1,5 +1,5 @@
---- gpm-1.20.1/src/lib/libcurses.c.weak-wgetch 2002-12-24 17:57:16.000000000 -0500
-+++ gpm-1.20.1/src/lib/libcurses.c 2004-03-22 15:51:24.000000000 -0500
+--- ./src/lib/libcurses.c.orig 2012-10-26 16:21:38.000000000 -0500
++++ ./src/lib/libcurses.c 2024-03-27 14:48:08.842064533 -0500
@@ -41,7 +41,12 @@
#endif /* HAVE_NCURSES_CURSES_H */
#endif /* HAVE_NCURSES_H */
@@ -14,13 +14,3 @@
int Gpm_Wgetch(WINDOW *win)
{
---- gpm-1.20.1/configure.ac.weak-wgetch 2004-03-22 15:49:51.000000000 -0500
-+++ gpm-1.20.1/configure.ac 2004-03-22 15:51:24.000000000 -0500
-@@ -115,7 +115,7 @@
- AC_CHECK_LIB($i, wgetch,,,$TERMLIBS)
- else :; fi
- done
-- SHARED_LIBS="$LIBS $TERMLIBS -lc"
-+ SHARED_LIBS="-lc"
- LIBS=$SAVELIBS ;;
- esac
diff --git a/source/a/gpm/gpm.SlackBuild b/source/a/gpm/gpm.SlackBuild
index 767d7f352..d2f27c7f5 100755
--- a/source/a/gpm/gpm.SlackBuild
+++ b/source/a/gpm/gpm.SlackBuild
@@ -26,7 +26,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=gpm
VERSION=1.20.7
-BUILD=${BUILD:-9}
+BUILD=${BUILD:-10}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -80,36 +80,20 @@ zcat $CWD/gpm-1.20.5-close-fds.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/gpm-1.20.1-select-1.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/gpm.types.diff.gz | patch -p1 --verbose || exit 1
zcat $CWD/gpm.gcc7.diff.gz | patch -p1 --verbose || exit 1
-
-sh autogen.sh
-
-# This is *supposed* to prevent linking libgpm.so with -lncurses,
-# but for some reason it doesn't have the desired effect here.
-# Any ideas? The patch is supposed to resolve a circular dependency
-# between libgpm.so and libncurses.so. I don't notice any ill effects
-# here, but perhaps the problem would occur if prelinking was used.
-# Also, ncurses has not shown an ldd link to libgpm for several releases,
-# so perhaps any problem that existed was fixed on their end.
-# NOTE: Since this isn't preventing gpm from linking to ncurses, I'm
-# commenting this patch out until we understand better if it's even
-# useful for anything. Half a patch seems worse than no patch.
-#zcat $CWD/gpm-1.20.1-weak-wgetch.patch.gz | patch -p1 --verbose || exit 1
-
-# Since we aren't installing any Emacs Lisp files anyway, just brutally
-# hack around this failing part of ./configure. This may be a brittle
-# solution, so if it doesn't apply just go ahead and try without this
-# patch and see if it's working or not.
zcat $CWD/gpm.configure.diff.gz | patch -p1 --verbose || exit 1
-# Since we just patched configure.ac, run this again to carry the change
-# into configure:
-autoconf
+# This patch is supposed to resolve a circular dependency between libgpm.so
+# and libncurses.so:
+zcat $CWD/gpm-1.20.1-weak-wgetch.patch.gz | patch -p1 --verbose || exit 1
+
+sh autogen.sh
CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--sysconfdir=/etc \
--libdir=/usr/lib${LIBDIRSUFFIX} \
+ --without-curses \
--build=$ARCH-slackware-linux || exit 1
make || exit 1
diff --git a/source/a/gpm/gpm.configure.diff b/source/a/gpm/gpm.configure.diff
index fd25767f2..3dedb8907 100644
--- a/source/a/gpm/gpm.configure.diff
+++ b/source/a/gpm/gpm.configure.diff
@@ -1,16 +1,25 @@
---- ./configure.ac.orig 2024-01-20 13:18:14.607950073 -0600
-+++ ./configure.ac 2024-01-20 13:19:06.734947190 -0600
-@@ -63,12 +63,7 @@
- ELISP="emacs/t-mouse.el emacs/t-mouse.elc"
- fi
-
+--- ./configure.ac.footer.orig 2012-10-26 16:21:38.000000000 -0500
++++ ./configure.ac.footer 2024-03-27 14:43:34.948058406 -0500
+@@ -49,22 +49,6 @@
+ AC_PATH_PROG(MAKEINFO,makeinfo,no)
+ AC_PATH_PROG(DIFF,diff,no)
+ AC_PATH_PROG(SED,sed,no)
+-AC_PATH_PROG(emacs,emacs,no)
+-
+-if test ${ac_cv_path_emacs} = no ; then
+- EMACS=:
+- ELISP=
+-else
+- EMACS=${ac_cv_path_emacs}
+- ELISP="emacs/t-mouse.el emacs/t-mouse.elc"
+-fi
+-
-if test $EMACS != : ; then
- ITZ_PATH_SITE_LISP
- lispdir=${itz_cv_path_site_lisp}
-else
- lispdir='${datadir}/emacs/site-lisp'
-fi
-+lispdir='${datadir}/emacs/site-lisp'
# Header-checks
AC_CHECK_HEADERS(syslog.h linux/input.h linux/joystick.h ncurses.h ncurses/curses.h curses.h)
diff --git a/source/a/gptfdisk/gptfdisk.SlackBuild b/source/a/gptfdisk/gptfdisk.SlackBuild
index fd62b7f2f..b284da19c 100755
--- a/source/a/gptfdisk/gptfdisk.SlackBuild
+++ b/source/a/gptfdisk/gptfdisk.SlackBuild
@@ -79,6 +79,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+sed -i "s|ncursesw/ncurses.h|ncurses.h|g" gptcurses.cc
+
export LDFLAGS="$SLKLDFLAGS"
export CXXFLAGS="$SLKCFLAGS"
export CFLAGS="$SLKCFLAGS"
diff --git a/source/a/grub/0001-00_header-add-GRUB_COLOR_-variables.patch b/source/a/grub/0001-00_header-add-GRUB_COLOR_-variables.patch
new file mode 100644
index 000000000..867e8feeb
--- /dev/null
+++ b/source/a/grub/0001-00_header-add-GRUB_COLOR_-variables.patch
@@ -0,0 +1,41 @@
+From 21e5bcf22ab1a9f08c63e2a0212219d7482f77c1 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Wed, 10 Mar 2021 18:42:25 +0100
+Subject: [PATCH] 00_header: add GRUB_COLOR_* variables
+---
+ util/grub-mkconfig.in | 2 ++
+ util/grub.d/00_header.in | 8 ++++++++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index f8cbb8d7a..1189d95f9 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -246,6 +246,8 @@ export GRUB_DEFAULT \
+ GRUB_BACKGROUND \
+ GRUB_THEME \
+ GRUB_GFXPAYLOAD_LINUX \
++ GRUB_COLOR_NORMAL \
++ GRUB_COLOR_HIGHLIGHT \
+ GRUB_INIT_TUNE \
+ GRUB_SAVEDEFAULT \
+ GRUB_ENABLE_CRYPTODISK \
+diff --git a/util/grub.d/00_header.in b/util/grub.d/00_header.in
+index 93a90233e..c5955df00 100644
+--- a/util/grub.d/00_header.in
++++ b/util/grub.d/00_header.in
+@@ -125,6 +125,14 @@ cat <<EOF
+
+ EOF
+
++if [ x$GRUB_COLOR_NORMAL != x ] && [ x$GRUB_COLOR_HIGHLIGHT != x ] ; then
++ cat << EOF
++set menu_color_normal=$GRUB_COLOR_NORMAL
++set menu_color_highlight=$GRUB_COLOR_HIGHLIGHT
++
++EOF
++fi
++
+ serial=0;
+ gfxterm=0;
+ for x in ${GRUB_TERMINAL_INPUT} ${GRUB_TERMINAL_OUTPUT}; do
diff --git a/source/a/grub/0001-skip-new-and-orig-files-in-etc-grub.d.patch b/source/a/grub/0001-skip-new-and-orig-files-in-etc-grub.d.patch
new file mode 100644
index 000000000..601a05b9a
--- /dev/null
+++ b/source/a/grub/0001-skip-new-and-orig-files-in-etc-grub.d.patch
@@ -0,0 +1,10 @@
+--- ./util/grub-mkconfig_lib.in.orig 2023-12-05 08:46:53.000000000 -0600
++++ ./util/grub-mkconfig_lib.in 2024-01-02 13:44:41.164913702 -0600
+@@ -191,6 +191,7 @@
+ case "$1" in
+ *.dpkg-*) return 1 ;; # debian dpkg
+ *.rpmsave|*.rpmnew) return 1 ;;
++ *.new|*.orig) return 1 ;; # slackware incoming or backed up config file
+ README*|*/README*) return 1 ;; # documentation
+ *.sig) return 1 ;; # signatures
+ esac
diff --git a/source/a/grub/0001-skip-new-files-in-etc-grub.d.patch b/source/a/grub/0001-skip-new-files-in-etc-grub.d.patch
deleted file mode 100644
index e1b4b8dcc..000000000
--- a/source/a/grub/0001-skip-new-files-in-etc-grub.d.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- ./util/grub-mkconfig.in.orig 2021-03-10 07:42:22.000000000 -0600
-+++ ./util/grub-mkconfig.in 2021-09-10 13:33:17.602163090 -0500
-@@ -278,6 +278,8 @@
- *~) ;;
- # emacsen autosave files. FIXME: support other editors
- */\#*\#) ;;
-+ # Slackware incoming config files should be skipped as well:
-+ *.new) ;;
- *)
- if grub_file_is_not_garbage "$i" && test -x "$i" ; then
- echo
diff --git a/source/a/grub/0003-support-dropins-for-default-configuration.patch b/source/a/grub/0003-support-dropins-for-default-configuration.patch
new file mode 100644
index 000000000..4840487a1
--- /dev/null
+++ b/source/a/grub/0003-support-dropins-for-default-configuration.patch
@@ -0,0 +1,28 @@
+From ac560966d09295663fa9516d8d137e0c0fd04c06 Mon Sep 17 00:00:00 2001
+From: Christian Hesse <mail@eworm.de>
+Date: Mon, 12 Jun 2023 07:42:01 +0200
+Subject: [PATCH 1/1] support dropins for default configuration
+
+---
+ util/grub-mkconfig.in | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/util/grub-mkconfig.in b/util/grub-mkconfig.in
+index 1a945085c..4338dceef 100644
+--- a/util/grub-mkconfig.in
++++ b/util/grub-mkconfig.in
+@@ -160,6 +160,11 @@ fi
+ if test -f ${sysconfdir}/default/grub ; then
+ . ${sysconfdir}/default/grub
+ fi
++for dropin in ${sysconfdir}/default/grub.d/*.cfg ; do
++ if test -f "${dropin}" ; then
++ . "${dropin}"
++ fi
++done
+
+ if [ "x${GRUB_DISABLE_UUID}" = "xtrue" ]; then
+ if [ -z "${GRUB_DISABLE_LINUX_UUID}" ]; then
+--
+2.41.0
+
diff --git a/source/a/grub/0004-initrd_fallback_name.patch b/source/a/grub/0004-initrd_fallback_name.patch
new file mode 100644
index 000000000..4c8efcdcb
--- /dev/null
+++ b/source/a/grub/0004-initrd_fallback_name.patch
@@ -0,0 +1,24 @@
+--- ./util/grub.d/10_linux.in.orig 2024-07-30 15:28:52.790956089 -0500
++++ ./util/grub.d/10_linux.in 2024-07-30 15:33:20.145303738 -0500
+@@ -235,7 +235,8 @@
+ "initramfs-genkernel-${version}" \
+ "initramfs-genkernel-${alt_version}" \
+ "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
+- "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
++ "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" \
++ "$GRUB_INITRD_FALLBACK_NAME" ; do
+ if test -e "${dirname}/${i}" ; then
+ initrd_real="${i}"
+ break
+--- ./util/grub-mkconfig.in.orig 2024-07-30 15:28:52.787956085 -0500
++++ ./util/grub-mkconfig.in 2024-07-30 15:35:55.115501711 -0500
+@@ -262,7 +262,8 @@
+ GRUB_ENABLE_CRYPTODISK \
+ GRUB_BADRAM \
+ GRUB_OS_PROBER_SKIP_LIST \
+- GRUB_DISABLE_SUBMENU
++ GRUB_DISABLE_SUBMENU \
++ GRUB_INITRD_FALLBACK_NAME
+
+ if test "x${grub_cfg}" != "x"; then
+ rm -f "${grub_cfg}.new"
diff --git a/source/a/grub/0005-GRUB_DISPLAY_KERNEL_FILETYPES.patch b/source/a/grub/0005-GRUB_DISPLAY_KERNEL_FILETYPES.patch
new file mode 100644
index 000000000..1b9b8105f
--- /dev/null
+++ b/source/a/grub/0005-GRUB_DISPLAY_KERNEL_FILETYPES.patch
@@ -0,0 +1,32 @@
+--- ./util/grub.d/10_linux.in.orig 2024-07-30 15:48:29.942595025 -0500
++++ ./util/grub.d/10_linux.in 2024-07-30 15:55:59.637592488 -0500
+@@ -209,6 +209,17 @@
+
+ is_top_level=true
+ for linux in ${reverse_sorted_list}; do
++
++ # Skip symbolic links to kernels if requested:
++ if [ -L "$linux" -a "$GRUB_DISPLAY_KERNEL_FILETYPES" = "files" ]; then
++ continue
++ fi
++
++ # Skip kernels that are files rather than symbolic links if requested:
++ if [ ! -L "$linux" -a "$GRUB_DISPLAY_KERNEL_FILETYPES" = "symlinks" ]; then
++ continue
++ fi
++
+ gettext_printf "Found linux image: %s\n" "$linux" >&2
+ basename=`basename $linux`
+ dirname=`dirname $linux`
+--- ./util/grub-mkconfig.in.orig 2024-07-30 15:48:29.985595129 -0500
++++ ./util/grub-mkconfig.in 2024-07-30 15:51:12.083974196 -0500
+@@ -263,7 +263,8 @@
+ GRUB_BADRAM \
+ GRUB_OS_PROBER_SKIP_LIST \
+ GRUB_DISABLE_SUBMENU \
+- GRUB_INITRD_FALLBACK_NAME
++ GRUB_INITRD_FALLBACK_NAME \
++ GRUB_DISPLAY_KERNEL_FILETYPES
+
+ if test "x${grub_cfg}" != "x"; then
+ rm -f "${grub_cfg}.new"
diff --git a/source/a/grub/0006-warn-grub.d-overwrites-docs.patch b/source/a/grub/0006-warn-grub.d-overwrites-docs.patch
new file mode 100644
index 000000000..302e8263d
--- /dev/null
+++ b/source/a/grub/0006-warn-grub.d-overwrites-docs.patch
@@ -0,0 +1,11 @@
+--- ./util/grub.d/README.orig 2018-11-24 11:13:02.000000000 -0600
++++ ./util/grub.d/README 2024-09-10 16:45:11.619178928 -0500
+@@ -9,3 +9,8 @@
+ administrator. For example, you can add an entry to boot another OS as
+ 01_otheros, 11_otheros, etc, depending on the position you want it to occupy in
+ the menu; and then adjust the default setting via /etc/default/grub.
++
++When the grub package is upgraded/reinstalled, all the files in this directory
++that are normally shipped with the package (with the exception of 40_custom)
++will be replaced! Make copies or new files with a unique filename if you don't
++want them to be overwritten.
diff --git a/source/a/grub/09_slackware_linux b/source/a/grub/09_slackware_linux
new file mode 100644
index 000000000..b3a2499a0
--- /dev/null
+++ b/source/a/grub/09_slackware_linux
@@ -0,0 +1,196 @@
+#! /bin/sh
+set -e
+# grub-mkconfig helper script.
+# Copyright (C) 2006,2007,2008,2009,2010 Free Software Foundation, Inc.
+#
+# GRUB is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# GRUB is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with GRUB. If not, see <http://www.gnu.org/licenses/>.
+#
+# Save this file in /etc/grub.d/09_slackware_linux
+
+prefix="/usr"
+exec_prefix="${prefix}"
+datarootdir="${prefix}/share"
+
+. "${datarootdir}/grub/grub-mkconfig_lib"
+
+export TEXTDOMAIN=grub
+export TEXTDOMAINDIR="${datarootdir}/locale"
+
+CLASS="--class gnu-linux --class gnu --class os"
+
+if [ "${GRUB_DISTRIBUTOR}" = "" ] ; then
+ OS=Linux
+else
+ OS="${GRUB_DISTRIBUTOR} Linux"
+ CLASS="--class $(echo "${GRUB_DISTRIBUTOR}" | tr '[:upper:]' '[:lower:]') ${CLASS}"
+fi
+
+# loop-AES arranges things so that /dev/loop/X can be our root device, but
+# the initrds that Linux uses don't like that.
+case ${GRUB_DEVICE} in
+ /dev/loop/*|/dev/loop[0-9])
+ GRUB_DEVICE=$(losetup "${GRUB_DEVICE}" | sed -e "s/^[^(]*(\([^)]\+\)).*/\1/")
+ ;;
+esac
+
+if [ "${GRUB_DEVICE_UUID}" = "" ] || [ "${GRUB_DISABLE_LINUX_UUID}" = "true" ] \
+ || ! test -e "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" ; then
+ LINUX_ROOT_DEVICE=${GRUB_DEVICE}
+else
+ LINUX_ROOT_DEVICE=UUID=${GRUB_DEVICE_UUID}
+fi
+
+linux_entry ()
+{
+ os="$1"
+ tag="$2"
+ version="$3"
+ recovery="$4"
+ args="$5"
+ if ${recovery} ; then
+ title="$(gettext "%s, with Linux %s [%s] (recovery mode)")"
+ else
+ title="$(gettext "%s, with Linux %s [%s]")"
+ fi
+ printf "menuentry \"${title}\" ${CLASS} {\n" "${os}" "${version}" "${tag}"
+ save_default_entry | sed -e "s/^/\t/"
+
+ # Use ELILO's generic "efifb" when it's known to be available.
+ # FIXME: We need an interface to select vesafb in case efifb can't be used.
+ if [ "$GRUB_GFXPAYLOAD_LINUX" = "" ]; then
+ if grep -qx "CONFIG_FB_EFI=y" /boot/config-"${version}" 2> /dev/null \
+ && grep -qx "CONFIG_VT_HW_CONSOLE_BINDING=y" /boot/config-"${version}" 2> /dev/null; then
+ cat << EOF
+ set gfxpayload=keep
+EOF
+ fi
+ else
+ cat << EOF
+ set gfxpayload=$GRUB_GFXPAYLOAD_LINUX
+EOF
+ fi
+
+ if [ -z "${prepare_boot_cache}" ]; then
+ prepare_boot_cache="$(prepare_grub_to_access_device "${GRUB_DEVICE_BOOT}" | sed -e "s/^/\t/")"
+ fi
+ printf '%s\n' "${prepare_boot_cache}"
+ cat << EOF
+ echo $(printf "$(gettext "Loading Linux %s ...")" "${version}")
+ linux ${rel_dirname}/${basename} root=${linux_root_device_thisversion} ro ${args}
+EOF
+ if test -n "${initrd}" ; then
+ cat << EOF
+ echo $(gettext "Loading initial ramdisk ...")
+ initrd ${initrd}
+EOF
+ fi
+ cat << EOF
+}
+EOF
+}
+
+process_list() {
+ mylist="$1"
+ tag="$2"
+ initrd_allowed="$3"
+
+ # Version-sort the kernels
+ sorted_kernels=$(echo "$mylist" | tr ' ' '\n' | version_sort -r)
+
+ # Use portable command substitution
+ kernels=$(echo "$sorted_kernels" | tr ' ' '\n')
+
+ for kernel in $kernels; do
+
+ # Skip symbolic links to kernels if requested:
+ if [ -L "$kernel" -a "$GRUB_DISABLE_KERNEL_SYMLINKS" = "true" ]; then
+ continue
+ fi
+
+ printf "Found linux image: %s\n" "$kernel" >&2
+ basename=$(basename "$kernel")
+ dirname=$(dirname "$kernel")
+ rel_dirname=$(make_system_path_relative_to_its_root "$dirname")
+ version=$(echo "$basename" | sed -e "s,^[^0-9]*-,,g")
+ alt_version=$(echo "$version" | sed -e "s,\.old$,,g")
+ linux_root_device_thisversion="${LINUX_ROOT_DEVICE}"
+ initrd=
+ actual_initrd=
+
+ if [ "${initrd_allowed}" = "true" ]; then
+ for i in ${GRUB_EARLY_INITRD_LINUX_STOCK} \
+ ${GRUB_EARLY_INITRD_LINUX_CUSTOM}; do
+ if [ -e "${dirname}/${i}" ]; then
+ if [ -z "$initrd" ]; then
+ initrd="$rel_dirname/$i"
+ else
+ initrd="$initrd $rel_dirname/$i"
+ fi
+ fi
+ done
+ for i in "initrd-${tag}-${version}.gz" "initrd-${tag}.gz" \
+ "initrd-${version}.gz" "initrd.gz" \
+ "initrd.img-${version}" "initrd-${version}.img" \
+ "initrd-${version}" "initrd.img-${alt_version}" \
+ "initrd-${alt_version}.img" "initrd-${alt_version}"; do
+ if [ -e "${dirname}/${i}" ]; then
+ actual_initrd="true"
+ if [ -z "$initrd" ]; then
+ initrd="$rel_dirname/$i"
+ else
+ initrd="$initrd $rel_dirname/$i"
+ fi
+ break
+ fi
+ done
+
+ if [ -n "${initrd}" ]; then
+ printf "Found initrd image: %s\n" "${initrd}" >&2
+ fi
+ if [ -z "$actual_initrd" ]; then
+ # "UUID=" magic is parsed by initrds. Since there's no initrd, it can't work here.
+ linux_root_device_thisversion=${GRUB_DEVICE}
+ fi
+ else
+ # "UUID=" magic is parsed by initrds. Since there's no initrd, it can't work here.
+ linux_root_device_thisversion=${GRUB_DEVICE}
+ fi
+
+ linux_entry "${OS}" "${tag}" "${version}" false \
+ "${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_LINUX_DEFAULT}"
+
+ if [ "x${GRUB_DISABLE_RECOVERY}" != "xtrue" ]; then
+ linux_entry "${OS}" "${tag}" "${version}" true \
+ "single ${GRUB_CMDLINE_LINUX}"
+ fi
+ done
+}
+
+prepare_boot_cache=
+
+list=$(for i in /boot/vmlinu[xz]-generic-* /boot/vmlinu[xz]-generic /vmlinu[xz]-generic-* ; do
+ if grub_file_is_not_garbage "$i" ; then printf "%s " "$i"; fi
+ done)
+
+process_list "${list}" "generic" "true"
+
+list=$(for i in /boot/vmlinu[xz]-custom-* /boot/vmlinu[xz]-custom /vmlinu[xz]-custom-* ; do
+ if grub_file_is_not_garbage "$i" ; then printf "%s " "$i"; fi
+ done)
+process_list "${list}" "custom" "true"
+
+list=$(for i in /boot/vmlinu[xz]-huge-* /boot/vmlinu[xz]-huge /vmlinu[xz]-huge-* ; do
+ if grub_file_is_not_garbage "$i" ; then printf "%s " "$i"; fi
+ done)
+process_list "${list}" "huge" "false"
diff --git a/source/a/grub/10_linux.osname.patch b/source/a/grub/10_linux.osname.patch
new file mode 100644
index 000000000..f76adee78
--- /dev/null
+++ b/source/a/grub/10_linux.osname.patch
@@ -0,0 +1,12 @@
+--- ./util/grub.d/10_linux.in.orig 2022-12-07 07:47:11.000000000 -0600
++++ ./util/grub.d/10_linux.in 2024-07-24 14:14:09.362582694 -0500
+@@ -30,6 +30,9 @@
+
+ if [ "x${GRUB_DISTRIBUTOR}" = "x" ] ; then
+ OS=GNU/Linux
++elif echo ${GRUB_DISTRIBUTOR} | grep -q Slackware ; then # opting out, thanks
++ OS="${GRUB_DISTRIBUTOR}"
++ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
+ else
+ OS="${GRUB_DISTRIBUTOR} GNU/Linux"
+ CLASS="--class $(echo ${GRUB_DISTRIBUTOR} | tr 'A-Z' 'a-z' | cut -d' ' -f1|LC_ALL=C sed 's,[^[:alnum:]_],_,g') ${CLASS}"
diff --git a/source/a/grub/7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763.patch b/source/a/grub/7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763.patch
deleted file mode 100644
index 27b2277c4..000000000
--- a/source/a/grub/7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-From 7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763 Mon Sep 17 00:00:00 2001
-From: Javier Martinez Canillas <javierm@redhat.com>
-Date: Fri, 11 Jun 2021 21:36:16 +0200
-Subject: fs/ext2: Ignore checksum seed incompat feature
-
-This incompat feature is used to denote that the filesystem stored its
-metadata checksum seed in the superblock. This is used to allow tune2fs
-changing the UUID on a mounted metdata_csum filesystem without having
-to rewrite all the disk metadata. However, the GRUB doesn't use the
-metadata checksum at all. So, it can just ignore this feature if it
-is enabled. This is consistent with the GRUB filesystem code in general
-which just does a best effort to access the filesystem's data.
-
-The checksum seed incompat feature has to be removed from the ignore
-list if the support for metadata checksum verification is added to the
-GRUB ext2 driver later.
-
-Suggested-by: Eric Sandeen <esandeen@redhat.com>
-Suggested-by: Lukas Czerner <lczerner@redhat.com>
-Signed-off-by: Javier Martinez Canillas <javierm@redhat.com>
-Reviewed-by: Lukas Czerner <lczerner@redhat.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
- grub-core/fs/ext2.c | 10 ++++++++--
- 1 file changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/grub-core/fs/ext2.c b/grub-core/fs/ext2.c
-index e7dd78e..4953a15 100644
---- a/grub-core/fs/ext2.c
-+++ b/grub-core/fs/ext2.c
-@@ -103,6 +103,7 @@ GRUB_MOD_LICENSE ("GPLv3+");
- #define EXT4_FEATURE_INCOMPAT_64BIT 0x0080
- #define EXT4_FEATURE_INCOMPAT_MMP 0x0100
- #define EXT4_FEATURE_INCOMPAT_FLEX_BG 0x0200
-+#define EXT4_FEATURE_INCOMPAT_CSUM_SEED 0x2000
- #define EXT4_FEATURE_INCOMPAT_ENCRYPT 0x10000
-
- /* The set of back-incompatible features this driver DOES support. Add (OR)
-@@ -123,10 +124,15 @@ GRUB_MOD_LICENSE ("GPLv3+");
- * mmp: Not really back-incompatible - was added as such to
- * avoid multiple read-write mounts. Safe to ignore for this
- * RO driver.
-+ * checksum seed: Not really back-incompatible - was added to allow tools
-+ * such as tune2fs to change the UUID on a mounted metadata
-+ * checksummed filesystem. Safe to ignore for now since the
-+ * driver doesn't support checksum verification. However, it
-+ * has to be removed from this list if the support is added later.
- */
- #define EXT2_DRIVER_IGNORED_INCOMPAT ( EXT3_FEATURE_INCOMPAT_RECOVER \
-- | EXT4_FEATURE_INCOMPAT_MMP)
--
-+ | EXT4_FEATURE_INCOMPAT_MMP \
-+ | EXT4_FEATURE_INCOMPAT_CSUM_SEED)
-
- #define EXT3_JOURNAL_MAGIC_NUMBER 0xc03b3998U
-
---
-cgit v1.1
-
diff --git a/source/a/grub/a4b495520e4dc41a896a8b916a64eda9970c50ea.patch b/source/a/grub/a4b495520e4dc41a896a8b916a64eda9970c50ea.patch
deleted file mode 100644
index 5abc747af..000000000
--- a/source/a/grub/a4b495520e4dc41a896a8b916a64eda9970c50ea.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From a4b495520e4dc41a896a8b916a64eda9970c50ea Mon Sep 17 00:00:00 2001
-From: Erwan Velu <erwanaliasr1@gmail.com>
-Date: Wed, 25 Aug 2021 15:31:52 +0200
-Subject: fs/xfs: Fix unreadable filesystem with v4 superblock
-
-The commit 8b1e5d193 (fs/xfs: Add bigtime incompat feature support)
-introduced the bigtime support by adding some features in v3 inodes.
-This change extended grub_xfs_inode struct by 76 bytes but also changed
-the computation of XFS_V2_INODE_SIZE and XFS_V3_INODE_SIZE. Prior this
-commit, XFS_V2_INODE_SIZE was 100 bytes. After the commit it's 84 bytes
-XFS_V2_INODE_SIZE becomes 16 bytes too small.
-
-As a result, the data structures aren't properly aligned and the GRUB
-generates "attempt to read or write outside of partition" errors when
-trying to read the XFS filesystem:
-
- GNU GRUB version 2.11
- ....
- grub> set debug=efi,gpt,xfs
- grub> insmod part_gpt
- grub> ls (hd0,gpt1)/
- partmap/gpt.c:93: Read a valid GPT header
- partmap/gpt.c:115: GPT entry 0: start=4096, length=1953125
- fs/xfs.c:931: Reading sb
- fs/xfs.c:270: Validating superblock
- fs/xfs.c:295: XFS v4 superblock detected
- fs/xfs.c:962: Reading root ino 128
- fs/xfs.c:515: Reading inode (128) - 64, 0
- fs/xfs.c:515: Reading inode (739521961424144223) - 344365866970255880, 3840
- error: attempt to read or write outside of partition.
-
-This commit change the XFS_V2_INODE_SIZE computation by subtracting 76
-bytes instead of 92 bytes from the actual size of grub_xfs_inode struct.
-This 76 bytes value comes from added members:
- 20 grub_uint8_t unused5
- 1 grub_uint64_t flags2
- 48 grub_uint8_t unused6
-
-This patch explicitly splits the v2 and v3 parts of the structure.
-The unused4 is still ending of the v2 structures and the v3 starts
-at unused5. Thanks to this we will avoid future corruptions of v2
-or v3 inodes.
-
-The XFS_V2_INODE_SIZE is returning to its expected size and the
-filesystem is back to a readable state:
-
- GNU GRUB version 2.11
- ....
- grub> set debug=efi,gpt,xfs
- grub> insmod part_gpt
- grub> ls (hd0,gpt1)/
- partmap/gpt.c:93: Read a valid GPT header
- partmap/gpt.c:115: GPT entry 0: start=4096, length=1953125
- fs/xfs.c:931: Reading sb
- fs/xfs.c:270: Validating superblock
- fs/xfs.c:295: XFS v4 superblock detected
- fs/xfs.c:962: Reading root ino 128
- fs/xfs.c:515: Reading inode (128) - 64, 0
- fs/xfs.c:515: Reading inode (128) - 64, 0
- fs/xfs.c:931: Reading sb
- fs/xfs.c:270: Validating superblock
- fs/xfs.c:295: XFS v4 superblock detected
- fs/xfs.c:962: Reading root ino 128
- fs/xfs.c:515: Reading inode (128) - 64, 0
- fs/xfs.c:515: Reading inode (128) - 64, 0
- fs/xfs.c:515: Reading inode (128) - 64, 0
- fs/xfs.c:515: Reading inode (131) - 64, 768
- efi/ fs/xfs.c:515: Reading inode (3145856) - 1464904, 0
- grub2/ fs/xfs.c:515: Reading inode (132) - 64, 1024
- grub/ fs/xfs.c:515: Reading inode (139) - 64, 2816
- grub>
-
-Fixes: 8b1e5d193 (fs/xfs: Add bigtime incompat feature support)
-
-Signed-off-by: Erwan Velu <e.velu@criteo.com>
-Tested-by: Carlos Maiolino <cmaiolino@redhat.com>
-Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
----
- grub-core/fs/xfs.c | 14 ++++++++++----
- 1 file changed, 10 insertions(+), 4 deletions(-)
-
-diff --git a/grub-core/fs/xfs.c b/grub-core/fs/xfs.c
-index 0f524c3a8..e3816d1ec 100644
---- a/grub-core/fs/xfs.c
-+++ b/grub-core/fs/xfs.c
-@@ -192,6 +192,11 @@ struct grub_xfs_time_legacy
- grub_uint32_t nanosec;
- } GRUB_PACKED;
-
-+/*
-+ * The struct grub_xfs_inode layout was taken from the
-+ * struct xfs_dinode_core which is described here:
-+ * https://mirrors.edge.kernel.org/pub/linux/utils/fs/xfs/docs/xfs_filesystem_structure.pdf
-+ */
- struct grub_xfs_inode
- {
- grub_uint8_t magic[2];
-@@ -208,14 +213,15 @@ struct grub_xfs_inode
- grub_uint32_t nextents;
- grub_uint16_t unused3;
- grub_uint8_t fork_offset;
-- grub_uint8_t unused4[37];
-+ grub_uint8_t unused4[17]; /* Last member of inode v2. */
-+ grub_uint8_t unused5[20]; /* First member of inode v3. */
- grub_uint64_t flags2;
-- grub_uint8_t unused5[48];
-+ grub_uint8_t unused6[48]; /* Last member of inode v3. */
- } GRUB_PACKED;
-
- #define XFS_V3_INODE_SIZE sizeof(struct grub_xfs_inode)
--/* Size of struct grub_xfs_inode until fork_offset (included). */
--#define XFS_V2_INODE_SIZE (XFS_V3_INODE_SIZE - 92)
-+/* Size of struct grub_xfs_inode v2, up to unused4 member included. */
-+#define XFS_V2_INODE_SIZE (XFS_V3_INODE_SIZE - 76)
-
- struct grub_xfs_dirblock_tail
- {
---
-cgit v1.2.1
-
-
diff --git a/source/a/grub/b835601c7639ed1890f2d3db91900a8506011a8e.patch b/source/a/grub/b835601c7639ed1890f2d3db91900a8506011a8e.patch
new file mode 100644
index 000000000..6670f7677
--- /dev/null
+++ b/source/a/grub/b835601c7639ed1890f2d3db91900a8506011a8e.patch
@@ -0,0 +1,34 @@
+From b835601c7639ed1890f2d3db91900a8506011a8e Mon Sep 17 00:00:00 2001
+From: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
+Date: Thu, 21 Dec 2023 01:17:35 -0600
+Subject: build: Include grub-core/extra_deps.lst in dist
+
+Fixes build failure due to the extra_deps.lst file not existing in the
+tarball. Found while trying to package GRUB 2.12 for Gentoo.
+
+ make[3]: *** No rule to make target '/var/tmp/portage/sys-boot/grub-2.12/work/grub-2.12/grub-core/extra_deps.lst', needed by 'syminfo.lst'. Stop.
+
+Fixes: 89fbe0cac (grub-core/Makefile.am: Make path to extra_deps.lst relative to $(top_srcdir)/grub-core)
+Fixes: 154dcb1ae (build: Allow explicit module dependencies)
+
+Signed-off-by: Oskari Pirhonen <xxc3ncoredxx@gmail.com>
+Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
+---
+ conf/Makefile.extra-dist | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/conf/Makefile.extra-dist b/conf/Makefile.extra-dist
+index 5e7126f..d9e2b8c 100644
+--- a/conf/Makefile.extra-dist
++++ b/conf/Makefile.extra-dist
+@@ -21,6 +21,7 @@ EXTRA_DIST += conf/i386-cygwin-img-ld.sc
+ EXTRA_DIST += grub-core/Makefile.core.def
+ EXTRA_DIST += grub-core/Makefile.gcry.def
+
++EXTRA_DIST += grub-core/extra_deps.lst
+ EXTRA_DIST += grub-core/genmoddep.awk
+ EXTRA_DIST += grub-core/genmod.sh.in
+ EXTRA_DIST += grub-core/gensyminfo.sh.in
+--
+cgit v1.1
+
diff --git a/source/a/grub/doinst.sh b/source/a/grub/doinst.sh
index 54c06904f..1078190e4 100644
--- a/source/a/grub/doinst.sh
+++ b/source/a/grub/doinst.sh
@@ -11,8 +11,26 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ -e $OLD ]; then
+ cp -a $OLD ${NEW}.incoming
+ cat $NEW > ${NEW}.incoming
+ # Also preserve timestamp:
+ touch -r $NEW ${NEW}.incoming
+ mv ${NEW}.incoming $NEW
+ fi
+ config $NEW
+}
+
# Process config files in etc/grub.d/:
for file in etc/grub.d/*.new ; do
- config $file
+ preserve_perms $file
+ # Move it into place. These are not intended to be edited locally - make new custom scripts!
+ # We'll skip moving 40_custom.new, though.
+ if [ -r $file -a ! "$file" = "etc/grub.d/40_custom.new" ]; then
+ mv $file $(dirname $file)/$(basename $file .new)
+ fi
done
config etc/default/grub.new
diff --git a/source/a/grub/etc.default.grub b/source/a/grub/etc.default.grub
index b2d4080a0..a44846a3d 100644
--- a/source/a/grub/etc.default.grub
+++ b/source/a/grub/etc.default.grub
@@ -9,20 +9,39 @@ GRUB_DISTRIBUTOR=$( sed 's/Slackware /Slackware-/' /etc/slackware-version )
GRUB_CMDLINE_LINUX_DEFAULT=""
GRUB_CMDLINE_LINUX=""
-# Uncomment to disable graphical terminal (grub-pc only)
+# Uncomment to disable graphical terminal (grub-pc only):
#GRUB_TERMINAL=console
-# The resolution used on graphical terminal
-# note that you can use only modes which your graphic card supports via VBE
-# you can see them in real GRUB with the command `vbeinfo'
+# The resolution used on graphical terminal.
+# Note that you can use only modes which your graphic card supports via VBE.
+# You can see them in real GRUB with the command `vbeinfo'.
#GRUB_GFXMODE=640x480
#GRUB_GFXMODE=1024x768x32
# Font used on the graphical terminal:
#GRUB_FONT=/usr/share/grub/dejavusansmono.pf2
-# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
+# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux:
#GRUB_DISABLE_LINUX_UUID=true
-# Uncomment to disable generation of recovery mode menu entries
-#GRUB_DISABLE_RECOVERY="true"
+# Uncomment to disable generation of recovery mode menu entries:
+GRUB_DISABLE_RECOVERY="true"
+
+# Search for other operating systems with os-prober.
+# If you don't want this, you can do any of these things to disable it:
+# - change to "true"
+# - comment it out, since disabled is the default
+# - remove the executable bit from /etc/grub.d/30_os-prober
+GRUB_DISABLE_OS_PROBER="false"
+
+# Disable the submenus:
+GRUB_DISABLE_SUBMENU="true"
+
+# What kernel filetypes to display in the menu. This may be set to "files"
+# (only display kernels that are files), "symlinks" (only display kernels
+# that are symbolic links), or "both".
+GRUB_DISPLAY_KERNEL_FILETYPES=both
+
+# This option allows defining an initrd name that will match any kernel as a
+# fallback if no other matching initrd is found. You may use any name you like.
+#GRUB_INITRD_FALLBACK_NAME=initrd.gz
diff --git a/source/a/grub/grub.SlackBuild b/source/a/grub/grub.SlackBuild
index b2bbb7223..accc3115e 100755
--- a/source/a/grub/grub.SlackBuild
+++ b/source/a/grub/grub.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2013, 2016, 2017, 2018, 2019, 2023 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2013, 2016, 2017, 2018, 2019, 2023, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -28,12 +28,15 @@ PKGNAM=grub
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
# Better to use _ than ~ in the package filenames version:
PKGVER=$(echo $VERSION | tr '~' '_')
-BUILD=${BUILD:-5}
+BUILD=${BUILD:-16}
+
+# If you use stack-protector, then grub will not work with legacy BIOS:
+STACKPROTECT=${STACKPROTECT:---enable-stack-protector=no}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
- i?86) ARCH=i586 ;;
+ i?86) ARCH=i686 ;;
arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
@@ -51,32 +54,15 @@ fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-if [ "$ARCH" = "i386" ]; then
- SLKCFLAGS="-march=i386 -mcpu=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i486" ]; then
- SLKCFLAGS="-march=i486 -mtune=i686"
- EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= "
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-march=i586 -mtune=i686"
- EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= "
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-march=i686"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-mtune=generic"
EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= "
LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS=""
- LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS=""
+ SLKCFLAGS="-mtune=generic"
EFI32_FLAGS=" --with-platform=efi --target=i386 --program-prefix= "
EFI_FLAGS=" --with-platform=efi --target=x86_64 --program-prefix= "
LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
else
SLKCFLAGS=""
LIBDIRSUFFIX=""
@@ -103,24 +89,43 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-# Use /boot/initrd.gz as a valid initrd name:
-zcat $CWD/initrd_naming.patch | patch -p1 --verbose || exit 1
-
# Support DejaVuSansMono font (dejavusansmono.pf2) by default:
-zcat $CWD/grub.dejavusansmono.gfxterm.font.diff.gz | patch -p1 --verbose || exit 1
+cat $CWD/grub.dejavusansmono.gfxterm.font.diff | patch -p1 --verbose || exit 1
# Fix alignment error with gcc8:
-zcat $CWD/0198-align-struct-efi_variable-better.patch.gz | patch -p1 --verbose || exit 1
+cat $CWD/0198-align-struct-efi_variable-better.patch | patch -p1 --verbose || exit 1
+
+# Skip processing any files in /etc/grub.d/ that end in .new or .orig:
+cat $CWD/0001-skip-new-and-orig-files-in-etc-grub.d.patch | patch -p1 --verbose || exit 1
+
+# From Arch, add a couple more GRUB_COLOR options:
+cat $CWD/0001-00_header-add-GRUB_COLOR_-variables.patch | patch -p1 --verbose || exit 1
+
+# Also from Arch, support drop-in config bits in /etc/default/grub.d/:
+cat $CWD/0003-support-dropins-for-default-configuration.patch | patch -p1 --verbose || exit 1
+
+# Fix 2.12 release with upstream commit (won't compile otherwise):
+cat $CWD/b835601c7639ed1890f2d3db91900a8506011a8e.patch | patch -p1 --verbose || exit 1
-# Fix unreadable XFS filesystem with v4 superblock:
-zcat $CWD/a4b495520e4dc41a896a8b916a64eda9970c50ea.patch.gz | patch -p1 --verbose || exit 1
+# For Slackware, opt-out of having our operating system renamed:
+cat $CWD/10_linux.osname.patch | patch -p1 --verbose || exit 1
-# Skip processing any files in /etc/grub.d/ that end in .new:
-zcat $CWD/0001-skip-new-files-in-etc-grub.d.patch.gz | patch -p1 --verbose || exit 1
+# Allow defining an initrd fallback name with the
+# GRUB_INITRD_FALLBACK_NAME variable in /etc/default/grub.
+# Commented out by default.
+cat $CWD/0004-initrd_fallback_name.patch | patch -p1 --verbose || exit 1
-# Since upstream apparently can't be bothered, let's fix using ext* filesystems
-# created with what are now the default options:
-zcat $CWD/7fd5feff97c4b1f446f8fcf6d37aca0c64e7c763.patch.gz | patch -p1 --verbose || exit 1
+# Support displaying only kernels that are files, only kernels that are
+# symlinks, or both. This is set with the GRUB_DISPLAY_KERNEL_FILETYPES
+# variable in /etc/default/grub:
+cat $CWD/0005-GRUB_DISPLAY_KERNEL_FILETYPES.patch | patch -p1 --verbose || exit 1
+
+# Add a warning to the README in /etc/grub.d/ so that users know that the
+# standard files in here will be overwritten with every upgrade:
+cat $CWD/0006-warn-grub.d-overwrites-docs.patch | patch -p1 --verbose || exit 1
+
+# Still won't compile. Someday they'll remember how to cut a new release.
+touch grub-core/extra_deps.lst
# Regenerate build system to fix dependency on outdated automake:
autoreconf -vif
@@ -137,6 +142,8 @@ build_grub() {
--infodir=/usr/info \
--mandir=/usr/man \
--disable-werror \
+ --with-dejavufont=/usr/share/fonts/TTF/DejaVuSans.ttf \
+ $STACKPROTECT \
$EFI_DO || exit 1
# Build and install:
@@ -158,11 +165,27 @@ fi
# Always end with regular build:
build_grub || exit 1
+## NOT USED (but we'll leave the file here for now)
+## Add custom 09_slackware_linux config. Thanks to Richard Cranium for the
+## initial version, and Daedra for making it POSIX compliant:
+#cp -a $CWD/09_slackware_linux $PKG/etc/grub.d/09_slackware_linux
+#chown root:root $PKG/etc/grub.d/09_slackware_linux
+#chmod 755 $PKG/etc/grub.d/09_slackware_linux
+
# Preserve files in /etc/grub.d/:
for file in $PKG/etc/grub.d/*_* ; do
mv ${file} ${file}.new
done
+# Add an update-grub script ala Ubuntu:
+cp -a $CWD/update-grub $PKG/usr/sbin/update-grub
+chown root:root $PKG/usr/sbin/update-grub
+chmod 755 $PKG/usr/sbin/update-grub
+
+# Since every other grub command is of the form "grub-{command}", add a symlink
+# so that "grub-update" also works:
+ln -sf update-grub $PKG/usr/sbin/grub-update
+
# Strip binaries:
( cd $PKG
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
@@ -176,8 +199,10 @@ mv $PKG/etc/bash_completion.d/grub \
rmdir --parents $PKG/etc/bash_completion.d 2>/dev/null
# Install default options file:
-mkdir -p $PKG/etc/default
+mkdir -p $PKG/etc/default/grub.d
cat $CWD/etc.default.grub > $PKG/etc/default/grub.new
+# Add a hint:
+echo "Files in this directory must end in .cfg to be processed." > $PKG/etc/default/grub.d/README
# Create a directory for grub.cfg:
mkdir -p $PKG/boot/grub
@@ -231,7 +256,7 @@ if [ -r ChangeLog ]; then
fi
mkdir -p $PKG/install
-zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
diff --git a/source/a/grub/initrd_naming.patch b/source/a/grub/initrd_naming.patch
deleted file mode 100644
index 6b62778b0..000000000
--- a/source/a/grub/initrd_naming.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff -Naur grub-2.00.orig/util/grub.d/10_linux.in grub-2.00/util/grub.d/10_linux.in
---- grub-2.00.orig/util/grub.d/10_linux.in 2012-04-18 23:24:38.000000000 +0200
-+++ grub-2.00/util/grub.d/10_linux.in 2012-06-30 07:53:03.765625589 +0200
-@@ -198,7 +198,8 @@
- "initramfs-genkernel-${version}" \
- "initramfs-genkernel-${alt_version}" \
- "initramfs-genkernel-${GENKERNEL_ARCH}-${version}" \
-- "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}"; do
-+ "initramfs-genkernel-${GENKERNEL_ARCH}-${alt_version}" \
-+ "initrd.gz"; do
- if test -e "${dirname}/${i}" ; then
- initrd="$i"
- break
diff --git a/source/a/grub/slack-desc b/source/a/grub/slack-desc
index 1f7a31e09..b07c8a3b2 100644
--- a/source/a/grub/slack-desc
+++ b/source/a/grub/slack-desc
@@ -8,10 +8,10 @@
|-----handy-ruler------------------------------------------------------|
grub: grub (the GRand Unified Bootloader)
grub:
-grub: GNU GRUB is a multiboot boot loader.
-grub:
-grub: Website: http://www.gnu.org/software/grub/
+grub: GNU GRUB, the GRand Unified Bootloader, is a flexible and powerful
+grub: boot loader program for a wide range of architectures.
grub:
+grub: Homepage: https://www.gnu.org/software/grub/
grub:
grub:
grub:
diff --git a/source/a/grub/update-grub b/source/a/grub/update-grub
new file mode 100644
index 000000000..fef55d9b8
--- /dev/null
+++ b/source/a/grub/update-grub
@@ -0,0 +1,10 @@
+#!/bin/sh
+# This is a simple script to update grub from the configuration file.
+# Please note that after upgrading to a new grub version, you should
+# first use "grub-install" to reinstall the bootloader, similar to this:
+# grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB --recheck
+# or this:
+# grub-install --target=i386-pc --recheck /dev/sdX
+
+set -e
+exec grub-mkconfig -o /boot/grub/grub.cfg "$@"
diff --git a/source/a/hwdata/hwdata.SlackBuild b/source/a/hwdata/hwdata.SlackBuild
index aee55ac3f..2f3924b15 100755
--- a/source/a/hwdata/hwdata.SlackBuild
+++ b/source/a/hwdata/hwdata.SlackBuild
@@ -31,7 +31,7 @@ BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i586 ;;
+ i?86) ARCH=i686 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -48,14 +48,11 @@ fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
diff --git a/source/a/infozip/infozip.SlackBuild b/source/a/infozip/infozip.SlackBuild
index 29b89255d..9a63d9ea4 100755
--- a/source/a/infozip/infozip.SlackBuild
+++ b/source/a/infozip/infozip.SlackBuild
@@ -63,6 +63,8 @@ zcat $CWD/zip-patches/zip-3.0-time.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/zip-patches/man.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/zip-patches/zip-3.0-format-security.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/zip-patches/zipnote.patch.gz | patch -p1 --verbose || exit 1
+# GCC 14 fix:
+zcat $CWD/zip-patches/zip.gnu89.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
mkdir -p $PKG/usr/doc/zip-$ZIP
@@ -112,6 +114,8 @@ zcat $CWD/unzip-patches/unzip-6.0-timestamp.patch.gz | patch -p1 --verbose || ex
zcat $CWD/unzip-patches/unzip-6.0-cve-2018-1000035-heap-based-overflow.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/unzip-patches/unzip-6.0-cve-2018-18384.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/unzip-patches/unzip-6.0-COVSCAN-fix-unterminated-string.patch.gz | patch -p1 --verbose || exit 1
+# GCC 14 fix:
+zcat $CWD/unzip-patches/unzip.gnu89.diff.gz | patch -p1 --verbose || exit 1
chown -R root:root .
mkdir -p $PKG/usr/doc/unzip-$VERSION
@@ -120,7 +124,7 @@ cp -a BUGS COPYING* Contents History.* INSTALL LICENSE README ToDo WHERE \
chmod 644 $PKG/usr/doc/unzip-$VERSION/*
# -DNO_LCHMOD because Linux systems do not have lchmod()
# -DNOMEMCPY is slower, but prevents file corruption
-make -f unix/Makefile generic LOCAL_UNZIP="-DIZ_HAVE_UXUIDGID -DNOMEMCPY -DNO_LCHMOD" || exit 1
+make -f unix/Makefile generic_gcc LOCAL_UNZIP="-DIZ_HAVE_UXUIDGID -DNOMEMCPY -DNO_LCHMOD" || exit 1
cat unzip > $PKG/usr/bin/unzip
cat unzipsfx > $PKG/usr/bin/unzipsfx
cat funzip > $PKG/usr/bin/funzip
diff --git a/source/a/infozip/unzip-patches/unzip.gnu89.diff b/source/a/infozip/unzip-patches/unzip.gnu89.diff
new file mode 100644
index 000000000..7bbb05031
--- /dev/null
+++ b/source/a/infozip/unzip-patches/unzip.gnu89.diff
@@ -0,0 +1,11 @@
+--- ./unix/Makefile.orig 2009-01-18 16:41:18.000000000 -0600
++++ ./unix/Makefile 2024-05-11 12:50:37.503835132 -0500
+@@ -545,7 +545,7 @@
+ # make $(MAKEF) unzips CF="${CF} `cat flags`"
+
+ generic_gcc:
+- $(MAKE) $(MAKEF) generic CC=gcc IZ_BZIP2="$(IZ_BZIP2)"
++ $(MAKE) $(MAKEF) generic CC="gcc -std=gnu89" IZ_BZIP2="$(IZ_BZIP2)"
+
+ # extensions to perform SVR4 package-creation after compilation
+ generic_pkg: generic svr4package
diff --git a/source/a/infozip/zip-patches/zip.gnu89.diff b/source/a/infozip/zip-patches/zip.gnu89.diff
new file mode 100644
index 000000000..58e5f0436
--- /dev/null
+++ b/source/a/infozip/zip-patches/zip.gnu89.diff
@@ -0,0 +1,11 @@
+--- ./unix/Makefile.orig 2024-05-11 12:47:26.628830862 -0500
++++ ./unix/Makefile 2024-05-11 12:48:43.705832586 -0500
+@@ -202,7 +202,7 @@
+ eval $(MAKE) $(MAKEF) zips `cat flags`
+
+ generic_gcc:
+- $(MAKE) $(MAKEF) generic CC=gcc CPP="gcc -E"
++ $(MAKE) $(MAKEF) generic CC="gcc -std=gnu89" CPP="gcc -E"
+
+ # AT&T 6300 PLUS (don't know yet how to allocate 64K bytes):
+ att6300nodir:
diff --git a/source/a/iniparser/iniparser.SlackBuild b/source/a/iniparser/iniparser.SlackBuild
index f4861c874..9f295e869 100755
--- a/source/a/iniparser/iniparser.SlackBuild
+++ b/source/a/iniparser/iniparser.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2022 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2022, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -85,15 +85,22 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-# This is an easy one ;-)
-make
-
-# Install:
-mkdir -p $PKG/usr/include
-cp -a src/iniparser.h src/dictionary.h $PKG/usr/include
-mkdir -p $PKG/usr/lib${LIBDIRSUFFIX}
-cp -a libiniparser.so.1 $PKG/usr/lib${LIBDIRSUFFIX}
-ln -sf libiniparser.so.1 $PKG/usr/lib${LIBDIRSUFFIX}/libiniparser.so
+# Configure, build, and install:
+mkdir cmake-build
+cd cmake-build
+ cmake \
+ -DCMAKE_C_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_CXX_FLAGS="$SLKCFLAGS" \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DLIB_SUFFIX="$LIBDIRSUFFIX" \
+ -DDOC_INSTALL_DIR="doc" \
+ -DMAN_INSTALL_DIR=/usr/man \
+ -DBUILD_DOCS=OFF \
+ -DBUILD_STATIC_LIBS=OFF \
+ .. || exit 1
+ make $NUMJOBS || make || exit 1
+ make install DESTDIR=$PKG || exit 1
+cd ..
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
diff --git a/source/a/kmod/kmod.SlackBuild b/source/a/kmod/kmod.SlackBuild
index b59ab405c..c3f7303db 100755
--- a/source/a/kmod/kmod.SlackBuild
+++ b/source/a/kmod/kmod.SlackBuild
@@ -26,12 +26,12 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=kmod
-VERSION=${VERSION:-32}
+VERSION=${VERSION:-33}
BUILD=${BUILD:-1}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) ARCH=i586 ;;
+ i?86) ARCH=i686 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
@@ -50,14 +50,11 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
diff --git a/source/a/less/doinst.sh b/source/a/less/doinst.sh
new file mode 100644
index 000000000..8fca10a6f
--- /dev/null
+++ b/source/a/less/doinst.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+
+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/profile.d/less.csh.new
+config etc/profile.d/less.sh.new
+
diff --git a/source/a/less/less.SlackBuild b/source/a/less/less.SlackBuild
index 002899a60..436eb912a 100755
--- a/source/a/less/less.SlackBuild
+++ b/source/a/less/less.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2005-2022 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2005-2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,6 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=less
VERSION=${VERSION:-$(echo less-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+LESSPIPEVER=$(echo lesspipe-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -74,7 +75,9 @@ tar xvf $CWD/less-$VERSION.tar.?z || exit 1
cd less-$VERSION || exit 1
# Fix path in manpage:
-sed -i "s,/usr/local/etc,/etc,g" less.nro
+if [ -r less.nro ]; then
+ sed -i "s,/usr/local/etc,/etc,g" less.nro
+fi
chown -R root:root .
find . \
@@ -107,8 +110,47 @@ CFLAGS="$SLKCFLAGS" \
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-zcat $CWD/lesspipe.sh.gz > $PKG/usr/bin/lesspipe.sh
-chmod 755 $PKG/usr/bin/lesspipe.sh
+mkdir -p $PKG/usr/man/man1
+for page in less.nro lesskey.nro ; do
+ cat $page > $PKG/usr/man/man1/`basename $page .nro`.1
+done
+
+mkdir -p $PKG/usr/doc/less-$VERSION
+cp -a \
+ COPYING* LICENSE README NEWS \
+ $PKG/usr/doc/less-$VERSION
+
+# Install lesspipe.sh etc:
+cd $TMP
+rm -r lesspipe-$LESSPIPEVER
+tar xf $CWD/lesspipe-${LESSPIPEVER}.tar.?z || exit 1
+cd lesspipe-${LESSPIPEVER}
+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 {} \+
+# Don't use special handling for .log files:
+cat $CWD/lesspipe.log.patch | patch -p1 --verbose || exit 1
+./configure --prefix=/usr || exit 1
+make
+make install DESTDIR=$PKG
+mv $PKG/usr/share/man/man1/* $PKG/usr/man/man1
+rmdir $PKG/usr/share/man/man1 $PKG/usr/share/man
+# wrong directory:
+mkdir -p $PKG/usr/share/bash-completion/completions
+mv $PKG/usr/share/bash-completion/less_completion $PKG/usr/share/bash-completion/completions/less
+mkdir -p $PKG/usr/doc/lesspipe-${LESSPIPEVER}
+cp -a COPYING* ChangeLog* INSTALL* README* \
+ $PKG/usr/doc/lesspipe-${LESSPIPEVER}
+
+# Install profile scripts:
+mkdir -p $PKG/etc/profile.d
+cp -a $CWD/less.csh $PKG/etc/profile.d/less.csh.new
+cp -a $CWD/less.sh $PKG/etc/profile.d/less.sh.new
+chown root:root $PKG/etc/profile.d/*
+chmod 755 $PKG/etc/profile.d/*
# Compress and link manpages, if any:
if [ -d $PKG/usr/man ]; then
@@ -130,20 +172,10 @@ fi
find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
)
-mkdir -p $PKG/usr/doc/less-$VERSION
-cp -a \
- COPYING* LICENSE README NEWS \
- $PKG/usr/doc/less-$VERSION
-
-mkdir -p $PKG/usr/man/man1
-for page in less.nro lesskey.nro ; do
- cat $page | gzip -9c > $PKG/usr/man/man1/`basename $page .nro`.1.gz
-done
-
mkdir -p $PKG/install
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
# Build the package:
cd $PKG
/sbin/makepkg -l y -c n $TMP/less-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/a/less/less.csh b/source/a/less/less.csh
new file mode 100644
index 000000000..7c13543bf
--- /dev/null
+++ b/source/a/less/less.csh
@@ -0,0 +1,18 @@
+# Set profile variables for less and lesspipe.sh.
+
+# Setting a default $LESS was something inherited from SLS many years ago,
+# but apparently the previous setting of "-M" causes display issues with
+# some programs (i.e. git log). Adding "-R" as well fixes this, but some
+# folks have concerns about the security of this option (I think it's
+# actually "-r" that's the dangerous one). Anyway, it might be best to just
+# leave this unset by default. Uncomment it if you like, or set up your
+# own definition or aliases on a per-account basis.
+#setenv LESS "-M -R"
+
+# Use lesspipe.sh (see man lesspipe):
+setenv LESSOPEN "|lesspipe.sh %s"
+
+# Suppress the "informal messages" in the first line of the lesspipe output.
+# If you like these, comment this line out.
+setenv LESSQUIET true
+
diff --git a/source/a/less/less.sh b/source/a/less/less.sh
new file mode 100644
index 000000000..a924ead0b
--- /dev/null
+++ b/source/a/less/less.sh
@@ -0,0 +1,18 @@
+# Set profile variables for less and lesspipe.sh.
+
+# Setting a default $LESS was something inherited from SLS many years ago,
+# but apparently the previous setting of "-M" causes display issues with
+# some programs (i.e. git log). Adding "-R" as well fixes this, but some
+# folks have concerns about the security of this option (I think it's
+# actually "-r" that's the dangerous one). Anyway, it might be best to just
+# leave this unset by default. Uncomment it if you like, or set up your
+# own definition or aliases on a per-account basis.
+#export LESS="-M -R"
+
+# Use lesspipe.sh (see man lesspipe):
+export LESSOPEN="|lesspipe.sh %s"
+
+# Suppress the "informal messages" in the first line of the lesspipe output.
+# If you like these, comment this line out.
+export LESSQUIET=true
+
diff --git a/source/a/less/lesspipe.log.patch b/source/a/less/lesspipe.log.patch
new file mode 100644
index 000000000..87dca2d97
--- /dev/null
+++ b/source/a/less/lesspipe.log.patch
@@ -0,0 +1,21 @@
+From 355e96d89fb8ec649f4fce7650cbdd5a684035fb Mon Sep 17 00:00:00 2001
+From: Patrick J. Volkerding <volkerdi@slackware.com>
+Date: Thu May 23 18:30:51 UTC 2024
+Subject: [PATCH] Ignore .log extension
+
+Without this patch, a log file (which should be a text file) that is
+compressed will not be uncompressed and you'll get the usual warning
+from less that the content might be binary, and the log file will not
+be visible. Removing the special handling for .log, everything works.
+
+--- ./lesspipe.sh.orig 2024-05-10 13:48:19.000000000 -0500
++++ ./lesspipe.sh 2024-05-23 13:28:25.917030712 -0500
+@@ -140,7 +140,7 @@
+ if [[ $fchar != binary ]]; then
+ # text only file formats
+ case "$fext" in
+- html|htm|xml|pod|log)
++ html|htm|xml|pod)
+ ftype="$fext" ;;
+ pm)
+ ftype=perl ;;
diff --git a/source/a/less/lesspipe.sh b/source/a/less/lesspipe.sh
deleted file mode 100644
index b5d76d48a..000000000
--- a/source/a/less/lesspipe.sh
+++ /dev/null
@@ -1,70 +0,0 @@
-#!/bin/sh
-#
-# Copyright 1997, 1998, 1999, 2000 Patrick Volkerding, Moorhead, MN, USA
-# Copyright 2001, 2002 Slackware Linux, Inc, Concord, CA, USA
-# Copyright 2006, 2009, 2017, 2021 Patrick 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.
-#
-
-# This is a preprocessor for 'less'. It is used when this environment
-# variable is set: LESSOPEN="|lesspipe.sh %s"
-
-lesspipe() {
- case "$1" in
- *.tar) tar tvvf "$1" 2>/dev/null ;;
- *.tar.lzma ) lzma -dc "$1" 2> /dev/null | tar tvvf - 2> /dev/null ;;
- *.tgz | *.tar.gz | *.tar.Z | *.tar.z | *.tar.bz2 | *.tbz ) tar tvvf "$1" 2>/dev/null ;;
- *.tlz | *.tar.lz ) lzip -dc "$1" 2> /dev/null | tar tvvf - 2> /dev/null ;;
- *.txz | *.tar.xz ) xz -dc "$1" 2> /dev/null | tar tvvf - 2> /dev/null ;;
- *.tzst | *.tar.zst | *.tar.zstd ) tar tvvf "$1" 2> /dev/null ;;
- *.zip) unzip -l "$1" 2>/dev/null ;;
- *.rpm) rpm -qpvl "$1" 2>/dev/null ;;
- *.rar) # check if rar is installed first
- if which rar 1> /dev/null ; then
- `which rar` t "$1"
- fi ;;
- *.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) # *roff src?
- if file -L "$1" | grep roff 1> /dev/null ; then
- nroff -S -mandoc "$1"
- fi ;;
- *.1.gz|*.2.gz|*.3.gz|*.4.gz|*.5.gz|*.6.gz|*.7.gz|*.8.gz|*.9.gz|*.n.gz|*.man.gz) # compressed *roff src?
- if gzip -dc "$1" | file - | grep roff 1> /dev/null ; then
- gzip -dc "$1" | nroff -S -mandoc -
- else gzip -dc "$1" 2>/dev/null
- fi ;;
- *.1.bz2|*.2.bz2|*.3.bz2|*.4.bz2|*.5.bz2|*.6.bz2|*.7.bz2|*.8.bz2|*.9.bz2|*.n.bz2|*.man.bz2) # compressed *roff src?
- if bzip2 -dc "$1" | file - | grep roff 1> /dev/null ; then
- bzip2 -dc "$1" | nroff -S -mandoc -
- fi ;;
- *.gz) gzip -dc "$1" 2>/dev/null ;;
- *.bz2) bzip2 -dc "$1" 2>/dev/null ;;
- *.lzma) lzma -dc "$1" 2>/dev/null ;;
- *.xz) xz -dc "$1" 2>/dev/null ;;
-# *) FILE=`file -L "$1"` ; # Check to see if binary, if so -- view with 'strings'
-# FILE1=`echo $FILE | cut -d ' ' -f 2`
-# FILE2=`echo $FILE | cut -d ' ' -f 3`
-# if [ "$FILE1" = "Linux/i386" -o "$FILE2" = "Linux/i386" \
-# -o "$FILE1" = "ELF" -o "$FILE2" = "ELF" ]; then
-# strings "$1"
-# fi ;;
- esac
-}
-
-lesspipe "$1"
diff --git a/source/a/less/lesspipe.url b/source/a/less/lesspipe.url
new file mode 100644
index 000000000..d822d8d12
--- /dev/null
+++ b/source/a/less/lesspipe.url
@@ -0,0 +1 @@
+https://github.com/wofr06/lesspipe
diff --git a/source/a/libblockdev/doinst.sh b/source/a/libblockdev/doinst.sh
index 09fe04bb0..79caef3de 100644
--- a/source/a/libblockdev/doinst.sh
+++ b/source/a/libblockdev/doinst.sh
@@ -11,5 +11,5 @@ config() {
# Otherwise, we leave the .new copy for the admin to consider...
}
-config etc/libblockdev/conf.d/00-default.cfg.new
-config etc/libblockdev/conf.d/10-lvm-dbus.cfg.new
+config etc/libblockdev/3/conf.d/00-default.cfg.new
+config etc/libblockdev/3/conf.d/10-lvm-dbus.cfg.new
diff --git a/source/a/libblockdev/libblockdev.SlackBuild b/source/a/libblockdev/libblockdev.SlackBuild
index 2a2dd5378..4d80ffd8c 100755
--- a/source/a/libblockdev/libblockdev.SlackBuild
+++ b/source/a/libblockdev/libblockdev.SlackBuild
@@ -24,13 +24,13 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=libblockdev
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | rev | cut -f 2- -d -)}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
- i?86) ARCH=i586 ;;
+ i?86) ARCH=i686 ;;
arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
@@ -42,27 +42,18 @@ fi
# 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"
+ echo "$PKGNAM-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz"
exit 0
fi
NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -86,6 +77,10 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
+# Don't use -Werror. It fails the build with recent libext2fs.
+find -name Makefile.am -exec sed -i "s/-Werror//" {} \;
+find -name Makefile.in -exec sed -i "s/-Werror//" {} \;
+
# Configure, build, and install:
if [ ! -r configure ]; then
if [ -x ./autogen.sh ]; then
@@ -116,10 +111,10 @@ make install DESTDIR=$PKG || exit 1
# Don't ship .la files:
rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
-mv $PKG/etc/libblockdev/conf.d/00-default.cfg \
- $PKG/etc/libblockdev/conf.d/00-default.cfg.new
-mv $PKG/etc/libblockdev/conf.d/10-lvm-dbus.cfg \
- $PKG/etc/libblockdev/conf.d/10-lvm-dbus.cfg.new
+mv $PKG/etc/libblockdev/3/conf.d/00-default.cfg \
+ $PKG/etc/libblockdev/3/conf.d/00-default.cfg.new
+mv $PKG/etc/libblockdev/3/conf.d/10-lvm-dbus.cfg \
+ $PKG/etc/libblockdev/3/conf.d/10-lvm-dbus.cfg.new
# Strip binaries:
find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
@@ -150,4 +145,4 @@ zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
-/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$(echo $VERSION | tr - _)-$ARCH-$BUILD.txz
diff --git a/source/a/libbytesize/libbytesize.SlackBuild b/source/a/libbytesize/libbytesize.SlackBuild
index e5c8c6de3..2621209a2 100755
--- a/source/a/libbytesize/libbytesize.SlackBuild
+++ b/source/a/libbytesize/libbytesize.SlackBuild
@@ -30,7 +30,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
- i?86) ARCH=i586 ;;
+ i?86) ARCH=i686 ;;
arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
@@ -48,21 +48,12 @@ fi
NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
diff --git a/source/a/libbytesize/libbytesize.url b/source/a/libbytesize/libbytesize.url
index 0f41f6415..dacf38b7e 100644
--- a/source/a/libbytesize/libbytesize.url
+++ b/source/a/libbytesize/libbytesize.url
@@ -1 +1 @@
-https://github.com/rhinstaller/libbytesize
+https://github.com/storaged-project/libbytesize
diff --git a/source/a/libcgroup/libcgroup.SlackBuild b/source/a/libcgroup/libcgroup.SlackBuild
index e093f2807..edaae94dc 100755
--- a/source/a/libcgroup/libcgroup.SlackBuild
+++ b/source/a/libcgroup/libcgroup.SlackBuild
@@ -63,6 +63,9 @@ else
LIBDIRSUFFIX=""
fi
+# GCC 14 "fix":
+SLKCFLAGS="$SLKCFLAGS -Wno-error=int-conversion"
+
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
diff --git a/source/a/libpwquality/libpwquality.SlackBuild b/source/a/libpwquality/libpwquality.SlackBuild
index 53bb2cda9..f0d73928d 100755
--- a/source/a/libpwquality/libpwquality.SlackBuild
+++ b/source/a/libpwquality/libpwquality.SlackBuild
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=libpwquality
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/logrotate/logrotate.SlackBuild b/source/a/logrotate/logrotate.SlackBuild
index 246740941..ed68b275f 100755
--- a/source/a/logrotate/logrotate.SlackBuild
+++ b/source/a/logrotate/logrotate.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2012, 2015, 2017, 2018, 2020 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2012, 2015, 2017, 2018, 2020, 2024 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -76,9 +76,6 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \+
-# Fixup a few things:
-zcat $CWD/logrotate.slackware.diff.gz | patch -p1 || exit 1
-
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/a/logrotate/logrotate.slackware.diff b/source/a/logrotate/logrotate.slackware.diff
deleted file mode 100644
index f5b6e2473..000000000
--- a/source/a/logrotate/logrotate.slackware.diff
+++ /dev/null
@@ -1,39 +0,0 @@
---- ./logrotate.8.orig 2020-02-28 06:10:26.000000000 -0600
-+++ ./logrotate.8 2020-02-28 17:55:41.372212059 -0600
-@@ -341,6 +341,10 @@
- .IR .ucf\-dist ,
- .IR .ucf\-new ,
- .IR .ucf\-old ,
-+.IR .new
-+.IR .old
-+.IR .orig
-+.IR .bak
- .I ~
-
- .TP
---- ./logrotate.8.in.orig 2019-12-04 03:17:23.000000000 -0600
-+++ ./logrotate.8.in 2020-02-28 17:56:13.484213430 -0600
-@@ -341,6 +341,10 @@
- .IR .ucf\-dist ,
- .IR .ucf\-new ,
- .IR .ucf\-old ,
-+.IR .new
-+.IR .old
-+.IR .orig
-+.IR .bak
- .I ~
-
- .TP
---- ./config.c.orig 2020-01-13 10:39:19.000000000 -0600
-+++ ./config.c 2020-02-28 17:55:06.947210589 -0600
-@@ -147,6 +147,10 @@
- ".ucf-dist",
- ".ucf-new",
- ".ucf-old",
-+ ".new",
-+ ".old",
-+ ".orig",
-+ ".bak",
- "~"
- };
- static const int defTabooCount = sizeof(defTabooExts) / sizeof(char *);
diff --git a/source/a/logrotate/logrotate.url b/source/a/logrotate/logrotate.url
index dd8b8bfdc..e5238f6a6 100644
--- a/source/a/logrotate/logrotate.url
+++ b/source/a/logrotate/logrotate.url
@@ -1 +1,2 @@
https://github.com/logrotate/logrotate
+https://github.com/logrotate/logrotate/releases/download/3.22.0/logrotate-3.22.0.tar.xz
diff --git a/source/a/lvm2/lvm2.SlackBuild b/source/a/lvm2/lvm2.SlackBuild
index 3a8ebb100..106ae9eed 100755
--- a/source/a/lvm2/lvm2.SlackBuild
+++ b/source/a/lvm2/lvm2.SlackBuild
@@ -31,7 +31,7 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
@@ -49,14 +49,11 @@ fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-lvm2
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
diff --git a/source/a/minicom/minicom.SlackBuild b/source/a/minicom/minicom.SlackBuild
index 454e2b28a..7fd52476c 100755
--- a/source/a/minicom/minicom.SlackBuild
+++ b/source/a/minicom/minicom.SlackBuild
@@ -59,6 +59,9 @@ else
SLKCFLAGS="-O2"
fi
+# GCC 14 "fix":
+SLKCFLAGS="$SLKCFLAGS -Wno-error=implicit-int -Wno-error=implicit-function-declaration"
+
rm -rf $PKG
mkdir -p $TMP $PKG
@@ -123,6 +126,7 @@ zcat $CWD/lrzsz_0.12.21-5.diff.gz | patch -p1 --verbose || exit 1
rm -f debian/patches/{206499_ymodemg.diff.unchecked,206648_dszlog.diff.unchecked}
for i in debian/patches/* ; do patch -p1 < $i || exit 1 ; done
+CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--mandir=/usr/man \
diff --git a/source/a/mkinitrd/README.initrd b/source/a/mkinitrd/README.initrd
index eddc2be7a..c5581b7fe 100644
--- a/source/a/mkinitrd/README.initrd
+++ b/source/a/mkinitrd/README.initrd
@@ -76,7 +76,7 @@ initrd. Here's an example section of lilo.conf showing how this is
done:
# Linux bootable partition config begins
-image = /boot/vmlinuz-generic-@KERNEL_VERSION@
+image = /boot/vmlinuz-@KERNEL_VERSION@-generic
initrd = /boot/initrd.gz
root = /dev/sda6
label = @LILO_KERNEL_NAME@
@@ -93,6 +93,19 @@ Other bootloaders such as syslinux also support the use of an initrd.
See the documentation for those programs for details on using an
initrd with them.
+Some, such as GRUB, require the initrd to be named similarly to the
+kernel. So, for this kernel:
+
+/boot/vmlinuz-@KERNEL_VERSION@-generic
+
+You would want to rename your initrd to this:
+
+/boot/initrd-@KERNEL_VERSION@-generic.img
+
+In fact, if you use the geninitrd script to make your initrd (which it
+will pretty much do automatically for the generic kernel) it will name
+it this way, and will make a compatibilty symlink initrd.gz.
+
---------
diff --git a/source/a/mkinitrd/busybox-dot-config b/source/a/mkinitrd/busybox-dot-config
index 866752902..ad3d6ea47 100644
--- a/source/a/mkinitrd/busybox-dot-config
+++ b/source/a/mkinitrd/busybox-dot-config
@@ -1,7 +1,7 @@
#
# Automatically generated make config: don't edit
# Busybox version: 1.32.1
-# Sun Jan 17 13:37:03 2021
+# Tue May 14 13:21:58 2024
#
CONFIG_HAVE_DOT_CONFIG=y
@@ -941,8 +941,8 @@ CONFIG_PSCAN=y
CONFIG_ROUTE=y
CONFIG_SLATTACH=y
CONFIG_SSL_CLIENT=y
-CONFIG_TC=y
-CONFIG_FEATURE_TC_INGRESS=y
+# CONFIG_TC is not set
+# CONFIG_FEATURE_TC_INGRESS is not set
CONFIG_TCPSVD=y
CONFIG_UDPSVD=y
CONFIG_TELNET=y
diff --git a/source/a/mkinitrd/doinst.sh b/source/a/mkinitrd/doinst.sh
new file mode 100644
index 000000000..9d16b0fd7
--- /dev/null
+++ b/source/a/mkinitrd/doinst.sh
@@ -0,0 +1,13 @@
+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/default/geninitrd.new
diff --git a/source/a/mkinitrd/geninitrd.default b/source/a/mkinitrd/geninitrd.default
new file mode 100644
index 000000000..6ceff8d63
--- /dev/null
+++ b/source/a/mkinitrd/geninitrd.default
@@ -0,0 +1,17 @@
+# Default options for generating the initrd:
+
+# This variable defines the kernel that the initrd should be made for.
+# Usually this will be a symlink that points to the actual kernel file.
+# It is usually named "/boot/vmlinuz-generic" but if you're building your
+# own kernels you might have a custom link such as "/boot/vmlinuz-custom".
+KERNEL_SYMLINK=/boot/vmlinuz-generic
+
+# In addition to the initrd with a name like initrd-6.9.9-generic.img,
+# should we make a compatibility symlink such as initrd-generic.img?
+# GRUB doesn't require this, but lilo and elilo might.
+GENINITRD_NAMED_SYMLINK=true
+
+# In addition to the initrd with a name like initrd-6.9.9-generic.img,
+# should we make a compatibility symlink named initrd.gz?
+# GRUB doesn't require this, but lilo and elilo might.
+GENINITRD_INITRD_GZ_SYMLINK=true
diff --git a/source/a/mkinitrd/mkinitrd.SlackBuild b/source/a/mkinitrd/mkinitrd.SlackBuild
index e0417bdea..2b3dbaf77 100755
--- a/source/a/mkinitrd/mkinitrd.SlackBuild
+++ b/source/a/mkinitrd/mkinitrd.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2017, 2018, 2021, 2022, 2023 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2015, 2016, 2017, 2018, 2021, 2022, 2023, 2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -25,12 +25,12 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=mkinitrd
VERSION=${VERSION:-1.4.11}
BB=1.32.1
-BUILD=${BUILD:-34}
+BUILD=${BUILD:-36}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
@@ -168,6 +168,10 @@ case "$( uname -m )" in
esac
chown root:root $PKG/etc/mkinitrd.conf.sample
chmod 644 $PKG/etc/mkinitrd.conf.sample
+mkdir -p $PKG/etc/default
+cp -a $CWD/geninitrd.default $PKG/etc/default/geninitrd.new
+chown root:root $PKG/etc/default/geninitrd.new
+chmod 644 $PKG/etc/default/geninitrd.new
mkdir -p $PKG/usr/doc/mkinitrd-$VERSION
sed $CWD/README.initrd \
@@ -187,8 +191,8 @@ find $PKG | xargs file | grep -e "executable" -e "shared object" \
| grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
mkdir -p $PKG/install
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
cd $PKG
/sbin/makepkg -l y -c n $TMP/mkinitrd-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/a/mkinitrd/setup.01.mkinitrd b/source/a/mkinitrd/setup.01.mkinitrd
index 31e871447..836883287 100644
--- a/source/a/mkinitrd/setup.01.mkinitrd
+++ b/source/a/mkinitrd/setup.01.mkinitrd
@@ -1,37 +1,53 @@
#!/bin/sh
#BLURB="Generate /boot/initrd.gz for the generic kernel"
-# Start with the version for vmlinuz-generic-smp:
-KERNEL_SYMLINK="boot/vmlinuz-generic-smp"
-if [ -L $KERNEL_SYMLINK ]; then
- KERNEL_VERSION_LIST=$(strings $KERNEL_SYMLINK | grep '([^ ]*@[^ ]*) #' | cut -f1 -d' ')
+# Load defaults:
+if [ -r etc/default/geninitrd ]; then
+ . etc/default/geninitrd
fi
-# Next add the version for vmlinuz-generic:
-KERNEL_SYMLINK="boot/vmlinuz-generic"
-if [ -L $KERNEL_SYMLINK ]; then
- if [ -z $KERNEL_VERSION_LIST ]; then
- KERNEL_VERSION_LIST=$(strings $KERNEL_SYMLINK | grep '([^ ]*@[^ ]*) #' | cut -f1 -d' ')
- else
- KERNEL_VERSION_LIST="$KERNEL_VERSION_LIST:$(strings $KERNEL_SYMLINK | grep '([^ ]*@[^ ]*) #' | cut -f1 -d' ')"
- fi
+if [ -z "$KERNEL_SYMLINK" ]; then
+ KERNEL_SYMLINK="boot/vmlinuz-generic"
+elif [ "$(echo $KERNEL_SYMLINK | cut -b 1)" = "/" ]; then # trim to make a relative path
+ KERNEL_SYMLINK="$(echo $KERNEL_SYMLINK | cut -b 2-)"
fi
-# Proper plural(s):
-if echo $KERNEL_VERSION_LIST | grep -q : ; then
- KERNEL=kernels
-else
- KERNEL=kernel
+# Find the kernel version:
+if [ -r $KERNEL_SYMLINK ]; then
+ KERNEL_VERSION=$(strings $KERNEL_SYMLINK | grep '([^ ]*@[^ ]*) #' | cut -f1 -d' ')
fi
+# Assume the kernel "name" aka flavor is just the second part of the symlink name:
+KERNEL_NAME="$(echo $KERNEL_SYMLINK | rev | cut -f 1 -d - | rev)"
+
+# Sometimes mkinitrd_command_generator.sh does not detect LVM properly. Until I
+# get to the bottom of that, it's safer to just always include LVM support.
+LVM_OPTION="-L"
+
# Generate the initrd:
-if [ ! -z $KERNEL_VERSION_LIST ]; then
- dialog --title "GENERATING INITIAL RAMDISK" --infobox \
- "Generating an initial ramdisk for use with the $KERNEL_VERSION_LIST generic \
-${KERNEL}. The initial ramdisk contains kernel modules needed to mount the \
+if [ ! -z $KERNEL_VERSION ]; then
+ if [ -z "$GENINITRD_SILENT" ]; then
+ dialog --title "GENERATING INITIAL RAMDISK" --infobox \
+ "Generating an initial ramdisk for use with the $KERNEL_VERSION kernel. \
+The initial ramdisk contains kernel modules needed to mount the \
root partition, and must be regenerated whenever the kernel is updated. To \
regenerate the initrd, select this setup script from within pkgtool, or run \
'geninitrd' which will produce an initial ramdisk (/boot/initrd.gz) for the \
-installed generic ${KERNEL}." 9 68
- chroot . /usr/share/mkinitrd/mkinitrd_command_generator.sh -k $KERNEL_VERSION_LIST | chroot . bash 1> /dev/null 2> /dev/null
+installed kernel." 8 70
+ fi
+ chroot . /usr/share/mkinitrd/mkinitrd_command_generator.sh -k $KERNEL_VERSION -a "$LVM_OPTION -o /boot/initrd-${KERNEL_VERSION}-${KERNEL_NAME}.img" | chroot . bash 1> /dev/null 2> /dev/null
+fi
+
+if [ "$GENINITRD_NAMED_SYMLINK" = "true" ]; then
+ ( cd boot
+ rm -f initrd-${KERNEL_NAME}.img
+ ln -sf initrd-${KERNEL_VERSION}-${KERNEL_NAME}.img initrd-${KERNEL_NAME}.img
+ )
+fi
+
+if [ "$GENINITRD_INITRD_GZ_SYMLINK" = "true" ]; then
+ ( cd boot
+ rm -f initrd.gz
+ ln -sf initrd-${KERNEL_VERSION}-${KERNEL_NAME}.img initrd.gz
+ )
fi
diff --git a/source/a/ndctl/ndctl.SlackBuild b/source/a/ndctl/ndctl.SlackBuild
index 8c035e31b..f691cdbd8 100755
--- a/source/a/ndctl/ndctl.SlackBuild
+++ b/source/a/ndctl/ndctl.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=ndctl
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/nut/doinst.sh b/source/a/nut/doinst.sh
new file mode 100644
index 000000000..393069f41
--- /dev/null
+++ b/source/a/nut/doinst.sh
@@ -0,0 +1,30 @@
+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...
+}
+
+preserve_perms() {
+ NEW="$1"
+ OLD="$(dirname $NEW)/$(basename $NEW .new)"
+ if [ -e $OLD ]; then
+ cp -a $OLD ${NEW}.incoming
+ cat $NEW > ${NEW}.incoming
+ mv ${NEW}.incoming $NEW
+ fi
+ config $NEW
+}
+
+preserve_perms etc/rc.d/rc.nut-drvctl.new
+preserve_perms etc/rc.d/rc.nut-upsd.new
+preserve_perms etc/rc.d/rc.nut-upsmon.new
+
+for file in etc/nut/*.new ; do
+ config $file
+done
diff --git a/source/a/nut/nut.SlackBuild b/source/a/nut/nut.SlackBuild
new file mode 100755
index 000000000..b8c6cd520
--- /dev/null
+++ b/source/a/nut/nut.SlackBuild
@@ -0,0 +1,196 @@
+#!/bin/bash
+
+# Copyright 2010 V'yacheslav Stetskevych <slava18 dont_spam_me gmail com>
+# Copyright 2024 Patrick J. Volkerding, Sebeka, Minnesota, 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=nut
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+BUILD=${BUILD:-1}
+
+# Automatically determine the architecture we're building on:
+if [ -z "$ARCH" ]; then
+ case "$(uname -m)" in
+ i?86) ARCH=i586 ;;
+ arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
+ # Unless $ARCH is already set, use uname -m for all other archs:
+ *) ARCH=$(uname -m) ;;
+ esac
+ export ARCH
+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
+
+NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
+
+if [ "$ARCH" = "i586" ]; then
+ SLKCFLAGS="-O2 -march=i586 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "s390" ]; then
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+elif [ "$ARCH" = "armv7hl" ]; then
+ SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
+ LIBDIRSUFFIX=""
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+TMP=${TMP:-/tmp}
+PKG=$TMP/package-$PKGNAM
+
+rm -rf $PKG
+mkdir -p $TMP $PKG
+
+cd $TMP
+rm -rf $PKGNAM-$VERSION
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || 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 {} \+
+
+# Configure, build, and install:
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+CFLAGS="$SLKCFLAGS" \
+CXXFLAGS="$SLKCFLAGS" \
+./configure \
+ --prefix=/usr \
+ --libdir=/usr/lib${LIBDIRSUFFIX} \
+ --libexecdir=/usr/lib${LIBDIRSUFFIX}/nut \
+ --sbindir=/usr/sbin \
+ --sysconfdir=/etc/nut \
+ --localstatedir=/var \
+ --datadir=/usr/share/nut \
+ --mandir=/usr/man \
+ --docdir=/usr/doc/nut-$VERSION \
+ --disable-static \
+ --without-python2 \
+ --with-dev \
+ --with-serial \
+ --with-usb \
+ --with-snmp \
+ --with-neon \
+ --with-wrap \
+ --with-cgi\
+ --with-openssl \
+ --with-libldtl \
+ --with-cgipath=/usr/share/nut/cgi-bin \
+ --with-htmlpath=/usr/share/nut/html \
+ --with-drvpath=/usr/lib${LIBDIRSUFFIX}/nut \
+ --with-statepath=/run/nut \
+ --with-pidpath=/run/nut \
+ --with-altpidpath=/run/nut \
+ --with-udevdir=/lib/udev \
+ --with-user=nut \
+ --with-group=nut \
+ --build=$ARCH-slackware-linux || exit 1
+
+make $NUMJOBS || make || exit 1
+make install DESTDIR=$PKG || exit 1
+
+# Don't ship .la files:
+rm -f $PKG/{,usr/}lib${LIBDIRSUFFIX}/*.la
+
+# Strip binaries:
+find $PKG | xargs file | grep -e "executable" -e "shared object" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
+
+# Install the startup scripts:
+mkdir -p $PKG/etc/rc.d
+cp -a $CWD/rc.nut-drvctl $PKG/etc/rc.d/rc.nut-drvctl.new
+cp -a $CWD/rc.nut-upsd $PKG/etc/rc.d/rc.nut-upsd.new
+cp -a $CWD/rc.nut-upsmon $PKG/etc/rc.d/rc.nut-upsmon.new
+chown root:root $PKG/etc/rc.d/rc.nut-*
+chmod 644 $PKG/etc/rc.d/rc.nut-*
+
+# Install the bash_completion script:
+mkdir -p $PKG/usr/share/bash-completion/completions
+cp -a scripts/misc/nut.bash_completion $PKG/usr/share/bash-completion/completions/nut
+chmod 755 $PKG/usr/share/bash-completion/completions/nut
+
+# Create the state directory:
+mkdir -p $PKG/var/state/ups
+chown nut:nut $PKG/var/state/ups
+chmod 770 $PKG/var/state/ups
+
+# Change .sample files to .new:
+for file in $PKG/etc/nut/*.sample ; do
+ mv $file $(echo $file | rev | cut -f 2- -d . | rev).new
+done
+
+# Compress manual pages:
+find $PKG/usr/man -type f -exec gzip -9 {} \+
+for i in $( find $PKG/usr/man -type l ) ; do
+ ln -s $( readlink $i ).gz $i.gz
+ rm $i
+done
+
+# Add a documentation directory:
+mkdir -p $PKG/usr/doc/${PKGNAM}-$VERSION
+cp -a \
+ AUTHORS* COPYING* ChangeLog INSTALL* LICENSE* MAINTAINERS* NEWS* README* TODO* UPGRADING* \
+ docs \
+ $PKG/usr/doc/${PKGNAM}-$VERSION
+
+# Redundant:
+rm -rf $PKG/usr/doc/${PKGNAM}-$VERSION/docs/man
+
+# Clean up zero-length in the docs:
+find $PKG/usr/doc -type f -size 0 -exec rm -f "{}" \;
+
+# 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
+
+cd $PKG
+/sbin/makepkg -l y -c n $TMP/$PKGNAM-$VERSION-$ARCH-$BUILD.txz
diff --git a/source/a/nut/rc.nut-drvctl b/source/a/nut/rc.nut-drvctl
new file mode 100644
index 000000000..c310d26c8
--- /dev/null
+++ b/source/a/nut/rc.nut-drvctl
@@ -0,0 +1,32 @@
+#!/bin/sh
+# NUT ups model-specific drivers start-up and shutdown script.
+# This should be started before rc.nut-upsd on the machine connected to the
+# UPS's control port. See /etc/nut/ for configuration files.
+
+# Start upsdrvctl:
+upsdrvctl_start() {
+ # Make sure the runtime directory is there:
+ mkdir -p /run/nut
+ chown -R nut:nut /run/nut
+ chmod 0770 /run/nut
+ # Load NUT driver(s):
+ echo "Starting the NUT UPS driver controller: upsdrvctl -u nut start"
+ upsdrvctl -u nut start
+}
+
+# Stop upsdrvctl:
+upsdrvctl_stop() {
+ echo "Stopping the NUT UPS driver controller."
+ upsdrvctl stop
+}
+
+case "$1" in
+'start')
+ upsdrvctl_start
+ ;;
+'stop')
+ upsdrvctl_stop
+ ;;
+*)
+ echo "usage $0 start|stop"
+esac
diff --git a/source/a/nut/rc.nut-upsd b/source/a/nut/rc.nut-upsd
new file mode 100644
index 000000000..3ca7cdc0b
--- /dev/null
+++ b/source/a/nut/rc.nut-upsd
@@ -0,0 +1,41 @@
+#!/bin/sh
+# NUT upsd start-up and shutdown script.
+# This should be started after rc.nut-drvctl on the machine connected to the
+# UPS's control port. See /etc/nut/ for configuration files.
+
+# Start upsd:
+upsd_start() {
+ # Make sure the runtime directory is there:
+ mkdir -p /run/nut
+ chown -R nut:nut /run/nut
+ chmod 0770 /run/nut
+ # Start the UPS daemon:
+ echo "Starting the NUT UPS information server: upsd -u nut"
+ upsd -u nut
+}
+
+# Stop upsd:
+upsd_stop() {
+ echo "Stopping the NUT UPS information server."
+ upsd -c stop
+}
+
+# Reload configuration files for upsd:
+upsd_reload() {
+ echo "Reloading configuration files for the NUT UPS information server: upsd -c reload"
+ upsd -c reload
+}
+
+case "$1" in
+'start')
+ upsd_start
+ ;;
+'stop')
+ upsd_stop
+ ;;
+'reload')
+ upsd_reload
+ ;;
+*)
+ echo "usage $0 start|stop|reload"
+esac
diff --git a/source/a/nut/rc.nut-upsmon b/source/a/nut/rc.nut-upsmon
new file mode 100644
index 000000000..8fc5ec8f8
--- /dev/null
+++ b/source/a/nut/rc.nut-upsmon
@@ -0,0 +1,46 @@
+#!/bin/sh
+# NUT upsmon start-up and shutdown script.
+# upsmon is the client process that is responsible for the most important part
+# of UPS monitoring--shutting down the system when the power goes out.
+#
+# upsmon should be run on every machine that is powered by the UPS if you wish
+# to support automatic shutdown on battery power.
+#
+# See /etc/nut/ for configuration files.
+
+# Start upsmon:
+upsmon_start() {
+ # Make sure the runtime directory is there:
+ mkdir -p /run/nut
+ chown -R nut:nut /run/nut
+ chmod 0770 /run/nut
+ # Start the NUT UPS monitor and shutdown controller:
+ echo "Starting the NUT UPS monitor and shutdown controller: upsmon -u nut"
+ upsmon -u nut
+}
+
+# Stop upsmon:
+upsmon_stop() {
+ echo "Stopping the NUT UPS monitor and shutdown controller."
+ upsmon -c stop
+}
+
+# Reload configuration files for upsmon:
+upsmon_reload() {
+ echo "Reloading configuration files for the NUT UPS monitor and shutdown controller: upsmon -c reload"
+ upsmon -c reload
+}
+
+case "$1" in
+'start')
+ upsmon_start
+ ;;
+'stop')
+ upsmon_stop
+ ;;
+'reload')
+ upsmon_reload
+ ;;
+*)
+ echo "usage $0 start|stop|reload"
+esac
diff --git a/source/a/nut/slack-desc b/source/a/nut/slack-desc
new file mode 100644
index 000000000..cc5132318
--- /dev/null
+++ b/source/a/nut/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 ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+nut: nut (Network UPS Tools)
+nut:
+nut: The Network UPS Tools is a collection of programs which provide a
+nut: common interface for monitoring and administering UPS hardware.
+nut: It uses a layered apporoach to connect all the components. Drivers
+nut: are provided for a wide assortment of equipment. The primary goal of
+nut: the NUT project is to provide reliable monitoring of UPS hardware
+nut: and ensure safe shutdowns of the systems which are connected.
+nut:
+nut: Homepage: https://www.networkupstools.org
+nut:
diff --git a/source/a/nvi/nvi.SlackBuild b/source/a/nvi/nvi.SlackBuild
index d752ab28e..58b5d0a6b 100755
--- a/source/a/nvi/nvi.SlackBuild
+++ b/source/a/nvi/nvi.SlackBuild
@@ -68,6 +68,9 @@ else
LIBDIRSUFFIX=""
fi
+# GCC 14 "fix":
+SLKCFLAGS="$SLKCFLAGS -Wno-error=incompatible-pointer-types"
+
TMP=${TMP:-/tmp}
PKG=$TMP/package-$PKGNAM
@@ -92,13 +95,13 @@ done
# Configure, build, and install:
cd build.unix
- CFLAGS="$SLKCFLAGS" \
+ OPTFLAG="$SLKCFLAGS" \
../dist/configure \
--prefix=/usr \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--sysconfdir=/etc \
--mandir=/usr/man \
- --docdir=/usr/doc/$PRGNAM-$VERSION \
+ --docdir=/usr/doc/$PKGNAM-$VERSION \
--enable-widechar \
--disable-static \
--program-prefix="n" \
diff --git a/source/a/nvi/patches/0039-Add-function-prototypes-to-fix-implicit-function-dec.patch b/source/a/nvi/patches/0039-Add-function-prototypes-to-fix-implicit-function-dec.patch
new file mode 100644
index 000000000..6e2f8226e
--- /dev/null
+++ b/source/a/nvi/patches/0039-Add-function-prototypes-to-fix-implicit-function-dec.patch
@@ -0,0 +1,87 @@
+From: Michael Hudson-Doyle <michael.hudson@ubuntu.com>
+Date: Thu, 11 Apr 2024 11:18:39 +0200
+Subject: Add function prototypes to fix implicit function declaration errors
+
+Reviewed-By: Tobias Heider <me@tobhe.de>
+Bug-Debian: https://bugs.debian.org/1066285
+---
+ cl/cl.h | 5 +++++
+ cl/cl_funcs.c | 6 ++++++
+ common/conv.h | 3 +++
+ common/multibyte.h | 6 ++++++
+ dist/configure | 1 +
+ 5 files changed, 21 insertions(+)
+
+diff --git a/cl/cl.h b/cl/cl.h
+index 3d71410..4ff232d 100644
+--- a/cl/cl.h
++++ b/cl/cl.h
+@@ -26,6 +26,11 @@
+ #endif
+ #endif
+
++/*
++ * for setupterm()
++ */
++#include <term.h>
++
+ typedef struct _cl_private {
+ char ibuf[256]; /* Input keys. */
+
+diff --git a/cl/cl_funcs.c b/cl/cl_funcs.c
+index c5fc597..b6174ef 100644
+--- a/cl/cl_funcs.c
++++ b/cl/cl_funcs.c
+@@ -31,6 +31,12 @@ static const char sccsid[] = "$Id: cl_funcs.c,v 10.72 2002/03/02 23:18:33 skimo
+ #include "../vi/vi.h"
+ #include "cl.h"
+
++/*
++ * This is declared by ncurses.h, but only if _XOPEN_SOURCE is set and lots of
++ * other things break if we define that.
++ */
++extern int waddnwstr (WINDOW *,const wchar_t *,int);
++
+ static void cl_rdiv __P((SCR *));
+
+ static int
+diff --git a/common/conv.h b/common/conv.h
+index 76b06c1..a7675c4 100644
+--- a/common/conv.h
++++ b/common/conv.h
+@@ -21,3 +21,6 @@ struct _conv {
+ char2wchar_t input2int;
+ wchar2char_t int2disp;
+ };
++
++extern int conv_enc (SCR *sp, int option, char *enc);
++extern void conv_init (SCR *orig, SCR *sp);
+diff --git a/common/multibyte.h b/common/multibyte.h
+index 820f4ec..2484521 100644
+--- a/common/multibyte.h
++++ b/common/multibyte.h
+@@ -5,6 +5,12 @@
+ #include <wchar.h>
+ #include <wctype.h>
+
++/*
++ * This is declared by wchar.h, but only if _XOPEN_SOURCE is set and lots of
++ * other things break if we define that.
++ */
++extern int wcwidth (wchar_t c);
++
+ typedef wchar_t RCHAR_T;
+ #define RCHAR_T_MAX ((1 << 24)-1)
+ typedef wchar_t CHAR_T;
+diff --git a/dist/configure b/dist/configure
+index b23e167..d7fb54f 100755
+--- a/dist/configure
++++ b/dist/configure
+@@ -27385,6 +27385,7 @@ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ #include <$CURSHEADER>
++#include <term.h>
+ int
+ main ()
+ {
diff --git a/source/a/os-prober/os-prober-grub2-mount-workaround.patch b/source/a/os-prober/os-prober-grub2-mount-workaround.patch
new file mode 100644
index 000000000..5e8a092f3
--- /dev/null
+++ b/source/a/os-prober/os-prober-grub2-mount-workaround.patch
@@ -0,0 +1,35 @@
+diff --git a/os-probes/mounted/common/90linux-distro b/os-probes/mounted/common/90linux-distro
+index b9c24dd..52db3f6 100755
+--- a/os-probes/mounted/common/90linux-distro
++++ b/os-probes/mounted/common/90linux-distro
+@@ -19,7 +19,7 @@ subvol="$5"
+ # symlinks we need to also check in $dir/usr/lib* for distributions that
+ # moved /lib* to /usr and only left symlinks behind.
+ # TODO: look for ld-linux.so on arches that have it
+-if (ls "$dir"/lib*/ld*.so* && [ -d "$dir/boot" ] || ls "$dir"/usr/lib*/ld*.so*) >/dev/null 2>/dev/null; then
++#if (ls "$dir"/lib*/ld*.so* && [ -d "$dir/boot" ] || ls "$dir"/usr/lib*/ld*.so*) >/dev/null 2>/dev/null; then
+ if [ -e "$dir/etc/os-release" ]; then
+ short="$(grep ^NAME= "$dir/etc/os-release" | sed 's/^[^=]*=//; s/^['\''"]\(.*\)['\''"]$/\1/; s/\\\(.\)/\1/g; s/[[:space:]].*//')"
+ long="$(grep ^PRETTY_NAME= "$dir/etc/os-release" | sed 's/^[^=]*=//; s/^['\''"]\(.*\)['\''"]$/\1/; s/\\\(.\)/\1/g')"
+@@ -146,8 +146,9 @@ if (ls "$dir"/lib*/ld*.so* && [ -d "$dir/boot" ] || ls "$dir"/usr/lib*/ld*.so*)
+ short="Exherbo"
+ long="Exherbo Linux"
+ else
+- short="Linux"
+- long="unknown Linux distribution"
++ exit 1
++# short="Linux"
++# long="unknown Linux distribution"
+ fi
+
+ label="$(count_next_label "$short")"
+@@ -157,6 +158,6 @@ if (ls "$dir"/lib*/ld*.so* && [ -d "$dir/boot" ] || ls "$dir"/usr/lib*/ld*.so*)
+ result "$partition:$long:$label:linux"
+ fi
+ exit 0
+-else
+- exit 1
+-fi
++#else
++# exit 1
++#fi
diff --git a/source/a/os-prober/os-prober.SlackBuild b/source/a/os-prober/os-prober.SlackBuild
index b12e4bb6c..e11d28017 100755
--- a/source/a/os-prober/os-prober.SlackBuild
+++ b/source/a/os-prober/os-prober.SlackBuild
@@ -24,12 +24,12 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=os-prober
VERSION=${VERSION:-$(echo $PKGNAM_*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d _ | rev)}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
- i?86) ARCH=i586 ;;
+ i?86) ARCH=i686 ;;
arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
@@ -45,21 +45,12 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -76,11 +67,14 @@ rm -rf $PKGNAM-$VERSION
tar xvf $CWD/${PKGNAM}_$VERSION.tar.?z* || exit 1
cd $PKGNAM-$VERSION || exit 1
+# Don't be very very slow:
+cat $CWD/os-prober-grub2-mount-workaround.patch | patch -p1 --verbose || exit 1
+
# Don't drop support for reiserfs. It's still in the kernel (for now):
-zcat $CWD/os-prober.reiserfs.diff.gz | patch -p1 --verbose || exit 1
+cat $CWD/os-prober.reiserfs.diff | patch -p1 --verbose || exit 1
# Fix detecting LVM2 volumes:
-zcat $CWD/os-prober.lvm2.diff.gz | patch -p1 --verbose || exit 1
+cat $CWD/os-prober.lvm2.diff | patch -p1 --verbose || exit 1
# Edit the scripts to use $LIBDIRSUFFIX=64 if needed:
if [ "$LIBDIRSUFFIX" = "64" ]; then
diff --git a/source/a/pam/fedora-patches/pam-1.6.0-noflex.patch b/source/a/pam/fedora-patches/pam-1.6.0-noflex.patch
deleted file mode 100644
index 706841c9d..000000000
--- a/source/a/pam/fedora-patches/pam-1.6.0-noflex.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff -up Linux-PAM-1.6.0/doc/Makefile.am.noflex Linux-PAM-1.6.0/doc/Makefile.am
---- Linux-PAM-1.6.0/doc/Makefile.am.noflex 2024-01-23 13:19:04.681955581 +0100
-+++ Linux-PAM-1.6.0/doc/Makefile.am 2024-01-23 13:19:49.740014426 +0100
-@@ -2,7 +2,7 @@
- # Copyright (c) 2005, 2006 Thorsten Kukuk <kukuk@suse.de>
- #
-
--SUBDIRS = man specs sag adg mwg
-+SUBDIRS = man sag adg mwg
-
- CLEANFILES = *~
- DISTCLEANFILES = custom-html.xsl custom-man.xsl
-diff -up Linux-PAM-1.6.0/Makefile.am.noflex Linux-PAM-1.6.0/Makefile.am
---- Linux-PAM-1.6.0/Makefile.am.noflex 2024-01-23 13:19:04.681955581 +0100
-+++ Linux-PAM-1.6.0/Makefile.am 2024-01-23 13:21:03.428109219 +0100
-@@ -4,7 +4,7 @@
-
- AUTOMAKE_OPTIONS = 1.9 gnu dist-xz no-dist-gzip check-news
-
--SUBDIRS = libpam tests libpamc libpam_misc modules po conf xtests
-+SUBDIRS = libpam tests libpamc libpam_misc modules po doc xtests
-
- if HAVE_DOC
- SUBDIRS += doc
diff --git a/source/a/pam/pam.SlackBuild b/source/a/pam/pam.SlackBuild
index cfe61ec73..25f1cfad1 100755
--- a/source/a/pam/pam.SlackBuild
+++ b/source/a/pam/pam.SlackBuild
@@ -99,7 +99,6 @@ done
# Patches from the Fedora SRPM:
zcat $CWD/fedora-patches/pam-1.5.3-unix-nomsg.patch.gz | patch -p1 --verbose || exit 1
-zcat $CWD/fedora-patches/pam-1.6.0-noflex.patch.gz | patch -p1 --verbose || exit 1
zcat $CWD/fedora-patches/pam-1.6.0-redhat-modules.patch.gz | patch -p1 --verbose || exit 1
# Improve the comments in /etc/environment:
diff --git a/source/a/pam/pam.url b/source/a/pam/pam.url
index d9bd3667c..8dde2e9f0 100644
--- a/source/a/pam/pam.url
+++ b/source/a/pam/pam.url
@@ -1,2 +1,3 @@
-#http://www.linux-pam.org/library/Linux-PAM-1.5.3.tar.bz2
https://github.com/linux-pam/linux-pam/releases
+https://github.com/linux-pam/linux-pam/releases/download/v1.6.1/Linux-PAM-1.6.1.tar.xz
+https://github.com/linux-pam/linux-pam/releases/download/v1.6.1/Linux-PAM-1.6.1.tar.xz.asc
diff --git a/source/a/pkgtools/scripts/installpkg b/source/a/pkgtools/scripts/installpkg
index 7eea53629..73f96c43a 100644
--- a/source/a/pkgtools/scripts/installpkg
+++ b/source/a/pkgtools/scripts/installpkg
@@ -167,35 +167,35 @@ Installpkg is used to install a .t{gz,bz,lz,xz} package like this:
installpkg slackware-package-1.0.0-i486-1.tgz (or .tbz, .tlz, .txz)
options: --warn (warn if files will be overwritten, but do not install)
- --dry-run (same as --warn)
- --root /mnt (install someplace else, like /mnt)
- --infobox (use dialog to draw an info box)
- --terse (display a one-line short description for install)
- --terselength <length> (line length in terse mode - default is
- the number of columns available)
- --menu (confirm package installation with a menu, unless
- the priority is [required] or ADD)
- --ask (used with menu mode: always ask if a package should be
- installed regardless of what the package's priority is)
- --priority ADD|REC|OPT|SKP (provide a priority for the entire
- package list to use instead of the priority in the
- tagfile)
- --tagfile /somedir/tagfile (specify a different file to use
- for package priorities. The default is "tagfile" in
- the package's directory)
- --threads <number> For xz/plzip compressed packages, set the max
- number of threads to be used for decompression. Only has
- an effect if a multithreaded compressor was used, and then
- only on large packages. For plzip, the default is equal to
- the number of CPU threads available on the machine. For xz,
- the default is equal to 2.
- --md5sum (record the package's md5sum in the metadata file)
- --no-overwrite When extracting the package, do not overwrite
- existing files. Usually, this option should not be used.
- It exists so that upgradepkg can use it for the second
- installation pass. The first pass has already overwritten
- the previous package's files, and this will catch the few
- corner cases without generating unnecessary writes.
+ --dry-run (same as --warn)
+ --root /mnt (install someplace else, like /mnt)
+ --infobox (use dialog to draw an info box)
+ --terse (display a one-line short description for install)
+ --terselength <length> (line length in terse mode - default is
+ the number of columns available)
+ --menu (confirm package installation with a menu, unless
+ the priority is [required] or ADD)
+ --ask (used with menu mode: always ask if a package should be
+ installed regardless of what the package's priority is)
+ --priority ADD|REC|OPT|SKP (provide a priority for the entire
+ package list to use instead of the priority in the
+ tagfile)
+ --tagfile /somedir/tagfile (specify a different file to use
+ for package priorities. The default is "tagfile" in
+ the package's directory)
+ --threads <number> For xz/plzip compressed packages, set the max
+ number of threads to be used for decompression. Only has
+ an effect if a multithreaded compressor was used, and then
+ only on large packages. For plzip, the default is equal to
+ the number of CPU threads available on the machine. For xz,
+ the default is equal to 2.
+ --md5sum (record the package's md5sum in the metadata file)
+ --no-overwrite When extracting the package, do not overwrite
+ existing files. Usually, this option should not be used.
+ It exists so that upgradepkg can use it for the second
+ installation pass. The first pass has already overwritten
+ the previous package's files, and this will catch the few
+ corner cases without generating unnecessary writes.
EOF
}
@@ -345,34 +345,34 @@ if [ "$MODE" = "warn" ]; then
;;
'tbz' )
if which lbzip2 1> /dev/null 2> /dev/null ; then
- packagecompression=lbzip2
+ packagecompression=lbzip2
else
- packagecompression=bzip2
+ packagecompression=bzip2
fi
;;
'tlz' )
if which plzip 1> /dev/null 2> /dev/null ; then
- packagecompression="plzip --threads=${THREADS}"
+ packagecompression="plzip --threads=${THREADS}"
elif which lzip 1> /dev/null 2> /dev/null ; then
- packagecompression=lzip
+ packagecompression=lzip
else
- echo "ERROR: lzip compression utility not found in \$PATH."
- exit 3
+ echo "ERROR: lzip compression utility not found in \$PATH."
+ exit 3
fi
;;
'txz' )
if [ "$XZ_THREADS_FORCED" = "yes" ]; then
- packagecompression="xz --threads=${THREADS}"
+ packagecompression="xz --threads=${THREADS}"
else
- # Let xz determine how many threads to use:
- packagecompression="xz --threads=0"
+ # Let xz determine how many threads to use:
+ packagecompression="xz --threads=0"
fi
;;
esac
( cd $TMP/scan${MCOOKIE} ; $packagecompression -dc | tar xf - install ) < $1 2> /dev/null
if [ -r $TMP/scan${MCOOKIE}/install/doinst.sh ]; then
if grep ' rm -rf ' $TMP/scan${MCOOKIE}/install/doinst.sh 1>/dev/null 2>/dev/null ; then
- grep ' rm -rf ' $TMP/scan${MCOOKIE}/install/doinst.sh > $TMP/scan${MCOOKIE}/install/delete
+ grep ' rm -rf ' $TMP/scan${MCOOKIE}/install/doinst.sh > $TMP/scan${MCOOKIE}/install/delete
for f in `cat $TMP/scan${MCOOKIE}/install/delete | cut -f 3,7 -d ' ' | tr ' ' '/'`; do
f="/$f"
if [ -f "$f" -o -L "$f" ]; then
@@ -381,14 +381,14 @@ if [ "$MODE" = "warn" ]; then
done
fi
if [ -d $TMP/scan${MCOOKIE} ]; then
- ( cd $TMP/scan${MCOOKIE} ; rm -rf install ) 2> /dev/null
- ( cd $TMP ; rmdir scan${MCOOKIE} ) 2> /dev/null
+ ( cd $TMP/scan${MCOOKIE} ; rm -rf install ) 2> /dev/null
+ ( cd $TMP ; rmdir scan${MCOOKIE} ) 2> /dev/null
fi
fi
for f in `( $packagecompression -dc | tar tf - ) < $1 | grep -v 'drwx'`; do
f="/$f"
if [ -f "$f" -o -L "$f" ]; then
- echo "$f"
+ echo "$f"
fi
done
shift 1
@@ -617,7 +617,7 @@ EOF
"No" "Do not install package $shortname" \
"Quit" "Abort software installation completely" 2> $TMP/reply${MCOOKIE}
if [ ! $? = 0 ]; then
- echo "No" > $TMP/reply${MCOOKIE}
+ echo "No" > $TMP/reply${MCOOKIE}
fi
) 9> $INSTLOCKDIR/dialog.lock
REPLY="$(cat $TMP/reply${MCOOKIE})"
@@ -702,22 +702,22 @@ EOF
# rather than spawning subshells which is slow on ARM. This will also speed up
# install script processing on any platform.
if [ -x /bin/bash ]; then
- ( cd $ROOT/ ; sed -e's?^( cd \([^;]*\);\(.*\) )$?pushd \1 \&\> /dev/null ; \2 ; popd \&\> /dev/null?g ' $INSTDIR/doinst.sh | /bin/bash )
+ ( cd $ROOT/ ; sed -e's?^( cd \([^;]*\);\(.*\) )$?pushd \1 \&\> /dev/null ; \2 ; popd \&\> /dev/null?g ' $INSTDIR/doinst.sh | /bin/bash )
else
- ( cd $ROOT/ ; sh $INSTDIR/doinst.sh )
+ ( cd $ROOT/ ; sh $INSTDIR/doinst.sh )
fi
else # use locking
# If bash is available, use sed to convert the install script to use pushd/popd
# rather than spawning subshells which is slow on ARM. This will also speed up
# install script processing on any platform.
if [ -x /bin/bash ]; then
- ( flock 9 || exit 11
- cd $ROOT/ ; sed -e's?^( cd \([^;]*\);\(.*\) )$?pushd \1 \&\> /dev/null ; \2 ; popd \&\> /dev/null?g ' $INSTDIR/doinst.sh | /bin/bash
- ) 9> $INSTLOCKDIR/doinst.sh.lock
+ ( flock 9 || exit 11
+ cd $ROOT/ ; sed -e's?^( cd \([^;]*\);\(.*\) )$?pushd \1 \&\> /dev/null ; \2 ; popd \&\> /dev/null?g ' $INSTDIR/doinst.sh | /bin/bash
+ ) 9> $INSTLOCKDIR/doinst.sh.lock
else
- ( flock 9 || exit 11
- cd $ROOT/ ; sh $INSTDIR/doinst.sh
- ) 9> $INSTLOCKDIR/doinst.sh.lock
+ ( flock 9 || exit 11
+ cd $ROOT/ ; sh $INSTDIR/doinst.sh
+ ) 9> $INSTLOCKDIR/doinst.sh.lock
fi
fi
fi
diff --git a/source/a/pkgtools/scripts/pkgtool b/source/a/pkgtools/scripts/pkgtool
index fe99149f3..fd1bf5f88 100644
--- a/source/a/pkgtools/scripts/pkgtool
+++ b/source/a/pkgtools/scripts/pkgtool
@@ -165,7 +165,7 @@ tail -f $TMP/PKGTOOL.REMOVED\n" 13 60
create_list_of_installed_packages()
{
- FILES=$(ls $ADM_DIR/packages)
+ FILES=$(ls $ADM_DIR/packages)
if [ -n "$FILES" ]; then
cd $ADM_DIR/packages
{ grep '^PACKAGE DESCRIPTION:$' -Z -H -m1 -A1 $FILES; echo; } \
@@ -182,7 +182,7 @@ FILES=$(ls $ADM_DIR/packages)
cd $ADM_DIR/packages
{ grep '^PACKAGE DESCRIPTION:$' -Z -H -m1 -A1 $FILES; echo; } \
| sed -n 'h;n;/\x00/{h;n;};x;s/ */ /g;s/ $//;s/[\"`$]/\\&/g
- s/\(.*\)\x00\([^:]*:\)\? *\(.*\)/ "\1" "\3" off "Select\/Unselect removing package \1" \\/;p' > $TMP/temporary_list \
+ s/\(.*\)\x00\([^:]*:\)\? *\(.*\)/ "\1" "\3" off "Select\/Unselect removing package \1" \\/;p' > $TMP/temporary_list \
fi
}
@@ -241,7 +241,7 @@ are done selecting to run the scripts." 0 0 9 \' > $TMP/setupscr
for script in $ADM_DIR/setup/setup.* ; do
BLURB=$(grep '#BLURB' $script | cut -b8-)
if [ "$BLURB" = "" ]; then
- BLURB="\"\""
+ BLURB="\"\""
fi
echo " \"$(basename $script | cut -f2- -d .)\" $BLURB \"no\" $BLURB \\" >> $TMP/setupscr
done
@@ -250,8 +250,8 @@ are done selecting to run the scripts." 0 0 9 \' > $TMP/setupscr
if [ ! "$(cat $TMP/return)" = "" ]; then
# Run each script:
for script in $(cat $TMP/return) ; do
- scrpath=$ADM_DIR/setup/setup.$(echo $script | tr -d \")
- ( COLOR=on ; cd $TARGET_DIR ; . $scrpath $TARGET_DIR $rootdevice )
+ scrpath=$ADM_DIR/setup/setup.$(echo $script | tr -d \")
+ ( COLOR=on ; cd $TARGET_DIR ; . $scrpath $TARGET_DIR $rootdevice )
done
fi
rm -f $TMP/return $TMP/setupscr
@@ -640,7 +640,7 @@ install_disk_set() { # accepts one argument: the series name in lowercase.
fi
install_disk $DISKTOINSTALL
if [ ! $? = 0 ]; then # install.end was found, or the user chose
- # to quit installing packages.
+ # to quit installing packages.
return 0;
fi
CURRENT_DISK_NUMBER=$(expr $CURRENT_DISK_NUMBER + 1)
diff --git a/source/a/procps-ng/procps-ng.SlackBuild b/source/a/procps-ng/procps-ng.SlackBuild
index 9ff42aeca..daea2eba0 100755
--- a/source/a/procps-ng/procps-ng.SlackBuild
+++ b/source/a/procps-ng/procps-ng.SlackBuild
@@ -27,7 +27,7 @@ VERSION=${VERSION:-4.0.4}
PSMISCVER=${PSMISCVER:-v23.5}
PROCINFONGVER=${PROCINFONGVER:-2.0.304}
PROCINFOVER=${PROCINFOVER:-18}
-BUILD=${BUILD:-1}
+BUILD=${BUILD:-2}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
@@ -81,6 +81,9 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \+
+# Fix for wide-only ncurses:
+sed 's:<ncursesw/:<:g' -i src/watch.c
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/a/shadow/shadow.url b/source/a/shadow/shadow.url
index b49486f5a..c102daba3 100644
--- a/source/a/shadow/shadow.url
+++ b/source/a/shadow/shadow.url
@@ -1,2 +1,2 @@
https://github.com/shadow-maint/shadow
-https://github.com/shadow-maint/shadow/releases/download/4.15.1/shadow-4.15.1.tar.xz
+https://github.com/shadow-maint/shadow/releases/download/4.16.0/shadow-4.16.0.tar.xz
diff --git a/source/a/splitvt/splitvt.SlackBuild b/source/a/splitvt/splitvt.SlackBuild
index 4b37790be..a02c5898e 100755
--- a/source/a/splitvt/splitvt.SlackBuild
+++ b/source/a/splitvt/splitvt.SlackBuild
@@ -55,7 +55,13 @@ rm -rf splitvt-1.6.6
tar xzvf $CWD/splitvt-1.6.6.tar.gz
cd splitvt-1.6.6
chown -R root:root .
+
+cat $CWD/splitvt.configure.gcc14.diff | patch -p1 --verbose || exit 1
+
./configure
+
+sed -i "s|DNEED_SELECT_H|DNEED_SELECT_H -Wno-error=implicit-function-declaration -Wno-error=implicit-int -Wno-error=return-mismatch|g" Makefile
+
make || exit 1
mkdir -p $PKG/usr/bin
cat splitvt > $PKG/usr/bin/splitvt
diff --git a/source/a/splitvt/splitvt.configure.gcc14.diff b/source/a/splitvt/splitvt.configure.gcc14.diff
new file mode 100644
index 000000000..e3652140b
--- /dev/null
+++ b/source/a/splitvt/splitvt.configure.gcc14.diff
@@ -0,0 +1,11 @@
+--- ./configure.orig 2007-04-01 10:22:48.000000000 -0500
++++ ./configure 2024-05-11 18:35:55.108298585 -0500
+@@ -4,7 +4,7 @@
+ QUIET="-v"
+ # use $CC if set, else set it to cc
+ : ${CC:=cc}
+-CFLAGS=
++CFLAGS="-Wno-error=implicit-function-declaration -Wno-error=implicit-int"
+ MAKE="echo \"Done. Type 'make' to build\""
+
+ echo "Making configuration..."
diff --git a/source/a/splitvt/splitvt.gcc14.diff b/source/a/splitvt/splitvt.gcc14.diff
new file mode 100644
index 000000000..2df39264f
--- /dev/null
+++ b/source/a/splitvt/splitvt.gcc14.diff
@@ -0,0 +1,11 @@
+--- ./configure.orig 2007-04-01 10:22:48.000000000 -0500
++++ ./configure 2024-05-11 18:30:49.454291747 -0500
+@@ -4,7 +4,7 @@
+ QUIET="-v"
+ # use $CC if set, else set it to cc
+ : ${CC:=cc}
+-CFLAGS=
++CFLAGS="-Wno-error=implicit-function-declaration -Wno-error=implicit-int"
+ MAKE="echo \"Done. Type 'make' to build\""
+
+ echo "Making configuration..."
diff --git a/source/a/sysklogd/sysklogd.SlackBuild b/source/a/sysklogd/sysklogd.SlackBuild
index 18db0b66d..3e635d236 100755
--- a/source/a/sysklogd/sysklogd.SlackBuild
+++ b/source/a/sysklogd/sysklogd.SlackBuild
@@ -24,12 +24,12 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=sysklogd
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
- i?86) ARCH=i586 ;;
+ i?86) ARCH=i686 ;;
arm*) readelf /usr/bin/file -A | grep -E -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
@@ -47,21 +47,12 @@ fi
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
@@ -157,7 +148,7 @@ cp -a \
# 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
+if [ -r ChangeLog.md ]; then
DOCSDIR=$(echo $PKG/usr/doc/${PKGNAM}-$VERSION)
cat ChangeLog.md | head -n 1000 > $DOCSDIR/ChangeLog.md
touch -r ChangeLog.md $DOCSDIR/ChangeLog.md
diff --git a/source/a/sysvinit-functions/function-src.gcc14.diff b/source/a/sysvinit-functions/function-src.gcc14.diff
new file mode 100644
index 000000000..0f46f2805
--- /dev/null
+++ b/source/a/sysvinit-functions/function-src.gcc14.diff
@@ -0,0 +1,9 @@
+--- ./Makefile.orig 2007-04-29 13:15:50.000000000 -0500
++++ ./Makefile 2024-05-10 18:22:44.593348134 -0500
+@@ -1,5 +1,5 @@
+
+-CFLAGS=-O2 -Wall -D_GNU_SOURCE
++CFLAGS=-O2 -Wall -D_GNU_SOURCE -Wno-error=incompatible-pointer-types
+
+ PROGS=usleep initlog fstab-decode consoletype
+ PPPWATCH_OBJS=ppp-watch.o shvar.o
diff --git a/source/a/sysvinit-functions/sysvinit-functions.SlackBuild b/source/a/sysvinit-functions/sysvinit-functions.SlackBuild
index cfd18bc5e..ab7526cd9 100755
--- a/source/a/sysvinit-functions/sysvinit-functions.SlackBuild
+++ b/source/a/sysvinit-functions/sysvinit-functions.SlackBuild
@@ -66,6 +66,7 @@ rm -rf function-src-$VERSION
# A small patch was applied to initlog to shut it the %^@& up.
tar xjf $CWD/function-src-$VERSION.tar.bz2 || exit 1
cd function-src-$VERSION
+cat $CWD/function-src.gcc14.diff | patch -p1 --verbose || exit 1
make || exit 1
find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null
mkdir -p $PKG/bin $PKG/sbin $PKG/usr/man/man{1,8}
diff --git a/source/a/sysvinit-scripts/default/zram b/source/a/sysvinit-scripts/default/zram
new file mode 100644
index 000000000..90a1e578b
--- /dev/null
+++ b/source/a/sysvinit-scripts/default/zram
@@ -0,0 +1,26 @@
+# Should we use swap on ZRAM?
+ZRAM_ENABLE=1
+
+# Total system RAM, in KB:
+MEMTOTAL=$(echo $(cat /proc/meminfo | grep ^MemTotal:) | cut -f 2 -d ' ')
+
+# ZRAM device size. We'll make this the same size as the system RAM.
+# Assuming 1:4 compression, this would (if filled) occupy 1/4 of the system
+# RAM. Until pages are swapped to ZRAM, the device occupies almost no RAM.
+# As far as what's optimal here, I've heard all kinds of theories. So maybe
+# you want to set this to twice the system RAM. Or half. Or something else
+# entirely.
+ZRAMSIZE=$MEMTOTAL
+
+# Number of ZRAM devices. We are only going to use one of them, so there's no
+# need to increase this unless you'll be needing additional ZRAM devices for
+# other purposes.
+ZRAMNUMBER=1
+
+# Set the compression algorithm.
+# Use zstd for best results.
+# Nothing else makes any sense.
+ZRAMCOMPRESSION=zstd
+
+# Set the swap priority for the ZRAM device:
+ZRAMPRIORITY=100
diff --git a/source/a/sysvinit-scripts/default/zram.i686 b/source/a/sysvinit-scripts/default/zram.i686
new file mode 100644
index 000000000..984752f68
--- /dev/null
+++ b/source/a/sysvinit-scripts/default/zram.i686
@@ -0,0 +1,34 @@
+# Should we use swap on ZRAM?
+ZRAM_ENABLE=1
+
+# Total system RAM, in KB:
+MEMTOTAL=$(echo $(cat /proc/meminfo | grep ^MemTotal:) | cut -f 2 -d ' ')
+
+# ZRAM device size. We'll make this the same size as the system RAM.
+# Assuming 1:4 compression, this would (if filled) occupy 1/4 of the system
+# RAM. Until pages are swapped to ZRAM, the device occupies almost no RAM.
+# As far as what's optimal here, I've heard all kinds of theories. So maybe
+# you want to set this to twice the system RAM. Or half. Or something else
+# entirely.
+ZRAMSIZE=$MEMTOTAL
+
+# In case of a 32-bit kernel, we are limited to 4G maximum ZRAM device size.
+# If ZRAMSIZE size is greater than 4G, then use 4G for the ZRAMSIZE.
+if [ "$(uname -m)" = "i686" ]; then
+ if [ "$ZRAMSIZE" -gt "4194304" ]; then
+ ZRAMSIZE=4194304
+ fi
+fi
+
+# Number of ZRAM devices. We are only going to use one of them, so there's no
+# need to increase this unless you'll be needing additional ZRAM devices for
+# other purposes.
+ZRAMNUMBER=1
+
+# Set the compression algorithm.
+# Use zstd for best results.
+# Nothing else makes any sense.
+ZRAMCOMPRESSION=zstd
+
+# Set the swap priority for the ZRAM device:
+ZRAMPRIORITY=100
diff --git a/source/a/sysvinit-scripts/doinst.sh b/source/a/sysvinit-scripts/doinst.sh
index ad6980247..4a28e937f 100644
--- a/source/a/sysvinit-scripts/doinst.sh
+++ b/source/a/sysvinit-scripts/doinst.sh
@@ -25,6 +25,7 @@ config etc/rc.d/rc.modules.new
config etc/rc.d/rc.modules.local.new
config etc/default/cpufreq.new
config etc/default/efivarfs.new
+config etc/default/zram.new
( cd etc/rc.d ; rm -rf rc.0 )
( cd etc/rc.d ; ln -sf rc.6 rc.0 )
diff --git a/source/a/sysvinit-scripts/scripts/rc.6 b/source/a/sysvinit-scripts/scripts/rc.6
index 21b5c4782..a091ef035 100644
--- a/source/a/sysvinit-scripts/scripts/rc.6
+++ b/source/a/sysvinit-scripts/scripts/rc.6
@@ -292,7 +292,7 @@ if [ -z "$container" ]; then
# (and found to be clean) at boot:
/bin/sync
echo "Remounting root filesystem read-only:"
- /bin/mount -v -n -o remount,ro /
+ /bin/mount -v -o remount,ro /
fi
# This never hurts:
@@ -323,27 +323,33 @@ fi
# This is to ensure all processes have completed on SMP machines:
wait
-if [ -x /sbin/genpowerd -a -z "$container" ]; then
- # See if this is a powerfail situation:
- if grep -E -q "FAIL|SCRAM" /etc/upsstatus 2> /dev/null ; then
- # Signal UPS to shut off the inverter:
- /sbin/genpowerd -k
- if [ ! $? = 0 ]; then
- echo
- echo "There was an error signaling the UPS."
- echo "Perhaps you need to edit /etc/genpowerd.conf to configure"
- echo "the serial line and UPS type."
- # Wasting 15 seconds of precious power:
- /bin/sleep 15
- fi
- fi
-fi
-
if [ "$container" = "lxc" ]; then
# Confirm successful shutdown of the container:
echo "LXC container stopped."
fi
+# NUT UPS inverter shutdown support:
+# If we see a file /etc/killpower, that means we want to shut off the UPS
+# inverter on the way down. This will save as much battery power as possible
+# and avoid unnecessary full-drain/full-recharge cycles.
+if [ -e /etc/killpower -a -z "$container" ]; then
+ # First we need to restart udev or we won't be able to contact the UPS:
+ echo "Restarting udev to be able to shut the UPS inverter off..."
+ /etc/rc.d/rc.udev start
+ # Wasting precious battery power:
+ sleep 10
+ echo "Shutting down UPS inverter..."
+ upsdrvctl shutdown
+ # The power should shut off during the following sleep, but we'll give a
+ # bit of notice otherwise. Also, be sure to set your machine to start when
+ # the power resumes in the BIOS settings so that it doesn't stay off.
+ sleep 45
+ echo "The UPS power should have stopped by now, but has not."
+ echo "It's possible that the power came back during the shutdown process."
+ echo "Otherwise, check communication with the UPS."
+ sleep 15
+fi
+
# Now halt (poweroff with APM or ACPI enabled kernels) or reboot.
if [ "$shutdown_command" = "reboot" ]; then
echo "Rebooting."
diff --git a/source/a/sysvinit-scripts/scripts/rc.M b/source/a/sysvinit-scripts/scripts/rc.M
index fc63ce083..78cea118a 100644
--- a/source/a/sysvinit-scripts/scripts/rc.M
+++ b/source/a/sysvinit-scripts/scripts/rc.M
@@ -184,6 +184,11 @@ if [ -x /etc/rc.d/rc.autofs ]; then
/etc/rc.d/rc.autofs start
fi
+# Start dnsmasq, a simple DHCP/DNS server:
+if [ -x /etc/rc.d/rc.dnsmasq ]; then
+ /etc/rc.d/rc.dnsmasq start
+fi
+
# Start the Network Time Protocol daemon:
if [ -x /etc/rc.d/rc.ntpd ]; then
/etc/rc.d/rc.ntpd start
@@ -268,11 +273,6 @@ if [ -x /usr/bin/glib-compile-schemas ]; then
/usr/bin/glib-compile-schemas /usr/share/glib-2.0/schemas >/dev/null 2>&1 &
fi
-# Start dnsmasq, a simple DHCP/DNS server:
-if [ -x /etc/rc.d/rc.dnsmasq ]; then
- /etc/rc.d/rc.dnsmasq start
-fi
-
# Start snmpd:
if [ -x /etc/rc.d/rc.snmpd ]; then
/etc/rc.d/rc.snmpd start
@@ -298,17 +298,27 @@ if [ -x /etc/rc.d/rc.smartd -a -z "$container" ]; then
/etc/rc.d/rc.smartd start
fi
-# Monitor the UPS with genpowerd.
-# To use this, uncomment this section and edit your settings in
-# /etc/genpowerd.conf (serial device, UPS type, etc). For more information,
-# see "man genpowerd" or the extensive documentation in the
-# /usr/doc/genpower-*/ directory.
-# You'll also need to configure a similar block in /etc/rc.d/rc.6 if you want
-# support for stopping the UPS's inverter after the machine halts.
-#if [ -x /sbin/genpowerd -a -z "$container" ]; then
-# echo "Starting genpowerd daemon..."
-# /sbin/genpowerd
-#fi
+# Load model-specific drivers for NUT (Network Uninterruptible power supply
+# Tools). This should be started on the machine that controls the UPS. See
+# the /etc/nut/ directory for configuration files.
+# If you manage your UPS using a serial port, you'll need to add the nut user
+# to the "dialout" group.
+if [ -x /etc/rc.d/rc.nut-drvctl -a -z "$container" ]; then
+ /etc/rc.d/rc.nut-drvctl start
+fi
+
+# Start the NUT UPS information server. This should be started on the machine
+# that controls the UPS. See the /etc/nut/ directory for configuration files.
+if [ -x /etc/rc.d/rc.nut-upsd -a -z "$container" ]; then
+ /etc/rc.d/rc.nut-upsd start
+fi
+
+# Start the NUT UPS monitor and shutdown controller. This should be run on any
+# machine that is powered by the UPS to monitor the power supply and initiate
+# shutdown if necessary. See the /etc/nut/ directory for configuration files.
+if [ -x /etc/rc.d/rc.nut-upsmon -a -z "$container" ]; then
+ /etc/rc.d/rc.nut-upsmon start
+fi
# Turn on process accounting. To enable process accounting, make sure the
# option for BSD process accounting is enabled in your kernel, and then
@@ -393,8 +403,8 @@ if [ -x /etc/rc.d/rc.openldap ]; then
fi
# Start local LDAP name service daemon (from nss-pam-ldapd):
-if [ -x /etc/rc.d/rc.nss-pam-ldap ]; then
- /etc/rc.d/rc.nss-pam-ldap start
+if [ -x /etc/rc.d/rc.nss-pam-ldapd ]; then
+ /etc/rc.d/rc.nss-pam-ldapd start
fi
# Start Dovecot:
diff --git a/source/a/sysvinit-scripts/scripts/rc.S b/source/a/sysvinit-scripts/scripts/rc.S
index 85a2ebc31..42e503aa4 100644
--- a/source/a/sysvinit-scripts/scripts/rc.S
+++ b/source/a/sysvinit-scripts/scripts/rc.S
@@ -16,12 +16,12 @@ fi
# Mount /proc if it is not already mounted:
if [ ! -d /proc/sys -a -z "$container" ]; then
- /sbin/mount -v proc /proc -n -t proc 2> /dev/null
+ /sbin/mount -v proc /proc -t proc 2> /dev/null
fi
# Mount /sys if it is not already mounted:
if [ ! -d /sys/kernel -a -z "$container" ]; then
- /sbin/mount -v sysfs /sys -n -t sysfs 2> /dev/null
+ /sbin/mount -v sysfs /sys -t sysfs 2> /dev/null
fi
# The efivarfs filesystem is used for reading and writing EFI variables, such
@@ -53,7 +53,7 @@ fi
# initrd has already done so):
if [ -d /run -a -z "$container" ]; then
if ! grep -wq "tmpfs /run tmpfs" /proc/mounts ; then
- /sbin/mount -v -n -t tmpfs tmpfs /run -o mode=0755,size=32M,nodev,nosuid,noexec
+ /sbin/mount -v -t tmpfs tmpfs /run -o mode=0755,size=32M,nodev,nosuid,noexec
fi
fi
@@ -140,6 +140,24 @@ if [ -z "$container" ]; then
/sbin/swapon -a 2> /dev/null
fi
+# Enable swapping on a ZRAM device:
+if [ -z "$container" -a -r /etc/default/zram ]; then
+ . /etc/default/zram
+ if [ "$ZRAM_ENABLE" = "1" ]; then
+ if [ ! -d /sys/devices/virtual/block/zram0 ]; then
+ modprobe zram num_devices=$ZRAMNUMBER
+ fi
+ echo "Setting up /dev/zram0: zramctl -f -a $ZRAMCOMPRESSION -s ${ZRAMSIZE}K"
+ ZRAM_DEVICE=$(zramctl -f -a $ZRAMCOMPRESSION -s ${ZRAMSIZE}K)
+ if [ ! -z $ZRAM_DEVICE ]; then
+ mkswap $ZRAM_DEVICE 1> /dev/null 2> /dev/null
+ echo "Activating ZRAM swap: swapon --priority $ZRAMPRIORITY $ZRAM_DEVICE"
+ swapon --priority $ZRAMPRIORITY $ZRAM_DEVICE
+ fi
+ fi
+ unset MEMTOTAL ZRAMCOMPRESSION ZRAMNUMBER ZRAMSIZE ZRAM_DEVICE ZRAM_ENABLE
+fi
+
# Set the tick and frequency for the system clock.
# Default values are: TICK=10000 and FREQ=0
if [ -z "$container" ]; then
@@ -202,8 +220,13 @@ if [ -z "$container" ]; then
# If we're using F2FS for the root filesystem, don't check it as it doesn't
# allow checking a read-only filesystem:
if grep -q ' / f2fs ' /proc/mounts ; then
- echo "Remounting root device with read-write enabled."
- /sbin/mount -w -v -n -o remount /
+ echo "Remounting f2fs root device with read-write enabled."
+ /sbin/mount -w -v -o remount /
+ # If we're using bcachefs for the root filesystem(s), remount read-write
+ # and let bcachefs do its own fsck:
+ elif grep -q ' / bcachefs ' /proc/mounts ; then
+ echo "Remounting bcachefs root device(s) with read-write enabled."
+ /sbin/mount -o remount,rw,fsck,fix_errors /
elif [ ! $READWRITE = yes ]; then
# Check the root filesystem:
RETVAL=0
@@ -242,13 +265,13 @@ if [ -z "$container" ]; then
fi
echo "Unmounting file systems."
/sbin/umount -a -r
- /sbin/mount -n -o remount,ro /
+ /sbin/mount -o remount,ro /
echo "Rebooting system."
reboot -f
fi
# Remount the root filesystem in read-write mode
echo "Remounting root device with read-write enabled."
- /sbin/mount -w -v -n -o remount /
+ /sbin/mount -w -v -o remount /
if [ $? -gt 0 ] ; then
echo "FATAL: Attempt to remount root device as read-write failed! This is going to"
echo "cause serious problems."
diff --git a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
index b4ea662e1..81360693e 100755
--- a/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
+++ b/source/a/sysvinit-scripts/sysvinit-scripts.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=sysvinit-scripts
VERSION=${VERSION:-15.1}
ARCH=noarch
-BUILD=${BUILD:-15}
+BUILD=${BUILD:-21}
# 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
@@ -59,6 +59,13 @@ cat $CWD/default/cpufreq > $PKG/etc/default/cpufreq.new
# Install /etc/default/efivarfs.new:
cat $CWD/default/efivarfs > $PKG/etc/default/efivarfs.new
+# Install /etc/default/zram.new:
+if [ "$(uname -m)" = "i686" ]; then
+ cat $CWD/default/zram.i686 > $PKG/etc/default/zram.new
+else
+ cat $CWD/default/zram > $PKG/etc/default/zram.new
+fi
+
mkdir -p $PKG/install
zcat $CWD/doinst.sh > $PKG/install/doinst.sh
cat $CWD/slack-desc > $PKG/install/slack-desc
diff --git a/source/a/sysvinit/sysvinit.SlackBuild b/source/a/sysvinit/sysvinit.SlackBuild
index 472af2e51..2335df019 100755
--- a/source/a/sysvinit/sysvinit.SlackBuild
+++ b/source/a/sysvinit/sysvinit.SlackBuild
@@ -29,7 +29,7 @@ BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
diff --git a/source/a/sysvinit/sysvinit.always.define.version.diff b/source/a/sysvinit/sysvinit.always.define.version.diff
index 68f1ba5ce..191d0d1b0 100644
--- a/source/a/sysvinit/sysvinit.always.define.version.diff
+++ b/source/a/sysvinit/sysvinit.always.define.version.diff
@@ -1,11 +1,11 @@
---- ./src/init.c.orig 2021-12-13 13:21:26.000000000 -0600
-+++ ./src/init.c 2021-12-14 15:04:45.163064496 -0600
+--- ./src/init.c.orig 2024-07-28 19:08:45.000000000 -0500
++++ ./src/init.c 2024-07-30 12:30:58.602177873 -0500
@@ -12,9 +12,7 @@
/*
Version information is not placed in the top-level Makefile by default
*/
-#ifndef VERSION
- #define VERSION "3.01"
+ #define VERSION "3.10"
-#endif
/*
* This file is part of the sysvinit suite,
diff --git a/source/a/udisks/slack-desc b/source/a/udisks/slack-desc
deleted file mode 100644
index d3093b536..000000000
--- a/source/a/udisks/slack-desc
+++ /dev/null
@@ -1,19 +0,0 @@
-# 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------------------------------------------------------|
-udisks: udisks (storage device daemon)
-udisks:
-udisks: The udisks project provides a storage daemon that implements D-Bus
-udisks: interfaces that can be used to query and manipulate storage devices.
-udisks:
-udisks: It also includes a command-line tool, udisks(1), that can be used to
-udisks: query and control the daemon.
-udisks:
-udisks: Homepage: http://www.freedesktop.org/wiki/Software/udisks
-udisks:
-udisks:
diff --git a/source/a/udisks/udisks.glibc228.diff b/source/a/udisks/udisks.glibc228.diff
deleted file mode 100644
index 43f6bf29a..000000000
--- a/source/a/udisks/udisks.glibc228.diff
+++ /dev/null
@@ -1,52 +0,0 @@
---- ./src/device.c.orig 2014-03-10 03:57:48.000000000 -0500
-+++ ./src/device.c 2018-09-18 19:06:22.494073271 -0500
-@@ -33,6 +33,7 @@
- #include <sys/stat.h>
- #include <sys/time.h>
- #include <sys/resource.h>
-+#include <sys/sysmacros.h>
- #include <fcntl.h>
- #include <pwd.h>
- #include <grp.h>
---- ./src/daemon.c.orig 2014-03-10 03:57:48.000000000 -0500
-+++ ./src/daemon.c 2018-09-18 19:06:22.490073271 -0500
-@@ -45,6 +45,7 @@
- #include <sys/socket.h>
- #include <sys/un.h>
- #include <sys/utsname.h>
-+#include <sys/sysmacros.h>
- #include <net/if_arp.h>
- #include <fcntl.h>
- #include <signal.h>
---- ./src/mount-monitor.c.orig 2014-03-10 03:58:42.000000000 -0500
-+++ ./src/mount-monitor.c 2018-09-18 19:06:22.495073271 -0500
-@@ -28,7 +28,9 @@
- #include <errno.h>
- #include <string.h>
- #include <sys/types.h>
-+#include <sys/sysmacros.h>
- #include <sys/stat.h>
-+
- #include <mntent.h>
-
- #include <glib.h>
---- ./tools/umount-udisks.c.orig 2014-03-10 03:57:48.000000000 -0500
-+++ ./tools/umount-udisks.c 2018-09-18 19:06:22.497073271 -0500
-@@ -30,6 +30,7 @@
- #include <string.h>
- #include <sys/types.h>
- #include <sys/stat.h>
-+#include <sys/sysmacros.h>
- #include <fcntl.h>
- #include <pwd.h>
- #include <grp.h>
---- ./tools/udisks.c.orig 2014-03-10 03:57:48.000000000 -0500
-+++ ./tools/udisks.c 2018-09-18 19:06:22.496073271 -0500
-@@ -31,6 +31,7 @@
- #include <sys/types.h>
- #include <sys/stat.h>
- #include <sys/wait.h>
-+#include <sys/sysmacros.h>
- #include <fcntl.h>
- #include <pwd.h>
- #include <grp.h>
diff --git a/source/a/udisks/udisks.no.pci-db.diff b/source/a/udisks/udisks.no.pci-db.diff
deleted file mode 100644
index ebb773c68..000000000
--- a/source/a/udisks/udisks.no.pci-db.diff
+++ /dev/null
@@ -1,32 +0,0 @@
-From c73b5ab54378ec6d7df9948c46ce87f98587af9a Mon Sep 17 00:00:00 2001
-From: Tom Gundersen <teg@jklm.no>
-Date: Wed, 21 Nov 2012 02:36:47 +0100
-Subject: [PATCH] udev: remove redundant call to deprecated pci-db
-
-The binary is no longer shipped with systemd/udev. The functionality
-is taken over by a builtin, which is ran for all devices, rendering
-this rule superfluous.
-
-Cc: Jan de Groot <jgc@archlinux.org>
-Signed-off-by: Tom Gundersen <teg@jklm.no>
----
- data/80-udisks.rules | 4 ----
- 1 file changed, 4 deletions(-)
-
-diff --git a/data/80-udisks.rules b/data/80-udisks.rules
-index d1c8c5d..4bf2b37 100644
---- a/data/80-udisks.rules
-+++ b/data/80-udisks.rules
-@@ -1,10 +1,6 @@
- # Do not edit this file, it will be overwritten on updates
- #
-
--# import names for PCI storage controllers
--#
--SUBSYSTEM=="pci", ACTION=="add|change", ENV{ID_MODEL_FROM_DATABASE}=="", ATTR{class}=="0x01*", IMPORT{program}="pci-db %p"
--
- # Set eSATA port type for known eSATA CardBus adapters - first we want to ensure
- # the device is on a cardbus controller (upper PCI device) - then we check
- # vid/pid (lower PCI device)
---
-1.8.0.1
diff --git a/source/a/udisks/udisks.url b/source/a/udisks/udisks.url
deleted file mode 100644
index cef0134ba..000000000
--- a/source/a/udisks/udisks.url
+++ /dev/null
@@ -1 +0,0 @@
-http://hal.freedesktop.org/releases/
diff --git a/source/a/unarj/Makefile b/source/a/unarj/Makefile
index 95483e751..2445bb4ba 100644
--- a/source/a/unarj/Makefile
+++ b/source/a/unarj/Makefile
@@ -4,7 +4,7 @@
#
CC = gcc
-CFLAGS = -O2 -DUNIX
+CFLAGS = -O2 -DUNIX -Wno-error=implicit-function-declaration
INSTALLDIR=/usr/bin
unarj: unarj.o decode.o environ.o
diff --git a/source/a/upower/upower.SlackBuild b/source/a/upower/upower.SlackBuild
index 84336a8e1..0e3ed3947 100755
--- a/source/a/upower/upower.SlackBuild
+++ b/source/a/upower/upower.SlackBuild
@@ -29,7 +29,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=upower
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z* | rev | cut -f 3- -d . | cut -f 1 -d- | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
@@ -37,8 +37,7 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
MARCH=$( uname -m )
if [ -z "$ARCH" ]; then
case "$MARCH" in
- i?86) export ARCH=i586 ;;
- armv7hl) export ARCH=$MARCH ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$MARCH ;;
@@ -53,18 +52,12 @@ if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then
exit 0
fi
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O2 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
diff --git a/source/a/upower/upower.url b/source/a/upower/upower.url
index 9a4f5559f..0c5bf94fb 100644
--- a/source/a/upower/upower.url
+++ b/source/a/upower/upower.url
@@ -1 +1,2 @@
https://gitlab.freedesktop.org/upower/upower/-/releases
+https://gitlab.freedesktop.org/upower/upower/-/archive/v1.90.6/upower-v1.90.6.tar.gz
diff --git a/source/a/userspace-rcu/userspace-rcu.SlackBuild b/source/a/userspace-rcu/userspace-rcu.SlackBuild
index b255163a4..5f15d7914 100755
--- a/source/a/userspace-rcu/userspace-rcu.SlackBuild
+++ b/source/a/userspace-rcu/userspace-rcu.SlackBuild
@@ -24,12 +24,12 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=userspace-rcu
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$(uname -m)" in
- i?86) ARCH=i586 ;;
+ i?86) ARCH=i686 ;;
arm*) readelf /usr/bin/file -A | egrep -q "Tag_CPU.*[4,5]" && ARCH=arm || ARCH=armv7hl ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) ARCH=$(uname -m) ;;
@@ -47,21 +47,12 @@ fi
NUMJOBS=${NUMJOBS:-" -j $(expr $(nproc) + 1) "}
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "i686" ]; then
- SLKCFLAGS="-O2 -march=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
-elif [ "$ARCH" = "armv7hl" ]; then
- SLKCFLAGS="-O3 -march=armv7-a -mfpu=vfpv3-d16"
- LIBDIRSUFFIX=""
else
SLKCFLAGS="-O2"
LIBDIRSUFFIX=""
diff --git a/source/a/util-linux/bsdstrings.gcc14.diff b/source/a/util-linux/bsdstrings.gcc14.diff
new file mode 100644
index 000000000..32cffe03f
--- /dev/null
+++ b/source/a/util-linux/bsdstrings.gcc14.diff
@@ -0,0 +1,12 @@
+--- ./Makefile.orig 2000-05-09 16:18:53.000000000 -0500
++++ ./Makefile 2024-05-12 12:42:00.509961363 -0500
+@@ -1,7 +1,8 @@
+ CC = gcc
++CFLAGS = -O -Wno-error=implicit-function-declaration -Wno-error=implicit-int
+
+ strings: strings.o getopt.o
+- gcc -O -o strings strings.c getopt.c
++ gcc $(CFLAGS) -o strings strings.c getopt.c
+
+ clean:
+ rm -f a.out core *~ *.o strings
diff --git a/source/a/util-linux/util-linux.SlackBuild b/source/a/util-linux/util-linux.SlackBuild
index 35858a799..8faf948f9 100755
--- a/source/a/util-linux/util-linux.SlackBuild
+++ b/source/a/util-linux/util-linux.SlackBuild
@@ -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}
+BUILD=${BUILD:-1}
ADJTIMEXVERS=1.29
SETSERIALVERS=2.17
@@ -120,6 +120,9 @@ else
LOGIN_OPTIONS="--disable-login"
fi
+# Put any PAM modules in the proper directory:
+sed -i "s|usrsecurelib_execdir='\${usrlib_execdir}/security'|usrsecurelib_execdir='/lib${LIBDIRSUFFIX}/security'|g" configure
+
# Changing the fdisk -l output (this was done prior to util-linux-ng) broke
# our installation scripts, so we have changed the name of partition type
# 83 back to "Linux swap":
@@ -252,6 +255,7 @@ rm -rf bsdstrings
tar xvf $CWD/bsdstrings.tar.gz || exit 1
cd bsdstrings || exit 1
zcat $CWD/bsdstrings-util-linux_overflow.diff.gz | patch -p1 --verbose || exit 1
+zcat $CWD/bsdstrings.gcc14.diff.gz | patch -p1 --verbose || exit 1
make || exit 1
strip strings
cat strings > $PKG/usr/bin/strings-BSD
@@ -284,7 +288,8 @@ chown -R root:root .
zcat $CWD/setserial-rc.serial.diff.gz | patch -E -p1 --verbose || exit 1
zcat $CWD/setserial-undef_TIOCGHAYESESP.diff.gz | patch -E -p1 --verbose || exit 1
# The original config.{guess,sub} do not work on x86_64
-cp -p /usr/share/libtool/config/config.{guess,sub} .
+cp -p /usr/share/libtool/build-aux/config.{guess,sub} .
+CFLAGS="$SLKCFLAGS -Wno-error=implicit-int -Wno-error=implicit-function-declaration" \
./configure --prefix=/usr || exit 1
make || exit 1
strip setserial
@@ -368,4 +373,3 @@ zcat $CWD/doinst.sh.gz > $PKG/install/doinst.sh
cd $PKG
/sbin/makepkg -l y -c n $TMP/util-linux-$VERSION-$ARCH-$BUILD.txz
-
diff --git a/source/a/volume_key/volume_key.SlackBuild b/source/a/volume_key/volume_key.SlackBuild
index 0ec4188ed..bcb3c0e2e 100755
--- a/source/a/volume_key/volume_key.SlackBuild
+++ b/source/a/volume_key/volume_key.SlackBuild
@@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=volume_key
VERSION=${VERSION:-$(echo $PKGNAM-$PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-7}
+BUILD=${BUILD:-8}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
diff --git a/source/a/xfsprogs/xfsprogs.SlackBuild b/source/a/xfsprogs/xfsprogs.SlackBuild
index 8c79ed459..e7a9c9cac 100755
--- a/source/a/xfsprogs/xfsprogs.SlackBuild
+++ b/source/a/xfsprogs/xfsprogs.SlackBuild
@@ -31,7 +31,7 @@ NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
- i?86) export ARCH=i586 ;;
+ i?86) export ARCH=i686 ;;
arm*) export ARCH=arm ;;
# Unless $ARCH is already set, use uname -m for all other archs:
*) export ARCH=$( uname -m ) ;;
@@ -49,14 +49,11 @@ fi
TMP=${TMP:-/tmp}
PKG=$TMP/package-xfsprogs
-if [ "$ARCH" = "i586" ]; then
- SLKCFLAGS="-O2 -march=i586 -mtune=i686"
- LIBDIRSUFFIX=""
-elif [ "$ARCH" = "s390" ]; then
- SLKCFLAGS="-O2"
+if [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=pentium4 -mtune=generic"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
- SLKCFLAGS="-O2 -fPIC"
+ SLKCFLAGS="-O2 -march=x86-64 -mtune=generic -fPIC"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-O2"
@@ -86,6 +83,8 @@ CFLAGS="$SLKCFLAGS" \
./configure \
--prefix=/usr \
--libdir=/lib${LIBDIRSUFFIX} \
+ --sysconfdir=/etc \
+ --localstatedir=/var \
--libexecdir=/usr/lib${LIBDIRSUFFIX} \
--sbindir=/sbin \
--bindir=/usr/sbin \
diff --git a/source/a/xfsprogs/xfsprogs.url b/source/a/xfsprogs/xfsprogs.url
index e5438ea7b..223ea942f 100644
--- a/source/a/xfsprogs/xfsprogs.url
+++ b/source/a/xfsprogs/xfsprogs.url
@@ -1 +1 @@
-https://kernel.org/pub/linux/utils/fs/xfs
+https://www.kernel.org/pub/linux/utils/fs/xfs
diff --git a/source/a/xz/xz.SlackBuild b/source/a/xz/xz.SlackBuild
index 0dcb9079d..0517477db 100755
--- a/source/a/xz/xz.SlackBuild
+++ b/source/a/xz/xz.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2009, 2010, 2011, 2012, 2018 Patrick J. Volkerding, Sebeka, MN, USA
+# Copyright 2009, 2010, 2011, 2012, 2018, 2024 Patrick J. Volkerding, Sebeka, MN, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=xz
-VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
+VERSION=${VERSION:-$(echo $PKGNAM-*.tar.?z | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
@@ -80,7 +80,7 @@ mkdir -p $TMP $PKG
cd $TMP
rm -rf $PKGNAM-$VERSION
-tar xvf $CWD/$PKGNAM-$VERSION.tar.xz || exit 1
+tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1
cd $PKGNAM-$VERSION
chown -R root:root .
find . \
@@ -94,6 +94,14 @@ find . \
# memory use (these aren't indicating any sort of failure, so...)
zcat $CWD/xz.default.verbosity.V_ERROR.diff.gz | patch -p1 --verbose || exit 1
+if [ ! -r configure ]; then
+ if [ -x ./autogen.sh ]; then
+ NOCONFIGURE=1 ./autogen.sh
+ else
+ autoreconf -vif
+ fi
+fi
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
./configure \
diff --git a/source/a/xz/xz.url b/source/a/xz/xz.url
new file mode 100644
index 000000000..03a88d1f5
--- /dev/null
+++ b/source/a/xz/xz.url
@@ -0,0 +1,2 @@
+https://github.com/tukaani-project/xz/tags
+https://github.com/tukaani-project/xz/releases/download/v5.6.2/xz-5.6.2.tar.xz.sig
diff --git a/source/a/zoo/zoo.SlackBuild b/source/a/zoo/zoo.SlackBuild
index cf3576065..863d084b0 100755
--- a/source/a/zoo/zoo.SlackBuild
+++ b/source/a/zoo/zoo.SlackBuild
@@ -67,6 +67,7 @@ tar xf $CWD/zoo_${VERSION}-${DEBPATCH}.debian.tar.?z
for diff in debian/patches/*patch ; do
cat $diff | patch -p1 --verbose --backup --suffix=.orig || exit 1
done
+zcat $CWD/zoo.gcc14.diff.gz | patch -p1 --verbose --backup --suffix=.orig || exit 1
make linux || exit 1
mkdir -p $PKG/usr/bin
diff --git a/source/a/zoo/zoo.gcc14.diff b/source/a/zoo/zoo.gcc14.diff
new file mode 100644
index 000000000..5d507f423
--- /dev/null
+++ b/source/a/zoo/zoo.gcc14.diff
@@ -0,0 +1,11 @@
+--- ./makefile.orig 2024-05-11 01:34:14.429927290 -0500
++++ ./makefile 2024-05-11 01:35:16.723928683 -0500
+@@ -102,7 +102,7 @@
+
+ # Linux
+ linux:
+- $(MAKE) CC="gcc" CFLAGS="-c $(OPTIM) $(LINTFLAGS) -DLINUX -DANSI_HDRS" LDFLAGS="$(LDFLAGS)" $(TARGETS)
++ $(MAKE) CC="gcc" CFLAGS="-c $(OPTIM) $(LINTFLAGS) -DLINUX -DANSI_HDRS -Wno-error=implicit-int" LDFLAGS="$(LDFLAGS)" $(TARGETS)
+
+ # Linux64
+ linux64: