#986690 triplane FTCBFS -- executes dksbuild during build

Package:
triplane
Source:
triplane
Description:
side-scrolling dogfighting game
Submitter:
Nilesh Patra
Date:
2021-04-09 20:42:03 UTC
Severity:
normal
#986690#5
Date:
2021-04-09 15:37:31 UTC
From:
To:
Dear Maintainer,

Since bioawk seems to execute dksbuild in order to generate data in fokker.dks which is not allowed during cross build
it could be simply built with build compiler

Since fokker.dks binary is not being installed, such a compilation would
not give any exec format problems. And building it via build compiler
does not seem a problem

I'm attaching my patch along, and will commit to salsa if it looks good.

#986690#10
Date:
2021-04-09 19:44:20 UTC
From:
To:
Hi Nilesh,

As far as I can see, dksbuild.cc produces a binary format. You can
easily spot that by searching for fread and fwrite. This format is
composed of structures that happen to contain elements of type unsigned
long int. The size of this type is architecture-dependent. Unless I am
mistaken, the output becomes dependent on the bits of the architecture.

If you download triplane for various architectures and compare
/usr/share/games/triplane/fokker.dks, you'll spot that e.g. amd64 vs
i386 differs, but amd64 vs arm64 does not. Also s390x (which is big
endian) yields yet a different result.

NACK.

Also shipping the file in /usr/share is a lie. It's
architecture-dependent and therefore should go to /usr/lib. Better still
would be using an architecture-independent file format.

Helmut

#986690#17
Date:
2021-04-09 20:04:22 UTC
From:
To:
Hi,

Yes I think that is correct. The data could be inside the executable
nowadays since the original reasons for keeping it separate have
disappeared.

/usr/share is indeed probably a separate bug. I don't think we (speaking
as upstream here) are keen on changing the data format though as this is
an original game from 1990s and is essentially in a maintenance-only mode.

#986690#22
Date:
2021-04-09 20:39:04 UTC
From:
To:
Right.

ACK, this is probably because of my poor testing there. Admittedly, I
did not test extensively.

Thanks for the review!

Righty

Nilesh