Bug#1071246: libglib2.0-dev's python3 dependency alternative is posing challenges to cross building

Niels Thykier niels at thykier.net
Sat Aug 3 08:28:06 BST 2024


Helmut Grohne:
> Hi Simon and Niels,
> 
> (fixed Cc address for architecture-properties maintainers)
> 
> On Thu, Aug 01, 2024 at 05:26:04PM +0100, Simon McVittie wrote:
>> [...]
> 
> I talked to Niels off list and he was vaguely positive about riding on
> architecture-properties. He had some concerns about the bus factor that
> this work might impose on architecture-properties. Guillem also
> indicated that he wants to give feedback though not right now.
> 
> To me this is sufficient to prototype an implementation. I'm attaching a
> patch for architecture-properties that hopefully gets most of the
> details right (thanks to Simon's design feedback). If you prefer
> reviewing it on salsa, go
> https://salsa.debian.org/debian/architecture-properties/-/merge_requests/1
> 
> I request that we give people at least one week to reply before
> uploading this. I appreciate feedback from Niels as to how acceptable he
> finds this contribution.

I think I am good to go on this one. I would rely on someone else to 
keep up with the "hacks" required to detect emulations if the current 
check stops working and I would not use my self directly, so the tests 
mentioned below would be relevant or we do consumer based testing.

Those are the limitations I currently see. The code looks like it would 
be relatively stable and small enough that I can throw it directly at 
the C compiler maintainers if it ever ICEs or miscompiles.

> [...]
> 
> Writing tests is a bit non-trivial. Whilst Ubuntu has pioneered an
> autopkgtest extension for cross architecture testing, this does not seem
> to be available in Debian. Testing the native case is rather boring in
> my view. As for manual testing, I verified that :amd64 (natively), :i386
> (without installing qemu), and :armhf (qemu) work as expected on amd64.
> 

It would be boring to test the native flow, but it would still assert 
that the code minimally works. Therefore, I think we should have that 
test case. It would at the very least catch miscompiles where the 
c-program just SEGVs due to a miscompile.

For the non-native case, I think we could emulate that by playing with 
PATH and use that to mock `readlink` into an `echo /usr/bin/qemu` if we 
wanted to test the detection. I think that could also be used to trigger 
at least one of the error cases by having the mocked `readlink` return 
non-zero?

If we could get proper non-native tests as well, that would surely be 
better.

> In the event that dpkg gains the Provides suggested by Simon, we can
> delete both native-architecture and native-architecture-is.
> 
> Helmut

Sounds good to me.

Best regards,
Niels



More information about the pkg-gnome-maintainers mailing list