Hello community, here is the log from the commit of package os-prober for openSUSE:Factory checked in at 2015-11-12 19:38:54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/os-prober (Old) and /work/SRC/openSUSE:Factory/.os-prober.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "os-prober" Changes: -------- --- /work/SRC/openSUSE:Factory/os-prober/os-prober.changes 2015-10-12 10:00:01.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.os-prober.new/os-prober.changes 2015-11-12 19:38:55.000000000 +0100 @@ -1,0 +2,17 @@ +Tue Nov 10 00:32:40 UTC 2015 - [email protected] + +- Update to version 1.70 + * Fix hurd-any support: Test for /servers instead of /servers/exec + to avoid starting an translator in the mounted system. Also, + /hurd/init might be phased out at some point (Closes: #802053). +- Remove patches; fixed on upstream release + * os-prober-grep-for-windows-bcd-file.patch + * os-prober-properly-detect-Windows-10.patch + +------------------------------------------------------------------- +Mon Nov 9 10:32:31 UTC 2015 - [email protected] + +- detect os on default subvolume in snapshot (bsc#954225) + (os-prober-btrfs-snapshot-detection.patch) + +------------------------------------------------------------------- Old: ---- os-prober-grep-for-windows-bcd-file.patch os-prober-properly-detect-Windows-10.patch os-prober_1.65.tar.xz New: ---- os-prober-btrfs-snapshot-detection.patch os-prober_1.70.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ os-prober.spec ++++++ --- /var/tmp/diff_new_pack.UwEBru/_old 2015-11-12 19:38:57.000000000 +0100 +++ /var/tmp/diff_new_pack.UwEBru/_new 2015-11-12 19:38:57.000000000 +0100 @@ -1,7 +1,7 @@ # # spec file for package os-prober # -# Copyright (c) 2015 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,7 +17,7 @@ Name: os-prober -Version: 1.65 +Version: 1.70 Release: 0 Summary: Probes disks on the system for installed operating systems License: GPL-2.0+ @@ -54,16 +54,14 @@ Patch14: os-prober-skip-part-on-multipath.patch # PATCH-FIX-SLE: fix os-prober: dmraid is called without a device list for every partition (bnc#883453) Patch15: os-prober-call-dmraid-once.patch -# PATCH-FIX-UPSTREAM: fix os-prober misinterprets Windows 8 to be Vista (bsc#910654) -Patch16: os-prober-grep-for-windows-bcd-file.patch # PATCH-FIX-SLE: fix os-prober fails to detect other SLES12 installation (bsc#892364) Patch17: Improve-btrfs-handling-on-os-probing-for-grub2.patch # PATCH-FIX-SLE: fix os-prober mount error, no such file or directory (bsc#931955) Patch18: os-prober-btrfs-absolute-subvol.patch # PATCH-FIX-OPENSUSE: also skip legacy grub if /boot/grub2/grub.cfg is present Patch19: os-prober-40grub-check-grub2.patch -# PATCH-FIX-UPSTREAM: fix os-prober is missing support for Windows 10 detection (bsc#947487) -Patch20: os-prober-properly-detect-Windows-10.patch +# PATCH-FIX-OPENSUSE: detect os on default subvolume in snapshot (bsc#954225) +Patch21: os-prober-btrfs-snapshot-detection.patch Requires: /bin/grep Requires: /bin/sed Requires: /sbin/modprobe @@ -84,7 +82,7 @@ distributions can be added easily. %prep -%setup -q -n %{name} +%setup -q cp %{SOURCE1} . %patch0 -p1 %patch1 -p1 @@ -100,11 +98,10 @@ %patch13 -p1 %patch14 -p1 %patch15 -p1 -%patch16 -p1 %patch17 -p1 %patch18 -p1 %patch19 -p1 -%patch20 -p1 +%patch21 -p1 find . -name \*.orig -delete %build ++++++ os-prober-btrfs-snapshot-detection.patch ++++++ Index: os-prober/os-probes/common/50mounted-tests =================================================================== --- os-prober.orig/os-probes/common/50mounted-tests +++ os-prober/os-probes/common/50mounted-tests @@ -115,6 +115,7 @@ if [ "$types" = btrfs ]; then subvols=$(btrfs subvolume list -a "$tmpmnt" | cut -d ' ' -f 9 | sed -e s!^\<FS_TREE\>/!!) rosubvols=$(btrfs subvolume list -r -a "$tmpmnt" | cut -d ' ' -f 9 | sed -e s!^\<FS_TREE\>/!!) sssubvols=$(btrfs subvolume list -s -a "$tmpmnt" | cut -d ' ' -f 14 | sed -e s!^\<FS_TREE\>/!!) + defaultvol=$(btrfs subvolume get-default "$tmpmnt" | cut -d ' ' -f 9) if ! umount "$tmpmnt"; then warn "failed to umount btrfs volume on $tmpmnt" rmdir "$tmpmnt" || true @@ -127,11 +128,13 @@ if [ "$types" = btrfs ]; then 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 + if [ "$subvol" != "$defaultvol" ]; then + if echo "$rosubvols" | grep -q -x "$subvol"; then + continue + fi + if echo "$sssubvols" | grep -q -x "$subvol"; then + continue + fi fi mounted= mpoint="$(grep btrfs /proc/self/mountinfo | grep "$partition " | grep "/$subvol " | cut -d ' ' -f 5)" ++++++ os-prober-skip-part-on-multipath.patch ++++++ --- /var/tmp/diff_new_pack.UwEBru/_old 2015-11-12 19:38:57.000000000 +0100 +++ /var/tmp/diff_new_pack.UwEBru/_new 2015-11-12 19:38:57.000000000 +0100 @@ -2,10 +2,10 @@ =================================================================== --- os-prober-1.61.orig/os-prober +++ os-prober-1.61/os-prober -@@ -24,6 +24,29 @@ on_sataraid () { +@@ -23,6 +23,28 @@ + fi return 1 } - +mp_disks="UNDEF" +on_multipath () { + type multipath >/dev/null 2>&1 || return 1 @@ -28,10 +28,9 @@ + done + return 1 +} -+ + partitions () { - # Exclude partitions that have whole_disk sysfs attribute set. - if [ -d /sys/block ]; then + os_name="$(uname -s)" @@ -31,7 +54,7 @@ partitions () { # Serial ATA RAID disk. for part in /sys/block/*/*[0-9]; do ++++++ os-prober_1.65.tar.xz -> os-prober_1.70.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-prober/common.sh new/os-prober-1.70/common.sh --- old/os-prober/common.sh 2014-09-28 23:04:17.000000000 +0200 +++ new/os-prober-1.70/common.sh 2015-10-08 05:05:33.000000000 +0200 @@ -116,6 +116,29 @@ fi } +is_dos_extended_partition() { + if type blkid >/dev/null 2>&1; then + local output + + output="$(blkid -o export $1)" + + # old blkid (util-linux << 2.24) errors out on extended p. + if [ "$?" = "2" ]; then + return 0 + fi + + # dos partition type and no filesystem type?... + if echo $output | grep -q ' PTTYPE=dos ' && + ! echo $output | grep -q ' TYPE='; then + return 0 + else + return 1 + fi + fi + + return 1 +} + parse_proc_mounts () { while read -r line; do set -f diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-prober/debian/changelog new/os-prober-1.70/debian/changelog --- old/os-prober/debian/changelog 2014-11-25 18:41:48.000000000 +0100 +++ new/os-prober-1.70/debian/changelog 2015-10-27 06:45:58.000000000 +0100 @@ -1,3 +1,39 @@ +os-prober (1.70) unstable; urgency=medium + + [ Justus Winter ] + * Fix hurd-any support: Test for /servers instead of /servers/exec to avoid + starting an translator in the mounted system. Also, /hurd/init might be + phased out at some point (Closes: #802053). + + -- Christian Perrier <[email protected]> Tue, 27 Oct 2015 06:45:58 +0100 + +os-prober (1.68) unstable; urgency=medium + + * Adjust extended dos partition support for blkid/util-linux 2.24+, + thanks to Andreas Henriksson (Closes: #735169). + * Add support for Windows 10 (otherwise reported as Windows Recovery + Environment). Thanks, Philipp Wolfer! (Closes: #801278). + + -- Cyril Brulebois <[email protected]> Thu, 08 Oct 2015 14:26:16 +0200 + +os-prober (1.67) unstable; urgency=medium + + [ James Clarke ] + * rules: Use DEB_HOST_ARCH_CPU instead of DEB_HOST_ARCH, and thus treat + *-{i386,amd64} as x86 + * Support probing on hurd-any. Closes: #799883. + + -- Christian Perrier <[email protected]> Wed, 30 Sep 2015 06:55:48 +0200 + +os-prober (1.66) unstable; urgency=medium + + * 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). + + -- Cyril Brulebois <[email protected]> Fri, 10 Jul 2015 01:34:23 +0200 + os-prober (1.65) unstable; urgency=medium [ Steve McIntyre ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-prober/debian/rules new/os-prober-1.70/debian/rules --- old/os-prober/debian/rules 2014-09-28 23:04:17.000000000 +0200 +++ new/os-prober-1.70/debian/rules 2015-09-29 05:02:53.000000000 +0200 @@ -5,8 +5,8 @@ %: dh $@ -ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH) -ifneq (,$(findstring :$(ARCH):,:i386:amd64:)) +ARCH=$(shell dpkg-architecture -qDEB_HOST_ARCH_CPU) +ifneq (,$(filter i386 amd64,$(ARCH))) ARCH=x86 endif diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-prober/linux-boot-probes/common/50mounted-tests new/os-prober-1.70/linux-boot-probes/common/50mounted-tests --- old/os-prober/linux-boot-probes/common/50mounted-tests 2014-09-28 23:04:17.000000000 +0200 +++ new/os-prober-1.70/linux-boot-probes/common/50mounted-tests 2015-10-08 05:05:33.000000000 +0200 @@ -20,6 +20,10 @@ types='ntfs-3g ntfs' fi elif [ -z "$types" ]; then + if is_dos_extended_partition "$partition"; then + debug "$1 looks like an extended dos partition; skipping" + exit 0 + fi if type cryptsetup >/dev/null 2>&1 && \ cryptsetup luksDump "$partition" >/dev/null 2>&1; then debug "$1 is a LUKS partition; skipping" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-prober/os-prober new/os-prober-1.70/os-prober --- old/os-prober/os-prober 2014-09-28 23:04:17.000000000 +0200 +++ new/os-prober-1.70/os-prober 2015-09-29 05:02:53.000000000 +0200 @@ -25,6 +25,7 @@ } partitions () { + os_name="$(uname -s)" # Exclude partitions that have whole_disk sysfs attribute set. if [ -d /sys/block ]; then # Exclude partitions on physical disks that are part of a @@ -48,12 +49,18 @@ done done fi - elif [ "$(uname -s)" = Linux ]; then + elif [ "$os_name" = Linux ]; then echo "Cannot find list of partitions! (Try mounting /sys.)" >&2 exit 1 + elif [ "$os_name" = GNU ]; then + for part in /dev/hd*s*[0-9] /dev/sd*s*[0-9]; do + if [ -s "$part" ]; then + echo "$part" + fi + done else - # We don't know how to probe OSes on non-Linux kernels. For - # now, just don't get in the way. + # We don't know how to probe OSes on non-Linux and non-GNU kernels. + # For now, just don't get in the way. exit 0 fi diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-prober/os-probes/mounted/x86/20microsoft new/os-prober-1.70/os-probes/mounted/x86/20microsoft --- old/os-prober/os-probes/mounted/x86/20microsoft 2014-11-12 16:19:18.000000000 +0100 +++ new/os-prober-1.70/os-probes/mounted/x86/20microsoft 2015-10-09 05:02:57.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)" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/os-prober/os-probes/mounted/x86/70hurd new/os-prober-1.70/os-probes/mounted/x86/70hurd --- old/os-prober/os-probes/mounted/x86/70hurd 2014-09-28 23:04:17.000000000 +0200 +++ new/os-prober-1.70/os-probes/mounted/x86/70hurd 2015-10-18 05:03:00.000000000 +0200 @@ -7,7 +7,7 @@ dir="$2" type="$3" -if [ -e "$dir/servers/exec" ] && [ -x "$dir/hurd/init" ]; then +if [ -d "$dir/servers" ] && [ -d "$dir/hurd" ]; then label="$(count_next_label Hurd)" result "$partition:GNU/Hurd:$label:hurd" exit 0
