]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm-find-spec-bcond
- typo
[packages/rpm.git] / rpm-find-spec-bcond
index 56466e9ad4636cee73a1674886a5080244f24940..a11dece4e0186148483f6a7ddc20e6c4fcf9b45c 100644 (file)
@@ -1,5 +1,5 @@
 #!/bin/sh
-# Display bcond_* macros from given spec 
+# Display bcond (_with_*, _without_*) macros from given spec 
 # $Id$
 
 if [ "$#" = 0 ]; then
@@ -10,21 +10,29 @@ fi
 SPEC=$1
 if [ $SPEC = "--" ]; then
     if [ "$#" -lt 2 ]; then
-       echo "Usage: rpm --bcond SPEC"
+       echo "Usage: rpmbuild --bcond SPEC"
        exit 1
     fi
     SPEC=$2
 fi
 
 if [ ! -f $SPEC ]; then
-    echo "rpm: $SPEC: no such file"
+    echo "rpmbuild: $SPEC: no such file"
     exit 1
 fi
 
-bconds=`awk -F"\n" '/bcond_[_a-z0-9]+/ {
-               match($0, /bcond_[_a-z0-9]+/);
-              print substr($0, RSTART, RLENGTH)                       
-           }' $SPEC | sort -u`
+bconds=`awk -F"\n" 'BEGIN { chlog=0 }
+               /^%changelog/ { chlog=1 }
+               /_with(out)?_[_a-zA-Z0-9]+/ && chlog == 0 {
+                       match($0, /_with(out)?_[_a-zA-Z0-9]+/);
+                       print substr($0, RSTART, RLENGTH)                       
+               }
+               /^%bcond_with/ && chlog == 0 {
+                       match($0, /bcond_with(out)?[ \t]+[_a-zA-Z0-9]+/);
+                                bcond = substr($0, RSTART +5 , RLENGTH -5);
+                                gsub(/[ \t]+/,"_",bcond);
+                                print bcond
+                       }' $SPEC | sort -u`
 
 for c in $bconds; do
     echo -n "$c"
@@ -45,11 +53,11 @@ for bcond in $bconds; do
                      } else if (match(\\$0, /$bcond[\t ]+1[\t ]*$/)) {
                         val = 1
                      } else {
-                        print \"could determine $bcond value from \", \\$0
+                        print \"couldn't determine $bcond value from \", \\$0
                      }
                   } END { print val }" $SPEC`;
 
-    if [ $isset -eq 1 ]; then
+    if [ x"$isset" = x"1" ]; then
        echo "WARN: $bcond defined in spec";
     fi
 done
This page took 0.035085 seconds and 4 git commands to generate.