Merge pull request #1394 from Rmys/master

os-prober ver. bump
This commit is contained in:
Rmys
2022-08-18 19:18:54 +03:00
committed by GitHub
6 changed files with 103 additions and 13 deletions
@@ -0,0 +1,15 @@
diff --git a/os-probes/mounted/arm64/20microsoft b/os-probes/mounted/arm64/20microsoft
index 066918a..b69c2ba 100755
--- a/os-probes/mounted/arm64/20microsoft
+++ b/os-probes/mounted/arm64/20microsoft
@@ -31,7 +31,9 @@ if item_in_dir -q bootmgr "$2"; then
for boot in $(item_in_dir boot "$2"); do
bcd=$(item_in_dir bcd "$2/$boot")
if [ -n "$bcd" ]; then
- if grep -aqs "W.i.n.d.o.w.s. .1.0" "$2/$boot/$bcd"; then
+ if grep -aqs "W.i.n.d.o.w.s. .1.1" "$2/$boot/$bcd"; then
+ long="Windows 11"
+ elif grep -aqs "W.i.n.d.o.w.s. .1.0" "$2/$boot/$bcd"; then
long="Windows 10"
elif grep -aqs "W.i.n.d.o.w.s. .8" "$2/$boot/$bcd"; then
long="Windows 8"
@@ -0,0 +1,30 @@
diff --git a/os-probes/mounted/common/efi/05shell b/os-probes/mounted/common/efi/05shell
new file mode 100644
index 0000000..d4233c0
--- /dev/null
+++ b/os-probes/mounted/common/efi/05shell
@@ -0,0 +1,24 @@
+#!/usr/bin/sh
+# Detects a shell.efi bootloader on a EFI System Partition
+
+. /usr/share/os-prober/common.sh
+
+found=
+
+efi_shell=`find $1 -iname "shell.efi"`
+if [ -n "${efi_shell}" ]; then
+ bdir="${efi_shell%/*}"
+ bdir="${efi_shell##*/}"
+ filename=`basename ${efi_shell}`
+ long="EFI firmware management shell"
+ short="EFI_SHELL"
+ path=${bdir}/${filename}
+ found=true
+fi
+
+if [ -n "$found" ]; then
+ label="$(count_next_label "$short")"
+ result "${path}:${long}:${label}"
+fi
+
+exit 0
@@ -0,0 +1,35 @@
diff --git a/os-probes/mounted/common/90linux-distro b/os-probes/mounted/common/90linux-distro
index b9c24dd..52db3f6 100755
--- a/os-probes/mounted/common/90linux-distro
+++ b/os-probes/mounted/common/90linux-distro
@@ -19,7 +19,7 @@ subvol="$5"
# symlinks we need to also check in $dir/usr/lib* for distributions that
# moved /lib* to /usr and only left symlinks behind.
# TODO: look for ld-linux.so on arches that have it
-if (ls "$dir"/lib*/ld*.so* && [ -d "$dir/boot" ] || ls "$dir"/usr/lib*/ld*.so*) >/dev/null 2>/dev/null; then
+#if (ls "$dir"/lib*/ld*.so* && [ -d "$dir/boot" ] || ls "$dir"/usr/lib*/ld*.so*) >/dev/null 2>/dev/null; then
if [ -e "$dir/etc/os-release" ]; then
short="$(grep ^NAME= "$dir/etc/os-release" | sed 's/^[^=]*=//; s/^['\''"]\(.*\)['\''"]$/\1/; s/\\\(.\)/\1/g; s/[[:space:]].*//')"
long="$(grep ^PRETTY_NAME= "$dir/etc/os-release" | sed 's/^[^=]*=//; s/^['\''"]\(.*\)['\''"]$/\1/; s/\\\(.\)/\1/g')"
@@ -146,8 +146,9 @@ if (ls "$dir"/lib*/ld*.so* && [ -d "$dir/boot" ] || ls "$dir"/usr/lib*/ld*.so*)
short="Exherbo"
long="Exherbo Linux"
else
- short="Linux"
- long="unknown Linux distribution"
+ exit 1
+# short="Linux"
+# long="unknown Linux distribution"
fi
label="$(count_next_label "$short")"
@@ -157,6 +158,6 @@ if (ls "$dir"/lib*/ld*.so* && [ -d "$dir/boot" ] || ls "$dir"/usr/lib*/ld*.so*)
result "$partition:$long:$label:linux"
fi
exit 0
-else
- exit 1
-fi
+#else
+# exit 1
+#fi
@@ -1,7 +1,7 @@
Index: os-prober-1.58/linux-boot-probes/mounted/common/40grub2
===================================================================
--- os-prober-1.58.orig/linux-boot-probes/mounted/common/40grub2
+++ os-prober-1.58/linux-boot-probes/mounted/common/40grub2
diff --git a/linux-boot-probes/mounted/common/40grub2 b/linux-boot-probes/mounted/common/40grub2
index 664505f..5895e45 100755
--- a/linux-boot-probes/mounted/common/40grub2
+++ b/linux-boot-probes/mounted/common/40grub2
@@ -77,7 +77,7 @@ parse_grub_menu () {
ignore_item=1
fi
@@ -17,6 +17,6 @@ Index: os-prober-1.58/linux-boot-probes/mounted/common/40grub2
;;
- initrd)
+ initrd*)
initrd="$(echo "$2" | sed 's/(.*)//')"
# Initrd same.
if [ "$partition" != "$bootpart" ]; then
shift
initrd=""
for initrd_path in "$@"; do
@@ -2,17 +2,16 @@ Index: os-prober/common.sh
===================================================================
--- os-prober.orig/common.sh
+++ os-prober/common.sh
@@ -336,3 +336,13 @@ linux_mount_boot () {
@@ -336,3 +336,12 @@ linux_mount_boot () {
mountboot="$bootpart $mounted"
}
+
+umount_exec=$(which umount)
+umount() {
+ if ! $umount_exec $@ 2> /dev/null; then
+ if ! command umount $@ 2> /dev/null; then
+ error "umount error, retrying after 1 sec"
+ sleep 1
+ $umount_exec $@
+ command umount $@
+ fi
+}
+
+13 -2
View File
@@ -12,13 +12,17 @@
<IsA>app:console</IsA>
<Summary>Utility to detect other OSes on a set of drives</Summary>
<Description>os-probe detects other OSes available on a system and outputs the results in a generic machine-readable format. Support for new OSes and Linux distributions can be added easily.</Description>
<Archive sha1sum="70ca0c778b413b63eb0a025cdbc661a12355c166" type="tarxz">http://cdn-fastly.deb.debian.org/debian/pool/main/o/os-prober/os-prober_1.79.tar.xz</Archive>
<Archive sha1sum="367c67d952ea9c354e40357addbb1ee54b43e91f" type="tarxz">http://cdn-fastly.deb.debian.org/debian/pool/main/o/os-prober/os-prober_1.81.tar.xz</Archive>
<Patches>
<Patch level="1">fedora/os-prober-bootpart-name-fix.patch</Patch>
<Patch level="1">fedora/os-prober-btrfsfix.patch</Patch>
<Patch level="1">fedora/os-prober-factor-out-logger.patch</Patch>
<Patch level="1">fedora/os-prober-factored-logger-efi-fix.patch</Patch>
<Patch level="1">fedora/os-prober-gentoo-fix.patch</Patch>
<Patch level="1">fedora/os-prober-grub2-mount-workaround.patch</Patch>
<Patch level="1">fedora/os-prober-efi-shell.patch</Patch>
<Patch level="1">fedora/os-prober-arm64-win11.patch</Patch>
<Patch level="1">fedora/os-prober-grepfix.patch</Patch>
<Patch level="1">fedora/os-prober-grub2-parsefix.patch</Patch>
<Patch level="1">fedora/os-prober-mdraidfix.patch</Patch>
@@ -40,6 +44,13 @@
</Files>
</Package>
<History>
<Update release="13">
<Date>2022-08-17</Date>
<Version>1.81</Version>
<Comment>Version bump.</Comment>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="12">
<Date>2021-07-18</Date>
<Version>1.79</Version>