Elliott Mitchell
2021-Jan-04 06:12 UTC
[Pkg-xen-devel] [PATCH 02/16] debian/rules: Setup use of noOCAML profile
This adds support for use of the "noocaml" profile
(https://wiki.debian.org/BuildProfileSpec). This allows disabling build
of OCAML portions of Xen. Compatibility between non-OCAML and OCAML
builds needs to be maintained since updates might make cross-building of
OCAML possible or an installation might replace one with the other.
Presently the primary expected use is to allow cross-building of the Xen
packages. At this time cross-building for OCAML is very broken.
Hopefully it may work in future, but at this time it does not.
Signed-off-by: Elliott Mitchell <ehem+debian at m5p.com>
---
debian/control | 4 ++--
debian/rules | 11 +++++++++++
2 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/debian/control b/debian/control
index 1f88f1a40f..5e24f5fd3c 100644
--- a/debian/control
+++ b/debian/control
@@ -32,8 +32,8 @@ Build-Depends:
zlib1g-dev,
pandoc,
markdown,
- ocaml-native-compilers | ocaml-nox,
- ocaml-findlib,
+ ocaml-native-compilers <!noocaml> | ocaml-nox <!noocaml>,
+ ocaml-findlib <!noocaml>,
Homepage: https://xenproject.org/
Vcs-Browser: https://salsa.debian.org/xen-team/debian-xen
Vcs-Git: https://salsa.debian.org/xen-team/debian-xen.git
diff --git a/debian/rules b/debian/rules
index 78aad5eeda..959542c25a 100755
--- a/debian/rules
+++ b/debian/rules
@@ -164,6 +164,11 @@ export XEN_BUILD_TIME=$(shell LC_ALL=C date -u -d
"@$(SOURCE_DATE_EPOCH)" "+%T")
export SMBIOS_REL_DATE=$(shell LC_ALL=C date -u -d
"@$(SOURCE_DATE_EPOCH)" "+%m/%d/%Y")
export VGABIOS_REL_DATE=$(shell LC_ALL=C date -u -d
"@$(SOURCE_DATE_EPOCH)" "+%d %b %Y")
+# Disable Xen's OCAML build if specified
+ifneq ($(filter noocaml,$(DEB_BUILD_PROFILES)),)
+make_args_tools += OCAML_TOOLS=n
+endif
+
export PYBUILD_NAME=xen
export PYBUILD_DISABLE=test
export PYBUILD_SYSTEM=distutils
@@ -238,6 +243,12 @@ override_dh_auto_install: $(TEMPLATED_FILES)
$(MAKE) $(make_args_tools) DESTDIR=$t \
install-{tools,docs} CONFIG_PV_SHIM=n
:
+ @# xen-utils-common needs these against another installation w/OCAML
+ if [ -n "$(filter noocaml,$(DEB_BUILD_PROFILES))" ]; then \
+ ln tools/ocaml/xenstored/oxenstored.conf $t/etc/xen/oxenstored.conf ; \
+ ln -s /usr/lib/xen-common/bin/xen-utils-wrapper $t/usr/sbin/oxenstored ; \
+ fi
+ :
@# shim install target needs to be run separately because we
@# need to pass it the make_args_xen settings, in particular
@# on i386 bwe need to pass x86_64 here to actually build it.
--
--
(\___(\___(\______ --=> 8-) EHM <=-- ______/)___/)___/)
\BS ( | ehem+sigmsg at m5p.com PGP 87145445 | ) /
\_CS\ | _____ -O #include <stddisclaimer.h> O- _____ | / _/
8A19\___\_|_/58D2 7E3D DDF4 7BA6 <-PGP-> 41D1 B375 37D0 8714\_|_/___/5445
Hans van Kranenburg
2021-Jan-15 21:09 UTC
[Pkg-xen-devel] [PATCH 02/16] debian/rules: Setup use of noOCAML profile
On 7/18/20 9:43 PM, Elliott Mitchell wrote:> This adds support for use of the "noocaml" profile > (https://wiki.debian.org/BuildProfileSpec). This allows disabling build > of OCAML portions of Xen. Compatibility between non-OCAML and OCAML > builds needs to be maintained since updates might make cross-building of > OCAML possible or an installation might replace one with the other. > > Presently the primary expected use is to allow cross-building of the Xen > packages. At this time cross-building for OCAML is very broken. > Hopefully it may work in future, but at this time it does not. > > Signed-off-by: Elliott Mitchell <ehem+debian at m5p.com>Acked-by: Hans van Kranenburg <hans at knorrie.org>> --- > debian/control | 4 ++-- > debian/rules | 11 +++++++++++ > 2 files changed, 13 insertions(+), 2 deletions(-) > > diff --git a/debian/control b/debian/control > index 1f88f1a40f..5e24f5fd3c 100644 > --- a/debian/control > +++ b/debian/control > @@ -32,8 +32,8 @@ Build-Depends: > zlib1g-dev, > pandoc, > markdown, > - ocaml-native-compilers | ocaml-nox, > - ocaml-findlib, > + ocaml-native-compilers <!noocaml> | ocaml-nox <!noocaml>, > + ocaml-findlib <!noocaml>, > Homepage: https://xenproject.org/ > Vcs-Browser: https://salsa.debian.org/xen-team/debian-xen > Vcs-Git: https://salsa.debian.org/xen-team/debian-xen.git > diff --git a/debian/rules b/debian/rules > index 78aad5eeda..959542c25a 100755 > --- a/debian/rules > +++ b/debian/rules > @@ -164,6 +164,11 @@ export XEN_BUILD_TIME=$(shell LC_ALL=C date -u -d "@$(SOURCE_DATE_EPOCH)" "+%T") > export SMBIOS_REL_DATE=$(shell LC_ALL=C date -u -d "@$(SOURCE_DATE_EPOCH)" "+%m/%d/%Y") > export VGABIOS_REL_DATE=$(shell LC_ALL=C date -u -d "@$(SOURCE_DATE_EPOCH)" "+%d %b %Y") > > +# Disable Xen's OCAML build if specified > +ifneq ($(filter noocaml,$(DEB_BUILD_PROFILES)),) > +make_args_tools += OCAML_TOOLS=n > +endif > + > export PYBUILD_NAME=xen > export PYBUILD_DISABLE=test > export PYBUILD_SYSTEM=distutils > @@ -238,6 +243,12 @@ override_dh_auto_install: $(TEMPLATED_FILES) > $(MAKE) $(make_args_tools) DESTDIR=$t \ > install-{tools,docs} CONFIG_PV_SHIM=n > : > + @# xen-utils-common needs these against another installation w/OCAML > + if [ -n "$(filter noocaml,$(DEB_BUILD_PROFILES))" ]; then \ > + ln tools/ocaml/xenstored/oxenstored.conf $t/etc/xen/oxenstored.conf ; \ > + ln -s /usr/lib/xen-common/bin/xen-utils-wrapper $t/usr/sbin/oxenstored ; \ > + fi > + : > @# shim install target needs to be run separately because we > @# need to pass it the make_args_xen settings, in particular > @# on i386 bwe need to pass x86_64 here to actually build it. >
Hans van Kranenburg
2021-Jan-16 09:18 UTC
[Pkg-xen-devel] [PATCH 02/16] debian/rules: Setup use of noOCAML profile
Hi, On 7/18/20 9:43 PM, Elliott Mitchell wrote:> This adds support for use of the "noocaml" profileThis results in a lintian error: E: xen source: invalid-profile-name-in-source-relation noocaml [Build-Depends: ocaml-findlib <!noocaml>] https://lintian.debian.org/tags/invalid-profile-name-in-source-relation.html Apparently, you're not just allowed to make up new ones. I didn't know about that. So, we can't have this one now.> (https://wiki.debian.org/BuildProfileSpec). This allows disabling build > of OCAML portions of Xen. Compatibility between non-OCAML and OCAML > builds needs to be maintained since updates might make cross-building of > OCAML possible or an installation might replace one with the other. > > Presently the primary expected use is to allow cross-building of the Xen > packages. At this time cross-building for OCAML is very broken. > Hopefully it may work in future, but at this time it does not. > > Signed-off-by: Elliott Mitchell <ehem+debian at m5p.com> > --- > debian/control | 4 ++-- > debian/rules | 11 +++++++++++ > 2 files changed, 13 insertions(+), 2 deletions(-) > > diff --git a/debian/control b/debian/control > index 1f88f1a40f..5e24f5fd3c 100644 > --- a/debian/control > +++ b/debian/control > @@ -32,8 +32,8 @@ Build-Depends: > zlib1g-dev, > pandoc, > markdown, > - ocaml-native-compilers | ocaml-nox, > - ocaml-findlib, > + ocaml-native-compilers <!noocaml> | ocaml-nox <!noocaml>, > + ocaml-findlib <!noocaml>, > Homepage: https://xenproject.org/ > Vcs-Browser: https://salsa.debian.org/xen-team/debian-xen > Vcs-Git: https://salsa.debian.org/xen-team/debian-xen.git > diff --git a/debian/rules b/debian/rules > index 78aad5eeda..959542c25a 100755 > --- a/debian/rules > +++ b/debian/rules > @@ -164,6 +164,11 @@ export XEN_BUILD_TIME=$(shell LC_ALL=C date -u -d "@$(SOURCE_DATE_EPOCH)" "+%T") > export SMBIOS_REL_DATE=$(shell LC_ALL=C date -u -d "@$(SOURCE_DATE_EPOCH)" "+%m/%d/%Y") > export VGABIOS_REL_DATE=$(shell LC_ALL=C date -u -d "@$(SOURCE_DATE_EPOCH)" "+%d %b %Y") > > +# Disable Xen's OCAML build if specified > +ifneq ($(filter noocaml,$(DEB_BUILD_PROFILES)),) > +make_args_tools += OCAML_TOOLS=n > +endif > + > export PYBUILD_NAME=xen > export PYBUILD_DISABLE=test > export PYBUILD_SYSTEM=distutils > @@ -238,6 +243,12 @@ override_dh_auto_install: $(TEMPLATED_FILES) > $(MAKE) $(make_args_tools) DESTDIR=$t \ > install-{tools,docs} CONFIG_PV_SHIM=n > : > + @# xen-utils-common needs these against another installation w/OCAML > + if [ -n "$(filter noocaml,$(DEB_BUILD_PROFILES))" ]; then \ > + ln tools/ocaml/xenstored/oxenstored.conf $t/etc/xen/oxenstored.conf ; \ > + ln -s /usr/lib/xen-common/bin/xen-utils-wrapper $t/usr/sbin/oxenstored ; \ > + fi > + : > @# shim install target needs to be run separately because we > @# need to pass it the make_args_xen settings, in particular > @# on i386 bwe need to pass x86_64 here to actually build it. >