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
.
.
.
error: Bad exit status from /var/tmp/rpm-tmp.YFoBhh (%build)
RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.YFoBhh (%build)
With proper isa in BRs:
BuildRequires: nss-devel%{?_isa} >= 3.10
BuildRequires: openssl-devel%{?_isa}
BuildRequires: cppunit-devel%{?_isa}
BuildRequires: glibmm24-devel%{?_isa}
BuildRequires: libdb-cxx-devel%{?_isa}
rpmbuild correctly detects the missing BRs:
error: Failed build dependencies:
nss-devel(x86-64) >= 3.10 is needed by canl-c++-1.0.0-2.fc18.x86_64
libdb-cxx-devel(x86-64) is needed by canl-c++-1.0.0-2.fc18.x86_64
Mattias