From 22643bf37651b7677deb9e06c35d1c1b0c43b883 Mon Sep 17 00:00:00 2001 From: Patrick J Volkerding Date: Sat, 26 Jan 2019 04:15:08 +0000 Subject: Sat Jan 26 04:15:08 UTC 2019 a/mkinitrd-1.4.11-x86_64-11.txz: Rebuilt. setup.01.mkinitrd: revert to the previous command line for mkinitrd_command_generator.sh (the new one fails when called from the installer). --- source/a/mkinitrd/mkinitrd.SlackBuild | 2 +- source/a/mkinitrd/mkinitrd_command_generator.sh | 4 ++ source/a/mkinitrd/setup.01.mkinitrd | 53 +++++++++++++++++----- source/installer/ChangeLog.txt | 8 ++++ .../installer/sources/initrd/usr/lib/setup/SeTEFI | 34 ++++++++------ source/n/gnutls/gnutls.SlackBuild | 2 +- source/x/xdg-utils/xdg-open.no.relative.paths.diff | 15 ++++++ source/x/xdg-utils/xdg-utils.SlackBuild | 5 +- 8 files changed, 94 insertions(+), 29 deletions(-) create mode 100644 source/x/xdg-utils/xdg-open.no.relative.paths.diff (limited to 'source') diff --git a/source/a/mkinitrd/mkinitrd.SlackBuild b/source/a/mkinitrd/mkinitrd.SlackBuild index 38ea9485e..4e298baec 100755 --- a/source/a/mkinitrd/mkinitrd.SlackBuild +++ b/source/a/mkinitrd/mkinitrd.SlackBuild @@ -25,7 +25,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=mkinitrd VERSION=${VERSION:-1.4.11} BB=1.28.3 -BUILD=${BUILD:-9} +BUILD=${BUILD:-11} # Automatically determine the architecture we're building on: if [ -z "$ARCH" ]; then diff --git a/source/a/mkinitrd/mkinitrd_command_generator.sh b/source/a/mkinitrd/mkinitrd_command_generator.sh index d6d0d1a13..df6f24c9c 100644 --- a/source/a/mkinitrd/mkinitrd_command_generator.sh +++ b/source/a/mkinitrd/mkinitrd_command_generator.sh @@ -341,6 +341,10 @@ while [ ! -z "$1" ]; do shift ;; -k) + if [ "$2" = "" ]; then + echo "Error: -k requires a kernel version." + exit 1 + fi KVER=$2 shift 2 ;; diff --git a/source/a/mkinitrd/setup.01.mkinitrd b/source/a/mkinitrd/setup.01.mkinitrd index b8004470e..8bddb5c55 100644 --- a/source/a/mkinitrd/setup.01.mkinitrd +++ b/source/a/mkinitrd/setup.01.mkinitrd @@ -8,31 +8,62 @@ fi # Next, if boot/vmlinuz-generic is a symlink to a kernel, generate a ramdisk # using the modules for that kernel: -if [ -f $(readlink -f boot/vmlinuz-generic) ]; then - KERNEL_SYMLINK="boot/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")" -dialog --title "GENERATING INITIAL RAMDISK" --infobox \ - "Generating an initial ramdisk for use with the $KERNEL_VERSION generic \ + # 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 + 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 fi # If boot/vmlinuz-generic-smp is a symlink to a kernel, also include the # modules for that kernel: -if [ -f $(readlink -f boot/vmlinuz-generic-smp) ]; then - KERNEL_SYMLINK="boot/vmlinuz-generic-smp" +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")" -dialog --title "GENERATING INITIAL RAMDISK" --infobox \ - "Generating an initial ramdisk for use with the $KERNEL_VERSION generic \ + # 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 + 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 fi - diff --git a/source/installer/ChangeLog.txt b/source/installer/ChangeLog.txt index cc14f1412..fa87dcc76 100644 --- a/source/installer/ChangeLog.txt +++ b/source/installer/ChangeLog.txt @@ -1,3 +1,11 @@ +Fri Jan 25 23:06:42 UTC 2019 + Updated the elilo bootloaders in /EFI/BOOT which were older versions + (possibly with the 8MB kernel size limit?) ++--------------------------+ +Thu Jan 24 20:01:25 UTC 2019 + SeTEFI: If the kernel doesn't detect efi, bail. + SeTEFI: Detect EFI partition using lsblk. Thanks to Didier Spaier. ++--------------------------+ Tue Jan 22 22:42:47 UTC 2019 Before running the CONFIGURE section, create bind mounts to /dev, /proc, and /sys. This is useful for chrooting and setting up boot loaders. diff --git a/source/installer/sources/initrd/usr/lib/setup/SeTEFI b/source/installer/sources/initrd/usr/lib/setup/SeTEFI index 35ac5f9fa..bb00d1e52 100755 --- a/source/installer/sources/initrd/usr/lib/setup/SeTEFI +++ b/source/installer/sources/initrd/usr/lib/setup/SeTEFI @@ -4,27 +4,31 @@ T_PX="`cat $TMP/SeTT_PX`" if [ ! -d $TMP ]; then mkdir -p $TMP fi + +# If the kernel does not support EFI, then we shouldn't be trying to mount an +# EFI partition. If we do, probably the only device found with an EFI structure +# will be the installer, which we don't want added to /etc/fstab. +if [ ! -d /sys/firmware/efi ]; then + exit +fi + rm -f $TMP/SeTefipartitions touch $TMP/SeTefipartitions # Scan for EFI partitions: -# We accept at most 10 NVMe controllers, each controlling at most 4 SSDs -for drive in sda sdb sdc sdd sde sdf sdg sdh sdi sdj sdk sdl sdm sdn sdo sdp \ - mmcblk0 mmcblk1 mmcblk2 mmcblk3 mmcblk4 mmcblk5 mmcblk6 mmcblk7 mmcblk8 mmcblk9 \ - nvme0n1 nvme1n1 nvme2n1 nvme3n1 nvme4n1 nvme5n1 nvme6n1 nvme7n1 nvme8n1 nvme9n1 \ - nvme0n2 nvme1n2 nvme2n2 nvme3n2 nvme4n2 nvme5n2 nvme6n2 nvme7n2 nvme8n2 nvme9n2 \ - nvme0n3 nvme1n3 nvme2n3 nvme3n3 nvme4n3 nvme5n3 nvme6n3 nvme7n3 nvme8n3 nvme9n3 \ - nvme0n4 nvme1n4 nvme2n4 nvme3n4 nvme4n4 nvme5n4 nvme6n4 nvme7n4 nvme8n4 nvme9n4 ; do - gdisk -l /dev/$drive 2> /dev/null | grep -w EF00 | while read efisp ; do - p="" - echo $drive| grep -q nvme && p="p" - echo /dev/$drive$p$(expr $(echo "$efisp" | cut -b 1-4)) >> $TMP/SeTefipartitions - done -done +# The UEFI specification states that an EFI System partition should have +# a GUID of C12A7328-F81F-11D2-BA4B-00A0C93EC93B for a GPT disk layout. +# In case of a MBR disk layout instead, an ESP should have an OS type of +# 0xEF. lsblk writes these values in the same field: PARTTYPE. +ESPGUID=C12A7328-F81F-11D2-BA4B-00A0C93EC93B +OSTYPE=0xEF +lsblk -l -o parttype,name | \ +grep -i -F -e "$ESPGUID" -e "$OSTYPE" | \ +sed "s,[^ ]* ,/dev/," > $TMP/SeTefipartitions -if [ "$(cat $TMP/SeTefipartitions)" = "" ]; then # No EFI partitions +if [ ! -s $TMP/SeTefipartitions ]; then # No EFI partitions rm -f $TMP/SeTefipartitions - exit + exit fi # Initially, we will just take the first EFI partition found, which diff --git a/source/n/gnutls/gnutls.SlackBuild b/source/n/gnutls/gnutls.SlackBuild index 40e523c25..2a87b9698 100755 --- a/source/n/gnutls/gnutls.SlackBuild +++ b/source/n/gnutls/gnutls.SlackBuild @@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd) PKGNAM=gnutls VERSION=${VERSION:-$(echo gnutls-*.tar.xz | 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 diff --git a/source/x/xdg-utils/xdg-open.no.relative.paths.diff b/source/x/xdg-utils/xdg-open.no.relative.paths.diff new file mode 100644 index 000000000..f28308eeb --- /dev/null +++ b/source/x/xdg-utils/xdg-open.no.relative.paths.diff @@ -0,0 +1,15 @@ +--- ./scripts/xdg-open.in.orig 2018-05-10 10:02:31.000000000 -0500 ++++ ./scripts/xdg-open.in 2019-01-25 13:01:17.492733618 -0600 +@@ -453,12 +453,6 @@ + # pcmanfm only knows how to handle file:// urls and filepaths, it seems. + if pcmanfm --help >/dev/null 2>&1 -a is_file_url_or_path "$1"; then + local file="$(file_url_to_path "$1")" +- +- # handle relative paths +- if ! echo "$file" | grep -q ^/; then +- file="$(pwd)/$file" +- fi +- + pcmanfm "$file" + else + open_generic "$1" diff --git a/source/x/xdg-utils/xdg-utils.SlackBuild b/source/x/xdg-utils/xdg-utils.SlackBuild index c15d398ec..060fbb536 100755 --- a/source/x/xdg-utils/xdg-utils.SlackBuild +++ b/source/x/xdg-utils/xdg-utils.SlackBuild @@ -30,7 +30,7 @@ PKGNAM=xdg-utils VERSION=1.1.3 PKG_VERSION=${VERSION/-/_} ARCH=noarch -BUILD=${BUILD:-1} +BUILD=${BUILD:-2} # 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 @@ -54,6 +54,9 @@ rm -rf $PKGNAM-$VERSION tar xvf $CWD/$PKGNAM-$VERSION.tar.?z || exit 1 cd $PKGNAM-$VERSION || exit 1 +# Fix xdg-open usage in LXDE: +zcat $CWD/xdg-open.no.relative.paths.diff.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 \) \ -- cgit v1.2.3