diff options
Diffstat (limited to 'source/a')
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 Binary files differnew file mode 100644 index 000000000..d0309526b --- /dev/null +++ b/source/a/bcachefs-tools/bcachefs-tools-1.9.4.tar.zst 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: |