[Pkg-xen-devel] [PATCH 6/7] Create 2 ocaml packages, libxen-4.1-ocaml and libxen-4.1-ocaml-dev.

Jonathan Ludlam Jonathan.Ludlam at eu.citrix.com
Fri Nov 25 16:52:48 UTC 2011


On 25 Nov 2011, at 16:17, Bastian Blank wrote:

> On Fri, Nov 18, 2011 at 04:28:35PM +0000, Jon Ludlam wrote:
>> diff --git a/xen/debian/bin/gencontrol.py b/xen/debian/bin/gencontrol.py
>> index f2b7424..2bdf5fb 100755
>> --- a/xen/debian/bin/gencontrol.py
>> +++ b/xen/debian/bin/gencontrol.py
>> @@ -49,6 +49,11 @@ class Gencontrol(Base):
>>             j = self.substitute(self.templates["xen-utils.%s" % i], vars)
>>             file("debian/%s.%s" % (package_utils_name, i), 'w').write(j)
>> 
>> +	for (i,j) in (('libxen-ocaml.install','libxen-%s-ocaml.install' % self.version.xen_version), 
>> +		      ('libxen-ocaml-dev.install','libxen-%s-ocaml-dev.install' % self.version.xen_version)):
>> +	    k = self.substitute(self.templates[i], vars)
>> +	    file("debian/%s" % j, 'w').write(k)
>> +
> 
> No. Specify them in the rules file.
> 

Fair enough. I thought it might be cleaner separation this way.

>> --- /dev/null
>> +++ b/xen/debian/patches/tools-ocaml-fix-build.diff
>> @@ -0,0 +1,81 @@
>> +Fix the build of the ocaml libraries 
> 
> Care to explain?
> 

I believe the problem is documented here: http://xen.markmail.org/message/zehgkgupll7eokmp?q=a3466b005017

I've not yet got this patch merged upstream as it's not been tested on xen-unstable yet. It's on my to-do list.

>> +--- a/tools/ocaml/libs/xc/Makefile
>> ++++ b/tools/ocaml/libs/xc/Makefile
>> +@@ -9,7 +9,8 @@
>> + INTF = xenctrl.cmi
>> + LIBS = xenctrl.cma xenctrl.cmxa
>> + 
>> +-LIBS_xenctrl = -L$(XEN_ROOT)/tools/libxc -lxenctrl -lxenguest
>> ++LIBS_xenctrl = $(LDLIBS_libxenctrl) $(LDLIBS_libxenguest)
>> ++LIBS_xenctrl_SYSTEM = $(LDLIBS_libxenctrl_SYSTEM) $(LDLIBS_libxenguest_SYSTEM)
> 
> Why? Every linker have to support shared object files.
> 

I think Ian's addressed this - it's an ocaml peculiarity.

>> debian/control-real: $(CONTROL_FILES)
>> -	debian/bin/gencontrol.py
>> +	debian/bin/gencontrol.py $(OCAML_STDLIB_DIR) $(OCAML_DLL_DIR)
> 
> Nope. No arguments to gencontrol
> 

I thought you might say something along these lines - we can revert back to my previous suggestion, which was to invoke the same logic that is used in ocamlvars.mk. It's unfortunate, in that if the logic does change, the package will break. There was some suggestion that the multiarch project might cause it to change, for example.

>> +Depends: ocaml-base-nox-${F:OCamlABI}
> 
> Why is this not generated?
> 

This is part of the ocaml task force policy: http://pkg-ocaml-maint.alioth.debian.org/ocaml_packaging_policy.html/x235.html

>> +Depends: ocaml-findlib (>= 1.1)
> 
> Same.
> 
>> + ocaml-nox (>= 3.11.1-3~),
>> + dh-ocaml (>= 0.9~),
> 
> Why the versions? They are fullfiled in Squeeze.
> 

Actually I'm not sure. These came from the packaging work that Thomas G was doing with the ocaml task force. 

>> --- /dev/null
>> +++ b/xen/debian/templates/libxen-ocaml-dev.install.in
>> --- /dev/null
>> +++ b/xen/debian/templates/libxen-ocaml.install.in
> 
> No. Use dh_install $(OCAML_STDLIB_DIR)/*/*.cmi …
> 

OK. 

New patch to come soon!


> Bastian
> 
> -- 
> There are always alternatives.
> 		-- Spock, "The Galileo Seven", stardate 2822.3
> 
> _______________________________________________
> Pkg-xen-devel mailing list
> Pkg-xen-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-xen-devel




More information about the Pkg-xen-devel mailing list