#7553 Arch-Specific Runtime Dependencies in sub-packages
Closed: It's all good 2 months ago by humaton. Opened 4 years ago by churchyard.

Please first read trough https://pagure.io/packaging-committee/issue/691

We have been approached by this question:

  1. I have an noarch package foo
  2. it has (implicitly noarch) subpackage foo-extra, it has a runtime dependency on extra package (that is not available on xyz arch)

How do I proceed to exclude the foo-extra subpackage from being build/available on the xyz arch?

Do I need to switch both the main package and the subpackage to be arched?

In FPC, we have some ideas about how it should work, however, we don't know how it actually is implemented.

Thanks


Metadata Update from @mohanboddu:
- Issue tagged with: meeting

4 years ago

Pinging @mikem or @msuchy

Can you help us here.

I do not think this can be done on RPM/SPEC level. Noarch package has to be built and what you are requiring is to not copy it to some arch composes. I see two options:

1) just manually ask rele-engs to block that package in some composes. Every time such package appears. Or

2) ask RPM team to implement some new tag. E.g., "ExcludeInstallArch" which will be ignored during build time and just put into RPM header and rel-eng can parse it and act accordingly.

2) ask RPM team to implement some new tag. E.g., "ExcludeInstallArch" which will be ignored during build time and just put into RPM header and rel-eng can parse it and act accordingly.

Current compose process is using ExcludeArch and ExclusiveArch to do something like this, except that tag is only included in SRPM, and so affects all noarch subpackages.

Metadata Update from @mohanboddu:
- Issue assigned to mohanboddu

3 years ago

From RelEng meeting today:

[12:06:23] <nirik> I would suggest this should be a upstream koji ask.
[12:06:31] <nirik> and/or mock
[12:06:42] <nirik> but we already heard from mock developer
[12:08:06] <mboddu> I guess "2) ask RPM team to implement some new tag. E.g., "ExcludeInstallArch" which will be ignored during build time and just put into RPM header and rel-eng can parse it and act accordingly." is the best way to do this
[12:09:38] <mboddu> #action mohanboddu will file a koji ticket for this
[12:09:42] <nirik> yeah
[12:09:52] <nirik> well, I'd say rpm upstream ticket?
[12:10:01] <nirik> or ask the reporter(s) to?
[12:10:52] <mboddu> #undo
[12:10:52] <@zodbot> Removing item from minutes: ACTION by mboddu at 16:09:38 : mohanboddu will file a koji ticket for this
[12:11:18] <mboddu> #action mohanboddu will file a koji ticket and rpm ticket
[12:11:26] <mboddu> whichever gets us there first
[12:11:36] <mboddu> May be koji can do this without rpm changes
[12:11:48] <nirik> perhaps.

Metadata Update from @cverna:
- Assignee reset

2 years ago

Hi, @mohanboddu are the issues with RPM and koji upstreams opened?

Yes, I did - https://pagure.io/koji/issue/1659 and https://github.com/rpm-software-management/rpm/issues/865

rpm guys said its not really rpm thing, so it leaves koji or just releng blocking the package on xyz arch.

So, looks like our options are:

1) Just make the package archful
2) add the subpackage/arch to pungi config to filter it out on that arch
3) try and convince rpm upstream to add something.

1 is not great, but at least it's under the packagers control.
2 is labor intensive, if we have a bunch of these.
3 might not work. ;)

Thoughts?

In the previous comment are 3 options on how to deal with this. If it is not enough then the koji tracker is the place to go.

Metadata Update from @humaton:
- Issue close_status updated to: It's all good
- Issue status updated to: Closed (was: Open)

2 months ago

Login to comment on this ticket.

Metadata