Bug 471602

Summary: try to build on ppc when ExcludeArch ppc
Product: [Fedora] Fedora Reporter: Levente Farkas <lfarkas>
Component: kojiAssignee: David Cantrell <dcantrell>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: dcantrell, dennis, mikem
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-11-14 23:06:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Levente Farkas 2008-11-14 16:10:33 UTC
i try to build gstreamer-java for F-10. the spec file contains the lines:
----------------------------
# for ExcludeArch see bug: 468831
ExcludeArch:    ppc, ppc64
----------------------------
but koji still try to build for ppc:
http://koji.fedoraproject.org/koji/taskinfo?taskID=933620
and of course this build fails.
why try to build on ppc?

Comment 1 Levente Farkas 2008-11-14 16:25:06 UTC
and if i do a second "make build" the of course build without error:-(

Comment 2 Mike McLean 2008-11-14 17:57:10 UTC
your specfile also includes BuildArch: noarch, so koji made it a noarch build. noarch builds can be handled by any host.

If your noarch package cannot build an all the arches in the distro, then perhaps it isn't really noarch.

Comment 3 Levente Farkas 2008-11-14 22:25:11 UTC
no it's not that easy. the question is:
what the noarch means?
- it should have to be run on any arch?
or
- it should have to be run _AND_ build on any arch?
this package is a pure java package which is noarch the the result gstreamer-java-1.0-1.fc10.noarch.rpm can be run on any arch,
BUT as there is a bug in #468831 in     	
java-1.6.0-openjdk on ppc it can't be compiled on ppc.
so if eg. there is a bug in python compiler or in the python interpreter on ppc then the python packages no longer noarch packages?

Comment 4 Dennis Gilmore 2008-11-14 23:06:32 UTC
noarch means that it will build on any arc and the resulting build will function as intended on any arch.

you need to have patience and wait for the jdk bug to be fixed.  Excluding an Arch makes you package no longer noarch  as it doesnt function on some arches.

koji will build noarch packages on a random arch in the list for the build tag  in Fedoras case one of ppc, ppc64, i386, or x86_64   the nature of noarch package means that it should build on any arch.  A large portion of java packages are Arch specifc as they get aot-compiles into native objects. 


If there was a bugin python that caused failure on one arch those python packages would need to wait for python to be fixed.  you need to wait for java-1.6.0-openjdk to be fixed.

koji is working in the intended fashion.

Comment 5 Levente Farkas 2008-11-14 23:34:07 UTC
i'm not agree with you, the only thing what can i do to try to change this rules on fedora-devel:-)

according to your definition:
- a noarch package can't contain ExcludeArch in it's spec file.
- if a package can build on i386, x86_64 then (even if it's not an arch dependent package) should have to be i386, x86_64 packages. or otherwise we've to wait may be years to be fixed the compiler or the runtime on ppc. 
- and then an i386 package can be repackage as noarch!?

what will happened if more archs from secondary architectures (arm, ia64, s390, sparc) will be added to fedora's primary arch? then we've to wait for all bug in all arch independent language for a noarch packages?

imho: the definition of noarch should have to be:
- can be build and run on all arch except on the ExcludeArch's arch.

imho: the koji should have to work as:
all package should have to be build on it own arch and if it's noarch then it can be build on any buildhost if it's arch not among the ExcludeArch's arch.