[Libguestfs] [PATCH pkg-libvirt/libguestfs] Remove update-guestfs-appliance

Richard W.M. Jones rjones at redhat.com
Sat Mar 15 17:51:02 UTC 2014


[First attempt to send this using git send-email didn't work because
of SMTP routing problems]

Hilko,

This is my experimental patch to remove update-guestfs-appliance from
Debian.  With this patch, libguestfs builds with a supermin [version 5]
appliance in /usr/lib/guestfs/supermin.d:

$ ll -h /usr/lib/guestfs/supermin.d/
total 884K
-rw-r--r-- 1 root root  94K Mar 15 12:18 base.tar.gz
-rw-r--r-- 1 root root 767K Mar 15 12:18 daemon.tar.gz
-rw-r--r-- 1 root root  263 Mar 15 12:18 excludefiles
-rw-r--r-- 1 root root   42 Mar 15 12:18 hostfiles
-rw-r--r-- 1 root root 2.1K Mar 15 12:18 init.tar.gz
-rw-r--r-- 1 root root  462 Mar 15 12:18 packages
-rw-r--r-- 1 root root  543 Mar 15 12:18 udev-rules.tar.gz

libguestfs-test-tool works after installation.  I tried a few other
things, but it has not been comprehensively tested.

Note that if you previously had libguestfs installed, and you ran
update-guestfs-appliance, it will have created a cpio file called
'base.img' in /usr/lib/guestfs/supermin.d/.  This file breaks supermin
unless it is removed.  I attempted to modify postinst to remove it,
but that didn't work for some reason.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
libguestfs lets you edit virtual machines.  Supports shell scripting,
bindings from many languages.  http://libguestfs.org
-------------- next part --------------
>From 98fae101d7720a6ef70dc3b3971245dce43f0190 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones at redhat.com>
Date: Sat, 15 Mar 2014 11:05:34 -0400
Subject: [PATCH] Remove update-guestfs-appliance script.

XXX NB: the postinst script has been modified to remove
/usr/lib/guestfs/supermin.d/base.img from previous installs.  However
for some reason this does not work.  If the file remains from a
previous install then it will break libguestfs.
---
 debian/changelog                  |  7 +++++++
 debian/libguestfs-tools.README    |  9 ---------
 debian/libguestfs-tools.dirs      |  1 -
 debian/libguestfs-tools.install   |  3 ---
 debian/libguestfs-tools.manpages  |  1 -
 debian/libguestfs-tools.postinst  |  6 +-----
 debian/libguestfs-tools.postrm    | 24 ------------------------
 debian/libguestfs-tools.templates | 22 ----------------------
 debian/libguestfs0.install        |  1 +
 debian/rules                      | 31 ++++---------------------------
 debian/update-guestfs-appliance   | 13 -------------
 debian/update-guestfs-appliance.8 | 37 -------------------------------------
 12 files changed, 13 insertions(+), 142 deletions(-)
 delete mode 100644 debian/libguestfs-tools.README
 delete mode 100644 debian/libguestfs-tools.manpages
 delete mode 100755 debian/libguestfs-tools.postrm
 delete mode 100644 debian/libguestfs-tools.templates
 delete mode 100755 debian/update-guestfs-appliance
 delete mode 100644 debian/update-guestfs-appliance.8

diff --git a/debian/changelog b/debian/changelog
index af9941d..c0b8769 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,10 @@
+libguestfs (1:1.25.43-2) experimental; urgency=medium
+
+  * Remove update-guestfs-appliance.
+  * Run only 'make quickcheck' instead of full (with appliance) tests.
+
+ -- Richard W.M. Jones <rjones at redhat.com>  Sat, 15 Mar 2014 09:21:14 -0400
+
 libguestfs (1:1.25.43-1) experimental; urgency=low
 
   * New upstream development version
diff --git a/debian/libguestfs-tools.README b/debian/libguestfs-tools.README
deleted file mode 100644
index 1b19d4d..0000000
--- a/debian/libguestfs-tools.README
+++ /dev/null
@@ -1,9 +0,0 @@
-libguestfs for Debian
-=====================
-
-libguestfs needs a supermin appliance to perform its work. To generate
-or update it, simply run:
-
-# update-guestfs-appliance
-
- -- Hilko Bengen <bengen at debian.org>, Sun,  7 Aug 2011 13:34:13 +0200
diff --git a/debian/libguestfs-tools.dirs b/debian/libguestfs-tools.dirs
index 917b410..98d1583 100644
--- a/debian/libguestfs-tools.dirs
+++ b/debian/libguestfs-tools.dirs
@@ -1,3 +1,2 @@
 usr/bin
 usr/share/man/man1
-usr/lib/guestfs/supermin.d
diff --git a/debian/libguestfs-tools.install b/debian/libguestfs-tools.install
index 6843d34..adbe0c9 100644
--- a/debian/libguestfs-tools.install
+++ b/debian/libguestfs-tools.install
@@ -15,9 +15,6 @@ usr/bin/libguestfs-test-tool
 usr/share/man/man1/libguestfs-test-tool*
 usr/share/man/*/man1/libguestfs-test-tool*
 
-usr/lib/guestfs
-debian/update-guestfs-appliance usr/sbin
-
 usr/share/doc/libguestfs/example-*.xml
 usr/share/doc/libguestfs/virt-inspector.rng
 
diff --git a/debian/libguestfs-tools.manpages b/debian/libguestfs-tools.manpages
deleted file mode 100644
index 403f4f7..0000000
--- a/debian/libguestfs-tools.manpages
+++ /dev/null
@@ -1 +0,0 @@
-debian/update-guestfs-appliance.8
diff --git a/debian/libguestfs-tools.postinst b/debian/libguestfs-tools.postinst
index cda6b23..d4026fc 100755
--- a/debian/libguestfs-tools.postinst
+++ b/debian/libguestfs-tools.postinst
@@ -4,11 +4,7 @@ set -e
 
 case "$1" in
     configure|reconfigure)
-        . /usr/share/debconf/confmodule
-        db_get libguestfs/update-appliance
-        if [ "$RET" = true ]; then
-            update-guestfs-appliance >&2 || true
-        fi
+        rm -f /usr/lib/guestfs/base.img
     ;;
 
     abort-upgrade|abort-remove|abort-deconfigure)
diff --git a/debian/libguestfs-tools.postrm b/debian/libguestfs-tools.postrm
deleted file mode 100755
index e4e40b7..0000000
--- a/debian/libguestfs-tools.postrm
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-
-set -e
-
-case "$1" in
-    purge)
-        rm -f \
-            /usr/lib/guestfs/supermin.d/hostfiles \
-            /usr/lib/guestfs/supermin.d/hostfiles-t \
-            /usr/lib/guestfs/supermin.d/base.img
-    ;;
-
-    remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
-    ;;
-
-    *)
-        echo "postrm called with unknown argument \`$1'" >&2
-        exit 1
-    ;;
-esac
-
-#DEBHELPER#
-
-exit 0
diff --git a/debian/libguestfs-tools.templates b/debian/libguestfs-tools.templates
deleted file mode 100644
index c969916..0000000
--- a/debian/libguestfs-tools.templates
+++ /dev/null
@@ -1,22 +0,0 @@
-# These templates have been reviewed by the debian-l10n-english
-# team
-#
-# If modifications/additions/rewording are needed, please ask
-# debian-l10n-english at lists.debian.org for advice.
-#
-# Even minor modifications require translation updates and such
-# changes should be coordinated with translators and reviewers.
-
-Template: libguestfs/update-appliance
-Type: boolean
-Default: false
-_Description: Create or update supermin appliance now?
- A "supermin appliance" is mandatory for libguestfs.
- It contains lists of files and directories. These will be
- copied into an ad-hoc file system whenever libguestfs starts
- a virtual machine.
- .
- To generate or update a supermin appliance, network access to a
- package repository is needed.
- .
- This can be done later by using the update-guestfs-appliance(8) utility.
diff --git a/debian/libguestfs0.install b/debian/libguestfs0.install
index e137637..0045dd8 100644
--- a/debian/libguestfs0.install
+++ b/debian/libguestfs0.install
@@ -1,4 +1,5 @@
 usr/lib/*-*/libguestfs.so.*
+usr/lib/guestfs/*
 usr/share/man/man1/guestfs-*
 usr/share/man/*/man1/guestfs-*
 usr/share/locale/*/LC_MESSAGES/libguestfs.mo
diff --git a/debian/rules b/debian/rules
index 1da2130..0e0604a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -18,31 +18,21 @@ QEMU_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU \
 		    | sed -e 's,i[456]86,i386,;s,sparc,sparc64,;s,powerpc,ppc,;s,arm.*,arm,')
 
 DEFAULT_CONFIG_FLAGS = \
-	--disable-appliance        \
 	--disable-gnulib-tests     \
 	--with-readline	           \
 	--disable-haskell          \
 	--disable-php	           \
 	--enable-gtk-doc           \
-	--with-qemu=qemu-system-$(QEMU_CPU)
+	--with-qemu=qemu-system-$(QEMU_CPU) \
+	--with-supermin-extra-options='--use-installed'
 
 BARE_CONFIG_FLAGS = \
 	$(DEFAULT_CONFIG_FLAGS) \
-	--disable-daemon --disable-fuse \
+	--disable-fuse \
 	--disable-ocaml --disable-perl \
 	--disable-erlang --with-java=no \
 	--disable-gobject --without-java
 
-# needed as input for supermin(8)
-APPLIANCE_PREREQ = make.sh packagelist
-# added after supermin --prepare
-APPLIANCE_EXTRA = \
-	hostfiles excludefiles \
-	daemon.tar.gz          \
-	init.tar.gz            \
-	udev-rules.tar.gz
-APPLIANCE = $(APPLIANCE_PREREQ) $(APPLIANCE_EXTRA)
-
 override_dh_auto_clean:
 	set -e; for p in $(BUILDS); do \
 		dh_auto_clean --builddir=$(CURDIR)/debian/build-$$p ; \
@@ -103,16 +93,9 @@ override_dh_auto_build:
 			   EXTRA_JAVAC_FLAGS+="-source 1.6 -target 1.6" ; \
 	done
 
-	# also build part of appliance
-	$(MAKE) -C $(CURDIR)/debian/build-default/appliance \
-		$(APPLIANCE)                      \
-		libguestfs-make-fixed-appliance   \
-		libguestfs-make-fixed-appliance.1
-
 override_dh_auto_test:
 	set -e; for p in $(BUILDS); do \
-		dh_auto_test --builddir=$(CURDIR)/debian/build-$$p \
-			-- CFLAGS="$(filter-out -Werror=format-security,$(CFLAGS))"; \
+		make -C $(CURDIR)/debian/build-$$p quickcheck; \
 	done
 
 override_dh_auto_install:
@@ -125,16 +108,10 @@ override_dh_auto_install:
 	done
 
 override_dh_install:
-# We do not install supermin.d/base.*, but ship make.sh which can be
-# used to build it.
 	mkdir -p debian/tmp/usr/lib/guestfs \
 		debian/tmp/usr/sbin/ \
 		debian/tmp/usr/share/man/man1 \
 		debian/tmp/lib/udev/rules.d/appliance/
-	install -m644 \
-		$(patsubst %,debian/build-default/appliance/%,$(APPLIANCE)) \
-		debian/tmp/usr/lib/guestfs/
-	chmod 755 debian/tmp/usr/lib/guestfs/make.sh
 	install -m755 \
 		debian/build-default/appliance/libguestfs-make-fixed-appliance \
 		debian/tmp/usr/sbin/
diff --git a/debian/update-guestfs-appliance b/debian/update-guestfs-appliance
deleted file mode 100755
index b74461e..0000000
--- a/debian/update-guestfs-appliance
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-set -e
-
-cd /usr/lib/guestfs
-umask 022
-./make.sh
-cd supermin.d && ln -st . \
-    ../daemon.tar.gz \
-    ../excludefiles \
-    ../hostfiles \
-    ../init.tar.gz \
-    ../udev-rules.tar.gz
diff --git a/debian/update-guestfs-appliance.8 b/debian/update-guestfs-appliance.8
deleted file mode 100644
index b034604..0000000
--- a/debian/update-guestfs-appliance.8
+++ /dev/null
@@ -1,37 +0,0 @@
-.\"                                      Hey, EMACS: -*- nroff -*-
-.TH LIBGUESTFS 8 "August 2011"
-.SH NAME
-update-guestfs-appliance \- update the supermin appliance used by
-libguestfs
-.SH SYNOPSIS
-.B update-guestfs-appliance
-.SH DESCRIPTION
-\fBupdate-guestfs-appliance\fP creates or updates the supermin
-appliance for use with libguestfs. It uses \fBfebootstrap\fP for this,
-therefore access to the package repository is needed.
-.PP
-A supermin appliance contains only lists of files and directories. The
-contents of the referenced files are only copied into an ad-hoc
-filesystem whenever libguestfs starts a virtual machine. Therefore,
-calling \fBupdate-guestfs-appliance\fP is only needed after libguestfs
-has been installed or when the filesystem layouts or dependencies of
-needed packages on the host system have been changed.
-.PP
-.SH FILES
-.BR /usr/lib/guestfs/make.sh
-(the script that does the actual work),
-.nh
-.nf
-.BR /usr/lib/guestfs/supermin.d/hostfiles
-.BR /usr/lib/guestfs/supermin.d/base.img
-.fi
-.hy
-.SH SEE ALSO
-.BR guestfish (1),
-.BR guestmount (1),
-.BR febootstrap (8),
-.BR febootstrap-supermin-helper (8).
-.SH AUTHOR
-\fBupdate-guestfs-appliance\fP and this manual page were written by
-Hilko Bengen <bengen at debian.org>, for the Debian project (and may be
-used by others).
-- 
1.9.0



More information about the Libguestfs mailing list