]> git.pld-linux.org Git - packages/rpm-build-tools.git/commitdiff
- fix requires splitting with versions
authorElan Ruusamäe <glen@pld-linux.org>
Sat, 31 Dec 2005 13:07:44 +0000 (13:07 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    adapter.awk -> 1.264

adapter.awk

index a5341c59df19d33c549b70aba6057980d37e4b69..ca302e92cc8dd38a8ed3190222bdd5f3849a81e5 100644 (file)
@@ -615,16 +615,13 @@ preamble == 1 {
 
        # split (build)requires, obsoletes on commas
        if (field ~ /(obsoletes|requires):/ && NF > 2) {
-               l = substr($0, index($0, $2));
-               n = split(l, p, / *,? */);
-               for (i in p) {
-                       printf("%s\t%s\n", $1, p[i]);
-               }
-               next;
+               value = substr($0, index($0, $2));
+               $0 = format_requires($1, value);
        }
 
-       if (field ~ /packager:|distribution:|docdir:|prefix:/)
+       if (field ~ /packager:|distribution:|docdir:|prefix:/) {
                next
+       }
 
        if (field ~ /buildroot:/)
                $0 = $1 "%{tmpdir}/%{name}-%{version}-root-%(id -u -n)"
@@ -1274,3 +1271,20 @@ function kill_preamble_macros()
                sub("\.sf\.net/$", ".sourceforge.net/", $2);
        }
 }
+
+function format_requires(tag, value,   n, p, i, deps, ndeps) {
+       n = split(value, p, / *,? */);
+       for (i = 1; i <= n; i++) {
+               if (p[i+1] ~ /[<=>]/) {
+                       deps[ndeps++] = p[i] " " p[i+1] " " p[i+2];
+                       i += 2;
+               } else {
+                       deps[ndeps++] = p[i];
+               }
+       }
+       s = ""
+       for (i in deps) {
+               s = s sprintf("%s\t%s\n", tag, deps[i]);
+       }
+       return substr(s, 1, length(s)-1);
+}
This page took 0.041201 seconds and 4 git commands to generate.