[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#868230: jessie-pu: package os-prober/1.65+deb8u1



Package: release.debian.org
Severity: normal
Tags: jessie
User: release.debian.org@packages.debian.org
Usertags: pu

Hi,

I'd like to fix a few things in os-prober in jessie:
 - dos vs. msdos check, leading to misdetections with EFI systems
 - improve robustness with Windows detection by adding the -a flag
   to grep (this generates much diff noise, sorry)
 - add support for Windows 10 (at the top of said noise)

Cherry-picked from fixes available in stretch (or on the way to
stretch-pu for the first one).

Thanks for considering.


KiBi.
diff -Nru os-prober-1.65/debian/changelog os-prober-1.65+deb8u1/debian/changelog
--- os-prober-1.65/debian/changelog	2014-11-25 18:41:48.000000000 +0100
+++ os-prober-1.65+deb8u1/debian/changelog	2017-07-13 13:25:15.000000000 +0200
@@ -1,3 +1,16 @@
+os-prober (1.65+deb8u1) jessie; urgency=medium
+
+  * os-probes/mounted/x86/05efi: Fix check on ID_PART_ENTRY_SCHEME, to
+    look for "dos" instead of "msdos" (Closes: #817023).
+  * Add -a flag to grep -qs for Windows Vista detection. It appears the
+    file isn't always considered as a text file, so this should be more
+    robust. Thanks to Gianluigi Tiesi for the report and the suggestion
+    (Closes: #791383).
+  * Add support for Windows 10 (otherwise reported as Windows Recovery
+    Environment). Thanks, Philipp Wolfer! (Closes: #801278).
+
+ -- Cyril Brulebois <kibi@debian.org>  Thu, 13 Jul 2017 13:25:12 +0200
+
 os-prober (1.65) unstable; urgency=medium
 
   [ Steve McIntyre ]
diff -Nru os-prober-1.65/os-probes/mounted/x86/05efi os-prober-1.65+deb8u1/os-probes/mounted/x86/05efi
--- os-prober-1.65/os-probes/mounted/x86/05efi	2014-11-12 16:19:18.000000000 +0100
+++ os-prober-1.65+deb8u1/os-probes/mounted/x86/05efi	2017-07-13 13:17:46.000000000 +0200
@@ -39,9 +39,9 @@
 	debug "$partition partition type is $ID_PART_ENTRY_TYPE"
 
 	if [ -z "$ID_PART_ENTRY_TYPE" -o -z "$ID_PART_ENTRY_SCHEME" -o \
-		\( "$ID_PART_ENTRY_SCHEME" != gpt -a "$ID_PART_ENTRY_SCHEME" != msdos \) -o \
+		\( "$ID_PART_ENTRY_SCHEME" != gpt -a "$ID_PART_ENTRY_SCHEME" != dos \) -o \
 		\( "$ID_PART_ENTRY_SCHEME" = gpt -a "$ID_PART_ENTRY_TYPE" != c12a7328-f81f-11d2-ba4b-00a0c93ec93b \) -o \
-		\( "$ID_PART_ENTRY_SCHEME" = msdos -a "$ID_PART_ENTRY_TYPE" != 0xef \) ]; then
+		\( "$ID_PART_ENTRY_SCHEME" = dos -a "$ID_PART_ENTRY_TYPE" != 0xef \) ]; then
 		debug "$partition is not a ESP partition: exiting"
 		exit 1
 	fi
diff -Nru os-prober-1.65/os-probes/mounted/x86/20microsoft os-prober-1.65+deb8u1/os-probes/mounted/x86/20microsoft
--- os-prober-1.65/os-probes/mounted/x86/20microsoft	2014-11-12 16:19:18.000000000 +0100
+++ os-prober-1.65+deb8u1/os-probes/mounted/x86/20microsoft	2017-07-13 13:22:21.000000000 +0200
@@ -31,19 +31,21 @@
 	for boot in $(item_in_dir boot "$2"); do
 		bcd=$(item_in_dir bcd "$2/$boot")
 		if [ -n "$bcd" ]; then
-			if grep -qs "W.i.n.d.o.w.s. .8" "$2/$boot/$bcd"; then
+			if   grep -aqs "W.i.n.d.o.w.s. .1.0" "$2/$boot/$bcd"; then
+				long="Windows 10 (loader)"
+			elif grep -aqs "W.i.n.d.o.w.s. .8" "$2/$boot/$bcd"; then
 				long="Windows 8 (loader)"
-			elif grep -qs "W.i.n.d.o.w.s. .7" "$2/$boot/$bcd"; then
+			elif grep -aqs "W.i.n.d.o.w.s. .7" "$2/$boot/$bcd"; then
 				long="Windows 7 (loader)"
-			elif grep -qs "W.i.n.d.o.w.s. .V.i.s.t.a" "$2/$boot/$bcd"; then
+			elif grep -aqs "W.i.n.d.o.w.s. .V.i.s.t.a" "$2/$boot/$bcd"; then
 				long="Windows Vista (loader)"
-			elif grep -qs "W.i.n.d.o.w.s. .S.e.r.v.e.r. .2.0.0.8. .R.2." "$2/$boot/$bcd"; then
+			elif grep -aqs "W.i.n.d.o.w.s. .S.e.r.v.e.r. .2.0.0.8. .R.2." "$2/$boot/$bcd"; then
 				long="Windows Server 2008 R2 (loader)"
-			elif grep -qs "W.i.n.d.o.w.s. .S.e.r.v.e.r. .2.0.0.8." "$2/$boot/$bcd"; then
+			elif grep -aqs "W.i.n.d.o.w.s. .S.e.r.v.e.r. .2.0.0.8." "$2/$boot/$bcd"; then
 				long="Windows Server 2008 (loader)"
-			elif grep -qs "W.i.n.d.o.w.s. .R.e.c.o.v.e.r.y. .E.n.v.i.r.o.n.m.e.n.t" "$2/$boot/$bcd"; then
+			elif grep -aqs "W.i.n.d.o.w.s. .R.e.c.o.v.e.r.y. .E.n.v.i.r.o.n.m.e.n.t" "$2/$boot/$bcd"; then
 				long="Windows Recovery Environment (loader)"
-			elif grep -qs "W.i.n.d.o.w.s. .S.e.t.u.p" "$2/$boot/$bcd"; then
+			elif grep -aqs "W.i.n.d.o.w.s. .S.e.t.u.p" "$2/$boot/$bcd"; then
 				long="Windows Recovery Environment (loader)"
 			else
 				long="Windows Vista (loader)"

Reply to: