[Pkg-xen-devel] [PATCH 4/4] debian: Break PyGRUB into package separate from Xen

Elliott Mitchell ehem+debian at m5p.com
Mon Aug 9 02:46:56 BST 2021


It is quite sensible to install Xen without installing PyGRUB.  There
might even be potential for using PyGRUB without Xen.  No matter the
case, PyGRUB should *not* be part of xen-utils-X.YY.

Signed-off-by: Elliott Mitchell <ehem+debian at m5p.com>
---
 debian/.gitignore                 |  2 ++
 debian/control                    | 13 +++++++++++++
 debian/rules                      |  7 ++-----
 debian/xen-pygrub.install.vsn-in  |  5 +++++
 debian/xen-utils-V.install.vsn-in |  3 ++-
 5 files changed, 24 insertions(+), 6 deletions(-)
 create mode 100644 debian/xen-pygrub.install.vsn-in

diff --git a/debian/.gitignore b/debian/.gitignore
index 3bd63c0964..5d05aa85c2 100644
--- a/debian/.gitignore
+++ b/debian/.gitignore
@@ -25,6 +25,8 @@
 /xen-hypervisor-[0-9]*[0-9].lintian-overrides
 /xen-hypervisor-[0-9]*[0-9]/
 /xen-hypervisor-common/
+/xen-pygrub.install
+/xen-pygrub/
 /xen-system-amd64/
 /xen-system-arm64/
 /xen-system-armhf/
diff --git a/debian/control b/debian/control
index 757cd1cd1a..77b513843b 100644
--- a/debian/control
+++ b/debian/control
@@ -111,6 +111,19 @@ Description: XEN administrative tools
  qemu-utils and seabios are neded for "Xen HVM" (amd64 and i386)
 Built-Using: ${misc:Built-Using}
 
+Package: xen-pygrub
+Section: admin
+Architecture: amd64 arm64 armhf i386
+Provides: xen-domu-bootloader
+Depends: ${shlibs:Depends}, ${misc:Depends}, python3
+Recommends: 
+Suggests: 
+Description: XEN PyGRUB DomU bootloader
+ A bootloader written to provide a strikingly familiar menu for Linux DomUs
+ under Xen.  This doesn't actually depend upon XEN, though it is most often
+ used in conjunction with XEN.
+Built-Using: ${misc:Built-Using}
+
 Package: xen-hypervisor-4.14-amd64
 Section: kernel
 Architecture: amd64 i386
diff --git a/debian/rules b/debian/rules
index 60d99e6dc2..5c4764e330 100755
--- a/debian/rules
+++ b/debian/rules
@@ -277,11 +277,6 @@ dh_install_excludes += -X'*.pyc'
 # The upstream docs build erroneously ships .deps into the html output.
 dh_install_excludes += -X/.deps
 
-# Upstream puts pygrub in its lib directory which is in our per-version
-# package, and leaves a symlink in /usr/bin.  Exclude the symlink.
-# We don't want this in /usr/bin anyway.
-dh_install_excludes += -Xusr/bin/pygrub
-
 # We want the xenstore utilities in their own package.  The general
 # install does everything from /usr/bin and /usr/share/man, so we
 # need to exclude them.  debhelpers's -X option is ... odd.  Not
@@ -298,6 +293,8 @@ override_dh_install:
 	:
 	debian/shuffle-boot-files $(upstream_version) $(flavour)
 	:
+	mv -f $(t)/usr/lib/xen-$(upstream_version)/bin/pygrub $(t)/usr/bin/
+	:
 	dh_install $(dh_install_excludes)
 	if test -d debian/xen-utils-common; then rm -v $(xenstore_rm); fi
 	:
diff --git a/debian/xen-pygrub.install.vsn-in b/debian/xen-pygrub.install.vsn-in
new file mode 100644
index 0000000000..849d75d824
--- /dev/null
+++ b/debian/xen-pygrub.install.vsn-in
@@ -0,0 +1,5 @@
+usr/bin/pygrub
+usr/lib/xen- at version@/lib/python/grub/
+usr/lib/xen- at version@/lib/python/pygrub-*
+usr/lib/xen- at version@/lib/python/xenfsimage.*.so
+usr/lib/xen- at version@/lib/x86_64-linux-gnu/
diff --git a/debian/xen-utils-V.install.vsn-in b/debian/xen-utils-V.install.vsn-in
index d8a552cb97..b7686d9326 100644
--- a/debian/xen-utils-V.install.vsn-in
+++ b/debian/xen-utils-V.install.vsn-in
@@ -1,5 +1,6 @@
 usr/lib/xen- at version@/bin
-usr/lib/xen- at version@/lib/python
+usr/lib/xen- at version@/lib/python/xen-*
+usr/lib/xen- at version@/lib/python/xen/
 
 ? flavour = amd64 | i386
 usr/lib/xen- at version@/boot
-- 
(\___(\___(\______          --=> 8-) EHM <=--          ______/)___/)___/)
 \BS (    |         ehem+sigmsg at m5p.com  PGP 87145445         |    )   /
  \_CS\   |  _____  -O #include <stddisclaimer.h> O-   _____  |   /  _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445






More information about the Pkg-xen-devel mailing list