From 05c8c7048351d5ae72ba353ac32e13886f2ae132 Mon Sep 17 00:00:00 2001 From: Dan Bungert Date: Wed, 8 Dec 2021 12:22:19 -0700 Subject: [PATCH 1/3] snapcraft: +os-prober --- snapcraft.yaml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/snapcraft.yaml b/snapcraft.yaml index 29905cd0..075f7b33 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -192,3 +192,14 @@ parts: - -lib/python3.8/site-packages/pkg_resources - -lib/python3.8/site-packages/setuptools - -lib/python3.8/site-packages/wheel* + + os-prober: + plugin: nil + stage-packages: [os-prober] + override-stage: | + snapcraftctl stage + for file in $(grep -lr /usr usr|grep -v /usr/share/doc); do + sed -i 's, \(/usr\), $SNAP\1,' $file + done + sed -i 's/mkdir "$tmpmnt"/mkdir -p "$tmpmnt"/' \ + usr/lib/os-probes/50mounted-tests From 6bf9b8f7349047c43a4a39c39e70e146bf903da8 Mon Sep 17 00:00:00 2001 From: Dan Bungert Date: Tue, 14 Dec 2021 15:45:36 -0700 Subject: [PATCH 2/3] snapcraft: rev probert for os-prober --- snapcraft.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/snapcraft.yaml b/snapcraft.yaml index 075f7b33..82df8526 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -180,7 +180,7 @@ parts: - libnl-route-3-dev source: https://github.com/canonical/probert.git source-type: git - source-commit: 2bb505172b5f97372eb1abd12ced4629e852504b + source-commit: 693cd0040307c1390163c013f22fd82c8b27cd6b requirements: [requirements.txt] stage: - "*" From 7bdeb6707cd3d8684d3e4a6a069cbab14c49d1ae Mon Sep 17 00:00:00 2001 From: Dan Bungert Date: Wed, 12 Jan 2022 13:33:07 -0700 Subject: [PATCH 3/3] os-prober: patch instead of sed --- snap/local/os-prober-envvar.patch | 355 ++++++++++++++++++++++++++++++ snapcraft.yaml | 13 +- 2 files changed, 363 insertions(+), 5 deletions(-) create mode 100644 snap/local/os-prober-envvar.patch diff --git a/snap/local/os-prober-envvar.patch b/snap/local/os-prober-envvar.patch new file mode 100644 index 00000000..e08ef9db --- /dev/null +++ b/snap/local/os-prober-envvar.patch @@ -0,0 +1,355 @@ +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/bin/linux-boot-prober os-prober-1.74ubuntu3/debian/os-prober/usr/bin/linux-boot-prober +--- os-prober-1.74ubuntu2/debian/os-prober/usr/bin/linux-boot-prober 2017-01-21 08:43:27.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/bin/linux-boot-prober 2022-01-11 15:49:38.186209003 -0700 +@@ -1,5 +1,5 @@ + #!/bin/sh +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + set -e + +@@ -21,7 +21,7 @@ + fi + + if ! grep -q "^$mapped " "$OS_PROBER_TMP/mounted-map"; then +- for test in /usr/lib/linux-boot-probes/*; do ++ for test in $OS_PROBER_LIB/linux-boot-probes/*; do + debug "running $test" + if [ -x $test ] && [ -f $test ]; then + if $test "$partition"; then +@@ -43,7 +43,7 @@ + bootpart="$partition" + bootmounted=0 + fi +- for test in /usr/lib/linux-boot-probes/mounted/*; do ++ for test in $OS_PROBER_LIB/linux-boot-probes/mounted/*; do + if [ -f $test ] && [ -x $test ]; then + debug "running $test on mounted $partition" + if $test "$partition" "$bootpart" "$mpoint" "$type"; then +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/bin/os-prober os-prober-1.74ubuntu3/debian/os-prober/usr/bin/os-prober +--- os-prober-1.74ubuntu2/debian/os-prober/usr/bin/os-prober 2017-01-31 13:30:39.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/bin/os-prober 2022-01-11 15:48:59.589228493 -0700 +@@ -1,7 +1,7 @@ + #!/bin/sh + set -e + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + newns "$@" + require_tmpdir +@@ -113,7 +113,7 @@ + # Needed for idempotency + rm -f /var/lib/os-prober/labels + +-for prog in /usr/lib/os-probes/init/*; do ++for prog in $OS_PROBER_LIB/os-probes/init/*; do + if [ -x "$prog" ] && [ -f "$prog" ]; then + "$prog" || true + fi +@@ -150,7 +150,7 @@ + fi + + if ! grep -q "^$mapped " "$OS_PROBER_TMP/mounted-map" ; then +- for test in /usr/lib/os-probes/*; do ++ for test in $OS_PROBER_LIB/os-probes/*; do + if [ -f "$test" ] && [ -x "$test" ]; then + debug "running $test on $partition" + if "$test" "$partition"; then +@@ -164,7 +164,7 @@ + mpoint="$(unescape_mount "$mpoint")" + if [ "$mpoint" != "/target/boot" ] && [ "$mpoint" != "/target" ] && [ "$mpoint" != "/" ]; then + type=$(grep "^$mapped " "$OS_PROBER_TMP/mounted-map" | head -n1 | cut -d " " -f 3) +- for test in /usr/lib/os-probes/mounted/*; do ++ for test in $OS_PROBER_LIB/os-probes/mounted/*; do + if [ -f "$test" ] && [ -x "$test" ]; then + debug "running $test on mounted $partition" + if "$test" "$partition" "$mpoint" "$type"; then +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/linux-boot-probes/50mounted-tests os-prober-1.74ubuntu3/debian/os-prober/usr/lib/linux-boot-probes/50mounted-tests +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/linux-boot-probes/50mounted-tests 2017-01-26 07:08:18.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/linux-boot-probes/50mounted-tests 2022-01-11 16:03:48.756874553 -0700 +@@ -1,6 +1,6 @@ + #!/bin/sh + # Sub-tests that require a mounted partition. +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + set -e + + do_unmount() { +@@ -50,7 +50,7 @@ + + tmpmnt=/var/lib/os-prober/mount + if [ ! -d "$tmpmnt" ]; then +- mkdir "$tmpmnt" ++ mkdir -p "$tmpmnt" + fi + + mounted= +@@ -95,7 +95,7 @@ + dm_devices="$dm_device $dm_devices" + fi + +- for test in /usr/lib/linux-boot-probes/mounted/*; do ++ for test in $OS_PROBER_LIB/linux-boot-probes/mounted/*; do + if [ -f "$test" ] && [ -x "$test" ]; then + debug "running $test $partition $bootpart $tmpmnt $type" + if $test "$partition" "$bootpart" "$tmpmnt" "$type"; then +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/linux-boot-probes/mounted/40grub os-prober-1.74ubuntu3/debian/os-prober/usr/lib/linux-boot-probes/mounted/40grub +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/linux-boot-probes/mounted/40grub 2017-01-21 08:43:28.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/linux-boot-probes/mounted/40grub 2022-01-11 15:48:59.569227985 -0700 +@@ -1,5 +1,5 @@ + #!/bin/sh +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + set -e + + partition="$1" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/linux-boot-probes/mounted/40grub2 os-prober-1.74ubuntu3/debian/os-prober/usr/lib/linux-boot-probes/mounted/40grub2 +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/linux-boot-probes/mounted/40grub2 2017-01-21 08:43:28.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/linux-boot-probes/mounted/40grub2 2022-01-11 15:48:59.565227883 -0700 +@@ -1,5 +1,5 @@ + #!/bin/sh +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + set -e + + partition="$1" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/linux-boot-probes/mounted/50lilo os-prober-1.74ubuntu3/debian/os-prober/usr/lib/linux-boot-probes/mounted/50lilo +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/linux-boot-probes/mounted/50lilo 2017-01-21 08:43:28.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/linux-boot-probes/mounted/50lilo 2022-01-11 15:48:59.569227985 -0700 +@@ -1,5 +1,5 @@ + #!/bin/sh +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + set -e + + partition="$1" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/linux-boot-probes/mounted/90fallback os-prober-1.74ubuntu3/debian/os-prober/usr/lib/linux-boot-probes/mounted/90fallback +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/linux-boot-probes/mounted/90fallback 2017-01-21 08:43:28.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/linux-boot-probes/mounted/90fallback 2022-01-11 15:48:59.565227883 -0700 +@@ -1,7 +1,7 @@ + #!/bin/sh + # Fallback in case nothing else works. Look for vmlinu[xz] file in root and + # /boot, see if there is a matching initrd, and wing it. +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + set -e + + partition="$1" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/50mounted-tests os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/50mounted-tests +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/50mounted-tests 2017-03-06 14:54:47.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/50mounted-tests 2022-01-11 16:03:51.852955841 -0700 +@@ -3,7 +3,7 @@ + set -e + partition="$1" + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + do_unmount() { + if [ "$mounted" ]; then +@@ -59,7 +59,7 @@ + + tmpmnt=/var/lib/os-prober/mount + if [ ! -d "$tmpmnt" ]; then +- mkdir "$tmpmnt" ++ mkdir -p "$tmpmnt" + fi + + mounted= +@@ -88,7 +88,7 @@ + fi + + if [ "$mounted" ]; then +- for test in /usr/lib/os-probes/mounted/*; do ++ for test in $OS_PROBER_LIB/os-probes/mounted/*; do + debug "running subtest $test" + if [ -f "$test" ] && [ -x "$test" ]; then + if "$test" "$partition" "$tmpmnt" "$type"; then +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/05efi os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/05efi +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/05efi 2017-01-21 08:43:28.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/05efi 2022-01-11 15:49:38.186209003 -0700 +@@ -1,7 +1,7 @@ + #!/bin/sh + # Detects all Microsoft OSes on a collection of partitions. + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + partition="$1" + mpoint="$2" +@@ -56,7 +56,7 @@ + fi + + ret=1 +-for test in /usr/lib/os-probes/mounted/efi/*; do ++for test in $OS_PROBER_LIB/os-probes/mounted/efi/*; do + debug "running subtest $test" + if [ -f "$test" ] && [ -x "$test" ]; then + entry=$("$test" "$mpoint/$efi") +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/10freedos os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/10freedos +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/10freedos 2017-01-21 08:43:27.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/10freedos 2022-01-11 15:48:59.581228289 -0700 +@@ -1,6 +1,6 @@ + #!/bin/sh + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + partition="$1" + mpoint="$2" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/10qnx os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/10qnx +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/10qnx 2017-01-21 08:43:27.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/10qnx 2022-01-11 15:48:59.581228289 -0700 +@@ -1,6 +1,6 @@ + #!/bin/sh + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + partition="$1" + mpoint="$2" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/20macosx os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/20macosx +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/20macosx 2017-01-21 08:43:28.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/20macosx 2022-01-11 15:48:59.577228188 -0700 +@@ -1,6 +1,6 @@ + #!/bin/sh -e + # Detects Mac OS X. I don't yet know how Mac OS <= 9 fits into this. +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + partition="$1" + mpoint="$2" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/20microsoft os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/20microsoft +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/20microsoft 2019-06-04 19:07:31.000000000 -0600 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/20microsoft 2022-01-11 15:48:59.585228391 -0700 +@@ -1,7 +1,7 @@ + #!/bin/sh + # Detects all Microsoft OSes on a collection of partitions. + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + partition="$1" + mpoint="$2" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/30utility os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/30utility +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/30utility 2017-01-21 08:43:27.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/30utility 2022-01-11 15:48:59.585228391 -0700 +@@ -1,7 +1,7 @@ + #!/bin/sh + # Detects utility (hw vendor recovery) partitions. + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + partition="$1" + mpoint="$2" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/40lsb os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/40lsb +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/40lsb 2017-01-21 08:43:27.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/40lsb 2022-01-11 15:48:59.573228086 -0700 +@@ -2,7 +2,7 @@ + # Test for LSB systems. + set -e + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + partition="$1" + dir="$2" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/70hurd os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/70hurd +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/70hurd 2017-01-21 08:43:27.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/70hurd 2022-01-11 15:48:59.585228391 -0700 +@@ -1,7 +1,7 @@ + #!/bin/sh + set -e + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + partition="$1" + dir="$2" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/80minix os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/80minix +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/80minix 2017-01-21 08:43:27.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/80minix 2022-01-11 15:48:59.585228391 -0700 +@@ -1,7 +1,7 @@ + #!/bin/sh + set -e + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + partition="$1" + dir="$2" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/83haiku os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/83haiku +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/83haiku 2017-01-21 08:43:28.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/83haiku 2022-01-11 15:48:59.589228493 -0700 +@@ -1,7 +1,7 @@ + #!/bin/sh + # Detects Haiku on BeFS partitions. + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + partition="$1" + mpoint="$2" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/90linux-distro os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/90linux-distro +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/90linux-distro 2017-01-21 08:43:27.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/90linux-distro 2022-01-11 15:48:59.577228188 -0700 +@@ -2,7 +2,7 @@ + # Test for linux distributions. + set -e + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + partition="$1" + dir="$2" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/90solaris os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/90solaris +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/90solaris 2017-01-21 08:43:27.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/90solaris 2022-01-11 15:48:59.589228493 -0700 +@@ -4,7 +4,7 @@ + + set -e + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + partition="$1" + dir="$2" +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/efi/10elilo os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/efi/10elilo +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/efi/10elilo 2017-01-21 08:43:28.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/efi/10elilo 2022-01-11 15:48:59.581228289 -0700 +@@ -1,7 +1,7 @@ + #!/bin/sh + # Detects ELILO bootloader on a EFI System Partition + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + efi="$1" + +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/efi/20microsoft os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/efi/20microsoft +--- os-prober-1.74ubuntu2/debian/os-prober/usr/lib/os-probes/mounted/efi/20microsoft 2017-01-21 08:43:28.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/lib/os-probes/mounted/efi/20microsoft 2022-01-11 15:48:59.581228289 -0700 +@@ -1,7 +1,7 @@ + #!/bin/sh + # Detects Microsoft bootloader on a EFI System Partition + +-. /usr/share/os-prober/common.sh ++. ${OS_PROBER_SHARE:-/usr/share}/os-prober/common.sh + + efi="$1" + +Binary files os-prober-1.74ubuntu2/debian/os-prober/usr/share/doc/os-prober/changelog.gz and os-prober-1.74ubuntu3/debian/os-prober/usr/share/doc/os-prober/changelog.gz differ +diff -urN os-prober-1.74ubuntu2/debian/os-prober/usr/share/os-prober/common.sh os-prober-1.74ubuntu3/debian/os-prober/usr/share/os-prober/common.sh +--- os-prober-1.74ubuntu2/debian/os-prober/usr/share/os-prober/common.sh 2017-01-31 13:52:12.000000000 -0700 ++++ os-prober-1.74ubuntu3/debian/os-prober/usr/share/os-prober/common.sh 2022-01-11 15:52:19.734426266 -0700 +@@ -1,5 +1,7 @@ ++export OS_PROBER_LIB=${OS_PROBER_LIB:-/usr/lib} ++ + newns () { +- [ "$OS_PROBER_NEWNS" ] || exec /usr/lib/os-prober/newns "$0" "$@" ++ [ "$OS_PROBER_NEWNS" ] || exec $OS_PROBER_LIB/os-prober/newns "$0" "$@" + } + + cleanup_tmpdir=false diff --git a/snapcraft.yaml b/snapcraft.yaml index 82df8526..418fee36 100644 --- a/snapcraft.yaml +++ b/snapcraft.yaml @@ -19,6 +19,8 @@ apps: daemon: simple restart-condition: always environment: + OS_PROBER_LIB: $SNAP/usr/lib + OS_PROBER_SHARE: $SNAP/usr/share PYTHONIOENCODING: utf-8 SUBIQUITY_ROOT: $SNAP PYTHON: $SNAP/usr/bin/python3.8 @@ -32,6 +34,11 @@ apps: PYTHONIOENCODING: utf-8 SUBIQUITY_ROOT: $SNAP PYTHON: $SNAP/usr/bin/python3.8 + os-prober: + command: usr/bin/os-prober + environment: + OS_PROBER_LIB: $SNAP/usr/lib + OS_PROBER_SHARE: $SNAP/usr/share parts: curtin: @@ -198,8 +205,4 @@ parts: stage-packages: [os-prober] override-stage: | snapcraftctl stage - for file in $(grep -lr /usr usr|grep -v /usr/share/doc); do - sed -i 's, \(/usr\), $SNAP\1,' $file - done - sed -i 's/mkdir "$tmpmnt"/mkdir -p "$tmpmnt"/' \ - usr/lib/os-probes/50mounted-tests + patch -p3 < $SNAPCRAFT_PROJECT_DIR/snap/local/os-prober-envvar.patch