[opensuse-packaging] Failed build dependencies with ifnarch

I am trying to disable tests due to a missing dependency on aarch64. I try to do this: %ifnarch aarch64 BuildRequires: python3-xarray %endif However, I get the following error when I try to build the package: error: Failed build dependencies: python3-xarray is needed by python-traittypes-0.2.1-17.1.noarch How can I disable the BuildRequires: for that architecture without triggering this error? -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

23.05.2019 1:02, Todd Rme пишет:
I am trying to disable tests due to a missing dependency on aarch64. I try to do this:
%ifnarch aarch64 BuildRequires: python3-xarray %endif
However, I get the following error when I try to build the package:
error: Failed build dependencies: python3-xarray is needed by python-traittypes-0.2.1-17.1.noarch
well, "noacrh" is not "aarch64" so I would say the error is correct.
How can I disable the BuildRequires: for that architecture without triggering this error?
noarch RPM by definition should not depend on build architecture as far as I understand. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Wed, May 22, 2019 at 11:55 PM Andrei Borzenkov <arvidjaar@gmail.com> wrote:
23.05.2019 1:02, Todd Rme пишет:
I am trying to disable tests due to a missing dependency on aarch64. I try to do this:
%ifnarch aarch64 BuildRequires: python3-xarray %endif
However, I get the following error when I try to build the package:
error: Failed build dependencies: python3-xarray is needed by python-traittypes-0.2.1-17.1.noarch
well, "noacrh" is not "aarch64" so I would say the error is correct.
How can I disable the BuildRequires: for that architecture without triggering this error?
noarch RPM by definition should not depend on build architecture as far as I understand.
So what should architecture should we use for a program that runs on x86, x86_64, ppc64, and ppc64le without modification, but doesn't run on aarch64? There is no mechanism as far as I know for a "almostnoarch" package. In this case, however, the package itself is completely noarch. One of its testing dependencies, though, although it works on most architectures, makes assumptions about how binary data is stored that means it doesn't work on aarch64. But this package has no control over that. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

24.05.2019 16:56, Todd Rme пишет:
On Wed, May 22, 2019 at 11:55 PM Andrei Borzenkov <arvidjaar@gmail.com> wrote:
23.05.2019 1:02, Todd Rme пишет:
I am trying to disable tests due to a missing dependency on aarch64. I try to do this:
%ifnarch aarch64 BuildRequires: python3-xarray %endif
However, I get the following error when I try to build the package:
error: Failed build dependencies: python3-xarray is needed by python-traittypes-0.2.1-17.1.noarch
well, "noacrh" is not "aarch64" so I would say the error is correct.
How can I disable the BuildRequires: for that architecture without triggering this error?
noarch RPM by definition should not depend on build architecture as far as I understand.
So what should architecture should we use for a program that runs on x86, x86_64, ppc64, and ppc64le without modification, but doesn't run on aarch64? There is no mechanism as far as I know for a "almostnoarch" package.
In this case, however, the package itself is completely noarch. One of its testing dependencies, though, although it works on most architectures, makes assumptions about how binary data is stored that means it doesn't work on aarch64. But this package has no control over that.
You probably could use something like %if %(uname -m) == aarch64 -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Friday 2019-05-24 19:36, Andrei Borzenkov wrote:
24.05.2019 16:56, Todd Rme пишет:
noarch RPM by definition should not depend on build architecture as far as I understand.
noarch really means arch-independent. And many program files just aren't, so don't mark it as noarch. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

Hello, On May 24 09:56 Todd Rme wrote (excerpt):
So what should architecture should we use for a program that runs on x86, x86_64, ppc64, and ppc64le without modification, but doesn't run on aarch64? There is no mechanism as far as I know for a "almostnoarch" package.
In this case, however, the package itself is completely noarch. One of its testing dependencies, though, although it works on most architectures, makes assumptions about how binary data is stored that means it doesn't work on aarch64. But this package has no control over that.
perhaps I misunderstand something special here but "doesn't run on aarch64" versus "the package itself is completely noarch" is a contradiction. I think when a program does not work on all architectures its package cannot be "noarch". See my reasoning at https://github.com/rear/rear/issues/629 and the comments in https://build.opensuse.org/package/view_file/Archiving:Backup:Rear:Snapshot/... Kind Regards Johannes Meixner -- SUSE LINUX GmbH - HRB 21284 (AG Nuernberg) GF: Felix Imendoerffer, Mary Higgins, Sri Rasiah -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org

On Montag, 27. Mai 2019 08:47:03 CEST Johannes Meixner wrote:
Hello,
On May 24 09:56 Todd Rme wrote (excerpt):
So what should architecture should we use for a program that runs on x86, x86_64, ppc64, and ppc64le without modification, but doesn't run on aarch64? There is no mechanism as far as I know for a "almostnoarch" package.
In this case, however, the package itself is completely noarch. One of its testing dependencies, though, although it works on most architectures, makes assumptions about how binary data is stored that means it doesn't work on aarch64. But this package has no control over that.
perhaps I misunderstand something special here but "doesn't run on aarch64" versus "the package itself is completely noarch" is a contradiction.
In general this would be true - but the package may have some dependency which does not run on aarch64. I think the package is still noarch - otherwise noarch would depend on the architecture support status of the distribution. The fix here is straightforward (though probably nontrivial) - fix the dependency. Kind regards, Stefan -- Stefan Brüns / Bergstraße 21 / 52062 Aachen home: +49 241 53809034 mobile: +49 151 50412019

On Mon, May 27, 2019 at 2:47 AM Johannes Meixner <jsmeix@suse.de> wrote:
Hello,
On May 24 09:56 Todd Rme wrote (excerpt):
So what should architecture should we use for a program that runs on x86, x86_64, ppc64, and ppc64le without modification, but doesn't run on aarch64? There is no mechanism as far as I know for a "almostnoarch" package.
In this case, however, the package itself is completely noarch. One of its testing dependencies, though, although it works on most architectures, makes assumptions about how binary data is stored that means it doesn't work on aarch64. But this package has no control over that.
perhaps I misunderstand something special here but "doesn't run on aarch64" versus "the package itself is completely noarch" is a contradiction.
I think when a program does not work on all architectures its package cannot be "noarch".
Again, this package runs just fine on all architectures. However, the TESTS do not run on all architectures. And even that isn't because of the tests themselves, but rather one of the dependencies of the tests has a bug on some architectures. -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org
participants (5)
-
Andrei Borzenkov
-
Jan Engelhardt
-
Johannes Meixner
-
Stefan Brüns
-
Todd Rme