Correctly sort kernel FLAVOR in increasing order and VERSION in decreasing.
authorAlkis Georgopoulos <alkisg@gmail.com>
Sat, 29 Nov 2014 15:51:04 +0000 (17:51 +0200)
committerVagrant Cascadian <vagrant@debian.org>
Tue, 31 Mar 2015 23:54:20 +0000 (00:54 +0100)
Gbp-Pq: Topic upstream
Gbp-Pq: Name 0015-Correctly-sort-kernel-FLAVOR-in-increasing-order-and.patch

client/Debian/etc/ltsp/update-kernels.conf
client/Debian/share/ltsp/cleanup.d/50-vmlinuz
client/Ubuntu/etc/ltsp/update-kernels.conf
client/share/ltsp/update-kernels
server/ltsp-update-kernels

index 2ab982aafedda3da8569c97202b7931c8fbd08df..164880ed8748aade3d05adb7f6cec75a2367c70c 100644 (file)
@@ -28,7 +28,7 @@ CMDLINE_NBD="root=/dev/nbd0"
 CMDLINE_AOE="root=/dev/etherd/e0.0"
 
 # A sed expression that matches all kernels and returns $FILE $NAME $VERSION $FLAVOR
-# Example: ls /boot | sed -n "$KERNEL_NAMES" | sort -V -k 4,4  | sort -r -k 3,3
+# Example: ls /boot | sed -n "$KERNEL_NAMES" | sort -k 4,4V -k 3,3rV
 KERNEL_NAMES='s/\(vmlinu[xz]-\)\([^-]*-[^-]*-\)\(.*\)/& \1 \2 \3/p'
 
 # A sed expression that maps from a kernel name to an initrd name
index 3a88d30a5e8024d44cc6ce722ba7dac591f6986f..82fb8188b5a881227f53f0cb2b811cf9ab8fa95b 100644 (file)
@@ -14,7 +14,7 @@ INITRD_NAME=${INITRD_NAME:-'s/vmlinu[xz]/initrd.img/p'}
 
 read file name version flavor <<EOF
 $(find "/boot/" -mindepth 1 -maxdepth 1 -type f -printf "%f\n" |
-    sed -n "$KERNEL_NAMES" | sort -V -k 4,4  | sort -r -k 3,3)
+    sed -n "$KERNEL_NAMES" | sort -k 4,4V -k 3,3rV)
 EOF
 initrd=$(echo "$file" | sed -n "$INITRD_NAME")
 
index 059cd68d744f8cad06c00c41cc2d56a70e0fbf3f..6e3d2f8d1140537fef25d521dfd73fb122847e0d 100644 (file)
@@ -28,7 +28,7 @@ CMDLINE_NBD="root=/dev/nbd0"
 CMDLINE_AOE="root=/dev/etherd/e0.0"
 
 # A sed expression that matches all kernels and returns $FILE $NAME $VERSION $FLAVOR
-# Example: ls /boot | sed -n "$KERNEL_NAMES" | sort -V -k 4,4  | sort -r -k 3,3
+# Example: ls /boot | sed -n "$KERNEL_NAMES" | sort -k 4,4V -k 3,3rV
 KERNEL_NAMES='s/\(vmlinu[xz]-\)\([^-]*-[^-]*-\)\(.*\)/& \1 \2 \3/p'
 
 # A sed expression that maps from a kernel name to an initrd name
index 61e7eae9ddf9608d7e42172f687f5c920887c3ef..96310fb2770db3fb448d1862af19549f17761322 100755 (executable)
@@ -67,7 +67,7 @@ kernel_split() {
                     ;;
             esac
         done
-    done | sed -n "$KERNEL_NAMES" | sort -V -k 4,4  | sort -r -k 3,3
+    done | sed -n "$KERNEL_NAMES" | sort -k 4,4V -k 3,3rV
 
     eval "$orig_flags"
 }
@@ -102,7 +102,7 @@ cmdline_method_default=$(eval echo '$CMDLINE_'$boot_method_default)
 BOOTPROMPT_OPTS="$CMDLINE_LINUX_DEFAULTS $cmdline_method_default"
 
 # A sed expression that matches all kernels and returns $FILE $NAME $VERSION $FLAVOR
-# Example: ls /boot | sed -n "$KERNEL_NAMES" | sort -V -k 4,4  | sort -r -k 3,3
+# Example: ls /boot | sed -n "$KERNEL_NAMES" | sort -k 4,4V -k 3,3rV
 KERNEL_NAMES=${KERNEL_NAMES:-'s/\(vmlinu[xz]-\)\([^-]*-[^-]*-\)\(.*\)/& \1 \2 \3/p'}
 
 if [ -f /usr/lib/yaboot/yaboot ]; then
index 4a71b2b3ab4b48f0249314ed60cf05f39a849d3f..3e081496521dcd9cdd0c4444d0e584f93de844e6 100755 (executable)
@@ -151,7 +151,7 @@ link_kernel_flavors() {
 
     last_flavor=
     find "$tftpname" -mindepth 1 -maxdepth 1 -type f -printf "%f\n" \
-    | sed -n "$KERNEL_NAMES" | sort -V -k 4,4  | sort -r -k 3,3 \
+    | sed -n "$KERNEL_NAMES" | sort -k 4,4V -k 3,3rV \
     | while read file name version flavor; do
         if [ "$flavor" != "$last_flavor" ]; then
             initrd=$(echo "$file" | sed -n "$INITRD_NAME")