if (/CC=%{__cc} /) {
sub("CC=%{__cc}", "CC=\"%{__cc}\"")
}
-
+
# use PLD Linux macros
$0 = fixedsub("glib-gettextize --copy --force","%{__glib_gettextize}", $0);
$0 = fixedsub("intltoolize --copy --force", "%{__intltoolize}", $0);
if (field ~ /summary:/ && !/etc\.$/ && !/Inc\.$/) {
sub(/\.$/, "", $0);
}
- if (field ~ /group(\([^)]+\)):/)
+ if (field ~ /group(\([^)]+\)):/) {
next
- if (field ~ /group:/) {
+ }
+
+ if (field == "group:") {
format_preamble()
group = $0;
sub(/^[^ \t]*[ \t]*/, "", group);
did_groups = 1
}
- if (field ~ /prereq:/) {
+ if (field == "prereq:") {
sub(/Pre[Rr]eq:/, "Requires:", $1);
}
}
# BR: tar (and others) is to common (rpm-build requires it)
- if (field ~ /^buildrequires:/) {
+ if (field == "buildrequires:") {
l = substr($0, index($0, $2));
if (l == "awk" ||
l == "binutils" ||
next
}
- replace_requires();
+ replace_requires(field);
}
- if (field ~ /^requires:/ || field ~ /^requires\(/) {
- replace_requires();
+ if (field == "requires:" || field ~ /^requires\(/) {
+ replace_requires(field);
}
gsub(perl_vendorlib, "%{perl_vendorlib}")
gsub(perl_vendorarch, "%{perl_vendorarch}")
gsub(perl_sitelib, "%{perl_sitelib}")
-
+
gsub(py_sitescriptdir, "%{py_sitescriptdir}")
gsub(py_sitedir, "%{py_sitedir}")
gsub(py_scriptdir, "%{py_scriptdir}")
continue;
if ($c ~ sysconfdir "/apm")
continue;
+ if ($c ~ sysconfdir "/modules-load\.d")
+ continue;
gsub(sysconfdir, "%{_sysconfdir}", $c)
}
}
# php virtual deps as discussed in devel-en
-function replace_php_virtual_deps() {
+function replace_php_virtual_deps(field) {
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(/$/, ") # verify this correctness -- it may be wanted to use specific not virtual dep", pkg);
-# $2 = pkg
-# }
+ if (field == "requires:") {
+ if (pkg ~ /^php-(bcmath|bz2|calendar|ctype|curl|dba|date|dom|enchant|exif|fileinfo|filter|fpm|ftp|gd|gettext|gmp|hash|iconv|imap|interbase|intl|json|ldap|mbstring|mcrypt|mssql|mysql|mysqli|odbc|openssl|pcntl|pcre|pdo|pdo-dblib|pdo-firebird|pdo-mysql|pdo-odbc|pdo-pgsql|pdo-sqlite|pgsql|phar|posix|pspell|readline|recode|session|shmop|simplexml|snmp|soap|sockets|spl|sqlite|sqlite3|sybase-ct|sysvmsg|sysvsem|sysvshm|tidy|tokenizer|wddx|xml|xmlreader|xmlrpc|xmlwriter|xsl|zip|zlib)/) {
+ sub(/^php-/, "php(", pkg);
+ sub(/$/, ")", pkg);
+ $2 = pkg
+ }
+ }
- if (pkg ~/^php$/) {
- $2 = "webserver(php)";
+ if (pkg == "php" || pkg == "php-common") {
+ $2 = "php(core)";
if ($4 ~ /^[0-9]:/) {
$4 = substr($4, 3);
}
}
- if (pkg ~/^php4$/) {
+ if (pkg == "php4") {
$2 = "webserver(php)";
if ($4 ~ /^[0-9]:/) {
$4 = substr($4, 3);
return group;
}
-function replace_requires() {
+function replace_pkgconfig(pkg, cmd, path, n, i, line, r) {
+ n = split("/usr/lib64/pkgconfig /usr/lib/pkgconfig /usr/share/pkgconfig", path, / /);
+ for (i = 1; i <= n; i++) {
+ cmd = "rpm -qf --qf '%{N}' " path[i] "/" pkg ".pc";
+ # Getline returns 0 on end-of-file, -1 on error, otherwise 1.
+ if ((cmd | getline line) <= 0) {
+ continue;
+ }
+
+ if (line !~ /No such file or directory/) {
+ # @modifies global $2
+ $2 = line;
+ return
+ }
+ }
+}
+
+function replace_requires(field, pkg) {
+ # pkg-config -> package names
+ if (match($2, /pkgconfig\(([^)]+)\)/)) {
+ pkg = substr($2, RSTART + 10, RLENGTH - 11);
+ replace_pkgconfig(pkg);
+ }
sub(/^python-setuptools-devel$/, "python-distribute", $2);
sub(/^gcc-g77/, "gcc-fortran", $2);
sub(/^iscsi-initiator-utils$/, "open-iscsi", $2);
sub(/^keyutils-libs-devel$/, "keyutils-devel", $2);
sub(/^libSM-devel$/, "xorg-lib-libSM-devel", $2);
+ sub(/^libXv-devel$/, "xorg-lib-libXv-devel", $2);
+ sub(/^libxkbfile-devel$/, "xorg-lib-libxkbfile", $2);
sub(/^libX11-devel$/, "xorg-lib-libX11-devel", $2);
sub(/^libXScrnSaver-devel$/, "xorg-lib-libXScrnSaver-devel", $2);
sub(/^libXau-devel$/, "xorg-lib-libXau-devel", $2);
sub(/^libXinerama-devel$/, "xorg-lib-libXinerama-devel", $2);
sub(/^libXrandr-devel$/, "xorg-lib-libXrandr-devel", $2);
sub(/^libXrender-devel$/, "xorg-lib-libXrender-devel", $2);
+ sub(/^libXtst-devel$/, "xorg-lib-libXtst-devel", $2);
sub(/^libXxf86vm-devel$/, "xorg-lib-libXxf86vm-devel", $2);
sub(/^libacl-devel$/, "acl-devel", $2);
sub(/^libcurl-devel$/, "curl-devel", $2);
sub(/^monodoc-core$/, "mono-monodoc", $2);
sub(/^python-gtk$/, "python-pygtk-gtk", $2);
- replace_php_virtual_deps()
+ replace_php_virtual_deps(field)
}
# vim:ts=4:sw=4