commit 7c23055b2ad96f5cfedb1e525680d3a3ad73bae5
Author: Elan Ruusamäe <[email protected]>
Date:   Sun Feb 13 20:40:00 2005 +0000

    - sort %verify attrs
    
    Changed files:
        adapter.awk -> 1.126

 adapter.awk | 33 ++++++++++++++++++++++++++++++++-
 1 file changed, 32 insertions(+), 1 deletion(-)
---
diff --git a/adapter.awk b/adapter.awk
index a247e08..ba927b4 100644
--- a/adapter.awk
+++ b/adapter.awk
@@ -627,10 +627,41 @@ function use_macros()
        gsub("%{_prefix}/src/linux", "%{_kernelsrcdir}")
 }
 
-function use_files_macros()
+
+# insertion sort of A[1..n]
+# copied from mawk manual
+function isort(A,n,            i,j,hold) {
+       for (i = 2; i <= n; i++) {
+               hold = A[j = i]
+               while (A[j-1] > hold) {
+                       j-- ; A[j+1] = A[j]
+               }
+               A[j] = hold
+       }
+       # sentinel A[0] = "" will be created if needed
+}
+
+
+function use_files_macros(     i, n, t, a)
 {
        gsub("^%{_sbindir}", "%attr(755,root,root) %{_sbindir}")
        gsub("^%{_bindir}", "%attr(755,root,root) %{_bindir}")
+
+       # sort %verify attrs
+       if (match($0, /%verify\(not (.*)\)/)) {
+               t = substr($0, RSTART, RLENGTH)
+               gsub(/^%verify\(not |\)$/, "", t)
+               n = split(t, a, / /)
+               isort(a, n)
+
+               s = "%verify(not"
+               for (i = 1 ; i <= n; i++) {
+                       s = s " " a[i]
+               }
+               s = s ")"
+
+               gsub(/%verify\(not .*\)/, s)
+       }
 }
 
 function fill(ch, n, i) {
================================================================

---- 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