]> git.pld-linux.org Git - packages/rpm-build-tools.git/blobdiff - adapter.awk
- don't pollute specdir with builder macros
[packages/rpm-build-tools.git] / adapter.awk
index 10b0d9f3ec1167ccc21a9645d1e4b1a7caf53ce6..3c7ce1f57cec9557ed99af5ed949bbff9fc91d72 100644 (file)
@@ -1,16 +1,16 @@
-#!/bin/awk -f
+#!/usr/bin/gawk -f
 #
-# This is adapter v0.27. Adapter adapts .spec files for PLD Linux.
+# This is adapter v0.28. Adapter adapts .spec files for PLD Linux.
 # $Id$
 #
 # Copyright (C) 1999-2006 PLD-Team <feedback@pld-linux.org>
 # Authors:
-#      Micha³ Kuratczyk <kura@pld.org.pl>
+#      Michał Kuratczyk <kura@pld.org.pl>
 #      Sebastian Zagrodzki <s.zagrodzki@mimuw.edu.pl>
-#      Tomasz K³oczko <kloczek@rudy.mif.pg.gda.pl>
+#      Tomasz Kłoczko <kloczek@rudy.mif.pg.gda.pl>
 #      Artur Frysiak <wiget@pld-linux.org>
 #      Michal Kochanowicz <mkochano@pld.org.pl>
-#      Elan Ruusamä¤e <glen@pld-linux.org>
+#      Elan Ruusamäe <glen@pld-linux.org>
 #
 # See cvs log adapter{,.awk} for list of contributors
 #
@@ -30,12 +30,13 @@ BEGIN {
 
        PREAMBLE_TAGS = "(Summary|Name|Version|Release|Epoch|License|Group|URL|BuildArch|BuildRoot|Obsoletes|Conflicts|Provides|ExclusiveArch|ExcludeArch|Pre[Rr]eq|(Build)?Requires)"
 
-       preamble = 1            # Is it part of preamble? Default - yes
+       preamble = 1    # Is it part of preamble? Default - yes
        boc = 4                 # Beginning of %changelog
        bod = 0                 # Beginning of %description
        tw = 70                 # Descriptions width
 
        b_idx = 0               # index of BR/R arrays
+       BR_count = 0    # number of additional BuildRequires
 
        # If variable removed, then 1 (for removing it from export)
        removed["LDFLAGS"] = 0
@@ -71,6 +72,7 @@ BEGIN {
        "rpm --eval %_infodir"  | getline infodir
        "rpm --eval %_examplesdir"      | getline examplesdir
        "rpm --eval %_defaultdocdir"    | getline docdir
+       "rpm --eval %_kdedocdir"        | getline kdedocdir
        "rpm --eval %_desktopdir" | getline desktopdir
        "rpm --eval %_pixmapsdir" | getline pixmapsdir
 
@@ -81,9 +83,16 @@ BEGIN {
        "rpm --eval %perl_vendorarch" | getline perl_vendorarch
        "rpm --eval %perl_sitelib" | getline perl_sitelib
 
-       "rpm --eval %py_sitescriptdir" | getline py_sitescriptdir
-       "rpm --eval %py_sitedir" | getline py_sitedir
-       "rpm --eval %py_scriptdir " | getline py_scriptdir
+       "rpm --eval %py_sitescriptdir 2>/dev/null" | getline py_sitescriptdir
+       "rpm --eval %py_sitedir 2>/dev/null" | getline py_sitedir
+       "rpm --eval %py_scriptdir 2>/dev/null" | getline py_scriptdir
+
+       "rpm --eval %ruby_archdir" | getline ruby_archdir
+       "rpm --eval %ruby_ridir" | getline ruby_ridir
+       "rpm --eval %ruby_rubylibdir" | getline ruby_rubylibdir
+       "rpm --eval %ruby_sitearchdir" | getline ruby_sitearchdir
+       "rpm --eval %ruby_sitelibdir" | getline ruby_sitelibdir
+
        "rpm --eval %php_pear_dir" | getline php_pear_dir
        "rpm --eval %tmpdir" | getline tmpdir
 }
@@ -113,31 +122,31 @@ defattr == 1 {
 function b_makekey(a, b,       s) {
        s = a "" b;
        # kill bcond
-    gsub(/[#%]+{[!?]+[_a-zA-Z0-9]+:/, "", s);
+       gsub(/[#%]+{[!?]+[_a-zA-Z0-9]+:/, "", s);
 
        # kill commented out items
-    gsub(/^#[ \t]*/, "", s);
+       gsub(/^#[ \t]*/, "", s);
 
        # force order
-    gsub(/^Summary\(/, "11Summary(", s);
-    gsub(/^Summary/, "10Summary", s);
-    gsub(/^Name/, "2Name", s);
-    gsub(/^Version/, "3Version", s);
-    gsub(/^Release/, "4Release", s);
-    gsub(/^Epoch/, "5Epoch", s);
-    gsub(/^License/, "5License", s);
-    gsub(/^Group/, "6Group", s);
-    gsub(/^URL/, "7URL", s);
-
-    gsub(/^BuildRequires/, "B1BuildRequires", s);
-    gsub(/^BuildConflicts/, "B2BuildConflicts", s);
-    gsub(/^Provides/, "X1Provides", s);
-    gsub(/^Obsoletes/, "X2Obsoletes", s);
-    gsub(/^Conflicts/, "X3Conflicts", s);
-    gsub(/^BuildArch/, "X4BuildArch", s);
-    gsub(/^ExclusiveArch/, "X6ExclusiveArch", s);
-    gsub(/^ExcludeArch/, "X7ExcludeArch", s);
-    gsub(/^BuildRoot/, "X9BuildRoot", s);
+       gsub(/^Summary\(/, "11Summary(", s);
+       gsub(/^Summary/, "10Summary", s);
+       gsub(/^Name/, "2Name", s);
+       gsub(/^Version/, "3Version", s);
+       gsub(/^Release/, "4Release", s);
+       gsub(/^Epoch/, "5Epoch", s);
+       gsub(/^License/, "5License", s);
+       gsub(/^Group/, "6Group", s);
+       gsub(/^URL/, "7URL", s);
+
+       gsub(/^BuildRequires/, "B1BuildRequires", s);
+       gsub(/^BuildConflicts/, "B2BuildConflicts", s);
+       gsub(/^Provides/, "X1Provides", s);
+       gsub(/^Obsoletes/, "X2Obsoletes", s);
+       gsub(/^Conflicts/, "X3Conflicts", s);
+       gsub(/^BuildArch/, "X4BuildArch", s);
+       gsub(/^ExclusiveArch/, "X6ExclusiveArch", s);
+       gsub(/^ExcludeArch/, "X7ExcludeArch", s);
+       gsub(/^BuildRoot/, "X9BuildRoot", s);
 
 #      printf("%s -> %s\n", a""b, s);
        return s;
@@ -338,7 +347,7 @@ function b_makekey(a, b,    s) {
        if (/^%setup/ && /-n %{name}-%{version}( |$)/) {
                $0 = fixedsub(" -n %{name}-%{version}", "", $0)
        }
-    sub("^%patch ", "%patch0 ");
+       sub("^%patch ", "%patch0 ");
 
        # invalid in %prep
        sub("^rm -rf \$RPM_BUILD_ROOT.*", "");
@@ -409,6 +418,7 @@ function b_makekey(a, b,    s) {
        $0 = fixedsub("automake --add-missing --copy", "%{__automake}", $0);
        $0 = fixedsub("automake -a --foreign --copy", "%{__automake}", $0);
        $0 = fixedsub("automake -a -c --foreign", "%{__automake}", $0);
+       $0 = fixedsub("automake -a -c", "%{__automake}", $0);
        $0 = fixedsub("libtoolize --force --automake --copy", "%{__libtoolize}", $0);
        $0 = fixedsub("libtoolize -c -f --automake", "%{__libtoolize}", $0);
 
@@ -416,6 +426,7 @@ function b_makekey(a, b,    s) {
        sub(/^autoheader$/, "%{__autoheader}");
        sub(/^autoconf$/, "%{__autoconf}");
        sub(/^automake$/, "%{__automake}");
+       sub(/^libtoolize$/, "%{__libtoolize}");
 
        # atrpms
        $0 = fixedsub("%perl_configure", "%{__perl} Makefile.PL \\\n\tINSTALLDIRS=vendor", $0);
@@ -428,10 +439,7 @@ function b_makekey(a, b,   s) {
 /^%clean/, (!/^%clean/ && $0 ~ SECTIONS) {
        did_clean = 1
 
-       # prevent next section header like "%post -p /sbin/ldconfig" being adapterized
-       if (!/^%post/) {
-               use_macros()
-       }
+       use_macros()
 }
 
 ############
@@ -443,8 +451,8 @@ function b_makekey(a, b,    s) {
 
        # foreign rpms
        sub("^%{__rm} -rf %{buildroot}", "rm -rf $RPM_BUILD_ROOT")
-    sub("%buildroot", "$RPM_BUILD_ROOT");
-    sub("%{buildroot}", "$RPM_BUILD_ROOT");
+       sub("%buildroot", "$RPM_BUILD_ROOT");
+       sub("%{buildroot}", "$RPM_BUILD_ROOT");
 
        if (/^[ \t]*rm([ \t]+-[rf]+)*[ \t]+(\${?RPM_BUILD_ROOT}?|%{?buildroot}?)/ && did_rmroot==0) {
                did_rmroot=1
@@ -457,14 +465,14 @@ function b_makekey(a, b,  s) {
                did_rmroot=1
        }
 
-    if (tmpdir) {
-        buildroot = tmpdir "/" name "-" version "-root-" ENVIRON["USER"]
+       if (tmpdir) {
+               buildroot = tmpdir "/" name "-" version "-root-" ENVIRON["USER"]
                gsub(buildroot, "$RPM_BUILD_ROOT")
-    }
+       }
 
-    if (!/%{_lib}/) {
-        sub("\$RPM_BUILD_ROOT/%", "$RPM_BUILD_ROOT%")
-    }
+       if (!/%{_lib}/) {
+               sub("\$RPM_BUILD_ROOT/%", "$RPM_BUILD_ROOT%")
+       }
 
        use_macros()
 
@@ -473,7 +481,7 @@ function b_makekey(a, b,    s) {
                sub(/mkdir -p/, "install -d")
 
        # cp -a already implies cp -r
-    sub(/^cp -ar/, "cp -a")
+       sub(/^cp -ar/, "cp -a")
 
        # No '-u root' or '-g root' for 'install'
        if (/^install/ && /-[ug][ \t]*root/)
@@ -516,24 +524,27 @@ function b_makekey(a, b,  s) {
        skip = 0
        # There should be some CVS keywords on the first line of %changelog.
        if (boc == 3) {
-               if ($0 !~ _cvsmailfeedback)
+               if ($0 !~ _cvsmailfeedback) {
                        print "* %{date} " _cvsmailfeedback > changelog_file
-               else
+               } else {
                        skip = 1
+               }
                boc = 2
        }
        if (boc == 2 && !skip) {
                if (!/All persons listed below/) {
                        printf "All persons listed below can be reached at " > changelog_file
                        print "<cvs_login>" _cvsmaildomain "\n" > changelog_file
-               } else
+               } else {
                        skip = 1
+               }
                boc = 1
        }
        if (boc == 1 && !skip) {
                if (!/^$/) {
-                       if (!/\$.*Log:.*\$/)
+                       if (!/\$.*Log:.*\$/) {
                                print "$" "Log:$" > changelog_file
+                       }
                        boc = 0
                }
        }
@@ -547,11 +558,19 @@ function b_makekey(a, b,  s) {
                boc = 3
        }
 
-       sub(/[ \t]+$/, "")
-       if (!/^%[a-z]+$/ || /changelog/)
+       sub(/[ \t]+$/, "");
+       if (!/^%[a-z]+$/ || /changelog/) {
+               # stop changelog if "real" changelog starts
+               if (boc == 0 && /^\* /) {
+                       boc = -1
+               }
+               if (boc == -1) {
+                       next;
+               }
                print > changelog_file
-       else
+       } else {
                print
+       }
        next
 }
 
@@ -581,7 +600,7 @@ function b_makekey(a, b,    s) {
 }
 /^%preun/, (!/^%preun/ && $0 ~ SECTIONS) {
        preamble = 0
-       use_script_macros()
+       use_macros()
 }
 /^%postun/, (!/^%postun/ && $0 ~ SECTIONS) {
        preamble = 0
@@ -632,7 +651,7 @@ preamble == 1 {
 
        field = tolower($1)
        fieldnlower = $1
-       if (field ~ /summary:/ && !/etc\.$/) {
+       if (field ~ /summary:/ && !/etc\.$/ && !/Inc\.$/) {
                sub(/\.$/, "", $0);
        }
        if (field ~ /group(\([^)]+\)):/)
@@ -674,6 +693,10 @@ preamble == 1 {
                sub(/^Text Processing\/Markup\/XML$/, "Applications/Text", group)
                sub(/^Web\/Database$/, "Applications/WWW", group)
                sub(/^System Environment\/Base$/, "Base", group)
+               sub(/^System$/, "Base", group)
+               sub(/^Applications\/Productivity$/, "X11/Applications", group)
+               sub(/^Database$/, "Applications/Databases", group)
+               sub(/^Development\/Code Generators$/, "Development", group)
 
                $0 = "Group:\t\t" group
 
@@ -732,18 +755,27 @@ preamble == 1 {
                        next
                }
 
-        # perhaps we have common known name?
+               # perhaps we have common known name?
 
-        # jpackages
+               # jpackages
                sub(/^java-devel$/, "jdk", $2);
                sub(/^log4j$/, "jakarta-log4j", $2);
                sub(/^oro$/, "jakarta-oro", $2);
+               sub(/^jakarta-ant$/, "ant", $2);
                sub(/^xerces-j2$/, "xerces-j", $2);
-               sub(/^ant-junit$/, "jakarta-ant", $2);
                sub(/^ldapjdk$/, "ldapsdk", $2);
                sub(/^saxon-scripts$/, "saxon", $2);
+               sub(/^xalan-j2$/, "xalan-j", $2);
+               sub(/^xerces-j2$/, "xerces-j", $2);
+
+               replace_php_virtual_deps();
        }
 
+       if (field ~ /^requires:/) {
+               replace_php_virtual_deps();
+       }
+
+
        # obsolete/unwanted tags
        if (field ~ /vendor:|packager:|distribution:|docdir:|prefix:|icon:|author:|author-email:|metadata-version:/) {
                next
@@ -876,10 +908,15 @@ preamble == 1 {
                $2 = fixedsub(filename, url[n], $2)
 
                # sourceforge urls
+               sub("[?&]big_mirror=.*$", "", $2);
+               sub("[?&]modtime=.*$", "", $2);
+
                sub("[?]use_mirror=.*$", "", $2);
                sub("[?]download$", "", $2);
+
                sub("^http://prdownloads\.sourceforge\.net/", "http://dl.sourceforge.net/", $2)
                sub("^http://download\.sf\.net/", "http://dl.sourceforge.net/", $2)
+               sub("^http://downloads\.sourceforge\.net/", "http://dl.sourceforge.net/", $2)
 
                sub("^http://.*\.dl\.sourceforge\.net/", "http://dl.sourceforge.net/", $2)
                sub("^http://dl\.sourceforge\.net/sourceforge/", "http://dl.sourceforge.net/", $2)
@@ -912,9 +949,9 @@ preamble == 1 {
 #
 # NOTES:
 # - mixing BR/R and anything else confuses this (all will be sorted together)
-#   so don't do that.
+#      so don't do that.
 # - comments leading the BR/R can not be associated,
-#   so don't adapterize when the BR/R are mixed with comments
+#      so don't adapterize when the BR/R are mixed with comments
 ENVIRON["SKIP_SORTBR"] != 1 && preamble == 1 && $0 ~ PREAMBLE_TAGS, $0 ~ PREAMBLE_TAGS {
        if ($1 ~ /Pre[Rr]eq:/) {
                sub(/Pre[Rr]eq:/, "Requires:", $1);
@@ -980,6 +1017,13 @@ END {
        if (do_not_touch_anything)
                exit 0
 
+       # TODO: need to output these in proper place
+       if (BR_count > 0) {
+               for (i = 0; i <= BR_count; i++) {
+                       print BR[i];
+               }
+       }
+
        close(changelog_file)
        while ((getline < changelog_file) > 0)
                print
@@ -996,17 +1040,20 @@ END {
                print "%define date\t%(echo `LC_ALL=\"C\" date +\"%a %b %d %Y\"`)"
        }
 
-       if (has_changelog == 0)
+       if (has_changelog == 0) {
                print "%changelog"
+       }
 
-       if (boc > 2)
+       if (boc > 2) {
                print "* %{date} PLD Team <feedback@pld-linux.org>"
+       }
        if (boc > 1) {
                printf "All persons listed below can be reached at "
                print "<cvs_login>@pld-linux.org\n"
        }
-       if (boc > 0)
+       if (boc > 0) {
                print "$" "Log:$"
+       }
 }
 
 function fixedsub(s1,s2,t, ind) {
@@ -1023,11 +1070,12 @@ function format_preamble()
                return;
        }
        sub(/:[ \t]*/, ":")
-       if (match($0, /[A-Za-z0-9(),#_ \t]+[ \t]*:[ \t]*/) == 1) {
-               if (RLENGTH < 8)
+       if (match($0, /[A-Za-z0-9(),#_ \t.-]+[ \t]*:[ \t]*/) == 1) {
+               if (RLENGTH < 8) {
                        sub(/:/, ":\t\t")
-               else
+               } else {
                        sub(/:/, ":\t")
+               }
        }
 }
 
@@ -1044,9 +1092,11 @@ function use_macros()
                return;
        }
 
-    sub("%{_defaultdocdir}", "%{_docdir}");
-    sub("%{_bindir}/perl", "%{__perl}");
-    sub("%{_bindir}/python", "%{__python}");
+       sub("%{_defaultdocdir}", "%{_docdir}");
+       sub("%{_bindir}/perl", "%{__perl}");
+       sub("%{_bindir}/python", "%{__python}");
+
+       gsub(infodir, "%{_infodir}")
 
        gsub(perl_sitearch, "%{perl_sitearch}")
        gsub(perl_archlib, "%{perl_archlib}")
@@ -1060,9 +1110,18 @@ function use_macros()
        gsub(py_scriptdir, "%{py_scriptdir}")
        gsub("%{_libdir}/python2.4/site-packages", "%{py_sitedir}")
        gsub("%{python_sitelib}", "%{py_sitedir}")
+
+       gsub(ruby_archdir, "%{ruby_archdir}")
+       gsub(ruby_ridir, "%{ruby_ridir}")
+       gsub(ruby_rubylibdir, "%{ruby_rubylibdir}")
+       gsub(ruby_sitearchdir, "%{ruby_sitearchdir}")
+       gsub(ruby_sitelibdir, "%{ruby_sitelibdir}")
+
        gsub("%{_datadir}/applications", "%{_desktopdir}")
        gsub("%{_datadir}/pixmaps", "%{_pixmapsdir}")
 
+       gsub(libdir, "%{_libdir}")
+
        gsub(bindir, "%{_bindir}")
        gsub("%{prefix}/bin", "%{_bindir}")
        if (prefix"/bin" == bindir)
@@ -1073,6 +1132,8 @@ function use_macros()
                        continue;
                if ($c ~ sbindir "/webapp")
                        continue;
+               if ($c ~ sbindir "/ldconfig")
+                       continue;
                if ($c ~ sbindir "/chsh")
                        continue;
                if ($c ~ sbindir "/usermod")
@@ -1130,9 +1191,12 @@ function use_macros()
                        continue;
                if ($c ~ sysconfdir "/shells")
                        continue;
+               if ($c ~ sysconfdir "/ppp")
+                       continue;
                gsub(sysconfdir, "%{_sysconfdir}", $c)
        }
 
+       gsub(kdedocdir, "%{_kdedocdir}")
        gsub(docdir, "%{_docdir}")
        gsub(php_pear_dir, "%{php_pear_dir}")
 
@@ -1239,7 +1303,7 @@ function use_macros()
        gsub("%{compat_perl_vendorarch}", "%{perl_vendorarch}")
 
        gsub("^%{__make} install DESTDIR=\$RPM_BUILD_ROOT", "%{__make} install \\\n\tDESTDIR=$RPM_BUILD_ROOT")
-       gsub("^fix-info-dir$", "[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>\&1")
+       gsub("^fix-info-dir$", "[ ! -x /usr/sbin/fix-info-dir ] || /usr/sbin/fix-info-dir -c %{_infodir} >/dev/null 2>\\&1")
        $0 = fixedsub("%buildroot", "$RPM_BUILD_ROOT", $0)
        $0 = fixedsub("%{buildroot}", "$RPM_BUILD_ROOT", $0)
        $0 = fixedsub("CXXFLAGS=%{rpmcflags} %configure", "CXXFLAGS=%{rpmcflags}\n%configure", $0);
@@ -1255,17 +1319,23 @@ function use_macros()
        gsub("%_sbindir", "%{_sbindir}")
        gsub("%_mandir", "%{_mandir}")
        gsub("%name", "%{name}")
-    gsub(/%ant/, "ant")
-    gsub(/%__rm/, "rm");
-    gsub(/%__mkdir_p/, "install -d");
-    gsub(/%__cp/, "cp");
-    gsub(/%__ln_s/, "ln -s");
-    gsub(/%__sed/, "%{__sed}");
-    gsub(/%__cat/, "cat");
-    gsub(/%__chmod/, "chmod");
+       gsub(/%__rm/, "rm");
+       gsub(/%__mkdir_p/, "install -d");
+       gsub(/%__cp/, "cp");
+       gsub(/%__ln_s/, "ln -s");
+       gsub(/%__sed/, "%{__sed}");
+       gsub(/%__cat/, "cat");
+       gsub(/%__chmod/, "chmod");
 
        gsub("/usr/src/linux", "%{_kernelsrcdir}")
        gsub("%{_prefix}/src/linux", "%{_kernelsrcdir}")
+
+       if (/^ant /) {
+               sub(/^ant/, "%ant")
+               add_br("BuildRequires:  jpackage-utils");
+               add_br("BuildRequires:  rpmbuild(macros) >= 1.300");
+       }
+
 }
 
 function format_configure(line,                n, a, s) {
@@ -1355,11 +1425,11 @@ function use_files_macros(      i, n, t, a)
        # %attr(640,root,root) %config(noreplace) %verify(not size mtime md5) /etc/sysconfig/*
        # attr not required, allow default 644 attr
        if (!/network-scripts/ && !/%dir/ && !/\.d$/ && !/functions/ && !/\/etc\/sysconfig\/wmstyle/) {
-               if (/\/etc\/sysconfig\// && /%config/ && !/%config\(noreplace\)/) {
+               if (/\/etc\/sysconfig\// && /%config/ && !/%config\(noreplace/) {
                        gsub("%config", "%config(noreplace)")
                }
 
-               if (/\/etc\/sysconfig\// && !/%config\(noreplace\)/) {
+               if (/\/etc\/sysconfig\// && !/%config\(noreplace/) {
                        $NF = "%config(noreplace) " $NF
                }
 
@@ -1377,11 +1447,12 @@ function use_files_macros(      i, n, t, a)
                gsub("%attr\\(0", "%attr(")
        }
 
-    # kill default attrs
-    gsub(/%dir %attr\(755,root,root\)/, "%dir");
-    if (!/%dir/) {
-        gsub(/%attr\(644,root,root\) /, "");
-    }
+       # kill default attrs
+       gsub(/%dir %attr\(755,root,root\)/, "%dir");
+       gsub(/%attr\(755,root,root\) %dir/, "%dir");
+       if (!/%dir/) {
+               gsub(/%attr\(644,root,root\) /, "");
+       }
 
        # sort %verify attrs
        if (match($0, /%verify\(not([^)]+)\)/)) {
@@ -1563,3 +1634,40 @@ function use_tabs()
        # reverse vim: ts=4 sw=4 et
        gsub(/    /, "\t");
 }
+
+function add_br(br)
+{
+       BR[BR_count++] = br
+}
+
+# php virtual deps as discussed in devel-en
+function replace_php_virtual_deps()
+{
+       pkg = $2
+#      if (pkg == "php-program") {
+#              $0 = $1 "\t/usr/bin/php"
+#              return
+#      }
+
+       if (pkg ~ /^php-[a-z]/ && pkg !~ /^php-(pear|common|cli|devel|fcgi|cgi|dirs|program|pecl-)/) {
+               sub(/^php-/, "php(", pkg);
+               sub(/$/, ")", pkg);
+               $2 = pkg
+       }
+
+       if (pkg ~/^php$/) {
+               $2 = "webserver(php)";
+               if ($4 ~ /^[0-9]:/) {
+                       $4 = substr($4, 3);
+               }
+       }
+
+       if (pkg ~/^php4$/) {
+               $2 = "webserver(php)";
+               if ($4 ~ /^[0-9]:/) {
+                       $4 = substr($4, 3);
+               }
+       }
+}
+
+# vim:ts=4:sw=4
This page took 0.428462 seconds and 4 git commands to generate.