partial rpm bconds

Elan Ruusamäe glen at delfi.ee
Thu May 26 19:14:43 CEST 2005


hi
kernel specfiles have usually (at least the 
template-kernel-module.spec does)

%if %{with dist_kernel}
%requires_releq_kernel_up
Requires(postun):   %releq_kernel_up
%endif

this has the problem, that when building with ./builder, which tries to be 
smart and display available bconds, it outputs several errors despite the 
bcond for kernel is disabled:

$ ./builder -bb rlocate.spec --without kernel
M rlocate.spec
# $Revision: 1.23 $, $Date: 2005/05/25 16:05:47 $
error: file /usr/src/linux/include/linux/fs.h: No such file or directory
error: file /usr/src/linux/include/linux/version.h: No such file or directory
error: file /usr/src/linux/include/linux/version.h: No such file or directory
error: line 72: Empty tag: Requires(postun):
error: query of specfile rlocate.spec failed, can't parse

Building rlocate.spec with the following conditional flags:

for the first errors, i guess 2>/dev/null in rpm.macros could work, but for 
the empty tag, maybe create similiar macro that has been done :
%requires_releq_kernel_smp

so
Requires(postun):   %releq_kernel_smp
would become
%postun_releq_kernel_smp

or maybe just change%releq_kernel_smp to return *something* else than empty 
string to prevent rpm spec parser error?

well, the rpm builds, but it's confusing "are those errors fatal", "is my 
produced rpm correct or improper due the errors?"

-- 
glen



More information about the pld-devel-en mailing list