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

Ian Campbell ijc at hellion.org.uk
Tue Oct 25 15:08:51 UTC 2011


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