SHA256
1
0
forked from pool/libguestfs

- bsc#1190501 - virt-builder fails to install packages when

building an image
  9db0c98c-appliance-enable-bashs-Process-Substitution-feature.patch
- Upstream bug fixes
  c0de4de9-appliance-add-reboot-and-netconfig-for-SUSE.patch
  f47e0bb6-appliance-reorder-mounting-of-special-filesystems-in-init.patch

OBS-URL: https://build.opensuse.org/package/show/Virtualization/libguestfs?expand=0&rev=484
This commit is contained in:
Charles Arnold 2021-09-15 16:53:39 +00:00 committed by Git OBS Bridge
parent 1f8c5d88a1
commit e135b4bcc8
7 changed files with 155 additions and 13 deletions

View File

@ -0,0 +1,31 @@
Subject: appliance: enable bash's Process Substitution feature
From: Olaf Hering olaf@aepfle.de Wed Sep 15 12:20:42 2021 +0200
Date: Wed Sep 15 12:37:08 2021 +0100:
Git: 9db0c98c99090e601d856c6795544f6967e6155f
bash can read input from a spawned process, and even provide input to
such process. This feature relies on /dev/fd/ being present. In the
past udev silently created this symlink, so this bash feature worked
more or less by accident. With recent systemd versions, such as 246
which is included in Leap 15.3, the symlink is not created anymore. As
a result scripts, such as /sbin/dhclient-script, fail to work
properly.
This symlink should have been created in version 1 of this variant of /init.
https://bugzilla.opensuse.org/show_bug.cgi?id=1190501
Signed-off-by: Olaf Hering <olaf@aepfle.de>
diff --git a/appliance/init b/appliance/init
index b1c4d09ea..cdc39c3b9 100755
--- a/appliance/init
+++ b/appliance/init
@@ -72,6 +72,7 @@ fi
# devtmpfs is required since udev 176
mount -t devtmpfs /dev /dev
+ln -s /proc/self/fd /dev/fd
mkdir -p /dev/pts
mount -t devpts /dev/pts /dev/pts
mkdir -p /dev/shm

View File

@ -1,8 +1,8 @@
Index: libguestfs-1.42.0/appliance/init
Index: libguestfs-1.44.2/appliance/init
===================================================================
--- libguestfs-1.42.0.orig/appliance/init
+++ libguestfs-1.42.0/appliance/init
@@ -127,8 +127,10 @@ if test "$guestfs_network" = 1; then
--- libguestfs-1.44.2.orig/appliance/init
+++ libguestfs-1.44.2/appliance/init
@@ -122,8 +122,10 @@ if test "$guestfs_network" = 1; then
rm -f /etc/dhcp/dhclient-enter-hooks.d/resolved
if dhclient --version >/dev/null 2>&1; then
dhclient $iface
@ -14,7 +14,7 @@ Index: libguestfs-1.42.0/appliance/init
fi
fi
@@ -245,7 +245,8 @@ else
@@ -240,7 +242,8 @@ else
echo "Note: The contents of / (root) are the rescue appliance."
if ! test -d "/sysroot/dev"; then
echo "You have to mount the guests partitions under /sysroot"

View File

@ -0,0 +1,29 @@
Subject: appliance: add reboot and netconfig for SUSE
From: Olaf Hering olaf@aepfle.de Tue Sep 14 17:57:43 2021 +0200
Date: Tue Sep 14 20:49:02 2021 +0100:
Git: c0de4de9029c3e483f738a0f80a2c5066c6532db
systemd-sysvinit contains the reboot command, which is used to
properly stop the VM. This was required by other packages, and as a
result always available. Since Leap 15.3 it will not be installed, and
as a result the VM will just panic because /init died.
If the appliance is started with --network, dhclient will run
/usr/sbin/dhclient-script, which in turn may call /sbin/netconfig to
update /etc/resolv.conf. Install sysconfig-netconfig to make sure DNS
resolving actually works.
Signed-off-by: Olaf Hering <olaf@aepfle.de>
--- a/appliance/packagelist.in
+++ b/appliance/packagelist.in
@@ -133,7 +133,9 @@ ifelse(SUSE,1,
ntfs-3g
reiserfs
squashfs
+ sysconfig-netconfig
systemd
+ systemd-sysvinit
vim
xz
)

View File

@ -0,0 +1,77 @@
Subject: appliance: reorder mounting of special filesystems in init
From: Olaf Hering olaf@aepfle.de Wed Sep 15 12:58:23 2021 +0200
Date: Wed Sep 15 12:37:08 2021 +0100:
Git: f47e0bb6725434778384cf79ba3b08610f8c3796
Make sure proc and dev are available early.
No change in behavior intended.
Signed-off-by: Olaf Hering <olaf@aepfle.de>
diff --git a/appliance/init b/appliance/init
index cdc39c3b9..7076821d2 100755
--- a/appliance/init
+++ b/appliance/init
@@ -27,12 +27,12 @@ for d in /lib64 /lib; do
fi
done
-mkdir -p /sysroot
-
-# Mount /proc.
-if [ ! -d /proc ]; then rm -f /proc; fi
-mkdir -p /proc
+mkdir -p /proc /sys
mount -t proc /proc /proc
+mount -t sysfs /sys /sys
+# devtmpfs is required since udev 176
+mount -t devtmpfs /dev /dev
+ln -s /proc/self/fd /dev/fd
# Parse the kernel command line early (must be after /proc is mounted).
cmdline=$(</proc/cmdline)
@@ -54,34 +54,28 @@ if [[ $cmdline == *guestfs_boot_analysis=1* ]]; then
guestfs_boot_analysis=1
fi
-# Mount the other special filesystems.
-if [ ! -d /sys ]; then rm -f /sys; fi
-mkdir -p /sys
-mount -t sysfs /sys /sys
+mkdir -p /dev/pts /dev/shm
+mount -t devpts /dev/pts /dev/pts
+mount -t tmpfs -o mode=1777 shmfs /dev/shm
+
+mkdir -p /sysroot
+
# taken from initramfs-tools/init --Hilko Bengen
mkdir -p /run
mount -t tmpfs -o "nosuid,size=20%,mode=0755" tmpfs /run
mkdir -p /run/lock
ln -s ../run/lock /var/lock
+if [[ $cmdline == *selinux=1* ]]; then
+ mount -t selinuxfs none /sys/fs/selinux
+fi
+
# On Fedora 23, util-linux creates /etc/mtab in %post .. stupid
# and e2fsprogs fails if the link doesn't exist .. stupid stupid
if ! test -e /etc/mtab; then
ln -s /proc/mounts /etc/mtab
fi
-# devtmpfs is required since udev 176
-mount -t devtmpfs /dev /dev
-ln -s /proc/self/fd /dev/fd
-mkdir -p /dev/pts
-mount -t devpts /dev/pts /dev/pts
-mkdir -p /dev/shm
-mount -t tmpfs -o mode=1777 shmfs /dev/shm
-
-if [[ $cmdline == *selinux=1* ]]; then
- mount -t selinuxfs none /sys/fs/selinux
-fi
-
# Static nodes must happen before udev is started.
# Set up kmod static-nodes (RHBZ#1011907).

View File

@ -1,3 +1,13 @@
-------------------------------------------------------------------
Wed Sep 15 10:31:29 MDT 2021 - carnold@suse.com
- bsc#1190501 - virt-builder fails to install packages when
building an image
9db0c98c-appliance-enable-bashs-Process-Substitution-feature.patch
- Upstream bug fixes
c0de4de9-appliance-add-reboot-and-netconfig-for-SUSE.patch
f47e0bb6-appliance-reorder-mounting-of-special-filesystems-in-init.patch
-------------------------------------------------------------------
Mon Sep 13 16:34:08 MDT 2021 - carnold@suse.com

View File

@ -145,6 +145,9 @@ License: GPL-2.0-only
Patch1: e26cfa44-daemon-Build-with--pthread.patch
Patch2: 489b14b7-ocaml-examples-Link-examples-to-gnulib.patch
Patch3: 68a02c2f-customize--resize--sparsify--sysprep-Link-explicitly-with-pthread.patch
Patch4: c0de4de9-appliance-add-reboot-and-netconfig-for-SUSE.patch
Patch5: 9db0c98c-appliance-enable-bashs-Process-Substitution-feature.patch
Patch6: f47e0bb6-appliance-reorder-mounting-of-special-filesystems-in-init.patch
# Pending upstram review
Patch50: 0001-Introduce-a-wrapper-around-xmlParseURI.patch

View File

@ -10,11 +10,3 @@ Index: libguestfs-1.44.2/appliance/packagelist.in
cdrkit-cdrtools-compat
cryptsetup
dhcpcd
@@ -133,6 +134,7 @@ ifelse(SUSE,1,
ntfs-3g
reiserfs
squashfs
+ sysconfig-netconfig
systemd
vim
xz