File os-prober-bsd-newprobesfix.patch of Package os-prober

--- os-prober-1.53/os-probes/mounted/x86/85freebsd.orig	2012-04-29 01:09:05.766868449 -0700
+++ os-prober-1.53/os-probes/mounted/x86/85freebsd	2012-04-29 01:08:43.918410402 -0700
@@ -0,0 +1,27 @@
+#!/bin/sh
+# Attempt to check if FreeBSD is installed in this system
+# looking at the /boot/loader file and /boot/kernel directory.
+
+set -e
+
+. /usr/share/os-prober/common.sh
+
+partition="$1"
+dir="$2"
+type="$3"
+
+if [ -f "$dir/boot/loader" ] && [ -f "$dir/boot/kernel/kernel" ]; then
+ 	label=`strings $dir/boot/kernel/kernel | sed -n 's|^\(FreeBSD [0-9][0-9.][^ ]*\).*|\1|p'`
+	if [ "x$label" = "x" ] ; then
+    	label="FreeBSD"
+	fi
+	scheme=`udevadm info --query=property --name=$partition | awk -F "=" '/ID_PART_ENTRY_SCHEME/ { print $2 }'`
+	if [ "$scheme" = "dos" ] ; then
+		result "$partition:FreeBSD:$label:freebsd"
+		exit 0
+	else
+		exit 2
+	fi	
+else
+	exit 1
+fi
--- os-prober-1.53/os-probes/mounted/x86/85netbsd.orig	2012-04-29 01:09:05.766868449 -0700
+++ os-prober-1.53/os-probes/mounted/x86/85netbsd	2012-04-29 01:08:43.918410402 -0700
@@ -0,0 +1,32 @@
+#!/bin/sh
+# Attempt to check if NetBSD is installed in this system
+# looking at the /boot and /netbsd files.
+
+set -e
+
+. /usr/share/os-prober/common.sh
+
+partition="$1"
+dir="$2"
+type="$3"
+
+if [ -f "$dir/boot" ] && [ -f "$dir/netbsd" ]; then
+	if [ -f "$dir/etc/release" ] ; then
+		label=`grep '^NetBSD' $dir/etc/release | head -1`
+	else
+    	label="NetBSD"
+	fi
+	
+	if [ "x$label" = "x" ] ; then
+    	label="NetBSD"
+	fi
+	scheme=`udevadm info --query=property --name=$partition | awk -F "=" '/ID_PART_ENTRY_SCHEME/ { print $2 }'`
+	if [ "$scheme" = "dos" ] ; then
+		result "$partition:NetBSD:$label:netbsd"
+		exit 0
+	else
+		exit 2
+	fi	
+else
+	exit 1
+fi
--- os-prober-1.53/os-probes/mounted/x86/85openbsd.orig	2012-04-29 01:09:05.766868449 -0700
+++ os-prober-1.53/os-probes/mounted/x86/85openbsd	2012-04-29 01:08:43.918410402 -0700
@@ -0,0 +1,27 @@
+#!/bin/sh
+# Attempt to check if openBSD is installed in this system
+# looking at the /boot and /bsd files.
+
+set -e
+
+. /usr/share/os-prober/common.sh
+
+partition="$1"
+dir="$2"
+type="$3"
+
+if [ -f "$dir/boot" ] && [ -f "$dir/bsd" ]; then
+	label=`strings $dir/bsd | sed -n 's/\(^OpenBSD [0-9.]*\).*/\1/p'`
+	if [ "x$label" = "x" ] ; then 
+    	label="OpenBSD"
+	fi
+	scheme=`udevadm info --query=property --name=$partition | awk -F "=" '/ID_PART_ENTRY_SCHEME/ { print $2 }'`
+	if [ "$scheme" = "dos" ] ; then
+		result "$partition:OpenBSD:$label:openbsd"
+		exit 0
+	else
+		exit 2
+	fi	
+else
+	exit 1
+fi
openSUSE Build Service is sponsored by