On Jul 11, 2012, at 12:13 PM, Tim Mooney wrote:

> 
> Given a spec file foo.spec, is there a way use rpmbuild or rpm to
> determine what the package architecture will be without (or before)
> actually building the package?
> 
> I know I could use sed or grep on the spec file looking for BuildArch,
> but I'm wondering if there's a way to essentially run the equivalent of
> a macro --eval query against a spec file.
> 

The "recommended" way is this

        ./rpm -q --qf '%{arch}\n' --specsrpm rpm.spec
        x86_64

Yes: SRPM's have a RPMTAG_ARCH associated.
And yes sed/grep/awk can all be used if the *.spec file isn't
all b00gered up with macro magic.

The functionality is kinda tweaky and backward because ultimately the
arch is determined by configuration and how rpm is invoked which
are all mostly known a priori (noarch being the important exception,
cross-building and multilib builds have never been directly supported
by rpmbuild itself meaningfully).

(aside)
It wouldn't be too hard to add some sugary automatic syntax to all of the above
to hide the gory details. All that stops the implementation is consensus on the 
option
(technically the popt alias) name to be used and supported.

I'm not going to hold my breath waiting for consensus to appear wrto rpmbuild 
however.

hth

73 de Jeff

______________________________________________________________________
RPM Package Manager                                    http://rpm5.org
User Communication List                             [email protected]

Reply via email to