Accepting request 265202 from home:scarabeus_iv
- Version bujmp to 1.65: * use latest in debian to be up par patch wise * Drop reiserfs, it's no longer supported. - we actually still support it as we patch this class away anyway, but still they have it in their changes... * Add ppc64el support. Closes: #752416. * Recognise the new ignore_uefi flag from partman-efi. - Refresh all patches to still apply: * os-prober-1.49-grub2-mount.patch * os-prober-call-dmraid-once.patch * os-prober-dont-load-all-fs-module-and-dont-test-mount.patch - Always delete all the .orig files as sometimes even upstream put them to tarball :) OBS-URL: https://build.opensuse.org/request/show/265202 OBS-URL: https://build.opensuse.org/package/show/Base:System/os-prober?expand=0&rev=47
This commit is contained in:
parent
cc70b6df24
commit
f596597b43
@ -1,34 +1,7 @@
|
||||
From: Andrey Borzenkov <arvidjaar@gmail.com>
|
||||
Subject: replace grub-mount with grub2-mount everywhere
|
||||
|
||||
References: bnc#799457, bnc#767272
|
||||
|
||||
We use grub2-mount, not grub-mount. As shown in bnc#799457,
|
||||
grub2-mount may access filesystem even when kernel driver
|
||||
will refuse it. os-prober makes devices read-only to prevent
|
||||
accidental damage, so kernel driver fails if log replay is needed
|
||||
but cannot be performed.
|
||||
|
||||
This may likely fix bnc#767272
|
||||
|
||||
Index: os-prober-1.57/os-probes/init/common/10filesystems
|
||||
===================================================================
|
||||
--- os-prober-1.57.orig/os-probes/init/common/10filesystems
|
||||
+++ os-prober-1.57/os-probes/init/common/10filesystems
|
||||
@@ -3,7 +3,7 @@
|
||||
set +e # ignore errors from modprobe
|
||||
|
||||
FILESYSTEMS='ext2 ext3 ext4 reiserfs xfs jfs msdos vfat ntfs minix hfs hfsplus qnx4 ufs btrfs'
|
||||
-# fuse is needed to make grub-mount work.
|
||||
+# fuse is needed to make grub2-mount work.
|
||||
FILESYSTEMS="$FILESYSTEMS fuse"
|
||||
# The Ubuntu kernel udebs put a number of filesystem modules in
|
||||
# fs-{core,secondary}-modules. It's fairly cheap to check for these too.
|
||||
Index: os-prober-1.57/common.sh
|
||||
===================================================================
|
||||
--- os-prober-1.57.orig/common.sh
|
||||
+++ os-prober-1.57/common.sh
|
||||
@@ -259,8 +259,8 @@ linux_mount_boot () {
|
||||
diff -urN os-prober.old/common.sh os-prober/common.sh
|
||||
--- os-prober.old/common.sh 2014-12-14 19:04:07.711368751 +0100
|
||||
+++ os-prober/common.sh 2014-12-14 19:04:29.792443896 +0100
|
||||
@@ -259,8 +259,8 @@
|
||||
debug "found boot partition $1 for linux system on $partition, but cannot map to existing device"
|
||||
else
|
||||
debug "found boot partition $bootpart for linux system on $partition"
|
||||
@ -39,11 +12,10 @@ Index: os-prober-1.57/common.sh
|
||||
mounted=1
|
||||
else
|
||||
ro_partition "$boottomnt"
|
||||
Index: os-prober-1.57/linux-boot-probes/common/50mounted-tests
|
||||
===================================================================
|
||||
--- os-prober-1.57.orig/linux-boot-probes/common/50mounted-tests
|
||||
+++ os-prober-1.57/linux-boot-probes/common/50mounted-tests
|
||||
@@ -34,11 +34,11 @@ if [ ! -d "$tmpmnt" ]; then
|
||||
diff -urN os-prober.old/linux-boot-probes/common/50mounted-tests os-prober/linux-boot-probes/common/50mounted-tests
|
||||
--- os-prober.old/linux-boot-probes/common/50mounted-tests 2014-12-14 19:04:07.711368751 +0100
|
||||
+++ os-prober/linux-boot-probes/common/50mounted-tests 2014-12-14 19:04:29.792443896 +0100
|
||||
@@ -34,11 +34,11 @@
|
||||
fi
|
||||
|
||||
mounted=
|
||||
@ -59,11 +31,10 @@ Index: os-prober-1.57/linux-boot-probes/common/50mounted-tests
|
||||
[ "$type" ] || type=fuseblk
|
||||
else
|
||||
ro_partition "$partition"
|
||||
Index: os-prober-1.57/os-probes/common/50mounted-tests
|
||||
===================================================================
|
||||
--- os-prober-1.57.orig/os-probes/common/50mounted-tests
|
||||
+++ os-prober-1.57/os-probes/common/50mounted-tests
|
||||
@@ -49,11 +49,11 @@ if [ ! -d "$tmpmnt" ]; then
|
||||
diff -urN os-prober.old/os-probes/common/50mounted-tests os-prober/os-probes/common/50mounted-tests
|
||||
--- os-prober.old/os-probes/common/50mounted-tests 2014-12-14 19:04:07.712368755 +0100
|
||||
+++ os-prober/os-probes/common/50mounted-tests 2014-12-14 19:04:29.793443899 +0100
|
||||
@@ -46,11 +46,11 @@
|
||||
fi
|
||||
|
||||
mounted=
|
||||
@ -79,3 +50,15 @@ Index: os-prober-1.57/os-probes/common/50mounted-tests
|
||||
if [ "$type" ]; then
|
||||
debug "mounted using GRUB $type filesystem driver"
|
||||
else
|
||||
diff -urN os-prober.old/os-probes/init/common/10filesystems os-prober/os-probes/init/common/10filesystems
|
||||
--- os-prober.old/os-probes/init/common/10filesystems 2014-12-14 19:04:07.713368758 +0100
|
||||
+++ os-prober/os-probes/init/common/10filesystems 2014-12-14 19:04:54.182526874 +0100
|
||||
@@ -3,7 +3,7 @@
|
||||
set +e # ignore errors from modprobe
|
||||
|
||||
FILESYSTEMS='ext2 ext3 ext4 xfs jfs msdos vfat ntfs minix hfs hfsplus qnx4 ufs btrfs'
|
||||
-# fuse is needed to make grub-mount work.
|
||||
+# fuse is needed to make grub2-mount work.
|
||||
FILESYSTEMS="$FILESYSTEMS fuse"
|
||||
# The Ubuntu kernel udebs put a number of filesystem modules in
|
||||
# fs-{core,secondary}-modules. It's fairly cheap to check for these too.
|
||||
|
@ -13,8 +13,10 @@ Signed-off-by: Jeff Mahoney <jeffm@suse.com>
|
||||
os-prober | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
--- a/os-prober
|
||||
+++ b/os-prober
|
||||
Index: os-prober/os-prober
|
||||
===================================================================
|
||||
--- os-prober.orig/os-prober
|
||||
+++ os-prober/os-prober
|
||||
@@ -14,11 +14,17 @@ log_output () {
|
||||
fi
|
||||
}
|
||||
|
@ -1,8 +1,7 @@
|
||||
Index: os-prober-1.61/os-probes/common/50mounted-tests
|
||||
===================================================================
|
||||
--- os-prober-1.61.orig/os-probes/common/50mounted-tests
|
||||
+++ os-prober-1.61/os-probes/common/50mounted-tests
|
||||
@@ -40,19 +40,13 @@ elif [ -z "$types" ]; then
|
||||
diff -urN os-prober.old/os-probes/common/50mounted-tests os-prober/os-probes/common/50mounted-tests
|
||||
--- os-prober.old/os-probes/common/50mounted-tests 2014-12-14 19:04:07.712368755 +0100
|
||||
+++ os-prober/os-probes/common/50mounted-tests 2014-12-14 19:08:15.674211934 +0100
|
||||
@@ -25,19 +25,13 @@
|
||||
debug "$1 is a LUKS partition; skipping"
|
||||
exit 0
|
||||
fi
|
||||
@ -29,7 +28,7 @@ Index: os-prober-1.61/os-probes/common/50mounted-tests
|
||||
fi
|
||||
|
||||
tmpmnt=/var/lib/os-prober/mount
|
||||
@@ -144,7 +138,7 @@ if type grub2-mount >/dev/null 2>&1 && \
|
||||
@@ -59,7 +53,7 @@
|
||||
fi
|
||||
else
|
||||
ro_partition "$partition"
|
||||
@ -38,17 +37,15 @@ Index: os-prober-1.61/os-probes/common/50mounted-tests
|
||||
if mount -o ro -t "$type" "$partition" "$tmpmnt" 2>/dev/null; then
|
||||
debug "mounted as $type filesystem"
|
||||
mounted=1
|
||||
Index: os-prober-1.61/os-probes/init/common/10filesystems
|
||||
===================================================================
|
||||
--- os-prober-1.61.orig/os-probes/init/common/10filesystems
|
||||
+++ os-prober-1.61/os-probes/init/common/10filesystems
|
||||
@@ -1,39 +1,21 @@
|
||||
diff -urN os-prober.old/os-probes/init/common/10filesystems os-prober/os-probes/init/common/10filesystems
|
||||
--- os-prober.old/os-probes/init/common/10filesystems 2014-12-14 19:04:07.713368758 +0100
|
||||
+++ os-prober/os-probes/init/common/10filesystems 2014-12-14 19:09:51.939538946 +0100
|
||||
@@ -1,39 +1,19 @@
|
||||
#!/bin/sh
|
||||
# Make sure filesystems are available.
|
||||
-set +e # ignore errors from modprobe
|
||||
+set -e
|
||||
|
||||
-FILESYSTEMS='ext2 ext3 ext4 reiserfs xfs jfs msdos vfat ntfs minix hfs hfsplus qnx4 ufs btrfs'
|
||||
-
|
||||
-FILESYSTEMS='ext2 ext3 ext4 xfs jfs msdos vfat ntfs minix hfs hfsplus qnx4 ufs btrfs'
|
||||
-# fuse is needed to make grub2-mount work.
|
||||
-FILESYSTEMS="$FILESYSTEMS fuse"
|
||||
-# The Ubuntu kernel udebs put a number of filesystem modules in
|
||||
@ -66,14 +63,7 @@ Index: os-prober-1.61/os-probes/init/common/10filesystems
|
||||
- done
|
||||
- depmod -a >/dev/null 2>&1 || true
|
||||
- fi
|
||||
+# Make sure fuse is available for grub2-mount
|
||||
+# As long as we use grub2-mount, we use grub2's own file system modules
|
||||
+# to mount the partitiion and the operation don't require kernel support
|
||||
+# other than fuse.
|
||||
+if ! cat /proc/filesystems | grep nodev | cut -f2 | grep -qw fuse; then
|
||||
+ modprobe fuse 2>&1 | logger -t os-prober
|
||||
+fi
|
||||
|
||||
-
|
||||
- for fs in $FILESYSTEMS; do
|
||||
- case "$fs" in
|
||||
- fs-*)
|
||||
@ -83,18 +73,27 @@ Index: os-prober-1.61/os-probes/init/common/10filesystems
|
||||
- ;;
|
||||
- esac
|
||||
- done
|
||||
+# Regarding file systems not supported by grub2, or systems simply don't
|
||||
+# have grub2-mount, will use linux 'mount' utility. This will require
|
||||
+# kernel file system module to work, but still we don't need to modprobe
|
||||
+# all of them before mount, because mount() syscall will take care of it
|
||||
+# by __request_module the needed kernel module and we should leave it do
|
||||
+# that for us in order to have only needed modules get loaded.
|
||||
+#
|
||||
+# Still if you want any kernel module loaded, add them here.
|
||||
|
||||
-
|
||||
- # We only want to keep this state inside d-i, so this is as good a
|
||||
- # check as any.
|
||||
- if type anna-install >/dev/null 2>&1 && [ -d /lib/debian-installer ]; then
|
||||
- touch /var/lib/os-prober/modules
|
||||
- fi
|
||||
-fi
|
||||
+set -e
|
||||
+
|
||||
+# Make sure fuse is available for grub2-mount
|
||||
+# As long as we use grub2-mount, we use grub2's own file system modules
|
||||
+# to mount the partitiion and the operation don't require kernel support
|
||||
+# other than fuse.
|
||||
+if ! cat /proc/filesystems | grep nodev | cut -f2 | grep -qw fuse; then
|
||||
+ modprobe fuse 2>&1 | logger -t os-prober
|
||||
+fi
|
||||
+# Regarding file systems not supported by grub2, or systems simply don't
|
||||
+# have grub2-mount, will use linux 'mount' utility. This will require
|
||||
+# kernel file system module to work, but still we don't need to modprobe
|
||||
+# all of them before mount, because mount() syscall will take care of it
|
||||
+# by __request_module the needed kernel module and we should leave it do
|
||||
+# that for us in order to have only needed modules get loaded.
|
||||
+#
|
||||
+# Still if you want any kernel module loaded, add them here.
|
||||
|
@ -1,3 +1,20 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Dec 14 18:16:40 UTC 2014 - tchvatal@suse.com
|
||||
|
||||
- Version bujmp to 1.65:
|
||||
* use latest in debian to be up par patch wise
|
||||
* Drop reiserfs, it's no longer supported.
|
||||
- we actually still support it as we patch this class away
|
||||
anyway, but still they have it in their changes...
|
||||
* Add ppc64el support. Closes: #752416.
|
||||
* Recognise the new ignore_uefi flag from partman-efi.
|
||||
- Refresh all patches to still apply:
|
||||
* os-prober-1.49-grub2-mount.patch
|
||||
* os-prober-call-dmraid-once.patch
|
||||
* os-prober-dont-load-all-fs-module-and-dont-test-mount.patch
|
||||
- Always delete all the .orig files as sometimes even upstream
|
||||
put them to tarball :)
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Aug 19 11:15:57 UTC 2014 - mchang@suse.com
|
||||
|
||||
|
@ -17,14 +17,13 @@
|
||||
|
||||
|
||||
Name: os-prober
|
||||
Version: 1.61
|
||||
Version: 1.65
|
||||
Release: 0
|
||||
Summary: Probes disks on the system for installed operating systems
|
||||
License: GPL-2.0+
|
||||
Group: System/Boot
|
||||
|
||||
Url: http://kitenet.net/~joey/code/os-prober/
|
||||
Source0: http://ftp.de.debian.org/debian/pool/main/o/os-prober/%{name}_%{version}.tar.gz
|
||||
Source0: http://ftp.de.debian.org/debian/pool/main/o/os-prober/%{name}_%{version}.tar.xz
|
||||
Source1: COPYING-note.txt
|
||||
# move newns binary outside of os-prober subdirectory, so that debuginfo
|
||||
# can be automatically generated for it
|
||||
@ -55,16 +54,15 @@ Patch13: os-prober-fix-btrfs-subvol-mounted-tests.patch
|
||||
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
|
||||
|
||||
Requires: /bin/grep
|
||||
Requires: /bin/sed
|
||||
Requires: /sbin/modprobe
|
||||
Requires: btrfsprogs
|
||||
Requires: coreutils
|
||||
Recommends: dmraid
|
||||
Recommends: lvm2
|
||||
Requires: udev
|
||||
Requires: util-linux
|
||||
Recommends: dmraid
|
||||
Recommends: lvm2
|
||||
%if 0%{?suse_version} >= 1315
|
||||
# For logger utility
|
||||
Requires: util-linux-systemd
|
||||
@ -76,8 +74,8 @@ in a generic machine-readable format. Support for new OSes and Linux
|
||||
distributions can be added easily.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}
|
||||
cp %SOURCE1 .
|
||||
%setup -q -n %{name}
|
||||
cp %{SOURCE1} .
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
%patch3 -p1
|
||||
@ -92,9 +90,10 @@ cp %SOURCE1 .
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
%patch15 -p1
|
||||
find . -name \*.orig -delete
|
||||
|
||||
%build
|
||||
make %{?_smp_mflags} CC="%__cc" CFLAGS="%{optflags}"
|
||||
make %{?_smp_mflags} CC="gcc" CFLAGS="%{optflags}"
|
||||
|
||||
%install
|
||||
install -m 0755 -d %{buildroot}%{_bindir}
|
||||
@ -113,7 +112,7 @@ ARCH=powerpc
|
||||
%ifarch sparc sparc64
|
||||
ARCH=sparc
|
||||
%endif
|
||||
%ifarch %{ix86} x86_64
|
||||
%ifarch %ix86 x86_64
|
||||
ARCH=x86
|
||||
%endif
|
||||
|
||||
|
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:2b83d037c38ca6393e1ead7d1548c59528c07b9fc1a1e07b4e1d07af03905f48
|
||||
size 28197
|
3
os-prober_1.65.tar.xz
Normal file
3
os-prober_1.65.tar.xz
Normal file
@ -0,0 +1,3 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:c4a7661a52edae722f7e6bacb3f107cf7086cbe768275fadf5398d04360bfc84
|
||||
size 24712
|
Loading…
Reference in New Issue
Block a user