Hello guys. Finally an update (2011-07-10) that was looong due.
Now also builds 4.1.1 and 4.0.2.
This is an attempt to make the simplest possible Ubuntu packager for releases or top (rc0) in xen-4.1-testing.hg(default), xen-4.0-testing.hg and xen-unstable.hg repositories.
mkdir xen4x; cd xen4x wget -q -O - https://virtualusr.files.wordpress.com/2011/07/\ mk-xen40x-1107091941.doc | catdoc > .sh; sh .sh # to build xen-hypervisor run # debian/bin/packageXen4x.sh # to build xen-kernel run # debian/bin/kpkgXenKernel.sh
More usage examples can be shown by:
As I was asked to port minimal set of patches to Xen unstable repository, I got forced to rewrite all scripts to be able to work with both Testing and Unstable repositories. Inspired by current Debian 4.0 source, I also completely rewrote debian/rules to gain control over each dh_* command ran for each resulting .deb file.
While analyzing python patch (not on debian), I found out that it can be dropped if I use the newer recommended dh_pysupport to pack python modules. Another patch eliminated was debian-stubdom.Makefile.diff by calling make in debian/rules as “env -u LDFLAGS make install-stubdom”. This rewrite results in all Xen-4.x builds being simpler for -avoiding- these two patches.
Xen unstable 4.1.x has stronger cross-platform support, so only one patch is currently needed to package the source (bug in /etc/init.d/xen-watchdog stop).
This proves that we are getting to the end of patch simplification for raw xensource debian packages. I was thinking about possibile debian/control simplification by joining xen-libs and python-xen packages to xen-utils package, but I am afraid that might trigger dependency problems I would not have the time to maintain. Maybe sometime in the future taking Debian Xen 4.0 source as a base for patch minimization, but I am afraid this might not make much sense either. Especially if Debian becomes very stable, and/or taken over by Ubuntu, this whole blog looses it’s meaning.
As Xen unstable repository had no release tags as I started, rc0 is used to indicate the current top of the repository (obviously varies with the time of taking the snapshot). All builds made by this tool default to debug=n, except 4.1.0-rc1 to debug=y due to upstream bug. For more notes on this rewrite and new (4.1.1) recommended network setup see debian/template/NOTES .
Tested building 4.1.0-rc1 and most releases 4.0.-rc* on Ubuntu 9.10 and 10.04, 2011-01-20 – 2011-07-05 running Xen-4.0.2-rc1 Domain-0 on Ubuntu 9.10 due to local graphic card driver issue.
Since 2011-07-05 running 4.1.1 no patches whatsoever only packaged into deb-s.
Comments are welcome.