commit ba377afe8b2df7adf5d0f20744566e597e74ac10
Author: Elan Ruusamäe <[email protected]>
Date:   Sat Dec 31 13:07:44 2005 +0000

    - fix requires splitting with versions
    
    Changed files:
        adapter.awk -> 1.264

 adapter.awk | 28 +++++++++++++++++++++-------
 1 file changed, 21 insertions(+), 7 deletions(-)
---
diff --git a/adapter.awk b/adapter.awk
index a5341c5..ca302e9 100644
--- a/adapter.awk
+++ b/adapter.awk
@@ -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);
+}
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/adapter.git/commitdiff/6ca0126d4d0c8c79feb7db10b0a0fade0f3b8885

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to