2024-10-08 20:39:18 +02:00
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
# 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.
|
|
|
|
|
|
|
|
# This script creates a virtual installed package named
|
|
|
|
# kernel-backup-${KERNEL_VERSION}-${ARCH}-${BUILD}, which
|
|
|
|
# consists of a backup of /boot/vmlinuz-${KERNEL_VERSION}-generic
|
|
|
|
# to /boot/vmlinuz-${KERNEL_VERSION}-backup, and the modules that
|
|
|
|
# go with this kernel. If there's a matching initrd already created,
|
|
|
|
# we'll include that too. Otherwise, we'll assume you don't want one
|
|
|
|
# or that you'll manage it yourself outside of the installed backup
|
|
|
|
# package.
|
|
|
|
#
|
|
|
|
# By default, it makes a backup of the kernel pointed to by
|
|
|
|
# /boot/vmlinuz-generic. Once backed up, this kernel can be added to
|
|
|
|
# your bootloader as a fallback kernel, and removing or upgrading the
|
|
|
|
# original kernel-generic package will not remove it. But, you can
|
|
|
|
# remove the kernel-backup package later with removepkg if you wish.
|
|
|
|
#
|
|
|
|
# The $KERNEL_FILE doesn't need to have any particular naming scheme.
|
|
|
|
# You could point at /usr/src/linux/arch/x86/boot/bzImage for all this
|
|
|
|
# script cares. The kernel modules do need to be installed first though.
|
|
|
|
|
2024-10-11 00:42:17 +02:00
|
|
|
# If /etc/default/make-kernel-backup exists, source it to set initial values
|
Mon Oct 28 21:22:48 UTC 2024
a/aaa_libraries-15.1-x86_64-34.txz: Rebuilt.
Upgraded: libcap.so.2.71, libelf-0.192.so, liblzma.so.5.6.3,
libcares.so.2.19.1, libexpat.so.1.9.3, libglib-2.0.so.0.8200.2,
libgmodule-2.0.so.0.8200.2, libgobject-2.0.so.0.8200.2,
libgthread-2.0.so.0.8200.2, libisl.so.23.4.0, libjson-c.so.5.4.0,
libpng16.so.16.44.0, libtiff.so.6.1.0, libtiffxx.so.6.1.0,
libunistring.so.5.2.0.
Removed: libboost_*.so.1.85.0.
Added (temporarily): libicudata.so.74.2, libicui18n.so.74.2,
libicuio.so.74.2, libicutest.so.74.2, libicutu.so.74.2,
libicuuc.so.74.2.
a/mkinitrd-1.4.11-x86_64-41.txz: Rebuilt.
remove-orphaned-initrds: simplify matching - initrd-${FOO}.img is considered
orphaned if there is no vmlinuz-${FOO} (the contents of $FOO are arbitrary).
a/pkgtools-15.1-noarch-15.txz: Rebuilt.
make-kernel-backup: if we are backing up vmlinuz-${FOO}, then also back up
initrd-${FOO}.img if it exists. Don't try to match specific fields.
a/xfsprogs-6.11.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
ap/mpg123-1.32.8-x86_64-1.txz: Upgraded.
ap/sqlite-3.46.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
d/mercurial-6.8.2-x86_64-1.txz: Upgraded.
d/python-pip-24.3.1-x86_64-1.txz: Upgraded.
kde/kdeplasma-addons-5.27.11-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
kde/kdewebkit-5.116.0-x86_64-1.txz: Removed.
Mothing uses this. Obsolete.
kde/konsole-23.08.5-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
kde/plasma-workspace-5.27.11.1-x86_64-3.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/M2Crypto-0.42.0-x86_64-1.txz: Removed.
Nothing in Slackware has needed this since crda was removed, and very little
elsewhere does. Thanks to lucabon.
l/babl-0.1.110-x86_64-1.txz: Upgraded.
l/boost-1.86.0-x86_64-3.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/desktop-file-utils-0.28-x86_64-1.txz: Upgraded.
l/gspell-1.14.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/harfbuzz-10.0.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/icu4c-76.1-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
l/libcap-2.71-x86_64-1.txz: Upgraded.
l/libical-3.0.18-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/libqalculate-5.3.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/liburing-2.8-x86_64-1.txz: Upgraded.
l/libvisio-0.1.8-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/mozjs128-128.3.1esr-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/nodejs-20.18.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/qt5-5.15.15_20241016_9f395e3b-x86_64-1.txz: Upgraded.
Compiled against icu4c-76.1.
l/qt5-webkit-5.212.0_alpha4-x86_64-13.txz: Removed.
Nothing uses this except kdewebkit, and nothing uses that.
Plus it is unmaintained, obsolete, and likely full of holes.
l/qt6-6.7.3_20240920_90e86aee-x86_64-4.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/vte-0.78.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/dovecot-2.3.21.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/netatalk-4.0.3-x86_64-1.txz: Upgraded.
n/php-8.3.13-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/postfix-3.9.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/samba-4.21.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/tin-2.6.3-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
t/texlive-2024.240409-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
extra/brltty/brltty-6.7-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
extra/sendmail/sendmail-8.18.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
extra/sendmail/sendmail-cf-8.18.1-noarch-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
2024-10-28 22:22:48 +01:00
|
|
|
# for for any of:
|
|
|
|
# BUILD, KERNEL_FILE, BACKUP_NAME, and MAKE_SYMLINKS:
|
2024-10-11 00:42:17 +02:00
|
|
|
if [ -r /etc/default/make-kernel-backup ]; then
|
|
|
|
. /etc/default/make-kernel-backup
|
|
|
|
fi
|
|
|
|
|
2024-10-08 20:39:18 +02:00
|
|
|
BUILD=${BUILD:-1}
|
|
|
|
|
|
|
|
# This is the kernel to use (may be a symlink):
|
|
|
|
KERNEL_FILE=${KERNEL_FILE:-/boot/vmlinuz-generic}
|
|
|
|
|
Mon Oct 28 21:22:48 UTC 2024
a/aaa_libraries-15.1-x86_64-34.txz: Rebuilt.
Upgraded: libcap.so.2.71, libelf-0.192.so, liblzma.so.5.6.3,
libcares.so.2.19.1, libexpat.so.1.9.3, libglib-2.0.so.0.8200.2,
libgmodule-2.0.so.0.8200.2, libgobject-2.0.so.0.8200.2,
libgthread-2.0.so.0.8200.2, libisl.so.23.4.0, libjson-c.so.5.4.0,
libpng16.so.16.44.0, libtiff.so.6.1.0, libtiffxx.so.6.1.0,
libunistring.so.5.2.0.
Removed: libboost_*.so.1.85.0.
Added (temporarily): libicudata.so.74.2, libicui18n.so.74.2,
libicuio.so.74.2, libicutest.so.74.2, libicutu.so.74.2,
libicuuc.so.74.2.
a/mkinitrd-1.4.11-x86_64-41.txz: Rebuilt.
remove-orphaned-initrds: simplify matching - initrd-${FOO}.img is considered
orphaned if there is no vmlinuz-${FOO} (the contents of $FOO are arbitrary).
a/pkgtools-15.1-noarch-15.txz: Rebuilt.
make-kernel-backup: if we are backing up vmlinuz-${FOO}, then also back up
initrd-${FOO}.img if it exists. Don't try to match specific fields.
a/xfsprogs-6.11.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
ap/mpg123-1.32.8-x86_64-1.txz: Upgraded.
ap/sqlite-3.46.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
d/mercurial-6.8.2-x86_64-1.txz: Upgraded.
d/python-pip-24.3.1-x86_64-1.txz: Upgraded.
kde/kdeplasma-addons-5.27.11-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
kde/kdewebkit-5.116.0-x86_64-1.txz: Removed.
Mothing uses this. Obsolete.
kde/konsole-23.08.5-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
kde/plasma-workspace-5.27.11.1-x86_64-3.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/M2Crypto-0.42.0-x86_64-1.txz: Removed.
Nothing in Slackware has needed this since crda was removed, and very little
elsewhere does. Thanks to lucabon.
l/babl-0.1.110-x86_64-1.txz: Upgraded.
l/boost-1.86.0-x86_64-3.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/desktop-file-utils-0.28-x86_64-1.txz: Upgraded.
l/gspell-1.14.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/harfbuzz-10.0.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/icu4c-76.1-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
l/libcap-2.71-x86_64-1.txz: Upgraded.
l/libical-3.0.18-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/libqalculate-5.3.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/liburing-2.8-x86_64-1.txz: Upgraded.
l/libvisio-0.1.8-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/mozjs128-128.3.1esr-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/nodejs-20.18.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/qt5-5.15.15_20241016_9f395e3b-x86_64-1.txz: Upgraded.
Compiled against icu4c-76.1.
l/qt5-webkit-5.212.0_alpha4-x86_64-13.txz: Removed.
Nothing uses this except kdewebkit, and nothing uses that.
Plus it is unmaintained, obsolete, and likely full of holes.
l/qt6-6.7.3_20240920_90e86aee-x86_64-4.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/vte-0.78.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/dovecot-2.3.21.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/netatalk-4.0.3-x86_64-1.txz: Upgraded.
n/php-8.3.13-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/postfix-3.9.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/samba-4.21.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/tin-2.6.3-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
t/texlive-2024.240409-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
extra/brltty/brltty-6.7-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
extra/sendmail/sendmail-8.18.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
extra/sendmail/sendmail-cf-8.18.1-noarch-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
2024-10-28 22:22:48 +01:00
|
|
|
# In case this is a symlink, find the real file:
|
|
|
|
KERNEL_FILE=$(readlink -f $KERNEL_FILE)
|
|
|
|
|
2024-10-11 00:42:17 +02:00
|
|
|
# Is this a Linux kernel?
|
|
|
|
if ! file $KERNEL_FILE | grep -q "Linux kernel" ; then
|
|
|
|
echo "ERROR: $KERNEL_FILE does not appear to be a Linux kernel."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2024-10-08 20:39:18 +02:00
|
|
|
# Find the kernel version:
|
|
|
|
if [ -r $KERNEL_FILE ]; then
|
|
|
|
KERNEL_VERSION=$(strings $KERNEL_FILE | grep '([^ ]*@[^ ]*) #' | cut -f1 -d' ')
|
|
|
|
else
|
|
|
|
echo "ERROR: $KERNEL_FILE not found."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2024-11-01 22:13:31 +01:00
|
|
|
# This is the kernel name for the backup kernel:
|
|
|
|
BACKUP_NAME=${BACKUP_NAME:-backup}
|
|
|
|
|
|
|
|
# Do we want to make unversioned symlinks to the backup kernel and (if used)
|
|
|
|
# initrd? With the default BACKUP_NAME, these would be named vmlinuz-backup
|
|
|
|
# and initrd-backup.img.
|
|
|
|
MAKE_SYMLINKS=${MAKE_SYMLINKS:-true}
|
|
|
|
|
2024-10-08 20:39:18 +02:00
|
|
|
# We require the modules for this kernel version to be installed:
|
|
|
|
if [ ! -d /lib/modules/${KERNEL_VERSION} ]; then
|
|
|
|
echo "ERROR: directory /lib/modules/${KERNEL_VERSION} does not exist."
|
|
|
|
echo "Refusing to back up a kernel without modules."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
# Guess the $ARCH:
|
|
|
|
if file /bin/bash | grep -wq x86-64 ; then
|
|
|
|
ARCH="x86_64"
|
|
|
|
elif file /bin/bash | grep -wq 80386 ; then
|
|
|
|
ARCH="i686"
|
|
|
|
else
|
|
|
|
ARCH="$(uname -m)"
|
|
|
|
fi
|
|
|
|
|
2024-10-11 00:42:17 +02:00
|
|
|
if [ "$MAKE_SYMLINKS" = "true" ]; then
|
|
|
|
# Make an unversioned symlink:
|
|
|
|
rm -f /boot/vmlinuz-${BACKUP_NAME}
|
2024-11-01 22:13:31 +01:00
|
|
|
ln -sf vmlinuz-${KERNEL_VERSION} /boot/vmlinuz-${BACKUP_NAME}
|
2024-10-11 00:42:17 +02:00
|
|
|
fi
|
2024-10-08 20:39:18 +02:00
|
|
|
|
2024-11-01 22:13:31 +01:00
|
|
|
### ACTUALLY, it is better to not include this, since the initrds are
|
|
|
|
### not normally part of some other package that might get removed
|
|
|
|
## If there is an initrd for this kernel version, we will assume that's
|
|
|
|
## the one we should use:
|
|
|
|
#if [ -r /boot/initrd-${KERNEL_VERSION}.img ]; then
|
|
|
|
# INITBLURB="Backed up /boot/initrd-${KERNEL_VERSION}.img."
|
|
|
|
#else
|
|
|
|
# INITBLURB="Not including an initrd because a matching version was not found."
|
|
|
|
#fi
|
2024-10-08 20:39:18 +02:00
|
|
|
|
|
|
|
# OK, an initrd could be made automatically if you don't have one, but that's
|
|
|
|
# not really this script's job. ;-) If you don't already have one, we will
|
|
|
|
# assume that's because you don't use one, and don't want one.
|
|
|
|
#else
|
|
|
|
# # Make an initrd for this:
|
2024-11-01 22:13:31 +01:00
|
|
|
# sh /usr/share/mkinitrd/mkinitrd_command_generator.sh -k ${KERNEL_VERSION} -a "-L -o /boot/initrd-${KERNEL_VERSION}.img" | bash 1> /dev/null 2> /dev/null
|
2024-10-08 20:39:18 +02:00
|
|
|
#fi
|
|
|
|
|
2024-10-11 00:42:17 +02:00
|
|
|
if [ "$MAKE_SYMLINKS" = "true" ]; then
|
2024-11-01 22:13:31 +01:00
|
|
|
# Make an initrd symlink if there is an initrd:
|
|
|
|
if [ -f /boot/initrd-${KERNEL_VERSION}.img ]; then
|
2024-10-11 00:42:17 +02:00
|
|
|
rm -f /boot/initrd-${BACKUP_NAME}.img
|
2024-11-01 22:13:31 +01:00
|
|
|
ln -sf initrd-${KERNEL_VERSION}.img /boot/initrd-${BACKUP_NAME}.img
|
2024-10-11 00:42:17 +02:00
|
|
|
fi
|
2024-10-08 20:39:18 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
# Some shortcuts to avoid redundancy:
|
Mon Oct 28 21:22:48 UTC 2024
a/aaa_libraries-15.1-x86_64-34.txz: Rebuilt.
Upgraded: libcap.so.2.71, libelf-0.192.so, liblzma.so.5.6.3,
libcares.so.2.19.1, libexpat.so.1.9.3, libglib-2.0.so.0.8200.2,
libgmodule-2.0.so.0.8200.2, libgobject-2.0.so.0.8200.2,
libgthread-2.0.so.0.8200.2, libisl.so.23.4.0, libjson-c.so.5.4.0,
libpng16.so.16.44.0, libtiff.so.6.1.0, libtiffxx.so.6.1.0,
libunistring.so.5.2.0.
Removed: libboost_*.so.1.85.0.
Added (temporarily): libicudata.so.74.2, libicui18n.so.74.2,
libicuio.so.74.2, libicutest.so.74.2, libicutu.so.74.2,
libicuuc.so.74.2.
a/mkinitrd-1.4.11-x86_64-41.txz: Rebuilt.
remove-orphaned-initrds: simplify matching - initrd-${FOO}.img is considered
orphaned if there is no vmlinuz-${FOO} (the contents of $FOO are arbitrary).
a/pkgtools-15.1-noarch-15.txz: Rebuilt.
make-kernel-backup: if we are backing up vmlinuz-${FOO}, then also back up
initrd-${FOO}.img if it exists. Don't try to match specific fields.
a/xfsprogs-6.11.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
ap/mpg123-1.32.8-x86_64-1.txz: Upgraded.
ap/sqlite-3.46.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
d/mercurial-6.8.2-x86_64-1.txz: Upgraded.
d/python-pip-24.3.1-x86_64-1.txz: Upgraded.
kde/kdeplasma-addons-5.27.11-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
kde/kdewebkit-5.116.0-x86_64-1.txz: Removed.
Mothing uses this. Obsolete.
kde/konsole-23.08.5-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
kde/plasma-workspace-5.27.11.1-x86_64-3.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/M2Crypto-0.42.0-x86_64-1.txz: Removed.
Nothing in Slackware has needed this since crda was removed, and very little
elsewhere does. Thanks to lucabon.
l/babl-0.1.110-x86_64-1.txz: Upgraded.
l/boost-1.86.0-x86_64-3.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/desktop-file-utils-0.28-x86_64-1.txz: Upgraded.
l/gspell-1.14.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/harfbuzz-10.0.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/icu4c-76.1-x86_64-1.txz: Upgraded.
Shared library .so-version bump.
l/libcap-2.71-x86_64-1.txz: Upgraded.
l/libical-3.0.18-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/libqalculate-5.3.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/liburing-2.8-x86_64-1.txz: Upgraded.
l/libvisio-0.1.8-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/mozjs128-128.3.1esr-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/nodejs-20.18.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/qt5-5.15.15_20241016_9f395e3b-x86_64-1.txz: Upgraded.
Compiled against icu4c-76.1.
l/qt5-webkit-5.212.0_alpha4-x86_64-13.txz: Removed.
Nothing uses this except kdewebkit, and nothing uses that.
Plus it is unmaintained, obsolete, and likely full of holes.
l/qt6-6.7.3_20240920_90e86aee-x86_64-4.txz: Rebuilt.
Recompiled against icu4c-76.1.
l/vte-0.78.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/dovecot-2.3.21.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/netatalk-4.0.3-x86_64-1.txz: Upgraded.
n/php-8.3.13-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/postfix-3.9.0-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/samba-4.21.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
n/tin-2.6.3-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
t/texlive-2024.240409-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
extra/brltty/brltty-6.7-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
extra/sendmail/sendmail-8.18.1-x86_64-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
extra/sendmail/sendmail-cf-8.18.1-noarch-2.txz: Rebuilt.
Recompiled against icu4c-76.1.
2024-10-28 22:22:48 +01:00
|
|
|
PACKAGE_NAME="kernel-${BACKUP_NAME}-$(echo ${KERNEL_VERSION} | tr - _)-${ARCH}-${BUILD}"
|
2024-10-08 20:39:18 +02:00
|
|
|
PACKAGES_ENTRY=/var/lib/pkgtools/packages/${PACKAGE_NAME}
|
|
|
|
SCRIPTS_ENTRY=/var/lib/pkgtools/scripts/${PACKAGE_NAME}
|
|
|
|
|
|
|
|
# Now we need to make a "virtual" package. We'll start with the "pkgtools/packages/" entry:
|
|
|
|
cat << EOF > $PACKAGES_ENTRY
|
|
|
|
PACKAGE NAME: ${PACKAGE_NAME}
|
|
|
|
COMPRESSED PACKAGE SIZE: 93M
|
|
|
|
UNCOMPRESSED PACKAGE SIZE: 444M
|
|
|
|
PACKAGE LOCATION: ./${PACKAGE_NAME}
|
|
|
|
PACKAGE DESCRIPTION:
|
|
|
|
kernel-${BACKUP_NAME}: kernel-${BACKUP_NAME} (backup of ${KERNEL_FILE})
|
|
|
|
kernel-${BACKUP_NAME}:
|
2024-11-01 22:13:31 +01:00
|
|
|
kernel-${BACKUP_NAME}: This is a backup of ${KERNEL_FILE} and modules.
|
|
|
|
kernel-${BACKUP_NAME}:
|
|
|
|
kernel-${BACKUP_NAME}:
|
|
|
|
kernel-${BACKUP_NAME}:
|
|
|
|
kernel-${BACKUP_NAME}:
|
|
|
|
kernel-${BACKUP_NAME}:
|
2024-10-08 20:39:18 +02:00
|
|
|
kernel-${BACKUP_NAME}:
|
|
|
|
kernel-${BACKUP_NAME}:
|
|
|
|
kernel-${BACKUP_NAME}:
|
|
|
|
FILE LIST:
|
|
|
|
./
|
|
|
|
boot/
|
|
|
|
EOF
|
2024-11-01 22:13:31 +01:00
|
|
|
echo boot/vmlinuz-${KERNEL_VERSION} >> $PACKAGES_ENTRY
|
|
|
|
#if [ -f /boot/initrd-${KERNEL_VERSION}.img ]; then
|
|
|
|
# echo boot/initrd-${KERNEL_VERSION}.img >> $PACKAGES_ENTRY
|
|
|
|
#fi
|
2024-10-08 20:39:18 +02:00
|
|
|
echo "lib/" >> $PACKAGES_ENTRY
|
|
|
|
echo "lib/modules/" >> $PACKAGES_ENTRY
|
|
|
|
# First the files:
|
|
|
|
find /lib/modules/${KERNEL_VERSION} -type f | cut -b2- > ${PACKAGES_ENTRY}-tmp
|
|
|
|
# Then the directories:
|
|
|
|
find /lib/modules/${KERNEL_VERSION} -type d | cut -b2- | sed "s|$|/|" >> ${PACKAGES_ENTRY}-tmp
|
|
|
|
cat ${PACKAGES_ENTRY}-tmp | sort >> $PACKAGES_ENTRY
|
|
|
|
rm -f ${PACKAGES_ENTRY}-tmp
|
|
|
|
|
|
|
|
# Finally, store the symlinks in the "pkgtools/scripts/" entry:
|
|
|
|
make_install_script() {
|
|
|
|
TAB="$(echo -e "\t")"
|
|
|
|
COUNT=1
|
|
|
|
while :; do
|
|
|
|
LINE="$(sed -n "$COUNT p" $1)"
|
|
|
|
if [ "$LINE" = "" ]; then
|
|
|
|
break
|
|
|
|
fi
|
|
|
|
LINKGOESIN="$(echo "$LINE" | cut -f 1 -d "$TAB")"
|
|
|
|
LINKGOESIN="$(dirname "$LINKGOESIN")"
|
|
|
|
LINKNAMEIS="$(echo "$LINE" | cut -f 1 -d "$TAB")"
|
|
|
|
LINKNAMEIS="$(basename "$LINKNAMEIS")"
|
|
|
|
LINKPOINTSTO="$(echo "$LINE" | cut -f 2 -d "$TAB")"
|
|
|
|
echo "( cd $LINKGOESIN ; rm -rf $LINKNAMEIS )"
|
|
|
|
echo "( cd $LINKGOESIN ; ln -sf $LINKPOINTSTO $LINKNAMEIS )"
|
|
|
|
COUNT=$(expr $COUNT + 1)
|
|
|
|
done
|
|
|
|
}
|
|
|
|
rm -f ${SCRIPTS_ENTRY}
|
2024-11-01 22:13:31 +01:00
|
|
|
find /boot -type l -name vmlinuz-${BACKUP_NAME} -printf "%p\t%l\n" | cut -b2- | LC_COLLATE=C sort | sed 's,^\./,,; s,[ "#$&\x27()*;<>?[\\`{|~],\\&,g;' | make_install_script >> ${SCRIPTS_ENTRY}
|
|
|
|
find /boot -type l -name initrd-${BACKUP_NAME}.img -printf "%p\t%l\n" | cut -b2- | LC_COLLATE=C sort | sed 's,^\./,,; s,[ "#$&\x27()*;<>?[\\`{|~],\\&,g;' | make_install_script >> ${SCRIPTS_ENTRY}
|
2024-10-08 20:39:18 +02:00
|
|
|
find /lib/modules/${KERNEL_VERSION} -type l -printf "%p\t%l\n" | cut -b2- | LC_COLLATE=C sort | sed 's,^\./,,; s,[ "#$&\x27()*;<>?[\\`{|~],\\&,g;' | make_install_script >> ${SCRIPTS_ENTRY}
|
|
|
|
|
2024-11-01 22:13:31 +01:00
|
|
|
echo "Backed up ${KERNEL_FILE}."
|
2024-10-08 20:39:18 +02:00
|
|
|
echo "Backed up kernel modules in /lib/modules/${KERNEL_VERSION}/"
|
|
|
|
if [ ! -z "$INITBLURB" ]; then
|
|
|
|
echo $INITBLURB
|
|
|
|
fi
|
|
|
|
echo "Installed as package ${PACKAGE_NAME}."
|