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

Re: supernovas upstream update -- needs sponsor



Thanks Nilesh!


Your review is much appreciated. Here are some responses and clarifications from me.

On 6/1/24 10:15 PM, Nilesh Patra wrote:
Hi there!

On Fri, May 31, 2024 at 01:06:59PM +0200, Attila Kovacs wrote:
The updated package passes the
salsa CI (except the test-crossbuild-arm64 job, which cannot to install the
gcc build dependency).
This is because you declared a gcc in d/control which is not needed. It is
guaranteed to be present during build as a part of build-essential set[1].

Great!. I see you removed gcc as a build-dep already. Thanks!

Next, the cross-build once again fails because the Makefile forcefully runs the
test as well.

I'm not sure what you mean 'forcefully'. 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.


 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?

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.

What do you think?


-- Attila.


Reply to: