On Mon, 2006-07-17 at 18:49 -0400, Joe Todaro wrote:
> DW> and on the server, which has _no_ architecture at all, you'd have
> DW> in /etc/plague/server/targets:
> DW> 
> DW> fedora-devel-core.cfg
> DW> fedora-5-core.cfg
> DW> fedora-4-core.cfg
> DW> fedora-devel-extras.cfg
> DW> fedora-5-extras.cfg
> DW> fedora-4-extras.cfg
> DW> 
> DW> and on the server, if you care about depsolving (ie if you have
> the
> DW> "depsolve_jobs = yes" set in /etc/plague/server/plague-server.cfg)
> then
> DW> you actually do need mock target configs for everything too, 
> DW> because the server will use those to depsolve. 
> 
> Absolutely, we do care about depsolving.. 
> 
> So, when you say "everything", does that also include (for example)  
> 'i686' now, too, regardless of the fact that i686 is still only a  
> sub-architecture?  

No; you only need mock and builder configs for base architectures like
i386, x86-64, ppc, sparc, sparc64, ppc64, etc.

> DW> Do you really _want_ this to
> DW> build as an i686 package?   
> 
> No, of course not - this is a noarch only package, and always 
> has been.  
> 
> DW> If so, I think the "BuildArch: noarch" is
> DW> wrong then.  Typically, if you want a package to build noarch, you
> DW> specify "BuildArch: noarch" and it will then only build on
> noarch.  What
> DW> arch is this package supposed to be for, exactly? 
> 
> 'noarch' as is specified in the specfile.  

Ok, can you apply the attached patch?  cd to /usr/share/plague/server
and use 'patch -p0 < patchfile'.  Enqueue the WhoAmI SRPM and let me
know what it prints out.  I tried running a noarch package through this
morning and it seemed to go through fine; plague decided that 'noarch'
was the only arch it was going to build for, even with i686 in the
optional_arches for that target.

> JT> > ====================================== 
> JT> > Excerpt from lnxaddons-100-install.cfg 
> JT> > ====================================== 
> JT> > 
> JT> > -----------<snip>------------   
> JT> > [Arches] 
> JT> > base_arches=i386 
> JT> > optional_arches=i686 noarch  
> JT> >
> 
> GW> Ok; I think this is the cause of the noarch problem.  Since
> 'noarch' is
> GW> a base architecture in itself, you don't need it in
> optional_arches.  If
> GW> you remove it, I think things will work as you expect.   
> 
> Nope - no such luck; I have removed 'noarch' from 'optional_arches',  
> re-tested, and am still seeing that same error..  

noarch shouldn't be in optional_arches, but if it's not working
correctly when you remove it there's some other issue.

Dan

Index: PackageJob.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/server/PackageJob.py,v
retrieving revision 1.53
diff -u -r1.53 PackageJob.py
--- PackageJob.py	19 Jul 2006 13:57:45 -0000	1.53
+++ PackageJob.py	19 Jul 2006 13:59:17 -0000
@@ -215,13 +215,17 @@
         return self.uid
         
     def arch_handling(self, ba, exclusive, exclude):
+        self.log(msg="AH: ba %s, exclusive %s, exclude %s" % (ba, exclusive, exclude))
+
         # Grab additional allowed arches for this package, using
         # wildcard matching if needed
         addl_arches = self._target_cfg.addl_arches_for_pkg(self.name)
+        self.log(msg="AH: addl_arches %s" % addl_arches)
 
         # Grab list of base arches (like i386, ppc, x86_64) that this
         # buildsys supports.  NOT subarch variants like i686, i586, ppc32, etc.
         base_arches = self._target_cfg.basearches()
+        self.log(msg="AH: base_arches %s" % base_arches)
 
         # Remove arches the buildsys doesn't support from addl_arches
         for arch in addl_arches:
@@ -264,6 +268,7 @@
         # supports, but don't build for them unless the package
         # requests it
         opt_arches = self._target_cfg.optarches()
+        self.log(msg="AH: opt_arches %s" % opt_arches)
         for arch in opt_arches:
             allowed_arches.append(arch)
 
@@ -287,7 +292,7 @@
         for thisarch in pkg_arches:
             if thisarch in allowed_arches:
                 build_arches[thisarch] = None
-
+        self.log(msg="AH: build_arches %s" % build_arches)
         return (build_arches, pkg_arches, allowed_arches)
 
     def _stage_initialize(self):
@@ -432,6 +437,7 @@
 
         # Find out what arches we're going to be building on
         (self._archjobs, pkg_arches, allowed_arches) = self.arch_handling(buildarchs, exclusive, exclude)
+        self.log(msg="archjobs: %s, pkg_arches: %s, allowed: %s" % (self._archjobs, pkg_arches, allowed_arches))
 
         if len(self._archjobs) == 0:
             msg = """Package %s does not build on any architectures this build system supports.
--
Fedora-buildsys-list mailing list
Fedora-buildsys-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-buildsys-list

Reply via email to