From 3b234388a5f545f071422864e1a274ba45a696a0 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Sun, 3 Mar 2019 22:03:39 +0000 Subject: Sun Mar 3 22:03:39 UTC 2019 a/mkinitrd-1.4.11-x86_64-12.txz: Rebuilt. Updated to busybox-1.30.1. mkinitrd: allow a colon-delimited list of kernel versions with -k mkinitrd_command_generator.sh: allow a colon-delimited list of kernel versions with -k setup.01.mkinitrd: simplify script by using -k with a version list ap/pamixer-1.4-x86_64-1.txz: Upgraded. d/python-2.7.16-x86_64-1.txz: Upgraded. Updated to the latest 2.7.x release, which fixes a few security issues. For more information, see: https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-1752 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-14647 https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-5010 (* Security fix *) d/vala-0.42.6-x86_64-1.txz: Upgraded. l/gegl-0.4.14-x86_64-1.txz: Upgraded. l/libsecret-0.18.8-x86_64-1.txz: Upgraded. l/xapian-core-1.4.11-x86_64-1.txz: Upgraded. x/mkfontscale-1.2.0-x86_64-1.txz: Upgraded. x/xditview-1.0.5-x86_64-1.txz: Upgraded. x/xdm-1.1.12-x86_64-1.txz: Upgraded. --- source/a/mkinitrd/setup.01.mkinitrd | 76 +++++++++++-------------------------- 1 file changed, 22 insertions(+), 54 deletions(-) (limited to 'source/a/mkinitrd/setup.01.mkinitrd') diff --git a/source/a/mkinitrd/setup.01.mkinitrd b/source/a/mkinitrd/setup.01.mkinitrd index 8bddb5c55..31e871447 100644 --- a/source/a/mkinitrd/setup.01.mkinitrd +++ b/source/a/mkinitrd/setup.01.mkinitrd @@ -1,69 +1,37 @@ #!/bin/sh #BLURB="Generate /boot/initrd.gz for the generic kernel" -# First, clear the existing initrd-tree: -if [ -f $(readlink -f boot/vmlinuz-generic) -o -f $(readlink -f boot/vmlinuz-generic-smp) ]; then - rm -rf boot/initrd-tree +# 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' ') fi -# Next, if boot/vmlinuz-generic is a symlink to a kernel, generate a ramdisk -# using the modules for that kernel: +# Next add the version for vmlinuz-generic: KERNEL_SYMLINK="boot/vmlinuz-generic" if [ -L $KERNEL_SYMLINK ]; then - KERNEL_VERSION="$(readlink -f $KERNEL_SYMLINK | sed "s/-smp/_smp/g" | rev | cut -f 1 -d - | rev | sed "s/_smp/-smp/g")" - # Sanity check. Not sure how/why, but there are reports we can arrive here - # without a $KERNEL_VERSION. The only way I see how is if the symlink were - # pointing to file with a malformed name - # (i.e. not ${KERNEL_SYMLINK}-${KERNEL_VERSION}). - # If ${KERNEL_VERSION} is blank, we'll bail out here. - # Any information on known cases that might cause this would be appreciated. - if [ ! "$KERNEL_VERSION" = "" ]; then - dialog --title "GENERATING INITIAL RAMDISK" --infobox \ - "Generating an initial ramdisk for use with the $KERNEL_VERSION generic \ -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 \ -kernel pointed to by the /$KERNEL_SYMLINK symlink." 9 68 - chroot . /usr/share/mkinitrd/mkinitrd_command_generator.sh -k $KERNEL_VERSION | sed "s/-c -k/-k/g" | chroot . bash 1> /dev/null 2> /dev/null + if [ -z $KERNEL_VERSION_LIST ]; then + KERNEL_VERSION_LIST=$(strings $KERNEL_SYMLINK | grep '([^ ]*@[^ ]*) #' | cut -f1 -d' ') else - dialog --title "INTERNAL ERROR" --msgbox \ - "An internal error was detected. Please report the following information: \n\ -KERNEL_SYMLINK = $KERNEL_SYMLINK \n\ -KERNEL_SYMLINK (points to) = $(readlink -f $KERNEL_SYMLINK) \n\ -KERNEL_VERSION (is blank) \n\ -ls -l \$KERNEL_SYMLINK: \n\ -$(ls -l $KERNEL_SYMLINK)" 0 0 + KERNEL_VERSION_LIST="$KERNEL_VERSION_LIST:$(strings $KERNEL_SYMLINK | grep '([^ ]*@[^ ]*) #' | cut -f1 -d' ')" fi fi -# If boot/vmlinuz-generic-smp is a symlink to a kernel, also include the -# modules for that kernel: -KERNEL_SYMLINK="boot/vmlinuz-generic-smp" -if [ -L $KERNEL_SYMLINK ]; then - KERNEL_VERSION="$(readlink -f $KERNEL_SYMLINK | sed "s/-smp/_smp/g" | rev | cut -f 1 -d - | rev | sed "s/_smp/-smp/g")" - # Sanity check. Not sure how/why, but there are reports we can arrive here - # without a $KERNEL_VERSION. The only way I see how is if the symlink were - # pointing to file with a malformed name - # (i.e. not ${KERNEL_SYMLINK}-${KERNEL_VERSION}). - # If ${KERNEL_VERSION} is blank, we'll bail out here. - # Any information on known cases that might cause this would be appreciated. - if [ ! "$KERNEL_VERSION" = "" ]; then - dialog --title "GENERATING INITIAL RAMDISK" --infobox \ - "Generating an initial ramdisk for use with the $KERNEL_VERSION generic \ -kernel. The initial ramdisk contains kernel modules needed to mount the \ +# Proper plural(s): +if echo $KERNEL_VERSION_LIST | grep -q : ; then + KERNEL=kernels +else + KERNEL=kernel +fi + +# 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 \ 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 \ -kernel pointed to by the /$KERNEL_SYMLINK symlink." 9 68 - chroot . /usr/share/mkinitrd/mkinitrd_command_generator.sh -k $KERNEL_VERSION | sed "s/-c -k/-k/g" | chroot . bash 1> /dev/null 2> /dev/null - else - dialog --title "INTERNAL ERROR" --msgbox \ - "An internal error was detected. Please report the following information: \n\ -KERNEL_SYMLINK = $KERNEL_SYMLINK \n\ -KERNEL_SYMLINK (points to) = $(readlink -f $KERNEL_SYMLINK) \n\ -KERNEL_VERSION (is blank) \n\ -ls -l \$KERNEL_SYMLINK: \n\ -$(ls -l $KERNEL_SYMLINK)" 0 0 - fi +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 fi -- cgit v1.2.3-79-gdb01