Re: Stable update proposed for ganeti (fixing #528618)
On Sat, Aug 08, 2009 at 03:29:12PM +0200, Luk Claes wrote:
> Iustin Pop wrote:
> > On Tue, Aug 04, 2009 at 05:01:39PM +0100, Adam D. Barratt wrote:
> >> Iustin Pop wrote:
> >>> On Tue, Jul 28, 2009 at 08:05:15PM +0200, Iustin Pop wrote:
> >>>> Hi,
> >>>>
> >>>> I'd like to update ganeti to stable-proposed-updates to fix the above
> >>>> bug. It's a simple one-line change; I see only one potential breakage
> >>>> out of it - if people already did the symlink fix pointed out in the
> >>>> bug, but with the symlink pointing to a different version of Xen,
> >>>> then this version will change what xen version they use. More
> >>>> clearly: - if currently /usr/lib/xen points to anything else than
> >>>> /usr/lib/xen-3.2-1, then
> >>>> - this upload will break people's HVM-based clusters
> >>>>
> >>>> Here is the proposed diff:
> >>> […]
> >>>> Let me know if this is OK or not, or if you need more information.
> >>> Ping? Did I miss some crucial information that is needed?
> >> The one thing that concerns me is the potential breakage you raised
> >> yourself. Is it possible to detect that the user has moved the
> >> symlink and leave it as-is?
> >
> > Well, if we're looking at a minimal diff then not.
> >
> > Basically, upstream has hardcoded /usr/lib/xen, but Lenny has
> > /usr/lib/xen-3.2-1. The current patch just changes the hardcoded path.
> >
> > A flexible solution would be to change this to /usr/lib/xen-ganeti,
> > which would be a symlink created at package install time to point to
> > either /usr/lib/xen (if it already exists, which means users have
> > customized their system to fit the current buggy upstream) or to
> > /usr/lib/xen-3.2-1 (or the first xen directory found).
> >
> > This would mean a bigger diff, and seems to me slightly worse than a
> > NEWS.Debian entry detailing the change; but granted, it would be
> > automatic. What is usually done in a such a situation?
>
> I would go for just changing the hardcoded path and adding a NEWS.Debian
> entry. Please do mention the bugreport (#528618).
OK, so then the whole diff between the .dsc files is:
$ debdiff /tmp/ganeti_1.2.6-3.dsc ganeti_1.2.6-3+lenny1.dsc
diff -u ganeti-1.2.6/debian/changelog ganeti-1.2.6/debian/changelog
--- ganeti-1.2.6/debian/changelog
+++ ganeti-1.2.6/debian/changelog
@@ -1,3 +1,10 @@
+ganeti (1.2.6-3+lenny1) stable; urgency=low
+
+ * Fix hvmloader path to match Lenny's xen-utils-3.2-1
+ (Closes: #528618)
+
+ -- Iustin Pop <iusty@k1024.org> Tue, 28 Jul 2009 19:29:14 +0200
+
ganeti (1.2.6-3) unstable; urgency=low
* Cherry-pick commit 2461 from upstream, fixing (yet again, hopefully
only in patch2:
unchanged:
--- ganeti-1.2.6.orig/debian/gbp.conf
+++ ganeti-1.2.6/debian/gbp.conf
@@ -0,0 +1,7 @@
+[DEFAULT]
+sign-tags = True
+pristine-tar = True
+
+[git-buildpackage]
+export-dir = ../build-area/
+tarball-dir = ../tarballs/
only in patch2:
unchanged:
--- ganeti-1.2.6.orig/debian/NEWS
+++ ganeti-1.2.6/debian/NEWS
@@ -0,0 +1,9 @@
+ganeti (1.2.6-3+lenny1) stable; urgency=low
+
+ * In order to fix #528618, the Xen hvmloader path has been changed from the
+ hardcoded upstream of '/usr/lib/xen' to match Lenny's '/usr/lib/xen-3.2-1'.
+ If you use Ganeti in HVM mode and use a custom Xen (and not Lenny's
+ xen-utils-3.2-1 package), please make /usr/lib/xen-3.2-1 a symlink to your
+ own xen directory (which must contain a boot/hvmloader file).
+
+ -- Iustin Pop <iusty@k1024.org> Sun, 09 Aug 2009 00:00:23 +0200
only in patch2:
unchanged:
--- ganeti-1.2.6.orig/debian/patches/01-fix-lenny-hvmloader.patch
+++ ganeti-1.2.6/debian/patches/01-fix-lenny-hvmloader.patch
@@ -0,0 +1,16 @@
+This is a fix for #528618
+
+Iustin Pop, <iusty@k1024.org> Tue, 28 Jul 2009 18:18:40 +0200
+diff --git a/lib/hypervisor.py b/lib/hypervisor.py
+index 4a8d892..d76c773 100644
+--- a/lib/hypervisor.py
++++ b/lib/hypervisor.py
+@@ -635,7 +635,7 @@ class XenHvmHypervisor(XenHypervisor):
+ """
+ config = StringIO()
+ config.write("# this is autogenerated by Ganeti, please do not edit\n#\n")
+- config.write("kernel = '/usr/lib/xen/boot/hvmloader'\n")
++ config.write("kernel = '/usr/lib/xen-3.2-1/boot/hvmloader'\n")
+ config.write("builder = 'hvm'\n")
+ config.write("memory = %d\n" % instance.memory)
+ config.write("vcpus = %d\n" % instance.vcpus)
(ignore the debian/gbp.conf file since that is not used during build). And a
debdiff on the two resulting .debs is:
$ debdiff /tmp/ganeti_1.2.6*deb ganeti_1.2.6-3+lenny1*deb
[The following lists of changes regard files as different if they have
different names, permissions or owners.]
Files in second .deb but not in first
-------------------------------------
-rw-r--r-- root/root /usr/share/doc/ganeti/NEWS.Debian.gz
Control files: lines which differ (wdiff format)
------------------------------------------------
Installed-Size: [-1580-] {+1584+}
Version: [-1.2.6-3-] {+1.2.6-3+lenny1+}
Can this be then uploaded to stable-proposed-updates? Also, As far as I
understand the docs, I upload to the same place, just with 'stable' in
the changes file, right?
thanks!
iustin
Reply to: