[Fedora-packaging] To noarch or arch for arch specific script packages?
Jesse Keating
jkeating at redhat.com
Mon Jul 10 17:01:39 UTC 2006
There exists packages that are written in say python, but are used for arch
specific task. Consider python scripts that deal with grub (i386/x86_64), or
other such things. Do we want to continue considering these 'noarch'
packages, or do we want to mark them as arch specific? They'll already have
the ExclusiveArch: i386 x86_64 or ExcludeArch in the spec.
The reason I bring this up as it has tickled a possible bug in Brew, Red Hat's
build software. Currently brew will look at BuildArch and ExclusiveArch /
ExcludeArch, and the configured arches for a build target to decide where to
build the package at. In one package case, it has BuildArch: noarch, and
ExclusiveArch: i386 x86_64. Combining the two, brew is complaining that
Architecture is not included 'noarch'. A (ugly) work around was to
add 'noarch' to the ExclusiveArch list, or use ExcludeArch and list a bunch
of arches this package wouldn't work for, but this can break distribution
composes that query ExclusiveArch to figure out what packages should be
included in which arches for composes or produce very ugly spec files with a
ton of arches listed under ExcludeArch. An ExclusiveArch of noarch would
mean that the package gets included on EVERY arch when we compose the
distribution.
There are two camps here, one is that "If your package only WORKS on a
particular arch, it should be BuildArch'd there as to be tagged as such".
The other camp is "If your package is comprised of noarch files (scripts), it
must be marked as such." (and really a third workaround camp that is "You
should use ExcludeArch rather than ExclusiveArch.)
The build software team is on the fence about this, especially as it echos to
packaging guidelines and we'd like to see some discussion out in the
community regarding this issue, and hopefully some policy that we can follow.
The way I see it, if your package is comprised of non-compiled arch
independent content, it MUST be noarch. We can make our build system honor
BuildArch: noarch and ExclusiveArch: i386 x86_64. This would be somewhat
inline with doing BuildArch: noarch, ExcludeArch: foo bar baz baal, because
ExcludeArch would still have 'noarch' in the list. I just don't want to see
either A) having to list out every single possible arch this package may be
built for, or B) screwing over folks like Aurora by only ExcludeArching the
arches our build system would attempt, forcing folks like Aurora to edit spec
files to do their rebuilds.
A side question is, what does plague do in this scenario?
--
Jesse Keating
Release Engineer: Fedora
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-packaging/attachments/20060710/4fb09c45/attachment.sig>
More information about the Fedora-packaging
mailing list