]> git.pld-linux.org Git - packages/adapter.git/blobdiff - adapter.awk
- simplified %setup
[packages/adapter.git] / adapter.awk
index de522249f51f94cfc76b420ec56d9d871395e07f..0c38cea064748e658f17f770b2d89f143aa6401d 100644 (file)
@@ -49,6 +49,15 @@ BEGIN {
        "rpm --eval %_includedir" | getline includedir
        "rpm --eval %_mandir"   | getline mandir
        "rpm --eval %_infodir"  | getline infodir
+
+       "rpm --eval %perl_sitearch" | getline perl_sitearch
+       "rpm --eval %perl_archlib" | getline perl_archlib
+       "rpm --eval %perl_privlib" | getline perl_privlib
+       "rpm --eval %perl_archlib" | getline perl_archlib
+       "rpm --eval %perl_vendorlib" | getline perl_vendorlib
+       "rpm --eval %perl_vendorarch" | getline perl_vendorarch
+       "rpm --eval %perl_sitelib" | getline perl_sitelib
+       "rpm --eval %perl_sitearch" | getline perl_sitearch
 }
 
 # There should be a comment with CVS keywords on the first line of file.
@@ -155,8 +164,13 @@ defattr == 1 {
        preamble = 0
 
        # Add '-q' to %setup
-       if (/^%setup/ && !/-q/)
+       if (/^%setup/ && !/-q/) {
                sub(/^%setup/, "%setup -q")
+       }
+
+       if (/^%setup -q -n %{name}-%{version}$/) {
+               $0 = "%setup"
+       }
 }
 
 ##########
@@ -573,6 +587,15 @@ function format_preamble()
 # Replace directly specified directories with macros
 function use_macros()
 {
+       gsub(perl_sitearch, "%{perl_sitearch}")
+       gsub(perl_archlib, "%{perl_archlib}")
+       gsub(perl_privlib, "%{perl_privlib}")
+       gsub(perl_archlib, "%{perl_archlib}")
+       gsub(perl_vendorlib, "%{perl_vendorlib}")
+       gsub(perl_vendorarch, "%{perl_vendorarch}")
+       gsub(perl_sitelib, "%{perl_sitelib}")
+       gsub(perl_sitearch, "%{perl_sitearch}")
+
        gsub(bindir, "%{_bindir}")
        gsub("%{prefix}/bin", "%{_bindir}")
        if(prefix"/bin" == bindir)
@@ -618,13 +641,14 @@ function use_macros()
                gsub(datadir, "%{_datadir}", $c)
        }
 
+
        gsub("%{prefix}/share", "%{_datadir}")
        if (prefix"/share" == datadir)
                gsub("%{_prefix}/share", "%{_datadir}")
 
        gsub(includedir, "%{_includedir}")
        gsub("%{prefix}/include", "%{_includedir}")
-       if(prefix"/include" == includedir)
+       if (prefix"/include" == includedir)
                gsub("%{_prefix}/include", "%{_includedir}")
 
        gsub(mandir, "%{_mandir}")
@@ -678,8 +702,8 @@ 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]
-               }
+                       j-- ; A[j+1] = A[j]
+               }
                A[j] = hold
        }
        # sentinel A[0] = "" will be created if needed
@@ -693,6 +717,7 @@ function use_files_macros(  i, n, t, a)
 
        gsub("%{_sysconfdir}\/rc\.d\/init.d", "/etc/rc.d/init.d")
        gsub("%{_sysconfdir}\/init.d", "/etc/rc.d/init.d")
+       gsub("%{_sysconfdir}\/sysconfig", "/etc/sysconfig")
 
        if (/\/etc\/rc\.d\/init\.d/) {
                if (!/%attr.*\/etc\/rc\.d\/init\.d/) {
@@ -710,24 +735,21 @@ function use_files_macros(        i, n, t, a)
 
        # /etc/sysconfig files
        # %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/*
-       if (/\/etc\/sysconfig\// && !/%attr.*/) {
-               $0 = "%attr(640,root,root) " $0
-       }
-
+       # attr not required, allow default 644 attr
        if (/\/etc\/sysconfig\// && /%config/ && !/%config\(noreplace\)/) {
                gsub("%config", "%config(noreplace)")
        }
 
        if (/\/etc\/sysconfig\// && !/%config\(noreplace\)/) {
-                $1 = $1 " %config(noreplace)"
+               $NF = "%config(noreplace) " $NF
        }
 
-       if (/\/etc\/sysconfig\// && !/%verify/) {
-               gsub("/etc/sysconfig", "%verify(not size mtime md5) /etc/sysconfig");
+       if (/\/etc\/sysconfig\// && /%attr\(755/) {
+               gsub("^%attr\(... *,", "%attr(640,");
        }
 
-       if (/\/etc\/sysconfig\// && !/%attr\(640/) {
-               gsub("^%attr\(... *,", "%attr(640,");
+       if (/\/etc\/sysconfig\// && !/%verify/) {
+               gsub("/etc/sysconfig", "%verify(not size mtime md5) /etc/sysconfig");
        }
 
 
@@ -735,7 +757,7 @@ function use_files_macros(  i, n, t, a)
        gsub("%attr\(0", "%attr(")
 
        # sort %verify attrs
-       if (match($0, /%verify\(not (.*)\)/)) {
+       if (match($0, /%verify\(not([^)]+)\)/)) {
                t = substr($0, RSTART, RLENGTH)
                gsub(/^%verify\(not |\)$/, "", t)
                n = split(t, a, / /)
@@ -747,7 +769,11 @@ function use_files_macros( i, n, t, a)
                }
                s = s ")"
 
-               gsub(/%verify\(not .*\)/, s)
+               gsub(/%verify\(not[^)]+\)/, s)
+       }
+
+       if (/%{_mandir}/) {
+               gsub("\.gz$", "*")
        }
 }
 
This page took 1.760138 seconds and 4 git commands to generate.