summaryrefslogtreecommitdiff
path: root/source
diff options
context:
space:
mode:
authorPatrick J Volkerding <volkerdi@slackware.com>2019-01-26 04:15:08 +0000
committerEric Hameleers <alien@slackware.com>2019-01-26 08:59:46 +0100
commit22643bf37651b7677deb9e06c35d1c1b0c43b883 (patch)
treed01a458de09d6987e6c62d4485e4fe4e0e9a9d23 /source
parent7ad185bd2d8fe579a2a8f288a911298e9b022c39 (diff)
downloadcurrent-22643bf37651b7677deb9e06c35d1c1b0c43b883.tar.gz
Sat Jan 26 04:15:08 UTC 201920190126041508
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).
Diffstat (limited to 'source')
-rwxr-xr-xsource/a/mkinitrd/mkinitrd.SlackBuild2
-rw-r--r--source/a/mkinitrd/mkinitrd_command_generator.sh4
-rw-r--r--source/a/mkinitrd/setup.01.mkinitrd53
-rw-r--r--source/installer/ChangeLog.txt8
-rwxr-xr-xsource/installer/sources/initrd/usr/lib/setup/SeTEFI34
-rwxr-xr-xsource/n/gnutls/gnutls.SlackBuild2
-rw-r--r--source/x/xdg-utils/xdg-open.no.relative.paths.diff15
-rwxr-xr-xsource/x/xdg-utils/xdg-utils.SlackBuild5
8 files changed, 94 insertions, 29 deletions
diff --git a/source/a/mkinitrd/mkinitrd.SlackBuild b/source/a/mkinitrd/mkinitrd.SlackBuild
index 38ea9485..4e298bae 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 d6d0d1a1..df6f24c9 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 b8004470..8bddb5c5 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 cc14f141..fa87dcc7 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 35ac5f9f..bb00d1e5 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 40e523c2..2a87b969 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 00000000..f28308ee
--- /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 c15d398e..060fbb53 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 \) \