Fixed bug #982009: fix btrfs support

- Suppress some more debug messages when debug messages are disabled
This commit is contained in:
Hedayat Vatankhah 2014-04-25 00:55:42 +04:30
parent 7065d6ff35
commit e292704fcb
4 changed files with 89 additions and 49 deletions

View File

@ -1,6 +1,8 @@
--- os-prober-1.56-orig-1/common.sh 2013-01-10 08:33:45.200766262 -0500 Index: os-prober-1.58/common.sh
+++ os-prober-1.56-orig-1/common.sh 2013-01-10 08:34:43.644058934 -0500 ===================================================================
@@ -127,6 +127,7 @@ --- os-prober-1.58.orig/common.sh
+++ os-prober-1.58/common.sh
@@ -127,6 +127,7 @@ parse_proc_mounts () {
done done
} }
@ -8,7 +10,7 @@
parsefstab () { parsefstab () {
while read -r line; do while read -r line; do
case "$line" in case "$line" in
@@ -137,12 +138,22 @@ @@ -137,12 +138,22 @@ parsefstab () {
set -f set -f
set -- $line set -- $line
set +f set +f
@ -32,9 +34,11 @@
unescape_mount () { unescape_mount () {
printf %s "$1" | \ printf %s "$1" | \
sed 's/\\011/ /g; s/\\012/\n/g; s/\\040/ /g; s/\\134/\\/g' sed 's/\\011/ /g; s/\\012/\n/g; s/\\040/ /g; s/\\134/\\/g'
--- os-prober-1.56-orig-1/linux-boot-prober 2012-03-27 10:39:42.000000000 -0400 Index: os-prober-1.58/linux-boot-prober
+++ os-prober-1.56-orig-1/linux-boot-prober 2013-01-10 08:34:43.644058934 -0500 ===================================================================
@@ -5,16 +5,143 @@ --- os-prober-1.58.orig/linux-boot-prober
+++ os-prober-1.58/linux-boot-prober
@@ -5,16 +5,143 @@ set -e
newns "$@" newns "$@"
require_tmpdir require_tmpdir
@ -180,7 +184,7 @@
if ! mapped="$(mapdevfs "$partition")"; then if ! mapped="$(mapdevfs "$partition")"; then
log "Device '$partition' does not exist; skipping" log "Device '$partition' does not exist; skipping"
continue continue
@@ -22,8 +149,8 @@ @@ -22,8 +149,8 @@ fi
if ! grep -q "^$mapped " "$OS_PROBER_TMP/mounted-map"; then if ! grep -q "^$mapped " "$OS_PROBER_TMP/mounted-map"; then
for test in /usr/lib/linux-boot-probes/*; do for test in /usr/lib/linux-boot-probes/*; do
@ -190,9 +194,11 @@
if $test "$partition"; then if $test "$partition"; then
debug "linux detected by $test" debug "linux detected by $test"
break break
--- os-prober-1.56-orig-1/linux-boot-probes/mounted/common/40grub2 2012-09-17 13:32:52.000000000 -0400 Index: os-prober-1.58/linux-boot-probes/mounted/common/40grub2
+++ os-prober-1.56-orig-1/linux-boot-probes/mounted/common/40grub2 2013-01-10 08:34:43.644058934 -0500 ===================================================================
@@ -2,17 +2,27 @@ --- os-prober-1.58.orig/linux-boot-probes/mounted/common/40grub2
+++ os-prober-1.58/linux-boot-probes/mounted/common/40grub2
@@ -2,17 +2,30 @@
. /usr/share/os-prober/common.sh . /usr/share/os-prober/common.sh
set -e set -e
@ -208,9 +214,12 @@
found_item=0 found_item=0
entry_result () { entry_result () {
+ if [ "x$type" = "xbtrfs" -a "$rootsv" = "$bootsv" ]; then + if [ "x$type" = "xbtrfs" -a "$partition" = "$bootpart" ]; then
+ # trim off the leading subvol + # trim off the leading subvol
+ kernelfile=$(echo "$kernel" | cut -d '/' -f 2- | cut -d '/' -f 2-) + kernelfile=$(echo "$kernel" | cut -d '/' -f 2- | cut -d '/' -f 2-)
+ if [ "x$rootsv" != "x$bootsv" ]; then
+ kernelfile="/boot/$kernelfile"
+ fi
+ else + else
+ kernelfile=$kernel + kernelfile=$kernel
+ fi + fi
@ -221,9 +230,11 @@
result "$rootpart:$bootpart:$title:$kernel:$initrd:$parameters" result "$rootpart:$bootpart:$title:$kernel:$initrd:$parameters"
found_item=1 found_item=1
fi fi
--- os-prober-1.56-orig-1/os-prober 2013-01-10 08:33:45.193766227 -0500 Index: os-prober-1.58/os-prober
+++ os-prober-1.56-orig-1/os-prober 2013-01-10 08:34:43.645058939 -0500 ===================================================================
@@ -64,9 +64,12 @@ --- os-prober-1.58.orig/os-prober
+++ os-prober-1.58/os-prober
@@ -64,9 +64,12 @@ partitions () {
# Also detect OSes on LVM volumes (assumes LVM is active) # Also detect OSes on LVM volumes (assumes LVM is active)
if type lvs >/dev/null 2>&1; then if type lvs >/dev/null 2>&1; then
@ -237,7 +248,7 @@
} }
parse_proc_swaps () { parse_proc_swaps () {
@@ -124,6 +127,8 @@ @@ -124,6 +127,8 @@ if [ -f /proc/mdstat ] ; then
grep "^md" /proc/mdstat | cut -d: -f2- | parse_proc_mdstat >"$OS_PROBER_TMP/raided-map" || true grep "^md" /proc/mdstat | cut -d: -f2- | parse_proc_mdstat >"$OS_PROBER_TMP/raided-map" || true
fi fi
@ -246,7 +257,7 @@
for partition in $(partitions); do for partition in $(partitions); do
if ! mapped="$(mapdevfs "$partition")"; then if ! mapped="$(mapdevfs "$partition")"; then
log "Device '$partition' does not exist; skipping" log "Device '$partition' does not exist; skipping"
@@ -142,7 +147,26 @@ @@ -142,7 +147,26 @@ for partition in $(partitions); do
continue continue
fi fi
@ -274,8 +285,10 @@
for test in /usr/lib/os-probes/*; do for test in /usr/lib/os-probes/*; do
if [ -f "$test" ] && [ -x "$test" ]; then if [ -f "$test" ] && [ -x "$test" ]; then
debug "running $test on $partition" debug "running $test on $partition"
--- os-prober-1.56-orig-1/os-probes/common/50mounted-tests 2012-09-17 11:08:12.000000000 -0400 Index: os-prober-1.58/os-probes/common/50mounted-tests
+++ os-prober-1.56-orig-1/os-probes/common/50mounted-tests 2013-01-10 08:34:43.645058939 -0500 ===================================================================
--- os-prober-1.58.orig/os-probes/common/50mounted-tests
+++ os-prober-1.58/os-probes/common/50mounted-tests
@@ -1,20 +1,36 @@ @@ -1,20 +1,36 @@
#!/bin/sh #!/bin/sh
# Sub-tests that require a mounted partition. # Sub-tests that require a mounted partition.
@ -318,7 +331,7 @@
elif [ "$types" = ntfs ]; then elif [ "$types" = ntfs ]; then
if type ntfs-3g >/dev/null 2>&1; then if type ntfs-3g >/dev/null 2>&1; then
types='ntfs-3g ntfs' types='ntfs-3g ntfs'
@@ -23,7 +39,7 @@ @@ -23,7 +39,7 @@ elif [ -z "$types" ]; then
if type cryptsetup >/dev/null 2>&1 && \ if type cryptsetup >/dev/null 2>&1 && \
cryptsetup luksDump "$partition" >/dev/null 2>&1; then cryptsetup luksDump "$partition" >/dev/null 2>&1; then
debug "$1 is a LUKS partition; skipping" debug "$1 is a LUKS partition; skipping"
@ -327,7 +340,7 @@
fi fi
for type in $(grep -v nodev /proc/filesystems); do for type in $(grep -v nodev /proc/filesystems); do
# hfsplus filesystems are mountable as hfs. Try hfs last so # hfsplus filesystems are mountable as hfs. Try hfs last so
@@ -46,6 +62,76 @@ @@ -46,6 +62,76 @@ if [ ! -d "$tmpmnt" ]; then
fi fi
mounted= mounted=
@ -404,9 +417,11 @@
if type grub-mount >/dev/null 2>&1 && \ if type grub-mount >/dev/null 2>&1 && \
type grub-probe >/dev/null 2>&1 && \ type grub-probe >/dev/null 2>&1 && \
grub-mount "$partition" "$tmpmnt" 2>/dev/null; then grub-mount "$partition" "$tmpmnt" 2>/dev/null; then
--- os-prober-1.56-orig-1/os-probes/mounted/common/90linux-distro 2013-01-10 08:33:45.197766247 -0500 Index: os-prober-1.58/os-probes/mounted/common/90linux-distro
+++ os-prober-1.56-orig-1/os-probes/mounted/common/90linux-distro 2013-01-10 08:34:43.645058939 -0500 ===================================================================
@@ -7,6 +7,8 @@ --- os-prober-1.58.orig/os-probes/mounted/common/90linux-distro
+++ os-prober-1.58/os-probes/mounted/common/90linux-distro
@@ -7,6 +7,8 @@ set -e
partition="$1" partition="$1"
dir="$2" dir="$2"
type="$3" type="$3"
@ -415,7 +430,7 @@
# This test is inaccurate, but given separate / and /boot partitions and the # 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 # fact that only some architectures have ld-linux.so, I can't see anything
@@ -131,7 +133,11 @@ @@ -131,7 +133,11 @@ if (ls "$dir"/lib*/ld*.so* && [ -d "$di
fi fi
label="$(count_next_label "$short")" label="$(count_next_label "$short")"
@ -428,8 +443,10 @@
exit 0 exit 0
else else
exit 1 exit 1
--- os-prober-1.56-orig-1/README.btrfs 1969-12-31 19:00:00.000000000 -0500 Index: os-prober-1.58/README.btrfs
+++ os-prober-1.56-orig-1/README.btrfs 2013-01-10 08:34:43.645058939 -0500 ===================================================================
--- /dev/null
+++ os-prober-1.58/README.btrfs
@@ -0,0 +1,15 @@ @@ -0,0 +1,15 @@
+BTRFS is a new filesystem which combines the filesystem with logical volume +BTRFS is a new filesystem which combines the filesystem with logical volume
+management (subvolumes). For further information, see: +management (subvolumes). For further information, see:

View File

@ -1,7 +1,8 @@
diff -ur os-prober-1.56-orig/common.sh os-prober-1.56/common.sh Index: os-prober-1.58/common.sh
--- os-prober-1.56-orig/common.sh 2012-12-26 13:53:55.962187097 -0500 ===================================================================
+++ os-prober-1.56/common.sh 2013-01-10 08:25:14.843206268 -0500 --- os-prober-1.58.orig/common.sh
@@ -76,7 +76,9 @@ +++ os-prober-1.58/common.sh
@@ -76,7 +76,9 @@ warn() {
} }
debug() { debug() {
@ -12,3 +13,18 @@ diff -ur os-prober-1.56-orig/common.sh os-prober-1.56/common.sh
} }
result () { result () {
Index: os-prober-1.58/os-probes/mounted/powerpc/20macosx
===================================================================
--- os-prober-1.58.orig/os-probes/mounted/powerpc/20macosx
+++ os-prober-1.58/os-probes/mounted/powerpc/20macosx
@@ -7,7 +7,9 @@ mpoint="$2"
type="$3"
debug() {
- logger -t macosx-prober "debug: $@"
+ if [ -z "$OS_PROBER_DISABLE_DEBUG" ]; then
+ logger -t macosx-prober "debug: $@"
+ fi
}
# Weed out stuff that doesn't apply to us

View File

@ -1,6 +1,7 @@
diff -up os-prober-1.57/common.sh.logger-factor-out os-prober-1.57/common.sh Index: os-prober-1.58/common.sh
--- os-prober-1.57/common.sh.logger-factor-out 2013-02-05 21:19:38.896088800 +0330 ===================================================================
+++ os-prober-1.57/common.sh 2013-02-05 21:20:04.624767147 +0330 --- os-prober-1.58.orig/common.sh
+++ os-prober-1.58/common.sh
@@ -62,10 +62,14 @@ cache_progname() { @@ -62,10 +62,14 @@ cache_progname() {
esac esac
} }
@ -39,9 +40,10 @@ diff -up os-prober-1.57/common.sh.logger-factor-out os-prober-1.57/common.sh
# shim to make it easier to use os-prober outside d-i # shim to make it easier to use os-prober outside d-i
if ! type mapdevfs >/dev/null 2>&1; then if ! type mapdevfs >/dev/null 2>&1; then
diff -up os-prober-1.57/linux-boot-prober.logger-factor-out os-prober-1.57/linux-boot-prober Index: os-prober-1.58/linux-boot-prober
--- os-prober-1.57/linux-boot-prober.logger-factor-out 2013-02-05 21:19:59.395832518 +0330 ===================================================================
+++ os-prober-1.57/linux-boot-prober 2013-02-05 21:24:42.301295713 +0330 --- os-prober-1.58.orig/linux-boot-prober
+++ os-prober-1.58/linux-boot-prober
@@ -1,4 +1,12 @@ @@ -1,4 +1,12 @@
#!/bin/sh #!/bin/sh
+ +
@ -55,23 +57,24 @@ diff -up os-prober-1.57/linux-boot-prober.logger-factor-out os-prober-1.57/linux
. /usr/share/os-prober/common.sh . /usr/share/os-prober/common.sh
set -e set -e
@@ -147,6 +155,7 @@ if ! mapped="$(mapdevfs "$partition")"; @@ -19,6 +27,7 @@ bootuuid=
continue
fi grep "^/dev/" /proc/mounts | parse_proc_mounts >"$OS_PROBER_TMP/mounted-map" || true
+( ( +( (
if ! grep -q "^$mapped " "$OS_PROBER_TMP/mounted-map"; then if [ -z "$1" ]; then
for test in /usr/lib/linux-boot-probes/*; do ERR=y
if [ -x $test ] && [ -f $test ]; then elif [ "$1" = btrfs -a -z "$2" ]; then
@@ -186,3 +195,5 @@ else @@ -186,3 +195,5 @@ else
fi fi
fi fi
fi fi
+) 9>&1 | logger 1>&- # fd_logger +) 9>&1 | logger 1>&- # fd_logger
+) 3>&1 # fd_result +) 3>&1 # fd_result
diff -up os-prober-1.57/os-prober.logger-factor-out os-prober-1.57/os-prober Index: os-prober-1.58/os-prober
--- os-prober-1.57/os-prober.logger-factor-out 2013-02-05 21:19:52.914913541 +0330 ===================================================================
+++ os-prober-1.57/os-prober 2013-02-05 21:25:35.168634780 +0330 --- os-prober-1.58.orig/os-prober
+++ os-prober-1.58/os-prober
@@ -1,7 +1,14 @@ @@ -1,7 +1,14 @@
#!/bin/sh #!/bin/sh
set -e set -e

View File

@ -1,6 +1,6 @@
Name: os-prober Name: os-prober
Version: 1.58 Version: 1.58
Release: 4%{?dist} Release: 5%{?dist}
Summary: Probes disks on the system for installed operating systems Summary: Probes disks on the system for installed operating systems
Group: System Environment/Base Group: System Environment/Base
@ -100,6 +100,10 @@ fi
%{_var}/lib/%{name} %{_var}/lib/%{name}
%changelog %changelog
* Thu Apr 24 2014 Hedayat Vatankhah <hedayat.fwd+rpmchlog@gmail.com> - 1.58-5
- Fixed bug #982009: fix btrfs support
- Suppress some more debug messages when debug messages are disabled
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.58-4 * Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.58-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild - Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild