Re: Heads up: Noarch Subpackages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Panu Matilainen wrote:
On Fri, 13 Feb 2009, Ralf Corsepius wrote:

Panu Matilainen wrote:
On Fri, 13 Feb 2009, Michael DeHaan wrote:

Florian Festi wrote:
Ville Skyttä wrote:

As another solution for this problem we (ehm, Panu) will backport a check that will make noarch packages (both regular and noarch) fail to build if they contain binaries (==colored files==the right thing to do even for emulators, bioses, cross compilers, ...[1]). This additional check will be in place before koji will be updated [2].

I would prefer that, at least, there was a way to bypass this binary file check in the specfile for apps that have a legitimate reason to do it.

Yes, there's an override, precisely for these kind of reasons:

# Should binaries in noarch packages terminate a build?
%_binaries_in_noarch_packages_terminate_build   1

Turning that off in spec will make binaries in noarch packages
How is "binary" defined?

Currently it's only ELF executables and DSO's.
So you don't destinguish between native and foreign?
This would be a serious deficiency.

[Related to it: The current definition as being used by the debug-info generation/build-id checks in Fedora's rpm are a PITA when it comes to packaging cross-tools/cross-libraries]

You'd need to have debugedit and various other pieces available for the cross target and setup rpmbuild to use those instead of the native ones when cross-building.
Non applicable.

cross-tool packages typically contains binaries from several different architectures.

Should mostly be possible even as it is, but most likely find-debuginfo.sh and friends could use some further parametrization to make it easier to do. Or just disable the debuginfo/build-id & friends for cross-tools/libraries.
Making these
a) PATH-aware (e.g. according to FHS rules)
b) very restrictive on destinguishing "native" vs. "foreign"
is the only solution I am aware about.

(actually, a) is sufficient)

a warning, and it serves as documentation "yes we're doing something a bit special, this is intentional" too.
Why does this check + warning exit all?

IMO, by marking a package/sub-package "noarch" the package's author has clearly noted his intentions to be wanting the arch to be ignored. Of cause this carries a risk of accidentally packaging native binaries into supposed to be "noarch" packages, but these can pretty easily be distinguished from "foreign binaries" by other means (e.g. by restricting such checks to certain PATHs).

It's just a packaging sanity check, just like unpackaged / missing files and such. Noarch package carrying arch-dependent binaries is a pretty grave package error except for some corner cases such as where the binaries are carried as "content", not something to execute on the host.
Your corner case is my standard use-case. Your "sanity check", from my POV doesn't actually belong into rpm but into some external tool.

Ralf


--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux