[Pkg-xen-devel] Some words on my debian files...

Guido Trotter ultrotter at debian.org
Thu Feb 16 15:29:42 UTC 2006


On Thu, Feb 16, 2006 at 02:28:36PM +0100, Ralph Passgang wrote:

Hi!

> since the repo is up and the debian files from "xen3.0.1-0tha2" are uploaded I 
> want to say some words about my work. This could help to understand what I 
> have done and makes it easier to understand what needs to be done to have it 
> in a good shape for debian.
> 

Thanks!

> - I have written down (more or less all) changes to debian/changelog, so 
> reading it might help understanding what is working how and why.
> 

That's great! ;)

> - I haven't patched the upstream, so my debian files should work on xen3.0.1 + 
> all testing changesets after the 3.0.1 release. For "unstable" there are some 
> minor things that needs to be changed (for example kernel version, there are 
> more files to install, ...).
> 
> - with xen3 there is also a pae support for systems with more than 4gb ram, 
> which needs to be configured at compile time. But because many (old) system 
> doesn't support pae at all we need to have the default xen packages build 
> without pae support.
> 
> At the moment there is a parameter in debian/rules to enable/disable pae, but 
> this isn't really a solution for debian, instead we need to find another way. 
> 
> I would think of the following:
> 
> We could compile all stuff without thje pae flag and then (if arch=i386) 
> compile just the hypervisor again with pae support and package that with 
> another name, for example: "xen-pae". If we would make it this way, we would 
> only have one source package for i386, i386+pae and amd64.
> 

Ok, agreed... Also, I recall from the xen mailing lists that they disabled PAE
by default not because of a concern about older machines, but because they
thought it wasn't ready yet! Shouldn't we perhaps write that it's experimental
and to use the normal version if possible (that is: if one has less than 4gb of
ram) ;)

> - the dh_kpatches doesn't produce patches for kernels if an extraversion is 
> set. So I had to remove the extraversion before the dh_kpatches call. This is 
> quite a dirty hack (and not working for xen unstable for example), but afaik 
> needed in the moment. I don't know if this would be ok in debian or if we 
> need another solution.
> 
> the resulting linux-patch-xen package required (at the moment) a clean 2.6.12 
> kernel source and will convert it to: 2.6.12.6-xen. But the version will not 
> be in the .config file (because I had to strip the extraversion as I said). 
> For me this was not a problem, because using the make-kpkg option: 
> "append-to-version .6-xen" added the missing extraversion again, but in 
> general this isn't ideal. But I don't know how to solve it, maybe we should 
> ask the maintainers of dh_kpatches.
> 

Yeah, probably this could count as a bug in dh_kpatches which was written
probably before the "stable kernel" hera, when extraversion wasn't used at
all... 

> - My package doesn't have a kernel source included, even if it's needed for 
> building the kernel-patch. Originally Adam used the debian kernel-source and 
> removed all debian specific patches, but he also noticed that this isn't a 
> good solution, because not all kernel-source versions are available in all 
> debian distributions and might disappear in future (and then will brake our 
> packages).
> 
> My solution is to just ignore that and use the upstream method to fetch a 
> vanilla kernel-source from www.kernel.org. Adam said (some time ago) on the 
> xen ml, that he also will fetch the sources with wget in future versions, but 
> then he never uploaded any new packages after that posting.
> 
> If fetching external stuff is a problem with debian's policy, even if the 
> external files are the kernel sources and of course open source and even if 
> this is how upstream handles it, then we might want to include the kernel 
> source as .tar.bz2 in the xen upstream directory, because then xen's makefile 
> will use that archive and will not fetch it anymore. But this will blow our 
> source package a lot! But on the other hand will safe traffic on 
> www.kernel.org.
> 

I can't find in the debian policy any rule against downloading external code...
And since we're downloading a kernel source there shouldn't be an issue with
that... We might want to check the md5sum or the gpg signature of the archive,
after the downlpad, just to be conservative, though!

> - My packages are also building & working on amd64 but I am not sure if I made 
> it correct. I noticed that xen wants to install libraries in /lib64, but 
> debian expects them to be in /lib (because /lib64 is just a symlink to /lib). 
> I managed that by having the libraries moved to the correct location on amd64 
> hosts before the files gets packaged (see debian/rules), but I guess it would 
> be better to tell the correct library path at configure/compile-time and not 
> using a hook like this..
> 

Well, it's just because other distros are mixed 32-64 while debian is pure 64
(and one can build a 32bit chroot, if he wants too...) so lib64 isn't needed...

I think we can apply this patch with dpatch before starting the compilation, and
that should solve most of the issue! I don't have an amd64 handy to try it, though!

diff -ru xen-3.0.1.orig/Config.mk xen-3.0.1/Config.mk
--- xen-3.0.1.orig/Config.mk    2006-02-16 16:19:44.000000000 +0100
+++ xen-3.0.1/Config.mk 2006-02-16 16:20:10.000000000 +0100
@@ -27,11 +27,7 @@
 INSTALL_DATA = $(INSTALL) -m0644
 INSTALL_PROG = $(INSTALL) -m0755

-ifeq ($(XEN_TARGET_ARCH),x86_64)
-LIBDIR = lib64
-else
 LIBDIR = lib
-endif

 ifneq ($(EXTRA_PREFIX),)
 EXTRA_INCLUDES += $(EXTRA_PREFIX)/include

Ciao,

Guido

PS there are a couple more files in the source which references lib64, we might
have to dpatch those too... Or see if we can make the patch so that it only
affects debian, and then can be accepted upstream too...



More information about the Pkg-xen-devel mailing list