<br><tt><font size=2>DW&gt; Dan Williams &lt;dcbw@redhat.com&gt; wrote
on 07/17/2006 06:11:34 AM:<br>
</font></tt>
<br><tt><font size=2>JT&gt; &gt; On Sun, 2006-07-16 at 12:18 -0400, Joe
Todaro wrote:</font></tt>
<br>
<br><tt><font size=2>JT&gt; &gt; Regardless, though, I still don't see
any variable<br>
JT&gt; &gt; in /usr/bin/plague-server that has *anything* to </font></tt>
<br><tt><font size=2>JT&gt; &gt; with &quot;optional arches&quot; or &quot;base
arches&quot;, which<br>
JT&gt; &gt; is what the patch was for right? <br>
DW&gt; <br>
DW&gt; The patch would actually have been<br>
DW&gt; against /usr/share/plague/server/Config.py. &nbsp;</font></tt>
<br>
<br><tt><font size=2>And indeed was successfully applied against </font></tt>
<br><tt><font size=2>/usr/share/plague/server/Config.py on July 15; </font></tt>
<br><tt><font size=2>one line got updated. &nbsp; &nbsp;</font></tt>
<br>
<br><tt><font size=2>DW&gt; That's where it gets<br>
DW&gt; somewhat confusing, since in the build directory everything is together,<br>
DW&gt; but during RPM creation and install the server's main.py file gets<br>
DW&gt; renamed to /usr/bin/plague-server. &nbsp;What I've said 'plague-server',
I've<br>
DW&gt; generally been referring to the server process as a whole, not specific<br>
DW&gt; files. &nbsp;Sorry for that.<br>
DW&gt;</font></tt>
<br>
<br><tt><font size=2>No apology necessary - my misunderstanding. Also,
thanks for the </font></tt>
<br><tt><font size=2>excellent clarification/insight.</font></tt>
<br>
<br><tt><font size=2>DW&gt; and on the server, which has _no_ architecture
at all, you'd have<br>
DW&gt; in /etc/plague/server/targets:<br>
DW&gt; <br>
DW&gt; fedora-devel-core.cfg<br>
DW&gt; fedora-5-core.cfg<br>
DW&gt; fedora-4-core.cfg<br>
DW&gt; fedora-devel-extras.cfg<br>
DW&gt; fedora-5-extras.cfg<br>
DW&gt; fedora-4-extras.cfg<br>
DW&gt; <br>
DW&gt; and on the server, if you care about depsolving (ie if you have
the<br>
DW&gt; &quot;depsolve_jobs = yes&quot; set in /etc/plague/server/plague-server.cfg)
then<br>
DW&gt; you actually do need mock target configs for everything too,</font></tt>
<br><tt><font size=2>DW&gt; because the server will use those to depsolve.</font></tt>
<br>
<br><tt><font size=2>Absolutely, we do care about depsolving..</font></tt>
<br>
<br><tt><font size=2>So, when you say &quot;everything&quot;, does that
also include (for example) </font></tt>
<br><tt><font size=2>'i686' now, too, regardless of the fact that i686
is still only a </font></tt>
<br><tt><font size=2>sub-architecture? </font></tt>
<br>
<br><tt><font size=2>(Hmm, I wouldn't think so..but I just need to be clear
on this.) </font></tt>
<br>
<br><tt><font size=2>JT&gt; &gt; ======================== <br>
JT&gt; &gt; Excerpt from WhoAmI.spec <br>
JT&gt; &gt; ======================== <br>
JT&gt; &gt; <br>
JT&gt; &gt; -----------&lt;snip&gt;------------ &nbsp; <br>
JT&gt; &gt; %define rversion 4.00 <br>
JT&gt; &gt; %define rel &nbsp; &nbsp; &nbsp;9 <br>
JT&gt; &gt; %define pkgname &nbsp;WhoAmI <br>
JT&gt; &gt; <br>
JT&gt; &gt; Summary &nbsp; &nbsp; &nbsp; &nbsp; : %{__distribution_long}
system information <br>
JT&gt; &gt; Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: %{pkgname}
<br>
JT&gt; &gt; Version &nbsp; &nbsp; &nbsp; &nbsp; : %{rversion} <br>
JT&gt; &gt; Release &nbsp; &nbsp; &nbsp; &nbsp; : %{rel}_%{__build_distribution}%{__build_release}
<br>
JT&gt; &gt; License &nbsp; &nbsp; &nbsp; &nbsp; : %__spec_internal_license
<br>
JT&gt; &gt; Group &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : System Environment/Base
<br>
JT&gt; &gt; Url &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : %__repository_url
<br>
JT&gt; &gt; <br>
JT&gt; &gt; Packager &nbsp; &nbsp; &nbsp; &nbsp;: %{packager} <br>
JT&gt; &gt; <br>
JT&gt; &gt; Source0 &nbsp; &nbsp; &nbsp; &nbsp; : %{pkgname}.tar.gz <br>
JT&gt; &gt; <br>
JT&gt; &gt; %if %__build_rhel <br>
JT&gt; &gt; Requires &nbsp; &nbsp; &nbsp; &nbsp;: coreutils, bash, python,
grep, rpm <br>
JT&gt; &gt; %endif <br>
JT&gt; &gt; <br>
JT&gt; &gt; %if %__build_suse <br>
JT&gt; &gt; Requires &nbsp; &nbsp; &nbsp; &nbsp;: coreutils, bash, aaa_base,
python, grep, rpm <br>
JT&gt; &gt; %endif <br>
JT&gt; &gt; <br>
JT&gt; &gt; BuildArch &nbsp; &nbsp; &nbsp; : noarch </font></tt>
<br><tt><font size=2>JT&gt; &gt;</font></tt>
<br>
<br><tt><font size=2>DW&gt; I'm getting slightly confused here. </font></tt>
<br>
<br><tt><font size=2>Sorry for that - my fault.</font></tt>
<br>
<br><tt><font size=2>DW&gt; Plague 0.4.3 was building this<br>
DW&gt; package correctly as an i686 package?</font></tt>
<br>
<br><tt><font size=2>No, plague 0.4.3 was building this package correctly
as </font></tt>
<br><tt><font size=2>a 'noarch'; it never tried building as an 'i686' package</font></tt>
<br><tt><font size=2>until *after* I applied the one-liner patch to </font></tt>
<br><tt><font size=2>/usr/share/plague/server/Config.py on July 15; &nbsp;Moreover,</font></tt>
<br><tt><font size=2>it started doing so (building i686) automatically,
because</font></tt>
<br><tt><font size=2>PackageJob.py is now setting </font></tt>
<br><tt><font size=2>&quot;archlist = ['i386', 'i686']&quot; rather than</font></tt>
<br><tt><font size=2>just &quot;archlist = ['i386'] which it has always
done in </font></tt>
<br><tt><font size=2>the past using plague-0.4.</font></tt>
<br>
<br><tt><font size=2>DW&gt; Do you really _want_ this to<br>
DW&gt; build as an i686 package? &nbsp;</font></tt>
<br>
<br><tt><font size=2>No, of course not - this is a noarch only package,
and always</font></tt>
<br><tt><font size=2>has been. </font></tt>
<br>
<br><tt><font size=2>DW&gt; If so, I think the &quot;BuildArch: noarch&quot;
is<br>
DW&gt; wrong then. &nbsp;Typically, if you want a package to build noarch,
you<br>
DW&gt; specify &quot;BuildArch: noarch&quot; and it will then only build
on noarch. &nbsp;What<br>
DW&gt; arch is this package supposed to be for, exactly?</font></tt>
<br>
<br><tt><font size=2>'noarch' as is specified in the specfile. </font></tt>
<br>
<br><tt><font size=2>JT&gt; &gt; ======================================
<br>
JT&gt; &gt; Excerpt from lnxaddons-100-install.cfg <br>
JT&gt; &gt; ====================================== <br>
JT&gt; &gt; <br>
JT&gt; &gt; -----------&lt;snip&gt;------------ &nbsp; <br>
JT&gt; &gt; [Arches] <br>
JT&gt; &gt; base_arches=i386 <br>
JT&gt; &gt; optional_arches=i686 noarch </font></tt>
<br><tt><font size=2>JT&gt; &gt;<br>
<br>
GW&gt; Ok; I think this is the cause of the noarch problem. &nbsp;Since
'noarch' is<br>
GW&gt; a base architecture in itself, you don't need it in optional_arches.
&nbsp;If<br>
GW&gt; you remove it, I think things will work as you expect. &nbsp;</font></tt>
<br>
<br><tt><font size=2>Nope - no such luck; I have removed 'noarch' from
'optional_arches', </font></tt>
<br><tt><font size=2>re-tested, and am still seeing that same error.. </font></tt>
<br>
<br><tt><font size=2>(Jeez, I feel like we're soo close..I can taste it.)</font></tt>
<br>
<br><tt><font size=2>And now I have a design-related question if I may:
</font></tt>
<br><tt><font size=2>Why is the PackageJob.py module appending 'optional_arches'</font></tt>
<br><tt><font size=2>onto the 'archlist' list (lines 574-576), and later
trying </font></tt>
<br><tt><font size=2>to process those &quot;optional&quot; arches as is
they were &quot;base&quot; </font></tt>
<br><tt><font size=2>arches? &nbsp;</font></tt>
<br>
<br><tt><font size=2>Hmm, *I* don't get it.. just when I thought </font></tt>
<br><tt><font size=2>things were starting to make sense too. (: &nbsp;
</font></tt>
<br>
<br><tt><font size=2>CW&gt; Every builder<br>
GW&gt; can build a 'noarch' package, so that architecture is essentially
added<br>
GW&gt; by default and you don't need to do anything explicit for it. &nbsp;Yay
for<br>
GW&gt; documentation (or complete lack of it).<br>
GW&gt; <br>
GW&gt; However, this does expose a bug. &nbsp;If an architecture is listed
in<br>
GW&gt; optional_arches, it shouldn't actually be used by a package build
unless<br>
GW&gt; the package was going to build for noarch already.<br>
GW&gt; <br>
</font></tt>
<br><tt><font size=2>I think we're *real* close.. &nbsp;</font></tt>
<br>
<br><font size=2 face="sans-serif">Regards,</font>
<br><font size=2 face="sans-serif">Joe</font>
<br><font size=2 face="sans-serif">====================== COMPLETE THREAD
=============================</font>
<br>
<br><tt><font size=2>Dan Williams &lt;dcbw@redhat.com&gt; wrote on 07/17/2006
06:11:34 AM:<br>
<br>
&gt; On Sun, 2006-07-16 at 12:18 -0400, Joe Todaro wrote:<br>
&gt; &gt; <br>
&gt; &gt; Dan Williams &lt;dcbw@redhat.com&gt; wrote on 07/16/2006 10:41:55
AM:<br>
&gt; &gt; <br>
&gt; &gt; &gt; On Sun, 2006-07-16 at 09:48 -0400, Joe Todaro wrote:<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; Thanks Dan. <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; So I ran a quick regression test, just to make sure
that *i386* is<br>
&gt; &gt; &gt; &gt; still working, but, it *failed* ... (also note that
i686 gave<br>
&gt; &gt; &gt; &gt; basically the same errors..) <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; SEE BELOW for *regression* test results, both BEFORE
and AFTER<br>
&gt; &gt; &gt; &gt; applying patch 'plague-opt-arches-fix.patch' to server/Config.py.<br>
&gt; &gt; &nbsp;I<br>
&gt; &gt; &gt; &gt; repeated that test sequence several times, by the way.
&nbsp;Also, I<br>
&gt; &gt; was<br>
&gt; &gt; &gt; &gt; surprised to see that 'WhoAmI' was trying to build
as an 'i686'<br>
&gt; &gt; rpm<br>
&gt; &gt; &gt; &gt; rather than a 'noarch' which is what it really is.
So, since I<br>
&gt; &gt; can't <br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Hmm... Building an i386 package worked for me when I tested
it with<br>
&gt; &gt; &gt; current CVS HEAD, as did an i686 package. <br>
&gt; &gt; <br>
&gt; &gt; Do you think that re-installing plague-0.5 from scratch (rpm
-e/rpm<br>
&gt; &gt; -ivh) might help? &nbsp;<br>
&gt; &gt; If so, are there any &quot;gotchas&quot; I need to be aware of?
<br>
&gt; &gt; But hopefully this won't be necessary.<br>
&gt; <br>
&gt; Hmm, this likely wouldn't change much.<br>
&gt; <br>
&gt; &gt; But also I have a question: Since i686 is a &quot;subarch&quot;
of i386, do I<br>
&gt; &gt; need <br>
&gt; &gt; to create any target config files specicially for i686, such
as in<br>
&gt; &gt; the <br>
&gt; &gt; following directories: <br>
&gt; &gt; - /etc/plague/server/targets <br>
&gt; &gt; - /etc/plague/builder/targets <br>
&gt; &gt; - /etc/mock &nbsp;<br>
&gt; <br>
&gt; No, you shouldn't need to create target configs for that. &nbsp;Only
for<br>
&gt; 'base' architectures like i386, ppc, ppc64, x86_64, sparc, sparc64,
etc.<br>
&gt; Sub-architectures like i686, em64t, sparcv9, etc, don't need their
own<br>
&gt; target configs.<br>
&gt; <br>
&gt; For the builder, you need one target config for every &quot;repository&quot;
that<br>
&gt; builder will be able to support. &nbsp;For example, if the machine
were an<br>
&gt; x86-64-class machine able to build Fedora Core and Fedora Extras,
you'd<br>
&gt; have in /etc/plague/builder/targets:<br>
&gt; <br>
&gt; fedora-devel-i386-core.cfg<br>
&gt; fedora-5-i386-core.cfg<br>
&gt; fedora-4-i386-core.cfg<br>
&gt; fedora-devel-i386-extras.cfg<br>
&gt; fedora-5-i386-extras.cfg<br>
&gt; fedora-4-i386-extras.cfg<br>
&gt; fedora-devel-x86_64-core.cfg<br>
&gt; fedora-5-x86_64-core.cfg<br>
&gt; ...<br>
&gt; <br>
&gt; and on the server, which has _no_ architecture at all, you'd have<br>
&gt; in /etc/plague/server/targets:<br>
&gt; <br>
&gt; fedora-devel-core.cfg<br>
&gt; fedora-5-core.cfg<br>
&gt; fedora-4-core.cfg<br>
&gt; fedora-devel-extras.cfg<br>
&gt; fedora-5-extras.cfg<br>
&gt; fedora-4-extras.cfg<br>
&gt; <br>
&gt; and on the server, if you care about depsolving (ie if you have the<br>
&gt; &quot;depsolve_jobs = yes&quot; set in /etc/plague/server/plague-server.cfg)
then<br>
&gt; you actually do need mock target configs for everything too, because
the<br>
&gt; server will use those to depsolve.<br>
&gt; <br>
&gt; &gt; &gt; Coming back to the original question, optional_arches gives<br>
&gt; &gt; buildsystem<br>
&gt; &gt; &gt; administrators a filter on arches to build. &nbsp;For example,
Fedora<br>
&gt; &gt; Extras<br>
&gt; &gt; &gt; doesn't necessarily want to allow packages to be built for
i486,<br>
&gt; &gt; even if<br>
&gt; &gt; &gt; the RPM requests it, because we don't support i486. &nbsp;So
if you add<br>
&gt; &gt; i686<br>
&gt; &gt; &gt; to 'optional_arches', then packages that request to be built
for<br>
&gt; &gt; i686<br>
&gt; &gt; &gt; with ExclusiveArch will be allowed to build for i686, otherwise
not.<br>
&gt; &gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; I'm also really clear on this, too, now. &nbsp;Well, at least
this proves,<br>
&gt; &gt; to &nbsp;<br>
&gt; &gt; me anyway, that I've had a pretty decent understanding of how
things<br>
&gt; &gt; work <br>
&gt; &gt; all along -- thanks to the great description you gave above,
of<br>
&gt; &gt; course. <br>
&gt; <br>
&gt; No problem. &nbsp;There's so many options to stuff like RPM and apt/dpkg
that<br>
&gt; it's hard to keep straight.<br>
&gt; <br>
&gt; &gt; &gt; &gt; Also, could you please explain/elaborate when you say:
&quot;Patch<br>
&gt; &gt; attached<br>
&gt; &gt; &gt; &gt; that should apply against an installed copy of plague-server
as<br>
&gt; &gt; &gt; &gt; well.&quot; &nbsp; &nbsp;<br>
&gt; &gt; &gt; &gt; Um, your patch is clearly intended to update file server/Config.py<br>
&gt; &gt; &gt; &gt; file, so I really don't understand how I can also use
*it* to<br>
&gt; &gt; update<br>
&gt; &gt; &gt; &gt; file *plague-server* (/usr/bin/plague-server?) as well,
which<br>
&gt; &gt; appears<br>
&gt; &gt; &gt; &gt; to be a start-up script -- am I missing something here?
<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; I had meant to change the paths such that you could apply
the patch<br>
&gt; &gt; &gt; from / using patch -p0 or such; I did that and then re-diffed
and<br>
&gt; &gt; likely<br>
&gt; &gt; &gt; forgot to update the patch bits again. &nbsp;Since the 'cvs
diff' is<br>
&gt; &gt; rooted<br>
&gt; &gt; &gt; at a different directory than the installed plague server
directory,<br>
&gt; &gt; I<br>
&gt; &gt; &gt; was trying to make life simpler for you. &nbsp;My bad.<br>
&gt; &gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; Oh, cool, I've never done that before - thanks. &nbsp; <br>
&gt; &gt; <br>
&gt; &gt; Regardless, though, I still don't see any variable<br>
&gt; &gt; in /usr/bin/plague-server <br>
&gt; &gt; that has *anything* to with &quot;optional arches&quot; or &quot;base
arches&quot;, which<br>
&gt; &gt; is &nbsp;<br>
&gt; &gt; what the patch was for right? <br>
&gt; <br>
&gt; The patch would actually have been<br>
&gt; against /usr/share/plague/server/Config.py. &nbsp;That's where it
gets<br>
&gt; somewhat confusing, since in the build directory everything is together,<br>
&gt; but during RPM creation and install the server's main.py file gets<br>
&gt; renamed to /usr/bin/plague-server. &nbsp;What I've said 'plague-server',
I've<br>
&gt; generally been referring to the server process as a whole, not specific<br>
&gt; files. &nbsp;Sorry for that.<br>
&gt; <br>
&gt; &gt; &gt; &gt; For the good news (for me anyway), I'm also trying
to learn Python<br>
&gt; &gt; &gt; &gt; (Diving Into Python) on my own time, so that hopefully
one day I<br>
&gt; &gt; might<br>
&gt; &gt; &gt; &gt; be able help squash some of these bugs.. However, in
the meantime,<br>
&gt; &gt; &gt; &gt; I/we very much appreciate your help and expertise..
&nbsp;<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; REGRESSION TEST RESULTS ARE BELOW... <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; Dan Williams &lt;dcbw@redhat.com&gt; wrote on 07/15/2006
01:20:54 PM:<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; On Tue, 2006-07-04 at 09:58 -0400, Joe Todaro
wrote:<br>
&gt; &gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; &gt; Hi, &nbsp;<br>
&gt; &gt; &gt; &gt; &gt; &gt; I'm having a problem *not* being able to
build 'i686' packages<br>
&gt; &gt; &gt; &gt; (i.e.<br>
&gt; &gt; &gt; &gt; &gt; &gt; optional_arches=i686) anymore *after* having
upgraded our<br>
&gt; &gt; plague<br>
&gt; &gt; &gt; &gt; &gt; &gt; server/builder (Opteron x86_64) a couple
of weeks ago from<br>
&gt; &gt; &gt; &gt; &gt; &gt; plague-0.4.3 to *plague-0.5.0*. The problem
happens only with<br>
&gt; &gt; i686<br>
&gt; &gt; &gt; &gt; &gt; &gt; (optional_arches=i686) -- not with i386 (base_arches=i386)<br>
&gt; &gt; which<br>
&gt; &gt; &gt; &gt; &gt; &gt; continues to work flawlessly. &nbsp; <br>
&gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; Found and fixed in CVS HEAD. &nbsp;Patch attached
that should apply<br>
&gt; &gt; &gt; &gt; against<br>
&gt; &gt; &gt; &gt; &gt; an installed copy of plague-server as well. &nbsp;Thanks
for the<br>
&gt; &gt; report,<br>
&gt; &gt; &gt; &gt; and<br>
&gt; &gt; &gt; &gt; &gt; sorry for the lag.<br>
&gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; Cheers,<br>
&gt; &gt; &gt; &gt; &gt; Dan<br>
&gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; &gt; [attachment &quot;plague-opt-arches-fix.patch&quot;
deleted by Joe <br>
&gt; &gt; &gt; &gt; &gt; Todaro/Poughkeepsie/IBM] &nbsp;<br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; <br>
&gt; &gt; &gt; &gt; 626 (WhoAmI): Requesting depsolve... <br>
&gt; &gt; &gt; &gt; 626 (WhoAmI): Starting depsolve for arches: ['i386',
'i686',<br>
&gt; &gt; &gt; &gt; 'noarch']. <br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; Ok; what do you have in the 'optional_arches' for this target?
<br>
&gt; &gt; <br>
&gt; &gt; ====================================== <br>
&gt; &gt; Excerpt from lnxaddons-100-install.cfg <br>
&gt; &gt; ====================================== <br>
&gt; &gt; <br>
&gt; &gt; -----------&lt;snip&gt;------------ &nbsp; <br>
&gt; &gt; [Arches] <br>
&gt; &gt; base_arches=i386 <br>
&gt; &gt; optional_arches=i686 noarch <br>
&gt; <br>
&gt; Ok; I think this is the cause of the noarch problem. &nbsp;Since 'noarch'
is<br>
&gt; a base architecture in itself, you don't need it in optional_arches.
&nbsp;If<br>
&gt; you remove it, I think things will work as you expect. &nbsp;Every
builder<br>
&gt; can build a 'noarch' package, so that architecture is essentially
added<br>
&gt; by default and you don't need to do anything explicit for it. &nbsp;Yay
for<br>
&gt; documentation (or complete lack of it).<br>
&gt; <br>
&gt; However, this does expose a bug. &nbsp;If an architecture is listed
in<br>
&gt; optional_arches, it shouldn't actually be used by a package build
unless<br>
&gt; the package was going to build for noarch already.<br>
&gt; <br>
&gt; &gt; ----------&lt;/snip&gt;------------ &nbsp; <br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; What do the top bits of the specfile for WhoAmI look like?
&nbsp;i.e.,<br>
&gt; &gt; are<br>
&gt; &gt; &gt; there any of the following specfile tags, and what are their
values?<br>
&gt; &gt; &gt; <br>
&gt; &gt; &gt; BuildArch<br>
&gt; &gt; &gt; ExclusiveArch<br>
&gt; &gt; &gt; ExcludeArch<br>
&gt; &gt; &gt; &nbsp;<br>
&gt; &gt; <br>
&gt; &gt; ======================== <br>
&gt; &gt; Excerpt from WhoAmI.spec <br>
&gt; &gt; ======================== <br>
&gt; &gt; <br>
&gt; &gt; -----------&lt;snip&gt;------------ &nbsp; <br>
&gt; &gt; %define rversion 4.00 <br>
&gt; &gt; %define rel &nbsp; &nbsp; &nbsp;9 <br>
&gt; &gt; %define pkgname &nbsp;WhoAmI <br>
&gt; &gt; <br>
&gt; &gt; Summary &nbsp; &nbsp; &nbsp; &nbsp; : %{__distribution_long}
system information <br>
&gt; &gt; Name &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;: %{pkgname} <br>
&gt; &gt; Version &nbsp; &nbsp; &nbsp; &nbsp; : %{rversion} <br>
&gt; &gt; Release &nbsp; &nbsp; &nbsp; &nbsp; : %{rel}_%{__build_distribution}%{__build_release}
<br>
&gt; &gt; License &nbsp; &nbsp; &nbsp; &nbsp; : %__spec_internal_license
<br>
&gt; &gt; Group &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : System Environment/Base
<br>
&gt; &gt; Url &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; : %__repository_url
<br>
&gt; &gt; <br>
&gt; &gt; Packager &nbsp; &nbsp; &nbsp; &nbsp;: %{packager} <br>
&gt; &gt; <br>
&gt; &gt; Source0 &nbsp; &nbsp; &nbsp; &nbsp; : %{pkgname}.tar.gz <br>
&gt; &gt; <br>
&gt; &gt; %if %__build_rhel <br>
&gt; &gt; Requires &nbsp; &nbsp; &nbsp; &nbsp;: coreutils, bash, python,
grep, rpm <br>
&gt; &gt; %endif <br>
&gt; &gt; <br>
&gt; &gt; %if %__build_suse <br>
&gt; &gt; Requires &nbsp; &nbsp; &nbsp; &nbsp;: coreutils, bash, aaa_base,
python, grep, rpm <br>
&gt; &gt; %endif <br>
&gt; &gt; <br>
&gt; &gt; BuildArch &nbsp; &nbsp; &nbsp; : noarch <br>
&gt; <br>
&gt; I'm getting slightly confused here. &nbsp;Plague 0.4.3 was building
this<br>
&gt; package correctly as an i686 package? &nbsp;Do you really _want_ this
to<br>
&gt; build as an i686 package? &nbsp;If so, I think the &quot;BuildArch:
noarch&quot; is<br>
&gt; wrong then. &nbsp;Typically, if you want a package to build noarch,
you<br>
&gt; specify &quot;BuildArch: noarch&quot; and it will then only build
on noarch. &nbsp;What<br>
&gt; arch is this package supposed to be for, exactly?<br>
&gt; <br>
&gt; Cheers,<br>
&gt; Dan<br>
&gt; <br>
&gt; <br>
</font></tt>