[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: supernovas upstream update -- needs sponsor



On Sun, Jun 02, 2024 at 03:16:22PM +0200, Attila Kovacs wrote:
> > Next, the cross-build once again fails because the Makefile forcefully runs the
> > test as well.
> 
> I'm not sure what you mean 'forcefully'.

I tried to send some better reasoning for my outrageously written english in
[1]. It is because of both native and cross compiler installations.

> The build runs 'make', and the
> tests are not included in that. They are run by the separate 'make test'
> target, which I believe is invoked by 'dh_auto_test'. If I understand it
> correctly, that is exactly what 'dh_auto-test' is meant to do, i.e. running
> some sort of self-testing of the build, which is exactly what 'make test'
> does.

Uhm. Unless I am mistaken, make will run the "make all" rule and in the all
rule in your makefile, you've specified "test coverage" etc as seen here[2].
This will hence run at build time, and not just dh_auto_test.

> >   Running cross-compiled binary in native environment is not
> > something that can realistically happen so it gives you the weird
> > 
> > | bin/cio_file data/CIO_RA.TXT cio_ra.bin
> > | bin/cio_file: 1: Syntax error: "(" unexpected
> > 
> > as seen here[2] (when CI runs).
> > 
> > Unfortunately, it seems cio_ra.bin is absolutely required to be installed and it
> > is also arch specific from what I see in your package so we might not be able to
> > move forward from here w/o finding a way to not generate the .bin file at
> > runtime.
> 
> That's not entirely true. The test uses the 'cio_ra.bin' from the build
> directory (not the one that is optionally installed by 'dh_install').
> 
> However, you are correct, that the cio_ra.bin file is a platform-specific
> (actually endian-specific) binary data file, and hence is normally produced
> by executing 'cio_file' on the target platform -- which of course is not
> possible when cross-compiling. I cannot think of an easy way to produce the
> correct cio_ra.bin file when cross-compiling. Is that a show-stopper?

Unfortunately, yes.

> Alternatively, we could exclude the cio_ra.bin from the cross-build, and if
> necessary not offer the 'supernovas-cio-data' sub-package for aarch64,
> unless it cannot be provided via a suitable native build otherwise. It's an
> optional package, which enhances the functionality of the library, but is
> not required by it.

It will be provided by the native build -- there should be no issue there as
such. As such, I don't think it is possible to exclude selected binary packages
from cross-compiling, but I might need to think a bit more here.

[1]: https://lists.debian.org/debian-astro/2024/06/msg00002.html
[2]: https://salsa.debian.org/debian-astro-team/supernovas/-/blob/master/Makefile?ref_type=heads#L76

Best,
Nilesh

Attachment: signature.asc
Description: PGP signature


Reply to: