• Do autopkgtest for non-listed architectures prevent migration?

    From Markus Blatt@21:1/5 to All on Sat Jan 22 15:10:02 2022
    Hi,

    still an newbie and so many questions. Please bear with me.

    My package opm-common list as one of the blocking migration that autopkgtest fails for armhf and i386. https://qa.debian.org/excuses.php?package=opm-common The reason is that there are no packages built for these architecture as I limit
    the architecture to only 64bit architectures by having
    "Architecture: amd64 arm64 ia64 mips64el ppc64el" in d/control. Yet this does not seem to respected for autopkgtest as it still tries to run the test for i386
    and armhf.


    Does that mean that no packages will migrate for any architecture? Then I would need to change this. Or will the binaries for passing architectures migrate?

    For why 32bit architectures are not listed:
    Many tests of the buildsystem of the upstream package fail because of Y2K38 bugs.
    Upstream does not see that as a problem as running a simulation on these architectures
    or simulations of just 16 years is not a goal. Fixing this in Debian would be much hard work and might not be worth it. Which is why would like to prevent it.

    If limiting the architectures to 64bit is a problem an alternative would be to skip the tests of the build system on 32bit architectures. I just need to find out
    how to do this.

    Markus

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?Hilmar_Preu=c3=9fe?=@21:1/5 to All on Sat Jan 22 15:20:01 2022
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------Mr03zPJtKAxWOE7RaoS2IHe6
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    QW0gMjIuMDEuMjAyMiB1bSAxNTowNiB0ZWlsdGUgTWFya3VzIEJsYXR0IG1pdDoNCg0KSGks DQoNCj4gSSBsaW1pdCB0aGUgYXJjaGl0ZWN0dXJlIHRvIG9ubHkgNjRiaXQgYXJjaGl0ZWN0 dXJlcyBieSBoYXZpbmcgDQo+ICJBcmNoaXRlY3R1cmU6IGFtZDY0IGFybTY0IGlhNjQgbWlw czY0ZWwgcHBjNjRlbCIgaW4gZC9jb250cm9sLiBZZXQNCj4gdGhpcyBkb2VzIG5vdCBzZWVt IHRvIHJlc3BlY3RlZCBmb3IgYXV0b3BrZ3Rlc3QgYXMgaXQgc3RpbGwgdHJpZXMgdG8NCj4g cnVuIHRoZSB0ZXN0IGZvciBpMzg2IGFuZCBhcm1oZi4NCj4gDQpUaGUgZC9jb250cm9sIGlz IGZvciBidWlsZGluZyB0aGUgcGFja2FnZSwgaXQgd2lsbCBiZSBpZ25vcmVkIGJ5IHRoZSAN CmF1dG9wa2cgdGVzdC4gVGhlIGNvbnRyb2wgZmlsZSBmb3IgdGhlIGF1dG9wa2cgdGVzdCBr bm93cyB0aGUgc2FtZSANCmZpZWxkLCBzZWUNCg0KaHR0cHM6Ly9zYWxzYS5kZWJpYW4ub3Jn L2NpLXRlYW0vYXV0b3BrZ3Rlc3QvLS9ibG9iL21hc3Rlci9kb2MvUkVBRE1FLnBhY2thZ2Ut dGVzdHMucnN0DQoNCkguDQotLSANCnNpZ2ZhdWx0DQoNCg==

    --------------Mr03zPJtKAxWOE7RaoS2IHe6--

    -----BEGIN PGP SIGNATURE-----

    wsF5BAABCAAjFiEEcp2AQcerGO6T86F6DIccTGU8H1kFAmHsEIkFAwAAAAAACgkQDIccTGU8H1mO QRAAiGLmDLLVHcOO+MkLwq2qn0Cls2/cwFTKGc7hhqu8j29wd9sir73lCzwamq4X78FaSZa+m7nc SZqXd8y8/ORT+Sv7S0d8hvM9D5r5RKp90rcZdNCnFHdDO0j/xoDl9pNuykmqXkwnE+4SSBap0Dke Gfs71sqgR91kKme6RdJoYdil1JXs9UVUhP92WWiJIt4txV9cxXjF1ylF5/Qm+G4l5frEvzgjC4dt yOhy55rxSGlWqS4gK1984ivlyW1E9uPXjgcvHioa+871dJD43zx9+cuN4w4ENVBQtaMa0tCUtLkt ESE9M4lOE7TqDrWvt+m8+8uoYRzArK5ccz5noZJMiAkinJgKGIU0SfAPvEAY4oz3GZKSIQVFbjbT pwfCPRiD14HR79rLscyDjKCM2pIJSV4dxkD4P4CNks9uzINxDIqvkc7zNjhluVcRT6q8zqEIrxOu WMuszb1Rt0Vi8k/8GdselpQWTMQfTq+SveGJPxaasSagHY8O8bGypitTM5rkNBd/2m+tuCSUX3u0 a6+L88OJu7F2ukDrHKjnCqYI7wMHPlQtxltqmkH7YI+qeO2phM69RXxiGHRLR6XtUom222KhH8Sx aK8Bkkg24XDFjtj2bdBdhy48z5WMyG+JdEZOrDiBPaFQKAmrYjdCHXHfs52PFNoVdNQKOUwpGB0E LJs=
    =IL5J
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Wookey@21:1/5 to Markus Blatt on Sun Jan 23 22:30:04 2022
    On 2022-01-22 15:06 +0100, Markus Blatt wrote:
    For why 32bit architectures are not listed:
    Many tests of the buildsystem of the upstream package fail because of Y2K38 bugs.
    Upstream does not see that as a problem as running a simulation on these architectures
    or simulations of just 16 years is not a goal. Fixing this in Debian would be much hard work and might not be worth it. Which is why would like to prevent it.

    If the package builds on the 32bit arches then I would advise that you
    let it build. We always try to build for all arches in debian and it
    is very annoying if you have say an armhf machine and something is not available just because there was some test failure so upstream simply
    excluded builds completely. Packges should only be excluded on an arch
    if they are known not to build or to be genuinely useless there.

    If there are too many problems with the tests to fix for now then
    don't run the tests on those architectures, or mark them in the
    autopackage tests as expected to fail (Not sure if we support 'test X
    on arch Y known to fail' markings, but if we do then such markings
    would be best). As Hilmar pointed out you mark which arches to run
    tests on separately from which arches to build.

    If the package is available then maybe someone who cares will fix
    it. If it isn't they probably won't even try. A note in the
    Debian.README about this known issue would be helpful.

    Wookey
    --
    Principal hats: Linaro, Debian, Wookware, ARM
    http://wookware.org/

    -----BEGIN PGP SIGNATURE-----

    iQIzBAABCgAdFiEER4nvI8Pe/wVWh5yq+4YyUahvnkcFAmHtyIYACgkQ+4YyUahv nkdhfQ//Wih6fIYQ6FAZ2vNp13pxYrm+SiQEPmukU4QLQjQuzE3ECAN83/NeY8MU Wv1EGXIyi5vCPTRotelibZyyP3qLSEc0WmQXLzFQRou9ymoy210UYnYAZxb+Uysn bxPf2JCwYwBm3FtwldqoKOFFKAeYzvA7oS/5gYLtGoV/iHwstPvnVIrsv9m288ms V6C2vNl2Tq8qM6++W+c34T6z9NKRjWx/WOIektQa0fteOqsfY12gk6zVLtVU+hlR 6fwlJKAQNAyOG5lwmxKnWEgAykvV1vWjDI4h34rtQYPctyFiu7UpsHTK2zapv4w8 W2ze08O2OmddEq2aYTeuUHkr3jWlPIR2jQVEj2l5xNLxilPyQvHE3pn54iBBwR1T 8vlqjsINF/WpmP5HkVVfzIaI4DAgYMimmV2epm2LRO4S3gUyaytsX8603t0hmAZE Uc8QGtW32a7saCMOaKSUAG+84amWT3YUM4fmIuDFl6cSY6oHOM+BZlDFCG6S4yYb TqQfMizwOs84z0i6xHlHOdeQo7bfcTstPXe/892bkePS6y5zaVomaEHFsLMQWxVV h476TmQBER5ps/LSnPoWVhncxzgEEBQvuO8SFzpwxoPZ5SKKXXifVrdZ5Z6HEuwF u3p0UncAR3nrp3p9s230iIhcX7sBlsSf2fi5E5n35LRIqpvbHpo=
    =ZlTS
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ole Streicher@21:1/5 to Wookey on Mon Jan 24 09:40:01 2022
    Wookey <wookey@wookware.org> writes:
    If the package builds on the 32bit arches then I would advise that you
    let it build. We always try to build for all arches in debian and it
    is very annoying if you have say an armhf machine and something is not available just because there was some test failure so upstream simply excluded builds completely. Packges should only be excluded on an arch
    if they are known not to build or to be genuinely useless there.

    I would disagree here: If we can't support a certain package on a
    platform, then we shouldn't build it there. If neither upstream nor the
    Debian maintainer is going to support armhf, then it should not be built.

    For example, I have a package (iraf) that builds fine on big-endian
    systems but some tests fail there. I (being both upstream and the Debian maintainer) am not going for a bug hunt since I don't see a use in it,
    but I know that the existing bug may make some astronomical calculations (unnoticed) wrong. It is better not not have that package than a buggy
    package. If someone needs it, they are free to fix the problems so that
    we include it but unless nobody cares I will not deliver a known-buggy
    package by just disabling the failing tests.

    If the package is available then maybe someone who cares will fix
    it. If it isn't they probably won't even try. A note in the
    Debian.README about this known issue would be helpful.

    This is only true if the bug is noticed, which is not always the
    case.

    Best

    Ole

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Markus Blatt@21:1/5 to All on Mon Jan 24 11:10:02 2022
    Hi,

    Am Mon, Jan 24, 2022 at 10:38:32AM +0100 schrieb Helge Deller:
    On 1/24/22 09:10, Ole Streicher wrote:
    Wookey <wookey@wookware.org> writes:
    If the package builds on the 32bit arches then I would advise that you
    let it build. We always try to build for all arches in debian and it
    is very annoying if you have say an armhf machine and something is not
    available just because there was some test failure so upstream simply
    excluded builds completely. Packges should only be excluded on an arch
    if they are known not to build or to be genuinely useless there.

    I would disagree here: If we can't support a certain package on a
    platform, then we shouldn't build it there. If neither upstream nor the
    Debian maintainer is going to support armhf, then it should not be built.

    I'm not sure if there is a misunderstanding here.
    I think every package (unless it doesn't fit to a platform like a boot loader, >or the target architecture is really not meant for that package)
    should be *built*. It may fail tests, in which case it should still be built, >but the build should be marked failed and as such no *binary* package
    should be produced and uploaded.
    But since it was built, platform maintainers may see it, can check the
    build logs and may help to fix.

    The worst thing for arches is, if a package is being *excluded* from building >on certain arches just because there was a build- or test error.
    That way nobody will notice and there will never someone look into it.


    Thanks for the valuable input.

    In my case the tests will fail and there will be no binary packages on 32bit platforms.

    I have read a bit on older mentors-list threads about listing Architectures and come to the same conlusion as Wookey and Helge. If possible it should be prevented.

    My main reason to build on all platforms is: If a new Platform is added and architecture is a limited list then chances are very high that nobody will try to add the new architecture to the architecture list.

    If buildd resources are an issue, I could patch upstream such that CMake will error
    out if it is a 32bit platform.

    Cheers,

    Markus

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Helge Deller@21:1/5 to Ole Streicher on Mon Jan 24 10:40:02 2022
    On 1/24/22 09:10, Ole Streicher wrote:
    Wookey <wookey@wookware.org> writes:
    If the package builds on the 32bit arches then I would advise that you
    let it build. We always try to build for all arches in debian and it
    is very annoying if you have say an armhf machine and something is not
    available just because there was some test failure so upstream simply
    excluded builds completely. Packges should only be excluded on an arch
    if they are known not to build or to be genuinely useless there.

    I would disagree here: If we can't support a certain package on a
    platform, then we shouldn't build it there. If neither upstream nor the Debian maintainer is going to support armhf, then it should not be built.

    I'm not sure if there is a misunderstanding here.
    I think every package (unless it doesn't fit to a platform like a boot loader, or the target architecture is really not meant for that package)
    should be *built*. It may fail tests, in which case it should still be built, but the build should be marked failed and as such no *binary* package
    should be produced and uploaded.
    But since it was built, platform maintainers may see it, can check the
    build logs and may help to fix.

    The worst thing for arches is, if a package is being *excluded* from building on certain arches just because there was a build- or test error.
    That way nobody will notice and there will never someone look into it.

    For example, I have a package (iraf) that builds fine on big-endian
    systems but some tests fail there. I (being both upstream and the Debian maintainer) am not going for a bug hunt since I don't see a use in it,
    but I know that the existing bug may make some astronomical calculations (unnoticed) wrong. It is better not not have that package than a buggy package.

    True. Buggy package is bad and should not be uploaded.
    But still having a build log is good...

    Helge

    If someone needs it, they are free to fix the problems so that
    we include it but unless nobody cares I will not deliver a known-buggy package by just disabling the failing tests.

    If the package is available then maybe someone who cares will fix
    it. If it isn't they probably won't even try. A note in the
    Debian.README about this known issue would be helpful.

    This is only true if the bug is noticed, which is not always the
    case.

    Best

    Ole


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ole Streicher@21:1/5 to Helge Deller on Mon Jan 24 12:00:03 2022
    Helge Deller <deller@gmx.de> writes:
    On 1/24/22 09:10, Ole Streicher wrote:
    Wookey <wookey@wookware.org> writes:
    If the package builds on the 32bit arches then I would advise that you
    let it build. We always try to build for all arches in debian and it
    is very annoying if you have say an armhf machine and something is not
    available just because there was some test failure so upstream simply
    excluded builds completely. Packges should only be excluded on an arch
    if they are known not to build or to be genuinely useless there.

    I would disagree here: If we can't support a certain package on a
    platform, then we shouldn't build it there. If neither upstream nor the
    Debian maintainer is going to support armhf, then it should not be built.

    I'm not sure if there is a misunderstanding here.
    I think every package (unless it doesn't fit to a platform like a boot loader,
    or the target architecture is really not meant for that package)
    should be *built*. It may fail tests, in which case it should still be built, but the build should be marked failed and as such no *binary* package
    should be produced and uploaded.
    But since it was built, platform maintainers may see it, can check the
    build logs and may help to fix.

    The worst thing for arches is, if a package is being *excluded* from building on certain arches just because there was a build- or test error.
    That way nobody will notice and there will never someone look into it.

    Users of the platform may request the package if they need it (and they
    are relevant people for us). And attempting to build the package on such
    a platform is as easy as adding the architecture to d/control for the
    user. And porters can also just check which packages are not built on a platform.

    Best

    Ole

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Helge Deller@21:1/5 to Ole Streicher on Mon Jan 24 12:30:02 2022
    On 1/24/22 11:36, Ole Streicher wrote:
    Helge Deller <deller@gmx.de> writes:
    On 1/24/22 09:10, Ole Streicher wrote:
    Wookey <wookey@wookware.org> writes:
    If the package builds on the 32bit arches then I would advise that you >>>> let it build. We always try to build for all arches in debian and it
    is very annoying if you have say an armhf machine and something is not >>>> available just because there was some test failure so upstream simply
    excluded builds completely. Packges should only be excluded on an arch >>>> if they are known not to build or to be genuinely useless there.

    I would disagree here: If we can't support a certain package on a
    platform, then we shouldn't build it there. If neither upstream nor the
    Debian maintainer is going to support armhf, then it should not be built. >>
    I'm not sure if there is a misunderstanding here.
    I think every package (unless it doesn't fit to a platform like a boot loader,
    or the target architecture is really not meant for that package)
    should be *built*. It may fail tests, in which case it should still be built,
    but the build should be marked failed and as such no *binary* package
    should be produced and uploaded.
    But since it was built, platform maintainers may see it, can check the
    build logs and may help to fix.

    The worst thing for arches is, if a package is being *excluded* from building
    on certain arches just because there was a build- or test error.
    That way nobody will notice and there will never someone look into it.

    Users of the platform may request the package if they need it (and they
    are relevant people for us). And attempting to build the package on such
    a platform is as easy as adding the architecture to d/control for the
    user. And porters can also just check which packages are not built on a platform.

    Yes, everything is easy and "just doable".
    For you it's just to modify one package in that case.
    The problem for me as maintainer of an architecture (in my case parisc, which is big-endian and 32bit userspace) is, that I then need to search which package is missing, contact each package maintainer by himself, ask him, look again, ...
    Usually if a package fails on one big-endian platform it often fails on other big-endian platforms too.
    Same for 32bit- vs. 64-bit.
    So, if I or someone else fixes a big-endian build issue, it fixes it most of the time for multiple architectures.
    That's why I'm saying that you shouldn't exclude by default a *specific* architecture. The problem is often not bound to that architecture, but by
    the specifics which define that architecture (endianess, 32/64-bit, ...).

    Helge

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Ole Streicher@21:1/5 to Helge Deller on Mon Jan 24 14:00:02 2022
    Hi Helge,

    Helge Deller <deller@gmx.de> writes:
    That's why I'm saying that you shouldn't exclude by default a *specific* architecture. The problem is often not bound to that architecture, but by
    the specifics which define that architecture (endianess, 32/64-bit, ...).

    this brings me to the point why we don't have a way to require these
    specifics in a canonical way, i.e. why we don't have (pseudo) packages
    for endianess, word width etc.

    For example I observe more and more (astronomy/science) packages to be
    64-bit only by design (or upstream decision), and there is no way to
    clearly specify this as a build condition. Just ignoring this and let
    them fail doesn't look very smart.

    Best

    Ole

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)