[Pkg-xen-devel] Bug#680479: xen-utils-4.0: pygrub does not support grub2 submenus
Juha Aatrokoski
jha at kurp.hut.fi
Fri Jul 6 08:33:07 UTC 2012
Package: xen-utils-4.0
Version: 4.0.1-5.2
Severity: important
Tags: upstream patch
pygrub in Debian Squueze does not support Grub2 submenus. At least
Ubuntu Precise uses a submenu for older kernel versions, so a Precise
domU with more than one kernel installed will be unbootable (without
manual fixes) on a Squeeze dom0.
Attached is a patch that adds submenu support to pygrub.
-- System Information:
Debian Release: 6.0.5
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)
Kernel: Linux 2.6.32-5-xen-amd64 (SMP w/4 CPU cores)
Locale: LANG=C, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages xen-utils-4.0 depends on:
ii e2fslibs 1.41.12-4stable1 ext2/ext3/ext4 file system librari
ii iproute 20100519-3 networking and traffic control too
ii libc6 2.11.3-3 Embedded GNU C Library: Shared lib
ii libncurses5 5.7+20100313-5 shared libraries for terminal hand
ii libxenstore3.0 4.0.1-5.2 Xenstore communications library fo
ii python-support 1.0.10 automated rebuilding support for P
ii python2.5 2.5.5-11 An interactive high-level object-o
ii udev 164-3 /dev/ and hotplug management daemo
ii xen-utils-common 4.0.0-1 XEN administrative tools - common
ii zlib1g 1:1.2.3.4.dfsg-3 compression library - runtime
Versions of packages xen-utils-4.0 recommends:
ii bridge-utils 1.4-5 Utilities for configuring the Linu
ii xen-hypervisor-4.0-amd64 [xen 4.0.1-5.2 The Xen Hypervisor on AMD64
Versions of packages xen-utils-4.0 suggests:
pn xen-docs-4.0 <none> (no description available)
-- no debconf information
-------------- next part --------------
--- xen-4.0.1/tools/pygrub/src/GrubConf.py 2012-06-21 09:41:05.000000000 +0300
+++ xen-4.0.1/tools/pygrub/src/GrubConf.py 2012-07-06 10:55:37.000000000 +0300
@@ -368,6 +368,7 @@
in_function = False
img = None
title = ""
+ submenu = 0
for l in lines:
l = l.strip()
# skip blank lines
@@ -386,6 +387,12 @@
in_function = False
continue
+ # new submenu
+ title_match = re.match('^submenu ["\'](.*)["\'] (.*){', l)
+ if title_match:
+ submenu += 1
+ continue
+
# new image
title_match = re.match('^menuentry ["\'](.*)["\'] (.*){', l)
if title_match:
@@ -397,6 +404,9 @@
if l.startswith("}"):
if img is None:
+ if submenu:
+ submenu -= 1
+ continue
raise RuntimeError, "syntax error: closing brace without menuentry"
self.add_image(Grub2Image(title, img))
More information about the Pkg-xen-devel
mailing list