diff options
author | Ben Kohler <bkohler@gentoo.org> | 2022-07-19 09:17:31 -0500 |
---|---|---|
committer | Ben Kohler <bkohler@gentoo.org> | 2022-07-19 09:18:06 -0500 |
commit | 533ed0623394154814d9414ec23b16cd42dfc0eb (patch) | |
tree | c330b4b77b71f3256d3c47bfc6ad98cc756a9415 /sys-boot | |
parent | sys-boot/os-prober: add 1.81 (diff) | |
download | gentoo-533ed0623394154814d9414ec23b16cd42dfc0eb.tar.gz gentoo-533ed0623394154814d9414ec23b16cd42dfc0eb.tar.bz2 gentoo-533ed0623394154814d9414ec23b16cd42dfc0eb.zip |
sys-boot/os-prober: drop 1.78-r1, 1.79-r1, 1.79-r2
Signed-off-by: Ben Kohler <bkohler@gentoo.org>
Diffstat (limited to 'sys-boot')
-rw-r--r-- | sys-boot/os-prober/Manifest | 2 | ||||
-rw-r--r-- | sys-boot/os-prober/files/os-prober-1.76-exherbo.patch | 26 | ||||
-rw-r--r-- | sys-boot/os-prober/files/os-prober-1.78-btrfsfix.patch | 474 | ||||
-rw-r--r-- | sys-boot/os-prober/files/os-prober-1.79-detect-void.patch | 20 | ||||
-rw-r--r-- | sys-boot/os-prober/files/os-prober-1.79-handle-multiple-initrd-paths.patch | 36 | ||||
-rw-r--r-- | sys-boot/os-prober/files/os-prober-1.79-ntfs3.patch | 26 | ||||
-rw-r--r-- | sys-boot/os-prober/os-prober-1.78-r1.ebuild | 94 | ||||
-rw-r--r-- | sys-boot/os-prober/os-prober-1.79-r1.ebuild | 105 | ||||
-rw-r--r-- | sys-boot/os-prober/os-prober-1.79-r2.ebuild | 105 |
9 files changed, 0 insertions, 888 deletions
diff --git a/sys-boot/os-prober/Manifest b/sys-boot/os-prober/Manifest index d886680c87d3..83a974b2e30d 100644 --- a/sys-boot/os-prober/Manifest +++ b/sys-boot/os-prober/Manifest @@ -1,4 +1,2 @@ -DIST os-prober_1.78.tar.xz 26848 BLAKE2B eee68ab9be36807d86e8bda831cfd490a01d20d9cc3f84ca50d5e1143e5a2dd66e47d3bdf2b4780cf73cc692f0ffc9497c6cbf13ce7aa0057e996b13d706c8f7 SHA512 7a0425130d17ce8554e7d0797b53e3a984f63a2fdcf8e668c83d357418d8c68259ada25bc350b199adece2e683d9014f234e3a83ce5ab7485be2e69c45874640 -DIST os-prober_1.79.tar.xz 27028 BLAKE2B b3efacce9d7fce3708f5ec727a219e872e8d1de6dea15540cfbc0a0e8372c1033098230d3ddb9066fb5474d44e5584ee28631e0e5ab981e8fb1dc29ee3cbd89d SHA512 89b827b9b90a1d3bc11e0090ec04d808502cc1883ab10997b6d9edbe6005dcf8a0acdd7d200102c9dccde56297bda6087d68fb6dec419f0920090c2655c9c7d8 DIST os-prober_1.80.tar.xz 27400 BLAKE2B 56883c7d3f4c5dde2904cffc77fdf6a2c1caf230f9e84197e8d976e446815838448bb42afd18d4c9526efac9907db3d2e77c6f54889011d2d03d284a44ff4cbd SHA512 51b4fefb784d5ecf34f5148157ef233e2979c4a679a54600144be473bb6ccaf263c9121701a1ecc7523c7e3bfc439a4e3a92a5eb92431ead99cbe666b0f0e6f5 DIST os-prober_1.81.tar.xz 27448 BLAKE2B 0159870612d265c5e610e093a8839129aa9dc111a6f3abee65a6044b4c997ba65a69f70deca246bde53c1cf5314812312178e82c0893093d9f23ced3b0176f9d SHA512 ffb0e618f9e58a7a8e4a265d253bad4e168c220697216684acb38dbfa20680e552eb7c5f3d2186cd750c61a8929bf152527aa85c39318ed8b025a4ffffadde50 diff --git a/sys-boot/os-prober/files/os-prober-1.76-exherbo.patch b/sys-boot/os-prober/files/os-prober-1.76-exherbo.patch deleted file mode 100644 index 6ef83dca223f..000000000000 --- a/sys-boot/os-prober/files/os-prober-1.76-exherbo.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 09fefdb360b69c2de03a2f1c881db87f924d3c76 Mon Sep 17 00:00:00 2001 -From: Timo Gurr <timo.gurr@gmail.com> -Date: Mon, 20 Feb 2017 17:33:14 +0100 -Subject: [PATCH] Add Exherbo Linux detection - ---- - os-probes/mounted/common/90linux-distro | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/os-probes/mounted/common/90linux-distro b/os-probes/mounted/common/90linux-distro -index badfbb1..41a5553 100755 ---- a/os-probes/mounted/common/90linux-distro -+++ b/os-probes/mounted/common/90linux-distro -@@ -137,6 +137,9 @@ if (ls "$dir"/lib*/ld*.so* && [ -d "$dir/boot" ] || ls "$dir"/usr/lib*/ld*.so*) - elif [ -e "$dir/etc/devuan_version" ]; then - short="Devuan" - long="$(printf "Devuan GNU/Linux (%s)\n" "$(cat "$dir/etc/devuan_version")")" -+ elif [ -e "$dir/etc/exherbo-release" ]; then -+ short="Exherbo" -+ long="Exherbo Linux" - else - short="Linux" - long="unknown Linux distribution" --- -2.11.1 - diff --git a/sys-boot/os-prober/files/os-prober-1.78-btrfsfix.patch b/sys-boot/os-prober/files/os-prober-1.78-btrfsfix.patch deleted file mode 100644 index 5a74285dc73f..000000000000 --- a/sys-boot/os-prober/files/os-prober-1.78-btrfsfix.patch +++ /dev/null @@ -1,474 +0,0 @@ -Bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=688336 - -diff --git a/common.sh b/common.sh -index c2c5f46..8fb3c5f 100644 ---- a/common.sh -+++ b/common.sh -@@ -155,6 +155,7 @@ parse_proc_mounts () { - done - } - -+# add forth parameter to pickup btrfs subvol info - parsefstab () { - while read -r line; do - case "$line" in -@@ -165,12 +166,22 @@ parsefstab () { - set -f - set -- $line - set +f -- printf '%s %s %s\n' "$1" "$2" "$3" -+ printf '%s %s %s %s\n' "$1" "$2" "$3" "$4" - ;; - esac - done - } - -+#check_btrfs_mounted $bootsv $bootuuid) -+check_btrfs_mounted () { -+ bootsv="$1" -+ bootuuid="$2" -+ bootdev=$(blkid | grep "$bootuuid" | cut -d ':' -f 1) -+ bindfrom=$(grep " btrfs " /proc/self/mountinfo | -+ grep " $bootdev " | grep " /$bootsv " | cut -d ' ' -f 5) -+ printf "%s" "$bindfrom" -+} -+ - unescape_mount () { - printf %s "$1" | \ - sed 's/\\011/ /g; s/\\012/\n/g; s/\\040/ /g; s/\\134/\\/g' -diff --git a/linux-boot-prober b/linux-boot-prober -index e32dc84..2a60fa2 100755 ---- a/linux-boot-prober -+++ b/linux-boot-prober -@@ -5,16 +5,143 @@ set -e - - newns "$@" - require_tmpdir -+ERR="n" -+ -+tmpmnt=/var/lib/os-prober/mount -+if [ ! -d "$tmpmnt" ]; then -+ mkdir "$tmpmnt" -+fi -+ -+mounted= -+bootmnt= -+bootsv= -+bootuuid= - - grep "^/dev/" /proc/mounts | parse_proc_mounts >"$OS_PROBER_TMP/mounted-map" || true - --partition="$1" -+if [ -z "$1" ]; then -+ ERR=y -+elif [ "$1" = btrfs -a -z "$2" ]; then -+ ERR=y -+elif [ "$1" = btrfs -a -z "$3" ]; then -+ ERR=y -+elif [ "$1" = btrfs ]; then -+ type=btrfs -+ echo "$2" | grep -q "^UUID=" || ERR=y -+ echo "$3" | grep -q "^subvol=" || ERR=y -+ export "$2" -+ export "$3" -+ partition=$(blkid | grep "$UUID" | cut -d ':' -f 1 | tr '\n' ' ' | cut -d ' ' -f 1) -+ debug "btrfs: partition=$partition, UUID=$UUID, subvol=$subvol" -+else -+ partition="$1" -+ type=other -+fi - --if [ -z "$partition" ]; then -+if [ "x$ERR" != xn ]; then - echo "usage: linux-boot-prober partition" >&2 -+ echo " linux-boot-prober btrfs UUID=<> subvol=<>" >&2 - exit 1 - fi - -+if [ "$type" = btrfs ]; then -+ # handle all of the btrfs stuff here -+ if [ ! -e "/proc/self/mountinfo" ]; then -+ warn "/proc/self/mountinfo does not exist, exiting" -+ umount "$tmpmnt" 2>/dev/null -+ rmdir "$tmpmnt" 2>/dev/null -+ exit 1 -+ fi -+ mpoint=$(grep "btrfs" /proc/self/mountinfo | grep " /$subvol " | grep " $partition " | cut -d ' ' -f 5) -+ if [ "$mpoint" = "/" ]; then -+ warn "specifying active root not valid, exiting" -+ umount "$tmpmnt" 2>/dev/null -+ rmdir "$tmpmnt" 2>/dev/null -+ exit 1 -+ fi -+ if [ "$mpoint" = "$tmpmnt" ]; then -+ warn "btrfs subvol=$subvool, UUID=$UUID, already mounted on $tmpmnt **ERROR**" -+ umount "$tmpmnt" 2>/dev/null -+ rmdir "$tmpmnt" 2>/dev/null -+ exit 1 -+ fi -+ if [ -z "$mpoint" ]; then -+ # mount the btrfs root -+ if ! mount -o subvol=$subvol -t btrfs -U $UUID "$tmpmnt" 2>/dev/null; then -+ warn "error mounting btrfs subvol=$subvol UUID=$UUID" -+ umount "$tmpmnt/boot" 2>/dev/null -+ umount "$tmpmnt" 2>/dev/null -+ rmdir "$tmpmnt" 2>/dev/null -+ exit 1 -+ fi -+ else -+ # bind-mount -+ if ! mount -o bind "$mpoint" "$tmpmnt" 2>/dev/null; then -+ warn "error mounting btrfs bindfrom=$mpoint subvol=$subvol UUID=$UUID" -+ umount "$tmpmnt/boot" 2>/dev/null -+ umount "$tmpmnt" 2>/dev/null -+ rmdir "$tmpmnt" 2>/dev/null -+ exit 1 -+ fi -+ fi -+ debug "mounted btrfs $partition, subvol=$subvol on $tmpmnt" -+ if [ ! -e "$tmpmnt/etc/fstab" ]; then -+ warn "btrfs subvol=$subvol not root" -+ umount "$tmpmnt" 2>/dev/null -+ rmdir "$tmpmnt" 2>/dev/null -+ exit 1 -+ fi -+ bootmnt=$(parsefstab < "$tmpmnt/etc/fstab" | grep " /boot ") || true -+ if [ -z "$bootmnt" ]; then -+ # /boot is part of the root -+ bootpart="$partition" -+ bootsv="$subvol" -+ elif echo "$bootmnt" | cut -d ' ' -f 3 | grep -q "btrfs"; then -+ # separate btrfs /boot subvolume -+ bootsv=$(echo "$bootmnt" | cut -d ' ' -f 4 | grep "^subvol=" | sed "s/subvol=//" ) -+ bootuuid=$(echo "$bootmnt" | cut -d ' ' -f 1 | grep "^UUID=" | sed "s/UUID=//" ) -+ debug "mounting btrfs $tmpmnt/boot UUID=$bootuuid subvol=$bootsv" -+ bindfrom=$(check_btrfs_mounted $bootsv $bootuuid) -+ if [ -n "$bindfrom" ]; then -+ # already mounted some place -+ if ! mount -o bind $bindfrom "$tmpmnt/boot" 2>/dev/null; then -+ warn "error bind mounting btrfs boot subvol=$bootsv, from=$bindfrom" -+ umount "$tmpmnt/boot" 2>/dev/null -+ umount "$tmpmnt" 2>/dev/null -+ rmdir "$tmpmnt" 2>/dev/null -+ exit 1 -+ fi -+ elif ! mount -o subvol=$bootsv -t btrfs -U $bootuuid "$tmpmnt/boot" 2>/dev/null; then -+ warn "error mounting btrfs boot partition subvol=$bootsv, UUID=$bootuuid" -+ umount "$tmpmnt/boot" 2>/dev/null -+ umount "$tmpmnt" 2>/dev/null -+ rmdir "$tmpmnt" 2>/dev/null -+ exit 1 -+ fi -+ bootpart=$(grep " btrfs " /proc/self/mountinfo | grep " /$bootsv " | cut -d ' ' -f 10) -+ else -+ # non-btrfs partition or logical volume -+ linux_mount_boot $partition $tmpmnt -+ bootpart="${mountboot%% *}" -+ bootsv= -+ fi -+ -+ test="/usr/lib/linux-boot-probes/mounted/40grub2" -+ if [ -f $test ] && [ -x $test ]; then -+ debug "running $test $partition $bootpart $tmpmnt $type $subvol $bootsv" -+ if $test "$partition" "$bootpart" "$tmpmnt" "$type" "$subvol" "$bootsv"; then -+ debug "$test succeeded" -+ fi -+ fi -+ umount "$tmpmnt/boot" 2>/dev/null || true -+ if ! umount "$tmpmnt" 2>/dev/null; then -+ warn "problem umount $tmpmnt" -+ fi -+ rmdir "$tmpmnt" 2>/dev/null || true -+ -+ exit 0 -+fi -+ - if ! mapped="$(mapdevfs "$partition")"; then - log "Device '$partition' does not exist; skipping" - continue -@@ -22,8 +149,8 @@ fi - - if ! grep -q "^$mapped " "$OS_PROBER_TMP/mounted-map"; then - for test in /usr/lib/linux-boot-probes/*; do -- debug "running $test" - if [ -x $test ] && [ -f $test ]; then -+ debug "running $test" - if $test "$partition"; then - debug "linux detected by $test" - break -diff --git a/linux-boot-probes/mounted/common/40grub2 b/linux-boot-probes/mounted/common/40grub2 -index 885614e..db5cbfd 100755 ---- a/linux-boot-probes/mounted/common/40grub2 -+++ b/linux-boot-probes/mounted/common/40grub2 -@@ -2,17 +2,30 @@ - . /usr/share/os-prober/common.sh - set -e - -+# add support for btrfs with no separate /boot -+# that is, rootsv = bootsv - partition="$1" - bootpart="$2" - mpoint="$3" - type="$4" -+rootsv="$5" -+bootsv="$6" - - found_item=0 - - entry_result () { -+ if [ "x$type" = "xbtrfs" -a "$partition" = "$bootpart" ]; then -+ # trim off the leading subvol -+ kernelfile=$(echo "$kernel" | cut -d '/' -f 2- | cut -d '/' -f 2-) -+ if [ "x$rootsv" != "x$bootsv" ]; then -+ kernelfile="/boot/$kernelfile" -+ fi -+ else -+ kernelfile=$kernel -+ fi - if [ "$ignore_item" = 0 ] && \ - [ -n "$kernel" ] && \ -- [ -e "$mpoint/$kernel" ]; then -+ [ -e "$mpoint/$kernelfile" ]; then - result "$rootpart:$bootpart:$title:$kernel:$initrd:$parameters" - found_item=1 - fi -diff --git a/os-prober b/os-prober -index 8852887..482c3c2 100755 ---- a/os-prober -+++ b/os-prober -@@ -76,9 +76,12 @@ partitions () { - - # Also detect OSes on LVM volumes (assumes LVM is active) - if type lvs >/dev/null 2>&1; then -- echo "$(LVM_SUPPRESS_FD_WARNINGS=1 log_output lvs --noheadings --separator : -o vg_name,lv_name | -+ echo "$(LVM_SUPPRESS_FD_WARNINGS=1 log_output lvs --noheadings --separator : -o vg_name,lv_name 2>/dev/null | - sed "s|-|--|g;s|^[[:space:]]*\(.*\):\(.*\)$|/dev/mapper/\1-\2|")" - fi -+ -+ # now lets make sure we got all of the btrfs partitions and disks -+ blkid | grep 'TYPE="btrfs"' | cut -d ':' -f 1 - } - - parse_proc_swaps () { -@@ -136,6 +139,8 @@ if [ -f /proc/mdstat ] ; then - grep "^md" /proc/mdstat | cut -d: -f2- | parse_proc_mdstat >"$OS_PROBER_TMP/raided-map" || true - fi - -+: >"$OS_PROBER_TMP/btrfs-vols" -+ - for partition in $(partitions); do - if ! mapped="$(mapdevfs "$partition")"; then - log "Device '$partition' does not exist; skipping" -@@ -154,7 +159,26 @@ for partition in $(partitions); do - continue - fi - -- if ! grep -q "^$mapped " "$OS_PROBER_TMP/mounted-map" ; then -+ # do btrfs processing here; both mounted and unmounted will -+ # be handled by 50mounted-tests so we can do a subvol only once. -+ type=$(blkid -o value -s TYPE $mapped || true) -+ if [ "$type" = btrfs ]; then -+ uuid=$(blkid -o value -s UUID $mapped) -+ if grep -q "^$uuid" "$OS_PROBER_TMP/btrfs-vols" ; then -+ continue -+ fi -+ debug "btrfs volume uuid=$uuid partition=$partition" -+ echo "$uuid" >>"$OS_PROBER_TMP/btrfs-vols" -+ test="/usr/lib/os-probes/50mounted-tests" -+ if [ -f "$test" ] && [ -x "$test" ]; then -+ debug "running $test on btrfs $partition" -+ if "$test" btrfs "$uuid" "$partition"; then -+ debug "os detected by $test" -+ continue -+ fi -+ fi -+ -+ elif ! grep -q "^$mapped " "$OS_PROBER_TMP/mounted-map" ; then - for test in /usr/lib/os-probes/*; do - if [ -f "$test" ] && [ -x "$test" ]; then - debug "running $test on $partition" -diff --git a/os-probes/common/50mounted-tests b/os-probes/common/50mounted-tests -index 2951ef9..e33eb82 100755 ---- a/os-probes/common/50mounted-tests -+++ b/os-probes/common/50mounted-tests -@@ -19,19 +19,31 @@ do_unmount() { - rmdir "$tmpmnt" || true - } - --types="$(fs_type "$partition")" -+if [ "x$1" = xbtrfs ]; then -+ types=btrfs -+ if [ -z "$2" -o -z "$3" ]; then -+ debug "missing btrfs parameters, exiting" -+ exit 1 -+ fi -+ UUID="$2" -+ BTRFSDEV="$3" -+else -+ partition="$1" -+ types="$(fs_type "$partition")" || types=NOT-DETECTED -+fi -+ - if [ "$types" = NOT-DETECTED ]; then - debug "$1 type not recognised; skipping" -- exit 0 -+ exit 1 - elif [ "$types" = swap ]; then - debug "$1 is a swap partition; skipping" -- exit 0 -+ exit 1 - elif [ "$types" = crypto_LUKS ]; then - debug "$1 is a LUKS partition; skipping" -- exit 0 -+ exit 1 - elif [ "$types" = LVM2_member ]; then - debug "$1 is an LVM member; skipping" -- exit 0 -+ exit 1 - elif [ "$types" = ntfs ]; then - if type ntfs-3g >/dev/null 2>&1; then - types='ntfs-3g ntfs' -@@ -40,7 +52,7 @@ elif [ -z "$types" ]; then - if type cryptsetup >/dev/null 2>&1 && \ - cryptsetup luksDump "$partition" >/dev/null 2>&1; then - debug "$1 is a LUKS partition; skipping" -- exit 0 -+ exit 1 - fi - for type in $(grep -v nodev /proc/filesystems); do - # hfsplus filesystems are mountable as hfs. Try hfs last so -@@ -63,6 +75,108 @@ if [ ! -d "$tmpmnt" ]; then - fi - - mounted= -+ -+# all btrfs processing here. Handle both unmounted and -+# mounted subvolumes. -+if [ "$types" = btrfs ]; then -+ partition="$BTRFSDEV" -+ debug "begin btrfs processing for $UUID" -+ # note that the btrfs volume must not be mounted ro -+ if mount -t btrfs -U "$UUID" "$tmpmnt" 2>/dev/null; then -+ debug "btrfs volume $UUID mounted" -+ else -+ warn "cannot mount btrfs volume $UUID, exiting" -+ rmdir "$tmpmnt" || true -+ exit 1 -+ fi -+ # besides regular subvols, get ro and snapshot so thet can be excluded -+ subvols=$(btrfs subvolume list "$tmpmnt" | cut -d ' ' -f 9) -+ rosubvols=$(btrfs subvolume list -r "$tmpmnt" | cut -d ' ' -f 9) -+ sssubvols=$(btrfs subvolume list -s "$tmpmnt" | cut -d ' ' -f 14) -+ if ! umount "$tmpmnt"; then -+ warn "failed to umount btrfs volume on $tmpmnt" -+ rmdir "$tmpmnt" || true -+ exit 1 -+ fi -+ -+ found= -+ mounted= -+ -+ mpoint="$(grep btrfs /proc/self/mountinfo | grep "$partition " | cut -d ' ' -f 5)" -+ if [ -n "$mpoint" -a "x$mpoint" = "x/" ]; then -+ debug "This is the root for the running system" #running system must be done elsewhere -+ else -+ #partition was not root of running system, so lets look for bootable subvols -+ if [ -n "$mpoint" ] ; then -+ mounted=1 #partition was already mounted,so lets not unmount it when done -+ else -+ # again, do not mount btrfs ro -+ mount -t btrfs -U "$UUID" "$tmpmnt" -+ mpoint="$tmpmnt" -+ fi -+ -+ test="/usr/libexec/os-probes/mounted/90linux-distro" -+ if [ -f "$test" ] && [ -x "$test" ]; then -+ debug "running subtest $test" -+ if "$test" "$partition" "$mpoint" btrfs "UUID=$UUID"; then -+ debug "os found by subtest $test on $partition" -+ found=1 -+ fi -+ fi -+ if [ -z "$mounted" ]; then -+ if ! umount "$tmpmnt"; then -+ warn "failed to umount $tmpmnt" -+ fi -+ fi -+ fi -+ -+ if [ -z "$subvols" ]; then -+ debug "no subvols found on btrfs volume $UUID" -+ else -+ found= -+ for subvol in $subvols; do -+ debug "begin btrfs processing for $UUID subvol=$subvol" -+ if echo "$rosubvols" | grep -q -x "$subvol"; then -+ continue -+ fi -+ if echo "$sssubvols" | grep -q -x "$subvol"; then -+ continue -+ fi -+ mounted= -+ mpoint="$(grep btrfs /proc/self/mountinfo | grep "$partition " | grep "/$subvol " | cut -d ' ' -f 5)" -+ if [ -n "$mpoint" ]; then -+ if [ "x$mpoint" = "x/" ]; then -+ continue # this is the root for the running system -+ fi -+ mounted=1 -+ else -+ # again, do not mount btrfs ro -+ mount -t btrfs -o subvol="$subvol" -U "$UUID" "$tmpmnt" -+ mpoint="$tmpmnt" -+ fi -+ test="/usr/lib/os-probes/mounted/90linux-distro" -+ if [ -f "$test" ] && [ -x "$test" ]; then -+ debug "running subtest $test" -+ if "$test" "$partition" "$mpoint" btrfs "UUID=$UUID" "subvol=$subvol"; then -+ debug "os found by subtest $test on subvol $subvol" -+ found=1 -+ fi -+ fi -+ if [ -z "$mounted" ]; then -+ if ! umount "$tmpmnt"; then -+ warn "failed to umount $tmpmnt" -+ fi -+ fi -+ done -+ fi -+ rmdir "$tmpmnt" || true -+ if [ "$found" ]; then -+ exit 0 -+ else -+ exit 1 -+ fi -+fi -+ - if type grub-mount >/dev/null 2>&1 && \ - type grub-probe >/dev/null 2>&1 && \ - grub-mount "$partition" "$tmpmnt" 2>/dev/null; then -diff --git a/os-probes/mounted/common/90linux-distro b/os-probes/mounted/common/90linux-distro -index badfbb1..9bc5154 100755 ---- a/os-probes/mounted/common/90linux-distro -+++ b/os-probes/mounted/common/90linux-distro -@@ -7,6 +7,8 @@ set -e - partition="$1" - dir="$2" - type="$3" -+uuid="$4" -+subvol="$5" - - # This test is inaccurate, but given separate / and /boot partitions and the - # fact that only some architectures have ld-linux.so, I can't see anything -@@ -143,7 +145,11 @@ if (ls "$dir"/lib*/ld*.so* && [ -d "$dir/boot" ] || ls "$dir"/usr/lib*/ld*.so*) - fi - - label="$(count_next_label "$short")" -- result "$partition:$long:$label:linux" -+ if [ "x$type" = "xbtrfs" -a "x$uuid" != "x" -a "x$subvol" != "x" ]; then -+ result "$partition:$long:$label:linux:$type:$uuid:$subvol" -+ else -+ result "$partition:$long:$label:linux" -+ fi - exit 0 - else - exit 1 diff --git a/sys-boot/os-prober/files/os-prober-1.79-detect-void.patch b/sys-boot/os-prober/files/os-prober-1.79-detect-void.patch deleted file mode 100644 index 9d7855906b78..000000000000 --- a/sys-boot/os-prober/files/os-prober-1.79-detect-void.patch +++ /dev/null @@ -1,20 +0,0 @@ -Handle Void Linux detection. From upstream https://github.com/void-linux/void-packages/blob/2fd8d4df94855a157a4de16c61d54153e16ef185/srcpkgs/os-prober/patches/detect-void.patch - -Bug: https://bugs.gentoo.org/817905 - ---- a/os-probes/mounted/common/90linux-distro -+++ b/os-probes/mounted/common/90linux-distro -@@ -116,6 +116,13 @@ - elif [ -e "$dir/sbin/pkgtool" ]; then - short="Slackware" - long="Slackware Linux" -+ elif [ -e "$dir/sbin/xbps-install" ]; then -+ short="Void" -+ if file "$dir/sbin/xbps-install"|grep -q 32-bit; then -+ long="Void Linux 32" -+ else -+ long="Void Linux 64" -+ fi - elif grep -qs OpenLinux "$dir/etc/issue"; then - short="Caldera" - long="Caldera OpenLinux" diff --git a/sys-boot/os-prober/files/os-prober-1.79-handle-multiple-initrd-paths.patch b/sys-boot/os-prober/files/os-prober-1.79-handle-multiple-initrd-paths.patch deleted file mode 100644 index ceab85a92727..000000000000 --- a/sys-boot/os-prober/files/os-prober-1.79-handle-multiple-initrd-paths.patch +++ /dev/null @@ -1,36 +0,0 @@ -Backport handling of multiple initrd paths, like those needed by Manjaro -installations. Note, it still requires resolution of -https://savannah.gnu.org/bugs/index.php?47681 on grub's end. - -Commits: https://salsa.debian.org/installer-team/os-prober/-/commit/7641c2da0c81f78c5f2ee2a66a1c21350cab03fc - https://salsa.debian.org/installer-team/os-prober/-/commit/53b920e106f13acf87ef8a275161e20f94feeb8a - ---- a/linux-boot-probes/mounted/common/40grub2 -+++ b/linux-boot-probes/mounted/common/40grub2 -@@ -78,11 +78,21 @@ parse_grub_menu () { - fi - ;; - initrd) -- initrd="$(echo "$2" | sed 's/(.*)//')" -- # Initrd same. -- if [ "$partition" != "$bootpart" ]; then -- initrd="/boot$initrd" -- fi -+ shift -+ initrd="" -+ for initrd_path in "$@"; do -+ # sed hack, as above -+ initrd_path="$(echo "$initrd_path" | sed 's/(.*)//')" -+ # Initrd same. -+ if [ "$partition" != "$bootpart" ]; then -+ initrd_path="/boot$initrd_path" -+ fi -+ if [ -z "$initrd" ]; then -+ initrd="$initrd_path" -+ else -+ initrd="$initrd $initrd_path" -+ fi -+ done - ;; - "}") - entry_result diff --git a/sys-boot/os-prober/files/os-prober-1.79-ntfs3.patch b/sys-boot/os-prober/files/os-prober-1.79-ntfs3.patch deleted file mode 100644 index a354445ebd8b..000000000000 --- a/sys-boot/os-prober/files/os-prober-1.79-ntfs3.patch +++ /dev/null @@ -1,26 +0,0 @@ -For 5.15 kernel with ntfs3 file system - -Bug: https://bugs.gentoo.org/830753 - ---- a/os-probes/mounted/arm64/20microsoft -+++ b/os-probes/mounted/arm64/20microsoft -@@ -15,7 +15,7 @@ fi - - # Weed out stuff that doesn't apply to us - case "$type" in -- ntfs|ntfs-3g) debug "$1 is a NTFS partition" ;; -+ ntfs|ntfs-3g|ntfs3) debug "$1 is a NTFS partition" ;; - vfat) debug "$1 is a FAT32 partition" ;; - msdos) debug "$1 is a FAT16 partition" ;; - fat) debug "$1 is a FAT partition (mounted by GRUB)" ;; ---- a/os-probes/mounted/x86/20microsoft -+++ b/os-probes/mounted/x86/20microsoft -@@ -15,7 +15,7 @@ fi - - # Weed out stuff that doesn't apply to us - case "$type" in -- ntfs|ntfs-3g) debug "$1 is a NTFS partition" ;; -+ ntfs|ntfs-3g|ntfs3) debug "$1 is a NTFS partition" ;; - vfat) debug "$1 is a FAT32 partition" ;; - msdos) debug "$1 is a FAT16 partition" ;; - fat) debug "$1 is a FAT partition (mounted by GRUB)" ;; diff --git a/sys-boot/os-prober/os-prober-1.78-r1.ebuild b/sys-boot/os-prober/os-prober-1.78-r1.ebuild deleted file mode 100644 index ba56852a216e..000000000000 --- a/sys-boot/os-prober/os-prober-1.78-r1.ebuild +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 -inherit readme.gentoo-r1 toolchain-funcs - -DESCRIPTION="Utility to detect other OSs on a set of drives" -HOMEPAGE="https://salsa.debian.org/installer-team/os-prober" -SRC_URI="mirror://debian/pool/main/${PN::1}/${PN}/${PN}_${PV}.tar.xz" - -LICENSE="GPL-3" -SLOT="0" -KEYWORDS="amd64 x86" - -# grub-mount needed per bug #607518 -RDEPEND="sys-boot/grub:2[mount]" - -# bug 594250 -QA_MULTILIB_PATHS="usr/lib/os-prober/.*" - -PATCHES=( - "${FILESDIR}"/${PN}-1.76-exherbo.patch - "${FILESDIR}"/${PN}-1.78-btrfsfix.patch -) - -DOC_CONTENTS=" - If you intend for os-prober to detect versions of Windows installed on - NTFS-formatted partitions, your system must be capable of reading the - NTFS filesystem. One way to do this is by installing sys-fs/ntfs3g. - Also, in a chroot environment, it is necessary to bind mount /run/udev - (see https://wiki.gentoo.org/wiki/GRUB2#os-prober_and_UEFI_in_chroot). - - NOTE: Since sys-boot/grub-2.06-rc1, grub-mkconfig disables os-prober by default. - To enable it, add GRUB_DISABLE_OS_PROBER=false to /etc/default/grub. -" - -src_prepare() { - default - # use default GNU rules - rm Makefile || die 'rm Makefile failed' -} - -src_compile() { - tc-export CC - emake newns -} - -src_install() { - dobin os-prober linux-boot-prober - - # Note: as no shared libraries are installed, /usr/lib is correct - exeinto /usr/lib/os-prober - doexe newns - - insinto /usr/share/os-prober - doins common.sh - - keepdir /var/lib/os-prober - - local debarch=${ARCH%-*} dir - - case ${debarch} in - amd64) debarch=x86 ;; - ppc|ppc64) debarch=powerpc ;; - esac - - for dir in os-probes{,/mounted,/init} linux-boot-probes{,/mounted}; do - exeinto /usr/lib/${dir} - doexe ${dir}/common/* - if [[ -d ${dir}/${debarch} ]]; then - for exe in ${dir}/${debarch}/*; do - [[ ! -d "${exe}" ]] && doexe "${exe}" - done - fi - if [[ -d ${dir}/${debarch}/efi ]]; then - exeinto /usr/lib/${dir}/efi - doexe ${dir}/${debarch}/efi/* - fi - done - - if use amd64 || use x86; then - exeinto /usr/lib/os-probes/mounted - doexe os-probes/mounted/powerpc/20macosx - fi - - einstalldocs - dodoc debian/changelog - - readme.gentoo_create_doc -} - -pkg_postinst() { - readme.gentoo_print_elog -} diff --git a/sys-boot/os-prober/os-prober-1.79-r1.ebuild b/sys-boot/os-prober/os-prober-1.79-r1.ebuild deleted file mode 100644 index b310aa3de302..000000000000 --- a/sys-boot/os-prober/os-prober-1.79-r1.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit readme.gentoo-r1 toolchain-funcs - -DESCRIPTION="Utility to detect other OSs on a set of drives" -HOMEPAGE="https://salsa.debian.org/installer-team/os-prober" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://salsa.debian.org/installer-team/${PN}.git" -else - SRC_URI="mirror://debian/pool/main/${PN::1}/${PN}/${PN}_${PV}.tar.xz" - KEYWORDS="~amd64 ~x86" - S="${WORKDIR}"/${PN} -fi - -LICENSE="GPL-3" -SLOT="0" - -# grub-mount needed per bug #607518 -RDEPEND="sys-boot/grub:2[mount]" - -# bug 594250 -QA_MULTILIB_PATHS="usr/lib/os-prober/.*" - -PATCHES=( - "${FILESDIR}"/${PN}-1.79-handle-multiple-initrd-paths.patch - "${FILESDIR}"/${PN}-1.79-mdraid-detection.patch - "${FILESDIR}"/${PN}-1.79-btrfs-subvolume-detection.patch - "${FILESDIR}"/${PN}-1.79-use-fstab-name.patch - "${FILESDIR}"/${PN}-1.79-mounted-boot-partition-fix.patch - "${FILESDIR}"/${PN}-1.79-fix-busy-umount-message.patch - "${FILESDIR}"/${PN}-1.79-efi-chroot-blkid-fallback.patch - "${FILESDIR}"/${PN}-1.79-detect-void.patch -) - -DOC_CONTENTS=" - If you intend for os-prober to detect versions of Windows installed on - NTFS-formatted partitions, your system must be capable of reading the - NTFS filesystem. One way to do this is by installing sys-fs/ntfs3g. - - NOTE: Since sys-boot/grub-2.06-rc1, grub-mkconfig disables os-prober by default. - To enable it, add GRUB_DISABLE_OS_PROBER=false to /etc/default/grub. -" - -src_prepare() { - default - # use default GNU rules - rm Makefile || die 'rm Makefile failed' -} - -src_compile() { - tc-export CC - emake newns -} - -src_install() { - dobin os-prober linux-boot-prober - - # Note: as no shared libraries are installed, /usr/lib is correct - exeinto /usr/lib/os-prober - doexe newns - - insinto /usr/share/os-prober - doins common.sh - - keepdir /var/lib/os-prober - - local debarch=${ARCH%-*} dir - - case ${debarch} in - amd64) debarch=x86 ;; - ppc|ppc64) debarch=powerpc ;; - esac - - for dir in os-probes{,/mounted,/init} linux-boot-probes{,/mounted}; do - exeinto /usr/lib/${dir} - doexe ${dir}/common/* - if [[ -d ${dir}/${debarch} ]]; then - for exe in ${dir}/${debarch}/*; do - [[ ! -d "${exe}" ]] && doexe "${exe}" - done - fi - if [[ -d ${dir}/${debarch}/efi ]]; then - exeinto /usr/lib/${dir}/efi - doexe ${dir}/${debarch}/efi/* - fi - done - - if use amd64 || use x86; then - exeinto /usr/lib/os-probes/mounted - doexe os-probes/mounted/powerpc/20macosx - fi - - einstalldocs - dodoc debian/changelog - - readme.gentoo_create_doc -} - -pkg_postinst() { - readme.gentoo_print_elog -} diff --git a/sys-boot/os-prober/os-prober-1.79-r2.ebuild b/sys-boot/os-prober/os-prober-1.79-r2.ebuild deleted file mode 100644 index 346cbb2f355a..000000000000 --- a/sys-boot/os-prober/os-prober-1.79-r2.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -inherit readme.gentoo-r1 toolchain-funcs - -DESCRIPTION="Utility to detect other OSs on a set of drives" -HOMEPAGE="https://salsa.debian.org/installer-team/os-prober" - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://salsa.debian.org/installer-team/${PN}.git" -else - SRC_URI="mirror://debian/pool/main/${PN::1}/${PN}/${PN}_${PV}.tar.xz" - KEYWORDS="amd64 x86" - S="${WORKDIR}"/${PN} -fi - -LICENSE="GPL-3" -SLOT="0" - -# grub-mount needed per bug #607518 -RDEPEND="sys-boot/grub:2[mount]" - -# bug 594250 -QA_MULTILIB_PATHS="usr/lib/os-prober/.*" - -PATCHES=( - "${FILESDIR}"/${PN}-1.79-handle-multiple-initrd-paths.patch - "${FILESDIR}"/${PN}-1.79-mdraid-detection.patch - "${FILESDIR}"/${PN}-1.79-btrfs-subvolume-detection.patch - "${FILESDIR}"/${PN}-1.79-use-fstab-name.patch - "${FILESDIR}"/${PN}-1.79-mounted-boot-partition-fix.patch - "${FILESDIR}"/${PN}-1.79-fix-busy-umount-message.patch - "${FILESDIR}"/${PN}-1.79-efi-chroot-blkid-fallback.patch - "${FILESDIR}"/${PN}-1.79-ntfs3.patch -) - -DOC_CONTENTS=" - If you intend for os-prober to detect versions of Windows installed on - NTFS-formatted partitions, your system must be capable of reading the - NTFS filesystem. One way to do this is by installing sys-fs/ntfs3g. - - NOTE: Since sys-boot/grub-2.06-rc1, grub-mkconfig disables os-prober by default. - To enable it, add GRUB_DISABLE_OS_PROBER=false to /etc/default/grub. -" - -src_prepare() { - default - # use default GNU rules - rm Makefile || die 'rm Makefile failed' -} - -src_compile() { - tc-export CC - emake newns -} - -src_install() { - dobin os-prober linux-boot-prober - - # Note: as no shared libraries are installed, /usr/lib is correct - exeinto /usr/lib/os-prober - doexe newns - - insinto /usr/share/os-prober - doins common.sh - - keepdir /var/lib/os-prober - - local debarch=${ARCH%-*} dir - - case ${debarch} in - amd64) debarch=x86 ;; - ppc|ppc64) debarch=powerpc ;; - esac - - for dir in os-probes{,/mounted,/init} linux-boot-probes{,/mounted}; do - exeinto /usr/lib/${dir} - doexe ${dir}/common/* - if [[ -d ${dir}/${debarch} ]]; then - for exe in ${dir}/${debarch}/*; do - [[ ! -d "${exe}" ]] && doexe "${exe}" - done - fi - if [[ -d ${dir}/${debarch}/efi ]]; then - exeinto /usr/lib/${dir}/efi - doexe ${dir}/${debarch}/efi/* - fi - done - - if use amd64 || use x86; then - exeinto /usr/lib/os-probes/mounted - doexe os-probes/mounted/powerpc/20macosx - fi - - einstalldocs - dodoc debian/changelog - - readme.gentoo_create_doc -} - -pkg_postinst() { - readme.gentoo_print_elog -} |