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

Jonathan Ludlam Jonathan.Ludlam at eu.citrix.com
Tue Oct 25 15:34:08 UTC 2011


Ah I see, so it would be better to make a file in templates that got turned into libxen-ocaml-4.1.install. I could avoid the wildcard that way too. I'll have a play and see if I can come up with a new patch if you think it's worth it?

Jon



On 25 Oct 2011, at 16:08, Ian Campbell wrote:

> The other foo-install stanzas in the package just make use of
> foo-4.1.install directly (and name it as such in the package) rather
> than playing with symlinks but other than that looks good.
> 
> On Tue, 2011-10-25 at 13:37 +0100, Jon Ludlam wrote:
>> ---
>> xen/debian/libxen-dev.install          |    2 +
>> xen/debian/libxen-ocaml-dev.install    |    2 +
>> xen/debian/libxen-ocaml.install        |    3 ++
>> xen/debian/rules                       |    2 +-
>> xen/debian/rules.real                  |   36 ++++++++++++++++++++++++++++++++
>> xen/debian/templates/control.main.in   |   18 ++++++++++++++++
>> xen/debian/templates/control.source.in |    5 +++-
>> 7 files changed, 66 insertions(+), 2 deletions(-)
>> create mode 100644 xen/debian/libxen-ocaml-dev.install
>> create mode 100644 xen/debian/libxen-ocaml.install
>> 
>> diff --git a/xen/debian/libxen-dev.install b/xen/debian/libxen-dev.install
>> index 9d00a07..5e05540 100644
>> --- a/xen/debian/libxen-dev.install
>> +++ b/xen/debian/libxen-dev.install
>> @@ -2,4 +2,6 @@ usr/lib/{libxenctrl.a,libxenguest.a}
>> usr/lib/libxenstore.{a,so}
>> usr/include/{xenctrl.h,xenguest.h}
>> usr/include/{xs.h,xs_lib.h}
>> +usr/include/xentoollog.h
>> +usr/include/xenctrlosdep.h
>> usr/include/xen
>> diff --git a/xen/debian/libxen-ocaml-dev.install b/xen/debian/libxen-ocaml-dev.install
>> new file mode 100644
>> index 0000000..a9f22f6
>> --- /dev/null
>> +++ b/xen/debian/libxen-ocaml-dev.install
>> @@ -0,0 +1,2 @@
>> +/usr/lib/xen-4.1/lib/ocaml/{xenlight,xenbus,xenctrl,xenstore,xeneventchn,xenmmap}/*.cm{i,x,xa}
>> +/usr/lib/xen-4.1/lib/ocaml/{xenlight,xenbus,xenctrl,xenstore,xeneventchn,xenmmap}/*.a
>> diff --git a/xen/debian/libxen-ocaml.install b/xen/debian/libxen-ocaml.install
>> new file mode 100644
>> index 0000000..d7ec220
>> --- /dev/null
>> +++ b/xen/debian/libxen-ocaml.install
>> @@ -0,0 +1,3 @@
>> +/usr/lib/xen-*/lib/ocaml/stublibs/dll*_stubs.so*
>> +/usr/lib/xen-*/lib/ocaml/{xenlight,xenbus,xenctrl,xenstore,xeneventchn,xenmmap}/META
>> +/usr/lib/xen-*/lib/ocaml/{xenlight,xenbus,xenctrl,xenstore,xeneventchn,xenmmap}/*.cma
>> diff --git a/xen/debian/rules b/xen/debian/rules
>> index aade4fb..19d1f50 100755
>> --- a/xen/debian/rules
>> +++ b/xen/debian/rules
>> @@ -1,7 +1,7 @@
>> #!/usr/bin/make -f
>> 
>> # Uncomment this to turn on verbose mode.
>> -#export DH_VERBOSE=1
>> +export DH_VERBOSE=1
>> 
>> DEB_HOST_ARCH  := $(shell dpkg-architecture -qDEB_HOST_ARCH)
>> DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
>> diff --git a/xen/debian/rules.real b/xen/debian/rules.real
>> index 1252ec2..0711dad 100644
>> --- a/xen/debian/rules.real
>> +++ b/xen/debian/rules.real
>> @@ -1,7 +1,11 @@
>> +include /usr/share/ocaml/ocamlvars.mk
>> +
>> DEB_HOST_ARCH     := $(shell dpkg-architecture -a$(ARCH) -qDEB_HOST_ARCH)
>> DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -a$(ARCH) -qDEB_HOST_GNU_TYPE)
>> DEB_BUILD_ARCH    := $(shell dpkg-architecture -a$(ARCH) -qDEB_BUILD_ARCH)
>> 
>> +GENCONTROL_ARGS   := -VF:OCamlABI="$(OCAML_ABI)"
>> +
>> export DH_OPTIONS
>> 
>> setup_env := env -u ARCH -u FLAVOUR -u VERSION -u MAKEFLAGS
>> @@ -17,6 +21,8 @@ binary-arch-arch: install-lib-dev_$(ARCH)
>> binary-arch-arch: install-libxenstore_$(ARCH)
>> binary-arch-arch: install-utils_$(ARCH)
>> binary-arch-arch: install-xenstore-utils_$(ARCH)
>> +binary-arch-arch: install-lib-ocaml-dev_$(ARCH)
>> +binary-arch-arch: install-lib-ocaml_$(ARCH)
>> binary-arch-flavour: install-hypervisor_$(ARCH)_$(FLAVOUR)
>> 
>> binary-indep: install-docs
>> @@ -70,6 +76,7 @@ $(STAMPS_DIR)/install-utils_$(ARCH): CONFIG = \
>> 		XEN_COMPILE_ARCH=$(XEN_ARCH) \
>> 		XEN_TARGET_ARCH=$(XEN_ARCH) \
>> 		XEN_VERSION=$(VERSION) \
>> +		OCAMLDESTDIR=$(CURDIR)/$(BUILD_DIR)/install-utils_$(ARCH)/usr/lib/xen-$(VERSION)/lib/ocaml \
>> 		PYTHON=$(shell pyversions -r)
>> 
>> $(STAMPS_DIR)/build-utils_$(ARCH): DIR=$(BUILD_DIR)/build-utils_$(ARCH)
>> @@ -81,6 +88,7 @@ $(STAMPS_DIR)/install-utils_$(ARCH): DIR = $(BUILD_DIR)/build-utils_$(ARCH)
>> $(STAMPS_DIR)/install-utils_$(ARCH): INSTALL_DIR = $(BUILD_DIR)/install-utils_$(ARCH)
>> $(STAMPS_DIR)/install-utils_$(ARCH): $(STAMPS_DIR)/build-utils_$(ARCH)
>> 	@rm -rf $(INSTALL_DIR)
>> +	mkdir -p $(INSTALL_DIR)/usr/lib/xen-$(VERSION)/lib/ocaml/stublibs
>> 	+$(MAKE_CLEAN) -C $(DIR)/tools install DESTDIR=$(CURDIR)/$(INSTALL_DIR) $(CONFIG)
>> 	# hvmloader
>> 	#strip --remove-section=.comment --remove-section=.note $(INSTALL_DIR)/usr/lib/xen*/boot/*
>> @@ -92,6 +100,7 @@ install-base:
>> 	dh_compress
>> 	dh_fixperms
>> 	dh_installdeb
>> +	dh_ocaml
>> 	dh_gencontrol -- $(GENCONTROL_ARGS)
>> 	dh_md5sums
>> 	dh_builddeb
>> @@ -131,6 +140,32 @@ install-lib-dev_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH)
>> 	dh_shlibdeps
>> 	+$(MAKE_SELF) install-base
>> 
>> +install-lib-ocaml_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
>> +install-lib-ocaml_$(ARCH): PACKAGE_NAME = libxen-ocaml-4.1
>> +install-lib-ocaml_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
>> +install-lib-ocaml_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH)
>> +	dh_testdir
>> +	dh_testroot
>> +	dh_prep
>> +	ln -sf libxen-ocaml.install debian/libxen-ocaml-$(VERSION).install
>> +	dh_install --sourcedir=$(DIR)
>> +	rm debian/libxen-ocaml-$(VERSION).install
>> +	dh_strip
>> +	dh_shlibdeps
>> +	+$(MAKE_SELF) install-base
>> +
>> +install-lib-ocaml-dev_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
>> +install-lib-ocaml-dev_$(ARCH): PACKAGE_NAME = libxen-ocaml-dev
>> +install-lib-ocaml-dev_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
>> +install-lib-ocaml-dev_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH)
>> +	dh_testdir
>> +	dh_testroot
>> +	dh_prep
>> +	dh_install --sourcedir=$(DIR)
>> +	dh_strip
>> +	dh_shlibdeps
>> +	+$(MAKE_SELF) install-base
>> +
>> install-libxenstore_$(ARCH): DIR = $(BUILD_DIR)/install-utils_$(ARCH)
>> install-libxenstore_$(ARCH): PACKAGE_NAME = libxenstore3.0
>> install-libxenstore_$(ARCH): DH_OPTIONS = -p$(PACKAGE_NAME)
>> @@ -157,6 +192,7 @@ install-utils_$(ARCH): $(STAMPS_DIR)/install-utils_$(ARCH) install-libxenstore_$
>> 	install -D -m644 debian/xen-utils.README.Debian $(PACKAGE_DIR)/usr/share/doc/$(PACKAGE_NAME)/README.Debian
>> 	install -D -m644 debian/xen-utils-$(VERSION).lintian-overrides $(PACKAGE_DIR)/usr/share/lintian/overrides/$(PACKAGE_NAME)
>> 	dh_install --sourcedir=$(DIR) usr/lib/xen-$(VERSION)
>> +	rm -rf $(PACKAGE_DIR)/usr/lib/xen-4.1/lib/ocaml
>> 	dh_python2 -V$(shell pyversions -rv) /usr/lib/xen-$(VERSION)
>> 	dh_strip
>> 	dh_makeshlibs -V
>> diff --git a/xen/debian/templates/control.main.in b/xen/debian/templates/control.main.in
>> index 2dff1dd..423009d 100644
>> --- a/xen/debian/templates/control.main.in
>> +++ b/xen/debian/templates/control.main.in
>> @@ -30,3 +30,21 @@ Replaces: xen-utils-common (<= 3.1.0-1)
>> Description: Xenstore utilities for Xen
>>  This package contains the Xenstore utilities.
>> 
>> +Package: libxen-ocaml- at version@
>> +Architecture: any
>> +Section: libs
>> +Depends: ocaml-base-nox-${F:OCamlABI}, ${shlibs:Depends}, ${misc:Depends}, ${ocaml:Depends}
>> +Provides: ${ocaml:Provides}
>> +Description: OCaml libraries for controlling Xen 
>> + This package contains the runtime libraries required for the ocaml bindings
>> + to the Xen control libraries.
>> +
>> +Package: libxen-ocaml-dev
>> +Architecture: any
>> +Section: libdevel
>> +Depends: ocaml-nox-${F:OCamlABI}, libxen-ocaml- at version@ (= ${binary:Version}), ${shlibs:Depends}, ocaml-findlib (>= 1.1), ${misc:Depends}, ${ocaml:Depends}
>> +Provides: ${ocaml:Provides}
>> +Description: OCaml libraries for controlling Xen (devel package)
>> + This package contains the ocaml findlib packages for compiling applications
>> + that are designed to control the Xen hypervisor.
>> +
>> diff --git a/xen/debian/templates/control.source.in b/xen/debian/templates/control.source.in
>> index a7db0ff..481d41a 100644
>> --- a/xen/debian/templates/control.source.in
>> +++ b/xen/debian/templates/control.source.in
>> @@ -15,7 +15,10 @@ Build-Depends:
>>  libncurses5-dev,
>>  libpci-dev,
>>  uuid-dev,
>> - zlib1g-dev
>> + zlib1g-dev,
>> + ocaml-nox (>= 3.11.1-3~),
>> + dh-ocaml (>= 0.9~),
>> + ocaml-findlib
>> Build-Depends-Indep:
>>  graphviz,
>>  ghostscript,
> 
> -- 
> Ian Campbell
> 
> Tex SEX!  The HOME of WHEELS!  The dripping of COFFEE!!  Take me to
> Minnesota but don't EMBARRASS me!!
> 




More information about the Pkg-xen-devel mailing list