[Pkg-xen-devel] [PATCH 01/19] debian/rules: Correct shim install step for current Xen

Hans van Kranenburg hans at knorrie.org
Fri Dec 4 20:07:22 GMT 2020


On 7/17/20 7:16 AM, Elliott Mitchell wrote:
> When originally implemented, the separated shim install step relied on
> the shim install being a NOP on shimless architectures.  Either this is
> no longer the case, or else cross-building confuses the architecture
> detection.

Ian, this one is for you. I really do not have the capacity to figure
out all of this shim stuff intricacies. :|

Elliot, You're telling you're fixing a problem, but not what the problem
was that you have been seeing. Was there a build failure? What did it
look like? Do you still have the full build log up until it failed?

We ran into a build failure for i386 during trying to get 4.14 in
Debian, which was the shim not being built for the i386 package while it
was expected to be there as result.

What I finally did was taking a bigger hammer and invent a workaround by
reverting some upstream commit from 4.12 that changed the way of
determining to build shim or not, because I had no idea about how this
change did break our things. What I did is not optimal and/or
future-proof, but it got the thing in unstable.

So that's the following part of debian/changelog:

* Revert upstream commit a516bddbd3 ("tools/firmware/Makefile:
CONFIG_PV_SHIM: enable only on x86_64") and cherry-pick our previous
commits 0b898ccc2 ("tools/firmware/Makfile: Respect caller's
CONFIG_PV_SHIM") and a516bddbd3 ("tools/firmware/Makefile:
CONFIG_PV_SHIM: enable only on x86_64") again to work around a FTBFS
where the shim would not be built during the i386 package build.

That's what's in Debian unstable/testing now. Is your
development/testing based on that, or something else?

> Take out a typo while at it.
> 
> Signed-off-by: Elliott Mitchell <ehem+debian at m5p.com>
> ---
>  debian/rules | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
> 
> diff --git a/debian/rules b/debian/rules
> index b21c9e6948..741676e617 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -223,11 +223,13 @@ override_dh_auto_install: $(TEMPLATED_FILES)
>  	:
>  	@# 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.
> -	@# Luckily this target, unlike the build, is a noop on
> -	@# shimless arches, so it does not need to be conditional.
> -	$(MAKE) $(make_args_xen) DESTDIR=$t $(make_args_xen) \
> -		-C tools/firmware install-shim
> +	@# on i386 we need to pass x86_64 here to actually build it.
> +	case $(flavour) in \
> +	amd64|i386) \
> +		$(MAKE) $(make_args_xen) DESTDIR=$t $(make_args_xen) \
> +			-C tools/firmware install-shim \
> +	;; \
> +	esac
>  	:
>  	@# Inexplicably, upstream puts the efi binares in usr/lib64
>  	case $(flavour) in \
> 




More information about the Pkg-xen-devel mailing list