Am Donnerstag, den 13.06.2013, 22:44 +0200 schrieb Mattias Ellert:
tor 2013-06-13 klockan 19:20 +0200 skrev Björn Esser:
> What will break the spec by removing _isa-macro from BRs? Is there any
> PROVEN reason for this? I'm NOT talking about the final-Requires in
> spec.
It is VERY EASY to construct such an example.
Consider a package containing the following BRs:
BuildRequires: nss-devel >= 3.10
BuildRequires: openssl-devel
BuildRequires: cppunit-devel
BuildRequires: glibmm24-devel
BuildRequires: libdb-cxx-devel
All the BRs are satisfied:
$ rpm -q --whatprovides nss-devel openssl-devel cppunit-devel
glibmm24-devel libdb-cxx-devel
nss-devel-3.14.3-2.fc18.i686
openssl-devel-1.0.1e-4.fc18.x86_64
cppunit-devel-1.12.1-8.fc18.x86_64
glibmm24-devel-2.34.1-1.fc18.x86_64
libdb-cxx-devel-5.3.21-3.fc18.i686
rpmbuild does not complain about missing BRs, but starts the build:
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.5K5NNA
+ umask 022
.
.
.
checking for NSS... no
configure: WARNING: Cannot locate nss lib
configure: Looking for db_cxx.h in standard locations
checking db_cxx.h usability... yes
checking db_cxx.h presence... yes
checking for db_cxx.h... yes
configure: Looking for libdb_cxx.so or libdb_cxx.dylib in standard
locations
checking for main in -ldb_cxx... no
.
.
.
/usr/bin/ld: skipping incompatible /lib/libdb_cxx.so when searching for
-ldb_cxx
/usr/bin/ld: skipping incompatible /usr/lib/libdb_cxx.so when searching
for -ldb_cxx
/usr/bin/ld: cannot find -ldb_cxx
collect2: error: ld returned 1 exit status
So not the spec file is broken, but you actually do not have the libs
needed for linking installed on your local machine... That's all. Just
an improper build-environment.
No more to say about this here... Look at the guidelines:
https://fedoraproject.org/wiki/Packaging:Guidelines#BuildRequires_and_.25...
Cheers,
Björn