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. >