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

Re: supernovas upstream update -- needs sponsor



Fixing up some messed-up/unclear wording from my mail.

On Sun, Jun 02, 2024 at 01:45:54AM +0530, Nilesh Patra wrote:
> 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].

you declared a build-depends on gcc which is not needed per se.

> During cross compilation, the gcc/g++ cross compiler would be pulled in to do
> the said cross compilation. If you forcefully add in gcc, the two would conflict
> and lead to the packages not being installed. Just removing it gets things going
> forward.

To explain this better. Using "gcc" will get native compiler (which runs on the
architecture you are building "on") and it will conflict with the gcc cross
compiler (which would compile the binary for the architecture you are compiling
"for").

> Next, the cross-build once again fails because the Makefile forcefully runs the
> test as well. 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

In addition to this, the test-related utilities should be moved to a "runtests"
or a separate rule and the said tests can be run in override_dh_auto_tests via
$(MAKE) runtests.

This is something to be done for later. Currently, the bin file generation is a
blocker and the package cannot cross-compile without resolving it first.
 
A possibility is compile bin/cio_file for the build arch (the architecture you
are building "on") and run it on the .txt file to generate cio_ra.bin.
But I notice cio_file.c has ints, size_t, doubles, so on. So I guess the .bin
file is really architecture dependent and we can not do something like this.
So there does not exist a way forward unfortunately.

That said, I do not know enough about the package background to propose any good
solution. If you think something else is possible, let me know.

> as seen here[2] (when CI runs).

And it has run now. Changing the link.
 
> 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.
>
> [1]: https://tracker.debian.org/pkg/build-essential
> [2]: https://salsa.debian.org/debian-astro-team/supernovas/-/jobs/5800159

Best,
Nilesh

Attachment: signature.asc
Description: PGP signature


Reply to: