SOURCES: rpm.macros - requires_eq, requires_eq_to now convert Requires to B...

glen glen at pld-linux.org
Wed Feb 11 20:39:51 CET 2009


Author: glen                         Date: Wed Feb 11 19:39:50 2009 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- requires_eq, requires_eq_to now convert Requires to BuildRequires, making spec syntax valid if packages are not present
- side effect is that requires_eq now accepts only one paramter, contrary to previous where it accepted long list.
The test results of the new macros:
$ rpm -q xulrunner zlib
package xulrunner is not installed
zlib-1.2.3-7.i686
$ rpm -E '%requires_eq'
ERROR
$ rpm -E '%requires_eq zlib'
Requires: zlib = 0:1.2.3
$ rpm -E '%requires_eq xulrunner'
BuildRequires: xulrunner
$ rpm -E '%requires_eq xulrunner zlib'
ERROR
$ rpm -E '%requires_eq_to'
ERROR
$ rpm -E '%requires_eq_to zlib'
ERROR
$ rpm -E '%requires_eq_to xulrunner zlib'
Requires: xulrunner = 0:1.2.3
$ rpm -E '%requires_eq_to xulrunner zlib zl'
ERROR
$ rpm -E '%requires_eq_to xulrunner xulrunner'
BuildRequires: xulrunner

---- Files affected:
SOURCES:
   rpm.macros (1.502 -> 1.503) 

---- Diffs:

================================================================
Index: SOURCES/rpm.macros
diff -u SOURCES/rpm.macros:1.502 SOURCES/rpm.macros:1.503
--- SOURCES/rpm.macros:1.502	Tue Feb  3 11:24:47 2009
+++ SOURCES/rpm.macros	Wed Feb 11 20:39:45 2009
@@ -324,9 +324,9 @@
 %requires_releq_kernel_smp(s:)	Requires%{-s:(%{-s*})}: %releq_kernel_smp
 
 # Requires: name = version
-%requires_eq()		%(Z=$(echo '%*' | LC_ALL=C xargs -r rpm -q --qf 'Requires: %{N} = %|E?{%{E}:}|%{V}\\n'); if echo "$Z" | ! grep -v '^Requires:'; then echo "$Z"; fi)
+%requires_eq()		%{!?1:ERROR}%{?2:ERROR}%{?1:%{!?2:%{expand:%%requires_eq_to %1 %1}}}
 # Requires: name = version (version based on querying package %2)
-%requires_eq_to() %(%{!?2:echo "ERROR: missing param 2 to %%requires_eq_to"}%{?2:Z=$(LC_ALL=C rpm -q --qf 'Requires: %1 = %|E?{%{E}:}|%{V}' %2 | grep -v "is not"); echo ${Z:-[%%requires_eq_to %1 %2] expanded to nothing}})
+%requires_eq_to()	%{!?2:ERROR}%{?3:ERROR}%{?2:%{!?3:%(Z=$(LC_ALL=C rpm -q --qf 'Requires: %1 = %|E?{%{E}:}|%{V}\\n' %2); if ! echo "$Z" | grep '^Requires:'; then echo "BuildRequires: %2"; fi)}}
 
 %apache_modules_api %{expand:%%global apache_modules_api %(awk '/#define MODULE_MAGIC_NUMBER_MAJOR/ {print $3}' /usr/include/apache/ap_mmn.h 2>/dev/null || echo ERROR)}%apache_modules_api
 
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/rpm.macros?r1=1.502&r2=1.503&f=u



More information about the pld-cvs-commit mailing list