mirror of
git://slackware.nl/current.git
synced 2024-12-29 10:25:00 +01:00
e53c2323e1
patches/packages/ca-certificates-20240604-noarch-1_slack15.0.txz: Upgraded. This update provides the latest CA certificates to check for the authenticity of SSL connections. patches/packages/kernel-firmware-20240604_22643bb-noarch-1.txz: Upgraded. Updated to the latest kernel firmware. patches/packages/linux-5.15.160/*: Upgraded. These updates fix various bugs and security issues. Be sure to upgrade your initrd after upgrading the kernel packages. If you use lilo to boot your machine, be sure lilo.conf points to the correct kernel and initrd and run lilo as root to update the bootloader. If you use elilo to boot your machine, you should run eliloconfig to copy the kernel and initrd to the EFI System Partition. For more information, see: Fixed in 5.15.147: https://www.cve.org/CVERecord?id=CVE-2023-52340 https://www.cve.org/CVERecord?id=CVE-2023-6040 https://www.cve.org/CVERecord?id=CVE-2024-0646 Fixed in 5.15.148: https://www.cve.org/CVERecord?id=CVE-2023-46838 https://www.cve.org/CVERecord?id=CVE-2023-52436 https://www.cve.org/CVERecord?id=CVE-2023-52438 https://www.cve.org/CVERecord?id=CVE-2023-52439 https://www.cve.org/CVERecord?id=CVE-2023-52443 https://www.cve.org/CVERecord?id=CVE-2023-52444 https://www.cve.org/CVERecord?id=CVE-2023-52445 https://www.cve.org/CVERecord?id=CVE-2023-52448 https://www.cve.org/CVERecord?id=CVE-2023-52449 https://www.cve.org/CVERecord?id=CVE-2023-52451 https://www.cve.org/CVERecord?id=CVE-2023-52454 https://www.cve.org/CVERecord?id=CVE-2023-52456 https://www.cve.org/CVERecord?id=CVE-2023-52458 https://www.cve.org/CVERecord?id=CVE-2023-52463 https://www.cve.org/CVERecord?id=CVE-2023-52464 https://www.cve.org/CVERecord?id=CVE-2023-52467 https://www.cve.org/CVERecord?id=CVE-2023-52469 https://www.cve.org/CVERecord?id=CVE-2023-52470 https://www.cve.org/CVERecord?id=CVE-2023-52609 https://www.cve.org/CVERecord?id=CVE-2023-52610 https://www.cve.org/CVERecord?id=CVE-2023-52612 https://www.cve.org/CVERecord?id=CVE-2023-6356 https://www.cve.org/CVERecord?id=CVE-2023-6536 https://www.cve.org/CVERecord?id=CVE-2023-6915 https://www.cve.org/CVERecord?id=CVE-2024-1085 https://www.cve.org/CVERecord?id=CVE-2024-24860 https://www.cve.org/CVERecord?id=CVE-2024-26586 https://www.cve.org/CVERecord?id=CVE-2024-26589 https://www.cve.org/CVERecord?id=CVE-2024-26591 https://www.cve.org/CVERecord?id=CVE-2024-26597 https://www.cve.org/CVERecord?id=CVE-2024-26598 https://www.cve.org/CVERecord?id=CVE-2024-26631 https://www.cve.org/CVERecord?id=CVE-2024-26633 Fixed in 5.15.149: https://www.cve.org/CVERecord?id=CVE-2023-52429 https://www.cve.org/CVERecord?id=CVE-2023-52435 https://www.cve.org/CVERecord?id=CVE-2023-52486 https://www.cve.org/CVERecord?id=CVE-2023-52489 https://www.cve.org/CVERecord?id=CVE-2023-52491 https://www.cve.org/CVERecord?id=CVE-2023-52492 https://www.cve.org/CVERecord?id=CVE-2023-52493 https://www.cve.org/CVERecord?id=CVE-2023-52494 https://www.cve.org/CVERecord?id=CVE-2023-52498 https://www.cve.org/CVERecord?id=CVE-2023-52583 https://www.cve.org/CVERecord?id=CVE-2023-52587 https://www.cve.org/CVERecord?id=CVE-2023-52588 https://www.cve.org/CVERecord?id=CVE-2023-52594 https://www.cve.org/CVERecord?id=CVE-2023-52595 https://www.cve.org/CVERecord?id=CVE-2023-52597 https://www.cve.org/CVERecord?id=CVE-2023-52598 https://www.cve.org/CVERecord?id=CVE-2023-52599 https://www.cve.org/CVERecord?id=CVE-2023-52600 https://www.cve.org/CVERecord?id=CVE-2023-52601 https://www.cve.org/CVERecord?id=CVE-2023-52602 https://www.cve.org/CVERecord?id=CVE-2023-52603 https://www.cve.org/CVERecord?id=CVE-2023-52604 https://www.cve.org/CVERecord?id=CVE-2023-52606 https://www.cve.org/CVERecord?id=CVE-2023-52607 https://www.cve.org/CVERecord?id=CVE-2023-52608 https://www.cve.org/CVERecord?id=CVE-2023-52614 https://www.cve.org/CVERecord?id=CVE-2023-52615 https://www.cve.org/CVERecord?id=CVE-2023-52616 https://www.cve.org/CVERecord?id=CVE-2023-52617 https://www.cve.org/CVERecord?id=CVE-2023-52618 https://www.cve.org/CVERecord?id=CVE-2023-52619 https://www.cve.org/CVERecord?id=CVE-2023-52622 https://www.cve.org/CVERecord?id=CVE-2023-52623 https://www.cve.org/CVERecord?id=CVE-2023-52627 https://www.cve.org/CVERecord?id=CVE-2023-52630 https://www.cve.org/CVERecord?id=CVE-2023-52631 https://www.cve.org/CVERecord?id=CVE-2023-52633 https://www.cve.org/CVERecord?id=CVE-2023-52635 https://www.cve.org/CVERecord?id=CVE-2023-52637 https://www.cve.org/CVERecord?id=CVE-2023-52638 https://www.cve.org/CVERecord?id=CVE-2024-0340 https://www.cve.org/CVERecord?id=CVE-2024-1086 https://www.cve.org/CVERecord?id=CVE-2024-1151 https://www.cve.org/CVERecord?id=CVE-2024-23849 https://www.cve.org/CVERecord?id=CVE-2024-23850 https://www.cve.org/CVERecord?id=CVE-2024-23851 https://www.cve.org/CVERecord?id=CVE-2024-26592 https://www.cve.org/CVERecord?id=CVE-2024-26593 https://www.cve.org/CVERecord?id=CVE-2024-26594 https://www.cve.org/CVERecord?id=CVE-2024-26600 https://www.cve.org/CVERecord?id=CVE-2024-26602 https://www.cve.org/CVERecord?id=CVE-2024-26606 https://www.cve.org/CVERecord?id=CVE-2024-26608 https://www.cve.org/CVERecord?id=CVE-2024-26610 https://www.cve.org/CVERecord?id=CVE-2024-26614 https://www.cve.org/CVERecord?id=CVE-2024-26615 https://www.cve.org/CVERecord?id=CVE-2024-26625 https://www.cve.org/CVERecord?id=CVE-2024-26627 https://www.cve.org/CVERecord?id=CVE-2024-26635 https://www.cve.org/CVERecord?id=CVE-2024-26636 https://www.cve.org/CVERecord?id=CVE-2024-26640 https://www.cve.org/CVERecord?id=CVE-2024-26641 https://www.cve.org/CVERecord?id=CVE-2024-26644 https://www.cve.org/CVERecord?id=CVE-2024-26645 https://www.cve.org/CVERecord?id=CVE-2024-26660 https://www.cve.org/CVERecord?id=CVE-2024-26663 https://www.cve.org/CVERecord?id=CVE-2024-26664 https://www.cve.org/CVERecord?id=CVE-2024-26665 https://www.cve.org/CVERecord?id=CVE-2024-26668 https://www.cve.org/CVERecord?id=CVE-2024-26671 https://www.cve.org/CVERecord?id=CVE-2024-26673 https://www.cve.org/CVERecord?id=CVE-2024-26675 https://www.cve.org/CVERecord?id=CVE-2024-26676 https://www.cve.org/CVERecord?id=CVE-2024-26679 https://www.cve.org/CVERecord?id=CVE-2024-26684 https://www.cve.org/CVERecord?id=CVE-2024-26685 https://www.cve.org/CVERecord?id=CVE-2024-26689 https://www.cve.org/CVERecord?id=CVE-2024-26696 https://www.cve.org/CVERecord?id=CVE-2024-26697 https://www.cve.org/CVERecord?id=CVE-2024-26698 https://www.cve.org/CVERecord?id=CVE-2024-26702 https://www.cve.org/CVERecord?id=CVE-2024-26704 https://www.cve.org/CVERecord?id=CVE-2024-26707 https://www.cve.org/CVERecord?id=CVE-2024-26712 https://www.cve.org/CVERecord?id=CVE-2024-26715 https://www.cve.org/CVERecord?id=CVE-2024-26717 https://www.cve.org/CVERecord?id=CVE-2024-26720 https://www.cve.org/CVERecord?id=CVE-2024-26727 https://www.cve.org/CVERecord?id=CVE-2024-26808 Fixed in 5.15.150: https://www.cve.org/CVERecord?id=CVE-2023-52434 https://www.cve.org/CVERecord?id=CVE-2023-52497 https://www.cve.org/CVERecord?id=CVE-2023-52640 https://www.cve.org/CVERecord?id=CVE-2023-52641 https://www.cve.org/CVERecord?id=CVE-2024-0565 https://www.cve.org/CVERecord?id=CVE-2024-26601 https://www.cve.org/CVERecord?id=CVE-2024-26603 https://www.cve.org/CVERecord?id=CVE-2024-26733 https://www.cve.org/CVERecord?id=CVE-2024-26735 https://www.cve.org/CVERecord?id=CVE-2024-26736 https://www.cve.org/CVERecord?id=CVE-2024-26737 https://www.cve.org/CVERecord?id=CVE-2024-26743 https://www.cve.org/CVERecord?id=CVE-2024-26744 https://www.cve.org/CVERecord?id=CVE-2024-26747 https://www.cve.org/CVERecord?id=CVE-2024-26748 https://www.cve.org/CVERecord?id=CVE-2024-26749 https://www.cve.org/CVERecord?id=CVE-2024-26751 https://www.cve.org/CVERecord?id=CVE-2024-26752 https://www.cve.org/CVERecord?id=CVE-2024-26754 https://www.cve.org/CVERecord?id=CVE-2024-26763 https://www.cve.org/CVERecord?id=CVE-2024-26764 https://www.cve.org/CVERecord?id=CVE-2024-26766 https://www.cve.org/CVERecord?id=CVE-2024-26769 https://www.cve.org/CVERecord?id=CVE-2024-26771 https://www.cve.org/CVERecord?id=CVE-2024-26772 https://www.cve.org/CVERecord?id=CVE-2024-26773 https://www.cve.org/CVERecord?id=CVE-2024-26774 https://www.cve.org/CVERecord?id=CVE-2024-26776 https://www.cve.org/CVERecord?id=CVE-2024-26777 https://www.cve.org/CVERecord?id=CVE-2024-26778 https://www.cve.org/CVERecord?id=CVE-2024-26779 Fixed in 5.15.151: https://www.cve.org/CVERecord?id=CVE-2023-52620 https://www.cve.org/CVERecord?id=CVE-2024-0841 https://www.cve.org/CVERecord?id=CVE-2024-26622 https://www.cve.org/CVERecord?id=CVE-2024-26688 https://www.cve.org/CVERecord?id=CVE-2024-26782 https://www.cve.org/CVERecord?id=CVE-2024-26788 https://www.cve.org/CVERecord?id=CVE-2024-26790 https://www.cve.org/CVERecord?id=CVE-2024-26791 https://www.cve.org/CVERecord?id=CVE-2024-26793 https://www.cve.org/CVERecord?id=CVE-2024-26795 https://www.cve.org/CVERecord?id=CVE-2024-26798 https://www.cve.org/CVERecord?id=CVE-2024-26801 https://www.cve.org/CVERecord?id=CVE-2024-26802 https://www.cve.org/CVERecord?id=CVE-2024-26803 https://www.cve.org/CVERecord?id=CVE-2024-26804 https://www.cve.org/CVERecord?id=CVE-2024-26805 Fixed in 5.15.152: https://www.cve.org/CVERecord?id=CVE-2024-26659 https://www.cve.org/CVERecord?id=CVE-2024-26787 Fixed in 5.15.153: https://www.cve.org/CVERecord?id=CVE-2023-52447 https://www.cve.org/CVERecord?id=CVE-2023-6270 https://www.cve.org/CVERecord?id=CVE-2023-7042 https://www.cve.org/CVERecord?id=CVE-2024-22099 https://www.cve.org/CVERecord?id=CVE-2024-26651 https://www.cve.org/CVERecord?id=CVE-2024-26809 (* Security fix *)
158 lines
7.3 KiB
Bash
Executable file
158 lines
7.3 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
# Copyright 2018, 2020 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.
|
|
|
|
# To use this script, point it to a Linux kernel source tree and a .config
|
|
# file by setting the appropriate environment variables:
|
|
#
|
|
# KERNEL_SOURCE=/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-generic-4.14.23 ./kernel-generic.SlackBuild
|
|
#
|
|
# It can also build the huge (or any other) kernel:
|
|
#
|
|
# KERNEL_NAME=huge KERNEL_SOURCE=/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-huge-4.14.23 ./kernel-generic.SlackBuild
|
|
#
|
|
# By default, it will call the package "kernel-generic" and use the source and
|
|
# .config already in /usr/src/linux (if possible).
|
|
|
|
cd $(dirname $0) ; CWD=$(pwd)
|
|
|
|
KERNEL_NAME=${KERNEL_NAME:-generic}
|
|
KERNEL_SOURCE=${KERNEL_SOURCE:-/usr/src/linux}
|
|
KERNEL_CONFIG=${KERNEL_CONFIG:-/usr/src/linux/.config}
|
|
CONFIG_SUFFIX=${CONFIG_SUFFIX:-}
|
|
BUILD=${BUILD:-1}
|
|
if [ ! -r "${KERNEL_CONFIG}" ]; then
|
|
echo "Error: the KERNEL_CONFIG environment variable needs to be set to the"
|
|
echo ".config file to be used to build this kernel. Example:"
|
|
echo "KERNEL_NAME=generic KERNEL_SOURCE=/usr/src/linux KERNEL_CONFIG=./kernel-configs/config-generic-4.14.23 ./kernel-generic.SlackBuild"
|
|
exit 1
|
|
fi
|
|
if [ ! -d "${KERNEL_SOURCE}" ]; then
|
|
echo "Error: kernel source directory ${KERNEL_SOURCE} does not exist."
|
|
exit 1
|
|
fi
|
|
# Get the kernel version from the kernel Makefile:
|
|
VERSION=$(grep "^VERSION = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^PATCHLEVEL = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev).$(grep "^SUBLEVEL = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev)$(grep "^EXTRAVERSION = " ${KERNEL_SOURCE}/Makefile | rev | cut -f 1 -d ' ' | rev)
|
|
# Set LOCALVERSION to the value found inside the .config:
|
|
LOCALVERSION="$(cat ${KERNEL_SOURCE}/.config 2> /dev/null | grep CONFIG_LOCALVERSION= | cut -f 2 -d = | tr -d \")"
|
|
# The default kernel arch is x86 for all 32-bit and 64-bit x86:
|
|
if [ -z "${KERNEL_ARCH}" ]; then
|
|
case "$(uname -m)" in
|
|
i?86) KERNEL_ARCH=x86 ;;
|
|
x86_64) KERNEL_ARCH=x86 ;;
|
|
# Use uname -m for all other archs:
|
|
*) KERNEL_ARCH=$(uname -m) ;;
|
|
esac
|
|
fi
|
|
# If this variable is set to an output directory, we will also put copies of
|
|
# System.map.gz, bzImage, and config in there:
|
|
KERNEL_OUTPUT_DIRECTORY=${KERNEL_OUTPUT_DIRECTORY:-}
|
|
|
|
# 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
|
|
# We will need to copy the config and run make oldconfig and make
|
|
# prepare in order to generate kernel/bounds.s, where we can find
|
|
# the true $PACKAGE_ARCH.
|
|
if [ ! "${KERNEL_CONFIG}" = "${KERNEL_SOURCE}/.config" ]; then
|
|
cp -a ${KERNEL_CONFIG} ${KERNEL_SOURCE}/.config
|
|
fi
|
|
cd ${KERNEL_SOURCE}
|
|
make oldconfig 1> /dev/null 2> /dev/null
|
|
make prepare 1> /dev/null 2> /dev/null
|
|
PACKAGE_ARCH=$(cat kernel/bounds.s | grep -w "\-march=.*" | tr " " "\n" | grep -w "\-march=.*" | cut -f 2 -d = | tr - _)
|
|
echo "kernel-${KERNEL_NAME}${LOCALVERSION}-$(echo ${VERSION} | tr - _)$(echo ${LOCALVERSION} | tr - _)-${PACKAGE_ARCH}-$BUILD.txz"
|
|
exit 0
|
|
fi
|
|
|
|
NUMJOBS=${NUMJOBS:-" -j$(expr $(nproc) + 1) "}
|
|
TMP=${TMP:-/tmp}
|
|
PKG=$TMP/package-kernel-${KERNEL_NAME}
|
|
|
|
rm -rf $PKG
|
|
mkdir -p $TMP $PKG
|
|
|
|
# Set the variable $KERNEL_CLEAN to anything to run "make clean" before the
|
|
# build. Default is to start compiling in the tree as we found it.
|
|
if [ ! -z "${KERNEL_CLEAN}" ]; then
|
|
( cd ${KERNEL_SOURCE}
|
|
echo "Cleaning kernel source (make clean)..."
|
|
make clean
|
|
# Make sure header files aren't missing...
|
|
make prepare
|
|
# Don't package the kernel in the sources:
|
|
find . -name "*Image" -exec rm "{}" \+
|
|
# No need for these:
|
|
rm -f .config.old .version
|
|
find . -name "*.cmd" -exec rm -f "{}" \+
|
|
rm .*.d
|
|
)
|
|
fi
|
|
|
|
# Copy the .config into the kernel source directory (unless it's there already)
|
|
if [ ! "${KERNEL_CONFIG}" = "${KERNEL_SOURCE}/.config" ]; then
|
|
echo "Copying the .config file to the kernel source tree:"
|
|
cp -a --verbose ${KERNEL_CONFIG} ${KERNEL_SOURCE}/.config
|
|
fi
|
|
|
|
( cd ${KERNEL_SOURCE}
|
|
echo "Running make oldconfig..."
|
|
make oldconfig
|
|
echo "Building kernel..."
|
|
make $NUMJOBS bzImage || make bzImage || exit 1
|
|
# Output files to a directory, if requested:
|
|
if [ ! -z "${KERNEL_OUTPUT_DIRECTORY}" ]; then
|
|
echo "Copying files to ${KERNEL_OUTPUT_DIRECTORY}..."
|
|
mkdir -p ${KERNEL_OUTPUT_DIRECTORY}
|
|
rm -f ${KERNEL_OUTPUT_DIRECTORY}/*
|
|
cp -a --verbose System.map ${KERNEL_OUTPUT_DIRECTORY}
|
|
cp -a --verbose .config ${KERNEL_OUTPUT_DIRECTORY}/config
|
|
cp -a --verbose arch/${KERNEL_ARCH}/boot/bzImage ${KERNEL_OUTPUT_DIRECTORY}
|
|
gzip -9 ${KERNEL_OUTPUT_DIRECTORY}/System.map
|
|
fi
|
|
echo "Preparing the package in $PKG..."
|
|
mkdir -p $PKG/boot
|
|
cp -a --verbose System.map $PKG/boot/System.map-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION}
|
|
cp -a --verbose .config $PKG/boot/config-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX}
|
|
cp -a --verbose arch/${KERNEL_ARCH}/boot/bzImage $PKG/boot/vmlinuz-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION}
|
|
# Make symlinks:
|
|
ln -sf System.map-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION} $PKG/boot/System.map
|
|
ln -sf config-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION}${CONFIG_SUFFIX} $PKG/boot/config
|
|
ln -sf vmlinuz-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION} $PKG/boot/vmlinuz
|
|
ln -sf vmlinuz-${KERNEL_NAME}${LOCALVERSION}-${VERSION}${LOCALVERSION} $PKG/boot/vmlinuz-${KERNEL_NAME}${LOCALVERSION}
|
|
) || exit 1
|
|
|
|
# Fetch the kernel architecture from the source tree:
|
|
cd ${KERNEL_SOURCE}
|
|
PACKAGE_ARCH=$(cat kernel/bounds.s | grep -w "\-march=.*" | tr " " "\n" | grep -w "\-march=.*" | cut -f 2 -d = | tr - _)
|
|
|
|
mkdir $PKG/install
|
|
if [ -r $CWD/slack-desc/slack-desc.kernel-${KERNEL_NAME}${LOCALVERSION}.${PACKAGE_ARCH} ]; then
|
|
cat $CWD/slack-desc/slack-desc.kernel-${KERNEL_NAME}${LOCALVERSION}.${PACKAGE_ARCH} > $PKG/install/slack-desc
|
|
else
|
|
cat $CWD/slack-desc/slack-desc.kernel-template | sed "s/%PACKAGE_NAME%/kernel-${KERNEL_NAME}${LOCALVERSION}/g" > $PKG/install/slack-desc
|
|
fi
|
|
|
|
# Make the package:
|
|
cd $PKG
|
|
/sbin/makepkg -l y -c n $TMP/kernel-${KERNEL_NAME}${LOCALVERSION}-$(echo ${VERSION} | tr - _)$(echo ${LOCALVERSION} | tr - _)-${PACKAGE_ARCH}-$BUILD.txz
|
|
|