El 26/9/23 a las 16:18, Sam Hartman escribió:
So, according to the build log, the make check failed because it could
not contact a KDC on the local system.

This could be simply a race condition.

I've seen many packages to fail their tests randomly because of that.

In many cases the problem has been solved by adding a "sleep 1"
somewhere (for example, after the service is started and before
the tests try to use the service).

You mention a number of things in which the environment of Lucas
autobuilders "might" differ from the official buildds.

However, you seem to be automatically assuming that the failure
is due to some of those things you enumerated, i.e. a "difference
of build environments".

But such thing is not necessarily true.

My theory here is that this failure happens randomly,
and it may happen randomly in the buildds as well.

But the same way we can't tell that a coin is biased by
throwing it only once, we should not consider that a package
is ok just because it built ok once or twice in the buildds.

So, unless I'm violating some written policy somewhere, my claim is that
this is all good.

I think you forgot Policy 4.2, which is also "written policy somewhere".
This is what it says:

If build-time dependencies are specified, it must be possible to build the 
package
and produce working binaries on a system with only essential and build-essential
packages installed and also those required to satisfy the build-time 
relationships
(including any implied relationships).

In other words: It has to work.

That said, I realize this is an area where things are underspecified,
and I'd be happy to engage with debian-policy or the TC to  further
refine what builds are allowed to do if you think that something krb5 is
doing is not reasonable.

I don't think debian-policy or the TC need to be involved in this.

If the tests contain a race condition which could be avoided by
simply adding a sleep (or some other easy fix), then that's all that
we need to do.

I suspect this is a case where your build environment does not mirror
the buildds enough for the tests to succeed,

The end user must be able to rebuild packages as well. Here, Lucas
is merely doing what any end user could do at home, of course
following certain standards.

We surely would not tell an end user who tries to build a package
without success "your system does not mirror buildd.debian,org
well enough". We would surely point at whatever the user is
doing wrong regarding existing policies. However, if the user
is not doing anything wrong, then it's definitely our fault.

Thanks.

Reply via email to