]> git.pld-linux.org Git - packages/rpm.git/commitdiff
This commit was manufactured by cvs2git to create branch 'rpm-4_5'.
authorcvs2git <feedback@pld-linux.org>
Thu, 17 Jul 2008 17:23:36 +0000 (17:23 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Sprout from master 2007-05-26 14:17:51 UTC Jakub Bogusz <qboosh@pld-linux.org> '- behave like on x86'
Cherrypick from master 2008-05-21 19:15:42 UTC Elan Ruusamäe <glen@pld-linux.org> '- avoid commandline args overflow':
    rpm-hrmib-cache -> 1.11
    rpm-lzma-size_t.patch -> 1.1
    rpm-man_pl.patch -> 1.1
    rpm-mono.patch -> 1.7
    rpm-perl-macros.patch -> 1.33
    rpm-rpm5-patchset-8413.patch -> 1.1
    rpm-rpm5-patchset-8637.patch -> 1.1
    rpm-tar_as_secondary_source.patch -> 1.1
    rpm-v3-support.patch -> 1.1
Cherrypick from master 2008-02-23 17:33:34 UTC Elan Ruusamäe <glen@pld-linux.org> '- --bcond is rpmbuild popt alias':
    rpm-find-spec-bcond -> 1.10
Cherrypick from rpm-4_4_9 2008-04-25 12:54:28 UTC Elan Ruusamäe <glen@pld-linux.org> '- disable user(foo), group(foo) namespace probes which confuse triggers if the':
    rpm-as_needed-fix.patch -> 1.2.6.1
    rpm-chroot-hack.patch -> 1.1.2.1
    rpm-cleanbody.patch -> 1.1.2.2
    rpm-lzma-tukaani.patch -> 1.1.2.1
    rpm-macros.patch -> 1.41.2.4
    rpm-namespace-probe.patch -> 1.1.2.1
    rpm-nopie.patch -> 1.1.2.1.4.1
    rpm-popt-coreutils.patch -> 1.1.2.1
    rpm-rpmrc.patch -> 1.40.2.2
    rpm.sysinfo -> 1.2.4.1
Cherrypick from rpm-4_4_9 2008-02-11 17:07:37 UTC Elan Ruusamäe <glen@pld-linux.org> '- skip debuginfo on missing buildroot':
    rpm-debuginfo.patch -> 1.15.6.7
Cherrypick from AC-branch 2008-07-17 17:23:36 UTC Elan Ruusamäe <glen@pld-linux.org> '- add %_excludedocs sample to macros':
    rpm-disable-features.patch -> 1.1.2.1
    rpm-rpmrc-ac.patch -> 1.1.2.1
    rpm.spec -> 1.837.2.42.2.49
Cherrypick from unlabeled-1.16.6 2004-11-20 19:45:23 UTC Adam Gołębiowski <adamg@pld-linux.org> '- reverted php provides/requires scripts to those that were in Ra (details:':
    rpm-php-requires -> 1.16.6.1
Cherrypick from unlabeled-1.9.6 2004-11-20 19:45:22 UTC Adam Gołębiowski <adamg@pld-linux.org> '- reverted php provides/requires scripts to those that were in Ra (details:':
    rpm-php-provides -> 1.9.6.1
Delete:
    RPM-GPG-KEY
    adapter.awk
    builder
    patch.4.5.20.1
    patch.4.5.20.2
    pldnotify.awk
    rpm-Nmalloc.patch
    rpm-bb-and-short-circuit.patch
    rpm-bug-146549.patch
    rpm-check-files
    rpm-cpuinfo.patch
    rpm-dontneedutils.patch
    rpm-error-fatal.patch
    rpm-find-lang
    rpm-java-requires
    rpm-javadeps.patch
    rpm-libtool-deps.patch
    rpm-magic-usesystem.patch
    rpm-obsolete-rpmrc.patch
    rpm-p4.patch
    rpm-perl-req-perlfile.patch
    rpm-perl_req-INC_dirs.patch
    rpm-perl_req.patch
    rpm-php-deps.patch
    rpm-pl.po.patch
    rpm-python-macros.patch
    rpm-reduce-stack-usage.patch
    rpm-rpmrc-resurrect.patch
    rpm-user_group.sh
    rpm.groups
    rpm.macros
    rpm.platform
    rpm.sysconfig

58 files changed:
RPM-GPG-KEY [deleted file]
adapter.awk [deleted file]
builder [deleted file]
patch.4.5.20.1 [deleted file]
patch.4.5.20.2 [deleted file]
pldnotify.awk [deleted file]
rpm-Nmalloc.patch [deleted file]
rpm-as_needed-fix.patch
rpm-bb-and-short-circuit.patch [deleted file]
rpm-bug-146549.patch [deleted file]
rpm-check-files [deleted file]
rpm-chroot-hack.patch [new file with mode: 0644]
rpm-cleanbody.patch [new file with mode: 0644]
rpm-cpuinfo.patch [deleted file]
rpm-debuginfo.patch
rpm-disable-features.patch [new file with mode: 0644]
rpm-dontneedutils.patch [deleted file]
rpm-error-fatal.patch [deleted file]
rpm-find-lang [deleted file]
rpm-find-spec-bcond
rpm-hrmib-cache [new file with mode: 0644]
rpm-java-requires [deleted file]
rpm-javadeps.patch [deleted file]
rpm-libtool-deps.patch [deleted file]
rpm-lzma-size_t.patch [new file with mode: 0644]
rpm-lzma-tukaani.patch [new file with mode: 0644]
rpm-macros.patch
rpm-magic-usesystem.patch [deleted file]
rpm-man_pl.patch [new file with mode: 0644]
rpm-mono.patch
rpm-namespace-probe.patch [new file with mode: 0644]
rpm-nopie.patch [new file with mode: 0644]
rpm-obsolete-rpmrc.patch [deleted file]
rpm-p4.patch [deleted file]
rpm-perl-macros.patch
rpm-perl-req-perlfile.patch [deleted file]
rpm-perl_req-INC_dirs.patch [deleted file]
rpm-perl_req.patch [deleted file]
rpm-php-deps.patch [deleted file]
rpm-php-provides
rpm-php-requires
rpm-pl.po.patch [deleted file]
rpm-popt-coreutils.patch [new file with mode: 0644]
rpm-python-macros.patch [deleted file]
rpm-reduce-stack-usage.patch [deleted file]
rpm-rpm5-patchset-8413.patch [new file with mode: 0644]
rpm-rpm5-patchset-8637.patch [new file with mode: 0644]
rpm-rpmrc-ac.patch [new file with mode: 0644]
rpm-rpmrc-resurrect.patch [deleted file]
rpm-tar_as_secondary_source.patch [new file with mode: 0644]
rpm-user_group.sh [deleted file]
rpm-v3-support.patch [new file with mode: 0644]
rpm.groups [deleted file]
rpm.macros [deleted file]
rpm.platform [deleted file]
rpm.spec
rpm.sysconfig [deleted file]
rpm.sysinfo

diff --git a/RPM-GPG-KEY b/RPM-GPG-KEY
deleted file mode 100644 (file)
index 01871a5..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-Below is public GPG key used for signing all PLD 2.0 (Ac) packages. It is also available on our FTP. 
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.6 (GNU/Linux)
-
-mQGiBEYeXR4RBADzXva/pQ3Cb7W5u0ogtvi3ooo26kXKYUFhnZJndq4iCCTIyUYC
-twMasZvDz7RXO36V9x/uXCCj8POc11wfQaRV+H92zQBAnAwZRUCkfOJ4u2cv+4Dd
-KyCq4KwPC0K+eyz9hEXHg6qlXaOCBxnGuOWaN8qdVc1ZzA0KvofqRJGCQwCgy8+V
-97aqXYbPgkKsVLy/C2o9xXED/3DYkfVzgBpfpnnfe8VhrKXh3Ko0vQs5r67Lhi9o
-QZOHYD7Ub+ahMzGbW/F2Dq5jF9Mam57z93FoROw3Y/mJ0Cu3Ua43Ii5fVEKmqH24
-1Zow4c78D/GJfh1EUqmqOx2zkTO2KIbvNJqoRjQ22JzbJLjEYlnBhPvWWKlfQZss
-xKFuBACfxuaNJ2gSYCqkScAwUx4nvFpJlfAdWt/7eaaAMzFmnFEakYliZ12UrdO1
-U0xT5UkvP7yAvxdXC3HhI03sRGKBtqCQn7jA4DznCL3Jz5+XGG5tE/RpR0WBlzaW
-uS4Kuyf9/Imas7Fyxfv/ZPrsjEe1LcD0yr1zg0G2nvOlEgAgXrQ4UExEIExpbnV4
-IERpc3RyaWJ1dGlvbiAyLjAgKEFjKSA8YWMtYWRtaW5AcGxkLWxpbnV4Lm9yZz6I
-YAQTEQIAIAUCRh5dHgIbAwYLCQgHAwIEFQIIAwQWAgMBAh4BAheAAAoJEHx1HFwb
-vVRZx/EAn1pN8ykFoMUd9ap/orPWuiK/HC7IAJwI0a/Vg4d5O/XseXHifKiizmvG
-frkBDQRGHl0eEAQAsXIeTPUCfMER3FjOnVsFpG3AzjTnHCGZa1F9ri7/AoOoi0ZT
-bzvzUDa+e6mVKGCgZssxSfuLc841fylSg9Fh6FIKdOm4i7xMHR4lGJ0OAfSdyT7R
-h6xeM6Kv+6r6cTTmt60vul+/SYSi5Tsd7zdKhmw9Sz2sR4xmQz4IGM4Pve8AAwUD
-/0d95Q3kff3QzXxMrpnVmQN1mRZL2x+aDpzRe6oLn6clWis2Fj/LNx71Mb87Frw5
-Tz5RY6WuU/fyZGsPX/ngCmf8S9pM53VPtW2PWoyJpu5ENO5iEY2RLFCsKXCOS2j4
-p0IEKULPAIZ/12+wKks2uZG+tNMzIvXzmWtTPzKazSPmiEkEGBECAAkFAkYeXR4C
-GwwACgkQfHUcXBu9VFkZogCgjPi/pyQ4Wqs20kZXIP/QbVC7kjUAoLw5INvpciE2
-GKFQV2VUl29FqBmJ
-=K14g
------END PGP PUBLIC KEY BLOCK-----
-
diff --git a/adapter.awk b/adapter.awk
deleted file mode 100644 (file)
index 0e53498..0000000
+++ /dev/null
@@ -1,1646 +0,0 @@
-#!/bin/awk -f
-#
-# 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>
-#      Sebastian Zagrodzki <s.zagrodzki@mimuw.edu.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>
-#
-# See cvs log adapter{,.awk} for list of contributors
-#
-# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
-
-# TODO
-# - parse ../PLD-doc/BuildRequires.txt and setup proper BR epoches?
-# - add "-nc" option to skip CVS interaction
-# - sort Summary(XX)
-# - sort Requires, BuildRequires
-# - check if %description (lang=C) contains 8bit
-# - desc wrapping is totally fucked up on global.spec,1.25, dosemu.spec,1.115-
-
-BEGIN {
-       RPM_SECTIONS = "package|build|changelog|clean|description|install|post|posttrans|postun|pre|prep|pretrans|preun|triggerin|triggerpostun|triggerun|verifyscript|check"
-       SECTIONS = "^%(" RPM_SECTIONS ")"
-
-       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
-       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
-       removed["CFLAGS"] = 0
-       removed["CXXFLAGS"] = 0
-
-       # get cvsaddress for changelog section
-       # using rpm macros as too lazy to add ~/.adapterrc parsing support.
-       "rpm --eval '%{?_cvsmaildomain}%{!?_cvsmaildomain:@pld-linux.org}'" | getline _cvsmaildomain
-       "rpm --eval '%{?_cvsmailfeedback}%{!?_cvsmailfeedback:PLD Team <feedback@pld-linux.org>}'" | getline _cvsmailfeedback
-
-       # If 1, we are inside of comment block (started with /^#%/)
-       comment_block = 0
-
-       # File with rpm groups
-       "rpm --eval %_sourcedir" | getline groups_file
-       groups_file = groups_file "/rpm.groups"
-       system("cd `rpm --eval %_sourcedir`; [ -f rpm.groups ] || cvs up rpm.groups >/dev/null")
-       system("[ -d ../PLD-doc ] && cd ../PLD-doc && ([ -f BuildRequires.txt ] || cvs up BuildRequires.txt >/dev/null)");
-
-       # Temporary file for changelog section
-       changelog_file = ENVIRON["HOME"] "/tmp/adapter.changelog"
-
-       # Load rpm macros
-       "rpm --eval %_prefix"   | getline prefix
-       "rpm --eval %_bindir"   | getline bindir
-       "rpm --eval %_sbindir"  | getline sbindir
-       "rpm --eval %_libdir"   | getline libdir
-       "rpm --eval %_sysconfdir" | getline sysconfdir
-       "rpm --eval %_datadir"  | getline datadir
-       "rpm --eval %_includedir" | getline includedir
-       "rpm --eval %_mandir"   | getline mandir
-       "rpm --eval %_infodir"  | getline infodir
-       "rpm --eval %_examplesdir"      | getline examplesdir
-       "rpm --eval %_defaultdocdir"    | getline docdir
-       "rpm --eval %_desktopdir" | getline desktopdir
-       "rpm --eval %_pixmapsdir" | getline pixmapsdir
-
-       "rpm --eval %perl_sitearch" | getline perl_sitearch
-       "rpm --eval %perl_archlib" | getline perl_archlib
-       "rpm --eval %perl_privlib" | getline perl_privlib
-       "rpm --eval %perl_vendorlib" | getline perl_vendorlib
-       "rpm --eval %perl_vendorarch" | getline perl_vendorarch
-       "rpm --eval %perl_sitelib" | getline perl_sitelib
-
-       "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
-}
-
-# There should be a comment with CVS keywords on the first line of file.
-FNR == 1 {
-       if (!/# \$Revision:/)   # If this line is already OK?
-               print "# $" "Revision:$, " "$" "Date:$" # No
-       else {
-               print $0                                # Yes
-               next            # It is enough for first line
-       }
-}
-
-# If the latest line matched /%files/
-defattr == 1 {
-       if (ENVIRON["SKIP_DEFATTR"] != 1) {
-               if ($0 !~ /defattr/) {  # If no %defattr
-                       print "%defattr(644,root,root,755)"     # Add it
-               } else {
-                       $0 = "%defattr(644,root,root,755)"      # Correct mistakes (if any)
-               }
-       }
-       defattr = 0
-}
-
-function b_makekey(a, b,       s) {
-       s = a "" b;
-       # kill bcond
-    gsub(/[#%]+{[!?]+[_a-zA-Z0-9]+:/, "", s);
-
-       # kill commented out items
-    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);
-
-#      printf("%s -> %s\n", a""b, s);
-       return s;
-}
-
-# Comments
-/^#/ && (description == 0) {
-       if (/This file does not like to be adapterized!/) {
-               print                   # print this message
-               while (getline)         # print the rest of spec as it is
-                       print
-               do_not_touch_anything = 1 # do not touch anything in END()
-               exit 0
-       }
-
-       # Generally, comments are printed without touching
-       sub(/[ \t]+$/, "")
-
-       if (/Source.*md5/) {
-               print $0
-               next
-       }
-}
-
-/^%define/ {
-       # Remove defining _applnkdir (this macro has been included in rpm-3.0.4)
-       if ($2 == "_applnkdir") {
-               next
-       }
-       if ($2 == "date") {
-               date = 1
-               if (did_files == 0) {
-                       print "%files"
-                       print ""
-                       did_files = 1
-               }
-       }
-
-       # Do not add %define of _prefix if it already is.
-       if ($2 ~ /^_prefix/) {
-               sub("^"prefix, $3, bindir)
-               sub("^"prefix, $3, sbindir)
-               sub("^"prefix, $3, libdir)
-               sub("^"prefix, $3, datadir)
-               sub("^"prefix, $3, includedir)
-               prefix = $3
-       }
-
-       if ($2 ~ /_bindir/ && !/_sbindir/)
-               bindir = $3
-       if ($2 ~ /_sbindir/)
-               sbindir = $3
-       if ($2 ~ /_libdir/) {
-               if ($3 ~ /^%\(/) {
-                       # TODO: should escape for latter checks like: ($c ~ sysconfdir "/{?cron.")
-                       libdir = "%%%%%%%%%%%%%%"
-               } else {
-                       libdir = $3
-               }
-       }
-       if ($2 ~ /_sysconfdir/) {
-               if ($3 ~ /^%\(/) {
-                       # TODO: should escape for latter checks like: ($c ~ sysconfdir "/{?cron.")
-                       sysconfdir = "%%%%%%%%%%%%%%"
-               } else {
-                       sysconfdir = $3
-               }
-       }
-       if ($2 ~ /_datadir/) {
-               if ($3 ~ /^%\(/) {
-                       # TODO: should escape for latter checks like: ($c ~ sysconfdir "/{?cron.")
-                       datadir = "%%%%%%%%%%%%%%"
-               } else {
-                       datadir = $3
-               }
-       }
-       if ($2 ~ /_includedir/)
-               includedir = $3
-       if ($2 ~ /_mandir/)
-               mandir = $3
-       if ($2 ~ /_infodir/)
-               infodir = $3
-       if ($2 ~ /_docdir/)
-               docdir = $3
-
-       # version related macros
-       if ($2 ~ /^_beta$/)
-               _beta = $3
-       if ($2 ~ /^_rc$/)
-               _rc = $3
-       if ($2 ~ /^_pre$/)
-               _pre = $3
-       if ($2 ~ /^_snap$/)
-               _snap = $3
-
-       # these are used usually when adapterizing external spec
-       if ($2 ~ /^name$/)
-               name = $3
-       if ($2 ~ /^version$/)
-               version = $3
-       if ($2 ~ /^release$/)
-               release = $3
-
-       if ($2 ~ /^mod_name$/)
-               mod_name = $3
-
-       sub(/[ \t]+$/, "");
-       # do nothing further, otherwise adapter thinks we're at preamble
-       print
-       next
-}
-
-# Obsolete
-/^%include.*\/usr\/lib\/rpm\/macros\.python$/ {
-       next
-}
-
-################
-# %description #
-################
-/^%description/, (!/^%description/ && $0 ~ SECTIONS) {
-       preamble = 0
-
-       if (/^%description/) {
-               bod++
-               format_line = ""
-               format_indent = -1
-       }
-
-       # Format description
-       if (ENVIRON["SKIP_DESC"] != 1 && description == 1 && !/^%[a-z]+/ && !/^%description/) {
-               if (/^[ \t]*$/) {
-                       format_flush(format_line, format_indent)
-                       print ""
-                       format_line = ""
-                       format_indent = -1
-               } else if (/^[ \t]*[-\*][ \t]*/) {
-                       format_flush(format_line, format_indent)
-                       match($0, /^[ \t]*/)
-                       format_indent = RLENGTH
-                       match($0, /^[ \t]*[-\*][ \t]/)
-                       format_line = substr($0, RLENGTH)
-               } else
-                       format_line = format_line " " $0
-               next
-       }
-
-       if (/^%[a-z]+/ && (!/^%description/ || bod == 2)) {
-               if (NF > 3 && $2 == "-l") {
-                       ll = $1
-                       for (i = 4; i <= NF; i++)
-                               ll = ll " " $i
-                       $0 = ll " -l " $3
-               }
-               format_flush(format_line, format_indent)
-               if (bod == 2) {
-                       bod = 1
-                       description = 1
-               } else {
-                       bod = 0
-                       description = 0
-               }
-       } else
-               description = 1
-}
-
-#########
-# %prep #
-#########
-/^%prep/, (!/^%prep/ && $0 ~ SECTIONS) {
-       preamble = 0
-       did_prep = 1
-
-       use_macros()
-
-       # Add '-q' to %setup
-       if (/^%setup/ && !/-q/) {
-               sub(/^%setup/, "%setup -q")
-       }
-
-       if (/^%setup/ && name != "setup") {
-               $0 = fixedsub(name, "%{name}", $0);
-               $0 = fixedsub(version, "%{version}", $0);
-               if (_beta) {
-                       $0 = fixedsub(_beta, "%{_beta}", $0);
-               }
-               if (_rc) {
-                       $0 = fixedsub(_rc, "%{_rc}", $0);
-               }
-               if (_pre) {
-                       $0 = fixedsub(_pre, "%{_pre}", $0);
-               }
-               if (_snap) {
-                       $0 = fixedsub(_snap, "%{_snap}", $0);
-               }
-       }
-
-       if (/^%setup/ && /-n %{name}-%{version}( |$)/) {
-               $0 = fixedsub(" -n %{name}-%{version}", "", $0)
-       }
-    sub("^%patch ", "%patch0 ");
-
-       # invalid in %prep
-       sub("^rm -rf \$RPM_BUILD_ROOT.*", "");
-}
-
-##########
-# %build #
-##########
-/^%build/, (!/^%build/ && $0 ~ SECTIONS) {
-       preamble = 0
-
-       if (did_prep == 0) {
-               print "%prep"
-               print ""
-               did_prep = 1
-       }
-
-       use_macros()
-       use_tabs()
-
-       if (/^automake$/)
-               sub(/$/, " -a -c")
-
-       if (/LDFLAGS/) {
-               if (/LDFLAGS="-s"/) {
-                       removed["LDFLAGS"] = 1
-                       next
-               } else {
-                       split($0, tmp, "LDFLAGS=")
-                       count = split(tmp[2], flags, "\"")
-                       if (flags[1] != "" && flags[1] !~ "!?debug") {
-                               sub(/-s[" ]?/, "%{rpmldflags} ", flags[1])
-                               $0 = tmp[1] line[1] "LDFLAGS=" flags[1] "\""
-                               for (i = 2; i < count; i++)
-                                       $0 = $0 flags[i] "\""
-                       }
-               }
-       }
-
-       if (/CFLAGS=/)
-               if (cflags("CFLAGS") == 0)
-                       next
-
-       if (/CXXFLAGS=/)
-               if (cflags("CXXFLAGS") == 0)
-                       next
-
-       if (/^export /) {
-               if (removed["LDFLAGS"])
-                       sub(" LDFLAGS", "")
-               if (removed["CFLAGS"])
-                       sub(" CFLAGS", "")
-               if (removed["CXXFLAGS"])
-                       sub(" CXXFLAGS", "")
-               # Is there still something?
-               if (/^export[ ]*$/)
-                       next
-       }
-
-       # quote CC
-       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);
-       $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("libtoolize --force --automake --copy", "%{__libtoolize}", $0);
-       $0 = fixedsub("libtoolize -c -f --automake", "%{__libtoolize}", $0);
-
-       sub(/^aclocal$/, "%{__aclocal}");
-       sub(/^autoheader$/, "%{__autoheader}");
-       sub(/^autoconf$/, "%{__autoconf}");
-       sub(/^automake$/, "%{__automake}");
-
-       # atrpms
-       $0 = fixedsub("%perl_configure", "%{__perl} Makefile.PL \\\n\tINSTALLDIRS=vendor", $0);
-       $0 = fixedsub("%perl_makecheck", "%{?with_tests:%{__make} test}", $0);
-}
-
-##########
-# %clean #
-##########
-/^%clean/, (!/^%clean/ && $0 ~ SECTIONS) {
-       did_clean = 1
-
-    use_macros()
-}
-
-############
-# %install #
-############
-/^%install/, (!/^%install/ && $0 ~ SECTIONS) {
-
-       preamble = 0
-
-       # foreign rpms
-       sub("^%{__rm} -rf %{buildroot}", "rm -rf $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
-               print "rm -rf $RPM_BUILD_ROOT"
-               next
-       }
-
-       if (!/^(#?[ \t]*)$/ && !/^%install/ && did_rmroot==0) {
-               print "rm -rf $RPM_BUILD_ROOT"
-               did_rmroot=1
-       }
-
-    if (tmpdir) {
-        buildroot = tmpdir "/" name "-" version "-root-" ENVIRON["USER"]
-               gsub(buildroot, "$RPM_BUILD_ROOT")
-    }
-
-    if (!/%{_lib}/) {
-        sub("\$RPM_BUILD_ROOT/%", "$RPM_BUILD_ROOT%")
-    }
-
-       use_macros()
-
-       # 'install -d' instead 'mkdir -p'
-       if (/mkdir -p/)
-               sub(/mkdir -p/, "install -d")
-
-       # cp -a already implies cp -r
-    sub(/^cp -ar/, "cp -a")
-
-       # No '-u root' or '-g root' for 'install'
-       if (/^install/ && /-[ug][ \t]*root/)
-               gsub(/-[ug][ \t]*root /, "")
-
-       if (/^install/ && /-m[ \t]*[0-9]+/)
-               gsub(/-m[ \t]*[0-9]+ /, "")
-
-       # No lines contain 'chown' or 'chgrp' if owner/group is 'root'
-       if (($1 ~ /chown/ && $2 ~ /root\.root/) || ($1 ~ /chgrp/ && $2 ~ /root/))
-               next
-
-       # No lines contain 'chmod' if it sets the modes to '644'
-       if ($1 ~ /chmod/ && $2 ~ /644/)
-               next
-
-       # atrpms
-       $0 = fixedsub("%perl_makeinstall", "%{__make} pure_install \\\n\tDESTDIR=$RPM_BUILD_ROOT", $0);
-}
-
-##########
-# %files #
-##########
-/^%files/, (!/^%files/ && $0 ~ SECTIONS) {
-       preamble = 0
-       did_files = 1
-
-       if ($0 ~ /^%files/)
-               defattr = 1
-
-       use_files_macros()
-}
-
-##############
-# %changelog #
-##############
-/^%changelog/, (!/^%changelog/ && $0 ~ SECTIONS) {
-       preamble = 0
-       has_changelog = 1
-       skip = 0
-       # There should be some CVS keywords on the first line of %changelog.
-       if (boc == 3) {
-               if ($0 !~ _cvsmailfeedback)
-                       print "* %{date} " _cvsmailfeedback > changelog_file
-               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
-                       skip = 1
-               boc = 1
-       }
-       if (boc == 1 && !skip) {
-               if (!/^$/) {
-                       if (!/\$.*Log:.*\$/)
-                               print "$" "Log:$" > changelog_file
-                       boc = 0
-               }
-       }
-       # Define date macro.
-       if (boc == 4) {
-               if (date == 0) {
-                       printf "%%define date\t%%(echo `LC_ALL=\"C\"" > changelog_file
-                       print " date +\"%a %b %d %Y\"`)" > changelog_file
-                       date = 1
-               }
-               boc = 3
-       }
-
-       sub(/[ \t]+$/, "")
-       if (!/^%[a-z]+$/ || /changelog/)
-               print > changelog_file
-       else
-               print
-       next
-}
-
-###########
-# SCRIPTS #
-###########
-/^%pre/, (!/^%pre/ && $0 ~ SECTIONS) {
-       preamble = 0
-
-       if (gsub("/usr/sbin/useradd", "%useradd")) {
-               sub(" 2> /dev/null \|\| :", "");
-               sub(" >/dev/null 2>&1 \|\|:", "");
-       }
-
-       # %useradd and %groupadd may not be wrapped
-       if (/%(useradd|groupadd).*\\$/) {
-               a = $0; getline;
-               sub(/^[\s\t]*/, "");
-               $0 = substr(a, 1, length(a) - 1) $0;
-       }
-       use_script_macros()
-}
-
-/^%post/, (!/^%post/ && $0 ~ SECTIONS) {
-       preamble = 0
-       use_macros()
-}
-/^%preun/, (!/^%preun/ && $0 ~ SECTIONS) {
-       preamble = 0
-       use_script_macros()
-}
-/^%postun/, (!/^%postun/ && $0 ~ SECTIONS) {
-       preamble = 0
-       use_script_macros()
-}
-/^%triggerin/, (!/^%triggerin/ && $0 ~ SECTIONS) {
-       preamble = 0
-       use_script_macros()
-}
-/^%triggerun/, (!/^%triggerun/ && $0 ~ SECTIONS) {
-       preamble = 0
-       use_script_macros()
-}
-/^%triggerpostun/, (!/^%triggerpostun/ && $0 ~ SECTIONS) {
-       preamble = 0
-       use_script_macros()
-}
-/^%pretrans/, (!/^%pretrans/ && $0 ~ SECTIONS) {
-       preamble = 0
-       use_script_macros()
-}
-/^%posttrans/, (!/^%posttrans/ && $0 ~ SECTIONS) {
-       preamble = 0
-       use_script_macros()
-}
-/^%verifyscript/, (!/^%verifyscript/ && $0 ~ SECTIONS) {
-       preamble = 0
-       use_script_macros()
-}
-/^%check/, (!/^%check/ && $0 ~ SECTIONS) {
-       preamble = 0
-       use_script_macros()
-}
-
-#############
-# PREAMBLES #
-#############
-preamble == 1 {
-       # There should not be a space after the name of field
-       # and before the colon.
-       sub(/[ \t]*:/, ":")
-
-       if (/^%perl_module_wo_prefix/) {
-               name = $2
-               version = $3
-               release = "0." fixedsub(".%{disttag}.at", "", $4)
-       }
-
-       field = tolower($1)
-       fieldnlower = $1
-       if (field ~ /summary:/ && !/etc\.$/) {
-               sub(/\.$/, "", $0);
-       }
-       if (field ~ /group(\([^)]+\)):/)
-               next
-       if (field ~ /group:/) {
-               format_preamble()
-               group = $0;
-               sub(/^[^ \t]*[ \t]*/, "", group);
-
-               sub(/^Utilities\//,"Applications/", group)
-               sub(/^Games/,"Applications/Games", group)
-               sub(/^X11\/Games/,"X11/Applications/Games", group)
-               sub(/^X11\/GNOME\/Development\/Libraries/,"X11/Development/Libraries", group)
-               sub(/^X11\/GNOME\/Applications/,"X11/Applications", group)
-               sub(/^X11\/GNOME/,"X11/Applications", group)
-               sub(/^X11\/Utilities/,"X11/Applications", group)
-               sub(/^X11\/Games\/Strategy/,"X11/Applications/Games/Strategy", group)
-               sub(/^X11\/Library/,"X11/Libraries", group)
-               sub(/^Shells/,"Applications/Shells", group)
-               sub(/^System Environment\/Libraries$/, "Libraries", group)
-               sub(/^Library\/Development$/, "Development/Libraries", group)
-               sub(/^System Environment\/Daemons$/, "Daemons", group)
-               sub(/^Applications\/Internet$/, "Applications/Networking", group)
-               sub(/^Applications\/Daemons$/, "Daemons", group)
-               sub(/^Application\/Multimedia$/, "Applications/Multimedia", group)
-               sub(/^System\/Servers$/, "Daemons", group)
-               sub(/^X11\/Xserver$/, "X11/Servers", group)
-               sub(/^X11\/XFree86/, "X11", group)
-               sub(/^Applications\/Compilers$/, "Development/Languages", group)
-               sub(/^Applications\/Internet\/Peer to Peer/, "Applications/Networking", group)
-               sub(/^Networking\/Deamons$/, "Networking/Daemons", group)
-               sub(/^Development\/Docs$/, "Documentation", group)
-               sub(/^Development\/Documentation$/, "Documentation", group)
-               sub(/^System Environment\/Kernel$/, "Base/Kernel", group)
-               sub(/^Development\/Libraries\/Java$/, "Development/Languages/Java", group)
-               sub(/^Development\/Java/, "Development/Languages/Java", group)
-               sub(/^Development\/Testing$/, "Development", group)
-               sub(/^Text Processing\/Markup\/HTML$/, "Applications/Text", group)
-               sub(/^Text Processing\/Markup\/XML$/, "Applications/Text", group)
-               sub(/^Web\/Database$/, "Applications/WWW", group)
-               sub(/^System Environment\/Base$/, "Base", group)
-
-               $0 = "Group:\t\t" group
-
-               if (group ~ /^X11/ && x11 == 0) # Is it X11 application?
-                       x11 = 1
-
-               byl_plik_z_groupmi = 0
-               byl_opis_grupy = 0
-               while ((getline linia_grup < groups_file) > 0) {
-                       byl_plik_z_groupmi = 1
-                       if (linia_grup == group) {
-                               byl_opis_grupy = 1
-                               break
-                       }
-               }
-
-               if (!byl_plik_z_groupmi)
-                       print "######\t\t" groups_file ": no such file"
-               else if (!byl_opis_grupy)
-                       print "######\t\t" "Unknown group!"
-
-               close(groups_file)
-               did_groups = 1
-       }
-
-       if (field ~ /prereq:/) {
-               sub(/Pre[Rr]eq:/, "Requires:", $1);
-       }
-
-       # split (build)requires, obsoletes on commas
-       if (field ~ /(obsoletes|requires|provides|conflicts):/ && NF > 2) {
-               value = substr($0, index($0, $2));
-               $0 = format_requires($1, value);
-       }
-    
-       # BR: tar (and others) is to common (rpm-build requires it)
-       if (field ~ /^buildrequires:/) {
-               l = substr($0, index($0, $2));
-               if (l == "awk" ||
-                       l == "binutils" ||
-                       l == "bzip2" ||
-                       l == "cpio" ||
-                       l == "diffutils" ||
-                       l == "elfutils" ||
-                       l == "fileutils" ||
-                       l == "findutils" ||
-                       l == "glibc-devel" ||
-                       l == "grep" ||
-                       l == "gzip" ||
-                       l == "make" ||
-                       l == "patch" ||
-                       l == "sed" ||
-                       l == "sh-utils" ||
-                       l == "tar" ||
-                       l == "textutils") {
-                       next
-               }
-
-        # perhaps we have common known name?
-
-        # jpackages
-               sub(/^java-devel$/, "jdk", $2);
-               sub(/^log4j$/, "jakarta-log4j", $2);
-               sub(/^oro$/, "jakarta-oro", $2);
-               sub(/^xerces-j2$/, "xerces-j", $2);
-               sub(/^ant-junit$/, "jakarta-ant", $2);
-               sub(/^ldapjdk$/, "ldapsdk", $2);
-               sub(/^saxon-scripts$/, "saxon", $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
-       }
-
-       if (field ~ /buildroot:/) {
-               $0 = $1 "%{tmpdir}/%{name}-%{version}-root-%(id -u -n)"
-               did_build_root = 1
-       }
-
-       # Use "License" instead of "Copyright" if it is (L)GPL or BSD
-       if (field ~ /copyright:/ && $2 ~ /GPL|BSD/) {
-               $1 = "License:"
-       }
-
-       if (field ~ /license:/) {
-               l = substr($0, index($0, $2));
-               if (l == "Python Software Foundation License") {
-                       l = "PSF"
-               }
-               $0 = "License:\t" l;
-       }
-
-
-       if (field ~ /name:/) {
-               if ($2 == "%{name}" && name) {
-                       $2 = name
-               }
-               name = $2
-               name_seen = 1;
-       }
-
-       if (field ~ /version:/) {
-               if ($2 == "%{version}" && version) {
-                       $2 = version
-               }
-               version = $2
-               version_seen = 1;
-       }
-
-       if (field ~ /release:/) {
-               if ($2 == "%{release}" && release) {
-                       $2 = release
-               }
-               sub(/%atrelease /, "0.", $0)
-               release = $2
-               release_seen = 1;
-       }
-
-
-       if (field ~ /serial:/)
-               $1 = "Epoch:"
-
-       if (field ~ /home-page:/)
-               $1 = "URL:"
-
-       # proper caps
-       if (field ~ /^url:$/)
-               $1 = "URL:"
-
-       if (field ~ /^description:$/)
-               $1 = "\n%description\n"
-
-       # Use %{name} and %{version} in the filenames in "Source:"
-       if (field ~ /^source/ || field ~ /patch/) {
-               n = split($2, url, /\//)
-               if (url[n] ~ /\.gz$/) {
-                       url[n+1] = ".gz" url[n+1]
-                       sub(/\.gz$/,"",url[n])
-               }
-               if (url[n] ~ /\.zip$/) {
-                       url[n+1] = ".zip" url[n+1]
-                       sub(/\.zip$/,"",url[n])
-               }
-               if (url[n] ~ /\.tar$/) {
-                       url[n+1] = ".tar" url[n+1]
-                       sub(/\.tar$/,"",url[n])
-               }
-               if (url[n] ~ /\.patch$/) {
-                       url[n+1] = ".patch" url[n+1]
-                       sub(/\.patch$/,"",url[n])
-               }
-               if (url[n] ~ /\.bz2$/) {
-                       url[n+1] = ".bz2" url[n+1]
-                       sub(/\.bz2$/,"",url[n])
-               }
-               if (url[n] ~ /\.logrotate$/) {
-                       url[n+1] = ".logrotate" url[n+1]
-                       sub(/\.logrotate$/,"",url[n])
-               }
-               if (url[n] ~ /\.pamd$/) {
-                       url[n+1] = ".pamd" url[n+1]
-                       sub(/\.pamd$/,"",url[n])
-               }
-
-               # allow %{name} only in last url component
-               s = ""
-               for (i = 1; i <= n; i++) {
-                       url[i] = fixedsub("%{name}", name, url[i])
-                       if (s) {
-                               s = s "/" url[i]
-                       } else {
-                               s = url[i]
-                       }
-               }
-               $2 = s url[n+1]
-
-               filename = url[n]
-               if (name) {
-                       url[n] = fixedsub(name, "%{name}", url[n])
-               }
-               if (field ~ /source/) {
-                       if (version) {
-                               url[n] = fixedsub(version, "%{version}", url[n])
-                       }
-                       if (_beta) {
-                               url[n] = fixedsub(_beta, "%{_beta}", url[n])
-                       }
-                       if (_rc) {
-                               url[n] = fixedsub(_rc, "%{_rc}", url[n])
-                       }
-                       if (_pre) {
-                               url[n] = fixedsub(_pre, "%{_pre}", url[n])
-                       }
-                       if (_snap) {
-                               url[n] = fixedsub(_snap, "%{_snap}", url[n])
-                       }
-               }
-               # assigning to $2 kills preamble formatting
-               $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)
-               sub("^http://dl\.sf\.net/", "http://dl.sourceforge.net/", $2)
-       }
-
-
-       if (field ~ /^source:/)
-               $1 = "Source0:"
-
-       if (field ~ /^patch:/)
-               $1 = "Patch0:"
-
-       kill_preamble_macros();
-       format_preamble()
-
-       if (field ~ /requires/) {
-               # atrpms
-               $0 = fixedsub("%{eversion}", "%{epoch}:%{version}-%{release}", $0);
-       }
-}
-
-/^%bcond_/ {
-       # do nothing
-       print
-       next
-}
-
-# sort BR/R!
-#
-# NOTES:
-# - mixing BR/R and anything else confuses this (all will be sorted together)
-#   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
-ENVIRON["SKIP_SORTBR"] != 1 && preamble == 1 && $0 ~ PREAMBLE_TAGS, $0 ~ PREAMBLE_TAGS {
-       if ($1 ~ /Pre[Rr]eq:/) {
-               sub(/Pre[Rr]eq:/, "Requires:", $1);
-       }
-       format_preamble()
-#      kill_preamble_macros(); # breaks tabbing
-
-       b_idx++;
-       l = substr($0, index($0, $2));
-       b_ktmp = b_makekey($1, l);
-       b_key[b_idx] = b_ktmp;
-       b_val[b_ktmp] = $0;
-
-       next;
-}
-
-preamble == 1 {
-       if (b_idx > 0) {
-               isort(b_key, b_idx);
-               for (i = 1; i <= b_idx; i++) {
-                       v = b_val[b_key[i]];
-                       sub(/[ \t]+$/, "", v);
-                       print "" v;
-               }
-               b_idx = 0
-       }
-}
-
-# main() ;-)
-{
-       preamble = 1
-
-       sub(/[ \t]+$/, "")
-       print
-
-       if (name_seen == 0 && name) {
-               print "Name:\t\t" name
-               name_seen = 1
-       }
-
-       if (version_seen == 0 && version) {
-               print "Version:\t" version
-               version_seen = 1
-       }
-
-       if (release_seen == 0 && release) {
-               print "Release:\t" release
-               release_seen = 1
-       }
-
-       if (did_build_root == 0) {
-#              print "BuildRoot:\t%{tmpdir}/%{name}-%{version}-root-%(id -u -n)"
-               did_build_root = 1
-       }
-       if (did_groups == 0) {
-#              print "Group:\t\tunknown"
-               did_groups = 1
-       }
-}
-
-
-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
-       system("rm -f " changelog_file)
-
-       if (did_clean == 0) {
-               print ""
-               print "%clean"
-               print "rm -rf $RPM_BUILD_ROOT"
-       }
-
-       if (date == 0) {
-               print ""
-               print "%define date\t%(echo `LC_ALL=\"C\" date +\"%a %b %d %Y\"`)"
-       }
-
-       if (has_changelog == 0) {
-               print "%changelog"
-    }
-
-       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) {
-               print "$" "Log:$"
-    }
-}
-
-function fixedsub(s1,s2,t, ind) {
-# substitutes fixed strings (not regexps)
-       if (ind = index(t,s1))
-               t = substr(t, 1, ind-1) s2 substr(t, ind+length(s1))
-       return t
-}
-
-# There should be one or two tabs after the colon.
-function format_preamble()
-{
-       if (/^#/ || /^%bcond_with/) {
-               return;
-       }
-       sub(/:[ \t]*/, ":")
-       if (match($0, /[A-Za-z0-9(),#_ \t]+[ \t]*:[ \t]*/) == 1) {
-               if (RLENGTH < 8)
-                       sub(/:/, ":\t\t")
-               else
-                       sub(/:/, ":\t")
-       }
-}
-
-# Replace directly specified directories with macros
-function use_macros()
-{
-       # -m, --skip-macros, --no-macros -- skip macros subst
-       if (ENVIRON["SKIP_MACROS"]) {
-               return
-       }
-
-       # leave inline sed lines alone
-       if (/(%{__sed}|sed) -i -e/) {
-               return;
-       }
-
-    sub("%{_defaultdocdir}", "%{_docdir}");
-    sub("%{_bindir}/perl", "%{__perl}");
-    sub("%{_bindir}/python", "%{__python}");
-
-       gsub(infodir, "%{_infodir}")
-
-       gsub(perl_sitearch, "%{perl_sitearch}")
-       gsub(perl_archlib, "%{perl_archlib}")
-       gsub(perl_privlib, "%{perl_privlib}")
-       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}")
-       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(bindir, "%{_bindir}")
-       gsub("%{prefix}/bin", "%{_bindir}")
-       if (prefix"/bin" == bindir)
-               gsub("%{_prefix}/bin", "%{_bindir}")
-
-       for (c = 1; c <= NF; c++) {
-               if ($c ~ sbindir "/fix-info-dir")
-                       continue;
-               if ($c ~ sbindir "/webapp")
-                       continue;
-               if ($c ~ sbindir "/ldconfig")
-                       continue;
-               if ($c ~ sbindir "/chsh")
-                       continue;
-               if ($c ~ sbindir "/usermod")
-                       continue;
-               if ($c ~ sbindir "/chkconfig")
-                       continue;
-               if ($c ~ sbindir "/installzope(product|3package)")
-                       continue;
-               gsub(sbindir, "%{_sbindir}", $c)
-       }
-
-       gsub("%{prefix}/sbin", "%{_sbindir}")
-       if (prefix"/sbin" == sbindir) {
-               gsub("%{_prefix}/sbin", "%{_sbindir}")
-       }
-
-       for (c = 1; c <= NF; c++) {
-               if ($c ~ sysconfdir "/{?cron.")
-                       continue;
-               if ($c ~ sysconfdir "/{?crontab.d")
-                       continue;
-               if ($c ~ sysconfdir "/{?env.d")
-                       continue;
-               if ($c ~ sysconfdir "/{?modprobe.(d|conf)")
-                       continue;
-               if ($c ~ sysconfdir "/{?udev/rules.d")
-                       continue;
-               if ($c ~ sysconfdir "/{?logrotate.d")
-                       continue;
-               if ($c ~ sysconfdir "/{?pam.d")
-                       continue;
-               if ($c ~ sysconfdir "/{?profile.d")
-                       continue;
-               if ($c ~ sysconfdir "/{?rc.d")
-                       continue;
-               if ($c ~ sysconfdir "/{?security")
-                       continue;
-               if ($c ~ sysconfdir "/{?skel")
-                       continue;
-               if ($c ~ sysconfdir "/{?sysconfig")
-                       continue;
-               if ($c ~ sysconfdir "/{?shrc.d")
-                       continue;
-               if ($c ~ sysconfdir "/{?certs")
-                       continue;
-               if ($c ~ sysconfdir "/{?X11")
-                       continue;
-               if ($c ~ sysconfdir "/{?ld.so.conf.d")
-                       continue;
-               if ($c ~ sysconfdir "/{?rpm")
-                       continue;
-               if ($c ~ sysconfdir "/{?bash_completion.d")
-                       continue;
-               if ($c ~ sysconfdir "/{?samba")
-                       continue;
-               if ($c ~ sysconfdir "/shells")
-                       continue;
-               gsub(sysconfdir, "%{_sysconfdir}", $c)
-       }
-
-       gsub(docdir, "%{_docdir}")
-       gsub(php_pear_dir, "%{php_pear_dir}")
-
-       for (c = 1; c <= NF; c++) {
-               if ($c ~ datadir "/automake")
-                       continue;
-               if ($c ~ datadir "/unsermake")
-                       continue;
-               if ($c ~ datadir "/file/magic.mime")
-                       continue;
-               gsub(datadir, "%{_datadir}", $c)
-       }
-
-       gsub("%{prefix}/share", "%{_datadir}")
-       if (prefix"/share" == datadir)
-               gsub("%{_prefix}/share", "%{_datadir}")
-
-       # CFLAGS="-I/usr/include/ncurses is usually correct.
-       if (!/-I\/usr\/include/) {
-               gsub(includedir, "%{_includedir}")
-       }
-
-       gsub("%{prefix}/include", "%{_includedir}")
-       if (prefix"/include" == includedir) {
-               gsub("%{_prefix}/include", "%{_includedir}")
-       }
-
-       gsub(mandir, "%{_mandir}")
-       if ($0 !~ "%{_datadir}/manual") {
-               gsub("%{_datadir}/man", "%{_mandir}")
-       }
-       gsub("%{_prefix}/share/man", "%{_mandir}")
-       gsub("%{prefix}/share/man", "%{_mandir}")
-       gsub("%{prefix}/man", "%{_mandir}")
-       gsub("%{_prefix}/man", "%{_mandir}")
-
-       gsub(infodir, "%{_infodir}")
-       gsub("%{prefix}/info", "%{_infodir}")
-       gsub("%{_prefix}/info", "%{_infodir}")
-
-       if (prefix !~ "/X11R6") {
-               gsub("%{_datadir}/aclocal", "%{_aclocaldir}")
-       }
-
-       gsub(examplesdir, "%{_examplesdir}")
-
-       if (prefix != "/") {
-               # leave --with-foo=/usr alone
-               if ($0 !~ "--with.*=.*" prefix) {
-                       for (c = 1; c <= NF; c++) {
-                               if ($c ~ prefix "/sbin/fix-info-dir")
-                                       continue;
-                               if ($c ~ prefix "/sbin/webapp")
-                                       continue;
-                               if ($c ~ prefix "/sbin/chsh")
-                                       continue;
-                               if ($c ~ prefix "/sbin/usermod")
-                                       continue;
-                               if ($c ~ prefix "/sbin/installzope(product|3package)")
-                                       continue;
-                               if ($c ~ prefix "/share/automake")
-                                       continue;
-                               if ($c ~ prefix "/share/unsermake")
-                                       continue;
-                               if ($c ~ prefix "/lib/sendmail")
-                                       continue;
-                               if ($c ~ prefix "/lib/pkgconfig")
-                                       continue;
-
-                               # CFLAGS="-I/usr..." is usually correct.
-                               if (/-I\/usr/)
-                                       continue;
-                               # same for LDFLAGS="-L/usr..."
-                               if (/-L\/usr/)
-                                       continue;
-
-                               gsub(prefix, "%{_prefix}", $c)
-                       }
-               }
-               gsub("%{prefix}", "%{_prefix}")
-       }
-
-       # replace back
-       gsub("%{_includedir}/ncurses", "/usr/include/ncurses")
-       gsub("%{_includedir}/freetype", "/usr/include/freetype")
-
-       gsub("%{PACKAGE_VERSION}", "%{version}")
-       gsub("%{PACKAGE_NAME}", "%{name}")
-
-       gsub("^make$", "%{__make}")
-       gsub("^make ", "%{__make} ")
-       gsub("^gcc ", "%{__cc} ")
-
-       # mandrake specs
-       gsub("^%make$", "%{__make}")
-       gsub("^%make ", "%{__make} ")
-       gsub("^%makeinstall_std", "%{__make} install \\\n\tDESTDIR=$RPM_BUILD_ROOT")
-       gsub("^%{makeinstall}", "%{__make} install \\\n\tDESTDIR=$RPM_BUILD_ROOT")
-       gsub("^%makeinstall", "%{__make} install \\\n\tDESTDIR=$RPM_BUILD_ROOT")
-       gsub("^%{__rm} -rf %{buildroot}", "rm -rf $RPM_BUILD_ROOT")
-       gsub("^%{__install}", "install")
-       gsub("^%{__rm}", "rm")
-       gsub("%optflags", "%{rpmcflags}")
-       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")
-       $0 = fixedsub("%buildroot", "$RPM_BUILD_ROOT", $0)
-       $0 = fixedsub("%{buildroot}", "$RPM_BUILD_ROOT", $0)
-       $0 = fixedsub("CXXFLAGS=%{rpmcflags} %configure", "CXXFLAGS=%{rpmcflags}\n%configure", $0);
-
-       # split configure line to multiple lines
-       if (/%configure / && !/\\$/) {
-               $0 = format_configure($0);
-       }
-
-       gsub("%_bindir", "%{_bindir}")
-       gsub("%_datadir", "%{_datadir}")
-       gsub("%_iconsdir", "%{_iconsdir}")
-       gsub("%_sbindir", "%{_sbindir}")
-       gsub("%_mandir", "%{_mandir}")
-       gsub("%name", "%{name}")
-    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.294");
-    }
-
-}
-
-function format_configure(line,                n, a, s) {
-       n = split(line, a, / /);
-       s = a[1] " \\\n";
-       for (i = 2; i <= n; i++) {
-               s = s "\t" a[i] " \\\n"
-       }
-       return s
-}
-
-
-# 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)
-{
-       use_macros()
-
-       # skip comments
-       if (/^#/) {
-               return;
-       }
-
-       sub("^%doc %{_mandir}", "%{_mandir}")
-
-       gsub("^%{_sbindir}", "%attr(755,root,root) %{_sbindir}")
-       gsub("^%{_bindir}", "%attr(755,root,root) %{_bindir}")
-
-       # uid/gid nobody is not valid in %files
-       if (/%attr([^)]*nobody[^)]*)/ && !/FIXME/) {
-               $0 = $0 " # FIXME nobody user/group can't own files! -adapter.awk"
-       }
-
-       # s[gu]id programs with globs are evil
-       if (/%attr\([246]...,.*\*/ && !/FIXME/) {
-               $0 = $0 " # FIXME no globs for suid/sgid files"
-       }
-
-       # replace back
-       gsub("%{_sysconfdir}/cron\.d", "/etc/cron.d")
-       gsub("%{_sysconfdir}/crontab\.d", "/etc/crontab.d")
-       gsub("%{_sysconfdir}/logrotate\.d", "/etc/logrotate.d")
-       gsub("%{_sysconfdir}/pam\.d", "/etc/pam.d")
-       gsub("%{_sysconfdir}/profile\.d", "/etc/profile.d")
-       gsub("%{_sysconfdir}/rc\.d", "/etc/rc.d")
-       gsub("%{_sysconfdir}/security", "/etc/security")
-       gsub("%{_sysconfdir}/skel", "/etc/skel")
-       gsub("%{_sysconfdir}/sysconfig", "/etc/sysconfig")
-       gsub("%{_sysconfdir}/certs", "/etc/certs")
-       gsub("%{_sysconfdir}/init.d", "/etc/init.d")
-
-       # /etc/init.d -> /etc/rc.d/init.d
-       if (!/^\/etc\/init\.d$/) {
-                gsub("/etc/init.d", "/etc/rc.d/init.d")
-       }
-
-       if (/\/etc\/rc\.d\/init\.d\// && !/functions/) {
-               if (!/%attr.*\/etc\/rc\.d\/init\.d/) {
-                       $0 = "%attr(754,root,root) " $0
-               }
-               if (/^%attr.*\/etc\/rc\.d\/init\.d/ && !/^%attr\(754 *,/) {
-                       gsub("^%attr\\(... *,", "%attr(754,");
-               }
-       }
-
-       if (/lib.+\.so/ && !/\.so$/ && !/^%attr.*/ && !/%exclude/) {
-               $0 = "%attr(755,root,root) " $0
-       }
-
-       if (/%{perl_vendorarch}.*\.so$/ && !/^%attr.*/) {
-               $0 = "%attr(755,root,root) " $0
-       }
-
-       # /etc/sysconfig files
-       # %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/) {
-                       gsub("%config", "%config(noreplace)")
-               }
-
-               if (/\/etc\/sysconfig\// && !/%config\(noreplace/) {
-                       $NF = "%config(noreplace) " $NF
-               }
-
-               if (/\/etc\/sysconfig\// && /%attr\(755/) {
-                       gsub("^%attr\\(... *,", "%attr(640,");
-               }
-
-               if (/\/etc\/sysconfig\// && !/%verify/) {
-                       gsub("/etc/sysconfig", "%verify(not size mtime md5) /etc/sysconfig");
-               }
-       }
-
-       # kill leading zeros
-       if (/%attr\(0[1-9]/) {
-               gsub("%attr\\(0", "%attr(")
-       }
-
-    # kill default attrs
-    gsub(/%dir %attr\(755,root,root\)/, "%dir");
-    if (!/%dir/) {
-        gsub(/%attr\(644,root,root\) /, "");
-    }
-
-       # sort %verify attrs
-       if (match($0, /%verify\(not([^)]+)\)/)) {
-               t = substr($0, RSTART, RLENGTH)
-               # kill commas: %verify(not,md5,size,mtime)
-               gsub(/,/, " ", t);
-
-               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)
-       }
-
-       if (/%{_mandir}/) {
-               gsub("\.gz$", "*")
-       }
-
-       # locale dir and no %lang -> bad
-       if (/%{_datadir}\/locale\/.*\// && !/%(dir|lang)/) {
-               $(NF + 1) = "# FIXME consider using %find_lang"
-       }
-
-       # atrpms
-       $0 = fixedsub("%{perl_man1dir}", "%{_mandir}/man1", $0);
-       $0 = fixedsub("%{perl_man3dir}", "%{_mandir}/man3", $0);
-       $0 = fixedsub("%{perl_bin}", "%{_bindir}", $0);
-
-       gsub(libdir "/pkgconfig", "%{_pkgconfigdir}");
-       gsub("%{_libdir}/pkgconfig", "%{_pkgconfigdir}");
-       gsub("%{_prefix}/lib/pkgconfig", "%{_pkgconfigdir}");
-
-       gsub("%{_datadir}/applications", "%{_desktopdir}");
-       gsub("%{_datadir}/icons", "%{_iconsdir}");
-       gsub("%{_datadir}/pixmaps", "%{_pixmapsdir}");
-}
-
-function use_script_macros()
-{
-       if (gsub("/sbin/service", "%service")) {
-               sub(" >/dev/null 2>&1 \|\|:", "");
-               sub(" 2> /dev/null \|\| :", "");
-       }
-}
-
-function fill(ch, n, i) {
-       for (i = 0; i < n; i++)
-               printf("%c", ch)
-}
-
-function format_flush(line, indent, newline, word, first_word) {
-       first_word = 1
-       if (format_indent == -1)
-               newline = ""
-       else
-               newline = fill(" ", format_indent) "- "
-
-       while (match(line, /[^\t ]+/)) {
-               word = substr(line, RSTART, RLENGTH)
-               if (length(newline) + length(word) + 1 > tw) {
-                       print newline
-
-                       if (format_indent == -1)
-                               newline = ""
-                       else
-                               newline = fill(" ", format_indent + 2)
-                       first_word = 1
-               }
-
-               if (first_word) {
-                       newline = newline word
-                       first_word = 0
-               } else
-                       newline = newline " " word
-
-               line = substr(line, RSTART + RLENGTH)
-       }
-       if (newline ~ /[^\t ]/) {
-               print newline
-       }
-}
-
-function cflags(var)
-{
-       if ($0 == var "=\"$RPM_OPT_FLAGS\"") {
-               removed[var] = 1
-               return 0
-       }
-
-       if (!/!\?debug/)
-               sub("\$RPM_OPT_FLAGS", "%{rpmcflags}")
-       return 1
-}
-
-function demacroize(str)
-{
-       if (mod_name) {
-               sub("%{mod_name}", mod_name, str);
-       }
-       if (name) {
-               sub("%{name}", name, str);
-       }
-       if (version) {
-               sub("%{version}", version, str);
-       }
-       if (_beta) {
-               sub("%{_beta}", _beta, str);
-       }
-       if (_rc) {
-               sub("%{_rc}", _rc, str);
-       }
-       if (_pre) {
-               sub("%{_pre}", _pre, str);
-       }
-       if (_snap) {
-               sub("%{_snap}", _snap, str);
-       }
-       return str;
-}
-
-function kill_preamble_macros()
-{
-       if ($1 ~ /^URL:/ || $1 ~ /^Obsoletes:/) {
-               # NB! assigning $2 a value breaks tabbing
-               $2 = demacroize($2);
-               # unify sourceforge url
-               sub("\.sf\.net/$", ".sourceforge.net/", $2);
-       }
-}
-
-function get_epoch(pkg, ver,   epoch)
-{
-       return
-# should parse the BR lines more adequately:
-#      freetype = 2.0.0 -> correct
-#      freetype = 2.1.9 -> with epoch 1, as epoch 1 was added in 2.1.7
-
-       shell = "grep -o '^" pkg ":[^:]\+' ../PLD-doc/BuildRequires.txt | awk '{print $NF}'";
-       shell | getline epoch;
-       return epoch;
-}
-
-function format_requires(tag, value,   n, p, i, deps, ndeps) {
-       # skip any formatting for commented out items or some weird macros
-       if (/^#/ || /%\(/) {
-               return tag "\t" value
-       }
-       n = split(value, p, / *,? */);
-       for (i = 1; i <= n; i++) {
-               if (p[i+1] ~ /[<=>]/) {
-                       # add epoch if the version doesn't have it but BuildRequires.txt has
-                       if (p[i] ~ /^[a-z]/ && p[i+2] !~ /^[0-9]+:/) {
-                               epoch = get_epoch(p[i], p[i+2])
-                               if (epoch) {
-                                       p[i+2] = epoch ":" p[i+2];
-                               }
-                       }
-                       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);
-}
-
-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-/ && pkg !~ /^php-(pear|common|cli|devel|fcgi|cgi|dirs|program|ZendOptimizer|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:et
diff --git a/builder b/builder
deleted file mode 100644 (file)
index da56436..0000000
--- a/builder
+++ /dev/null
@@ -1,2354 +0,0 @@
-#!/bin/ksh
-# -----------
-# Exit codes:
-#        0 - succesful
-#        1 - help displayed
-#        2 - no spec file name in cmdl parameters
-#        3 - spec file not stored in repo
-#        4 - some source, patch or icon files not stored in repo
-#        5 - package build failed
-#        6 - spec file with errors
-#        7 - wrong source in /etc/poldek.conf
-#        8 - Failed installing buildrequirements and subrequirements
-#        9 - Requested tag already exist
-#       10 - Refused to build fractional release
-#      100 - Unknown error (should not happen)
-
-# Notes (todo):
-#      - builder -u fetches current version first (well that's okay, how you compare versions if you have no old spec?)
-#      - when Icon: field is present, -5 and -a5 doesn't work
-#      - builder -R skips installing BR if spec is not present before builder invocation (need to run builder twice)
-
-RCSID='$Id$'
-r=${RCSID#* * }
-rev=${r%% *}
-VERSION="v0.18/$rev"
-VERSIONSTRING="\
-Build package utility from PLD Linux CVS repository
-$VERSION (C) 1999-2007 Free Penguins".
-
-PATH="/bin:/usr/bin:/usr/sbin:/sbin:/usr/X11R6/bin"
-
-COMMAND="build"
-TARGET=""
-
-SPECFILE=""
-BE_VERBOSE=""
-QUIET=""
-CLEAN=""
-DEBUG=""
-NOURLS=""
-NOCVS=""
-NOCVSSPEC=""
-NODIST=""
-NOINIT=""
-UPDATE=""
-ADD5=""
-NO5=""
-ALWAYS_CVSUP=${ALWAYS_CVSUP:-"yes"}
-CVSROOT=""
-
-# user agent when fetching files
-USER_AGENT="PLD/Builder($VERSION)"
-
-# It can be used i.e. in log file naming.
-# See LOGFILE example.
-DATE=`date +%Y-%m-%d_%H-%M-%S`
-
-# Example: LOGFILE='../log.$PACKAGE_NAME'
-# Example: LOGFILE='../LOGS/log.$PACKAGE_NAME.$DATE'
-# Yes, you can use variable name! Note _single_ quotes!
-LOGFILE=''
-
-LOGDIR=""
-LOGDIROK=""
-LOGDIRFAIL=""
-LASTLOG_FILE=""
-
-CHMOD="no"
-CHMOD_MODE="0444"
-RPMOPTS=""
-RPMBUILDOPTS=""
-BCOND=""
-GROUP_BCONDS="no"
-CVSIGNORE_DF="no"
-
-PATCHES=""
-SOURCES=""
-ICONS=""
-PACKAGE_RELEASE=""
-PACKAGE_VERSION=""
-PACKAGE_NAME=""
-ASSUMED_NAME=""
-PROTOCOL="ftp"
-WGET_RETRIES=${MAX_WGET_RETRIES:-0}
-CVS_RETRIES=${MAX_CVS_RETRIES:-1000}
-
-CVSTAG=""
-RES_FILE=""
-CVS_FORCE=""
-
-CVS_SERVER="cvs.pld-linux.org"
-DISTFILES_SERVER="://distfiles.pld-linux.org"
-ATTICDISTFILES_SERVER="://attic-distfiles.pld-linux.org"
-
-DEF_NICE_LEVEL=19
-SCHEDTOOL="auto"
-
-FAIL_IF_NO_SOURCES="yes"
-
-# let get_files skip over files which are present to get those damn files fetched
-SKIP_EXISTING_FILES="no"
-
-TRY_UPGRADE=""
-# should the specfile be restored if upgrade failed?
-REVERT_BROKEN_UPGRADE="yes"
-
-if [ -x /usr/bin/rpm-getdeps ]; then
-       FETCH_BUILD_REQUIRES_RPMGETDEPS="yes"
-else
-       FETCH_BUILD_REQUIRES_RPMGETDEPS="no"
-fi
-
-# Here we load saved user environment used to
-# predefine options set above, or passed to builder
-# in command line.
-# This one reads global system environment settings:
-if [ -f ~/etc/builderrc ]; then
-       . ~/etc/builderrc
-fi
-# And this one cascades settings using user personal
-# builder settings.
-# Example of ~/.builderrc:
-#
-#UPDATE_POLDEK_INDEXES="yes"
-#FETCH_BUILD_REQUIRES="yes"
-#REMOVE_BUILD_REQUIRES="force"
-#GROUP_BCONDS="yes"
-#LOGFILE='../LOGS/log.$PACKAGE_NAME.$DATE'
-#TITLECHANGE=no
-#
-SU_SUDO=""
-if [ -n "$HOME_ETC" ]; then
-       USER_CFG="$HOME_ETC/.builderrc"
-       BUILDER_MACROS="$HOME_ETC/.builder-rpmmacros"
-else
-       USER_CFG=~/.builderrc
-       BUILDER_MACROS=~/.builder-rpmmacros
-fi
-
-[ -f "$USER_CFG" ] && . "$USER_CFG"
-
-if [ "$SCHEDTOOL" = "auto" ]; then
-       if [ -x /usr/bin/schedtool ] && schedtool -B -e echo >/dev/null; then
-               SCHEDTOOL="schedtool -B -e"
-       else
-               SCHEDTOOL="no"
-       fi
-fi
-
-if [ -n "$USE_PROZILLA" ]; then
-       GETURI="proz --no-getch -r -P ./ -t$WGET_RETRIES $PROZILLA_OPTS"
-       GETURI2="$GETURI"
-       OUTFILEOPT="-O"
-elif [ -n "$USE_AXEL" ]; then
-       GETURI="axel -a $AXEL_OPTS"
-       GETURI2="$GETURI"
-       OUTFILEOPT="-o"
-else
-       wget --help 2>&1 | grep -q -- ' --no-check-certificate ' && WGET_OPTS="$WGET_OPTS --no-check-certificate"
-       wget --help 2>&1 | grep -q -- ' --inet ' && WGET_OPTS="$WGET_OPTS --inet"
-       wget --help 2>&1 | grep -q -- ' --retry-connrefused ' && WGET_OPTS="$WGET_OPTS --retry-connrefused"
-       WGET_OPTS="$WGET_OPTS --user-agent=$USER_AGENT"
-
-       GETURI="wget --passive-ftp -c -nd -t$WGET_RETRIES $WGET_OPTS"
-       GETURI2="wget -c -nd -t$WGET_RETRIES $WGET_OPTS"
-       OUTFILEOPT="-O"
-fi
-
-GETLOCAL="cp -a"
-
-if (rpm --version 2>&1 | grep -q '4.0.[0-2]'); then
-       RPM="rpm"
-       RPMBUILD="rpm"
-else
-       RPM="rpm"
-       RPMBUILD="rpmbuild"
-fi
-
-POLDEK_INDEX_DIR="`$RPM --eval %_rpmdir`/"
-POLDEK_CMD="$SU_SUDO /usr/bin/poldek --noask"
-
-run_poldek()
-{
-       RES_FILE=~/tmp/poldek-exit-status.$RANDOM
-       if [ -n "$LOGFILE" ]; then
-               LOG=`eval echo $LOGFILE`
-               if [ -n "$LASTLOG_FILE" ]; then
-                       echo "LASTLOG=$LOG" > $LASTLOG_FILE
-               fi
-               (${NICE_COMMAND} ${POLDEK_CMD} `while test $# -gt 0; do echo "$1 ";shift;done` ; echo $? > ${RES_FILE})|tee -a $LOG
-               return $exit_pldk
-       else
-               (${NICE_COMMAND} ${POLDEK_CMD} `while test $# -gt 0; do echo "$1 ";shift;done` ; echo $? > ${RES_FILE}) 1>&2 >/dev/null
-               return `cat ${RES_FILE}`
-               rm -rf ${RES_FILE}
-       fi
-}
-
-#---------------------------------------------
-# functions
-
-usage()
-{
-       if [ -n "$DEBUG" ]; then set -xv; fi
-       echo "\
-Usage: builder [-D|--debug] [-V|--version] [--short-version] [-a|--as_anon] [-b|-ba|--build]
-[-bb|--build-binary] [-bs|--build-source] [-bc] [-bi] [-bl] [-u|--try-upgrade]
-[{-cf|--cvs-force}] [{-B|--branch} <branch>] [{-d|--cvsroot} <cvsroot>]
-[-g|--get] [-h|--help] [--http] [{-l|--logtofile} <logfile>] [-m|--mr-proper]
-[-q|--quiet] [--date <yyyy-mm-dd> [-r <cvstag>] [{-T|--tag <cvstag>]
-[-Tvs|--tag-version-stable] [-Ts|--tag-stable] [-Tv|--tag-version]
-[{-Tp|--tag-prefix} <prefix>] [{-tt|--test-tag}]
-[-nu|--no-urls] [-v|--verbose] [--opts <rpm opts>] [--short-circuit]
-[--show-bconds] [--with/--without <feature>] [--define <macro> <value>]
-<package>[.spec][:cvstag]
-
--5, --update-md5    - update md5 comments in spec, implies -nd -ncs
--a5, --add-md5      - add md5 comments to URL sources, implies -nc -nd -ncs
--n5, --no-md5       - ignore md5 comments in spec
--D, --debug         - enable builder script debugging mode,
--debug              - produce rpm debug package (same as --opts -debug)
--V, --version       - output builder version string
---short-version     - output builder short version
--a, --as_anon       - get files via pserver as cvs@$CVS_SERVER,
--b, -ba, --build    - get all files from CVS repo or HTTP/FTP and build package
-                      from <package>.spec,
--bb, --build-binary - get all files from CVS repo or HTTP/FTP and build binary
-                      only package from <package>.spec,
--bp, --build-prep   - execute the %prep phase of <package>.spec,
--bc                 - execute the %build phase of <package>.spec,
--bi                 - execute the %install phase of <package>.spec
--bl                                    - execute the %files phase of <package>.spec
--bs, --build-source - get all files from CVS repo or HTTP/FTP and only pack
-                      them into src.rpm,
---short-circuit     - short-circuit build
--B, --branch        - add branch
--c, --clean         - clean all temporarily created files (in BUILD, SOURCES,
-                      SPECS and \$RPM_BUILD_ROOT),
--cf, --cvs-force       - use -F when tagging (useful when moving branches)
--d <cvsroot>, --cvsroot <cvsroot>
-                    - setup \$CVSROOT,
---define <macro> <value>
-                    - define a macro <macro> with value <value>,
---nodeps            - rpm won't check any dependences
--g, --get           - get <package>.spec and all related files from CVS repo
-                      or HTTP/FTP,
--h, --help          - this message,
---http              - use http instead of ftp,
--l <logfile>, --logtofile <logfile>
-                    - log all to file,
--m, --mr-proper     - only remove all files related to spec file and all work
-                      resources,
--nc, --no-cvs       - don't download sources from CVS, if source URL is given,
--ncs, --no-cvs-specs
-                    - don't check specs in CVS
--nd, --no-distfiles - don't download from distfiles
--nm, --no-mirrors   - don't download from mirror, if source URL is given,
--nu, --no-urls      - don't try to download from FTP/HTTP location,
--ns, --no-srcs      - don't download Sources
--ns0, --no-source0  - don't download Source0
--nn, --no-net       - don't download anything from the net
---no-init           - don't initialize builder paths (SPECS and SOURCES)
--ske,
---skip-existing-files - skip existing files in get_files
---opts <rpm opts>   - additional options for rpm
--q, --quiet         - be quiet,
---date yyyy-mm-dd   - build package using resources from specified CVS date,
--r <cvstag>, --cvstag <cvstag>
-                    - build package using resources from specified CVS tag,
--A                  - build package using CVS resources as any sticky tags/date/kopts being reset.
--R, --fetch-build-requires
-                    - fetch what is BuildRequired,
--RB, --remove-build-requires
-                    - remove all you fetched with -R or --fetch-build-requires
-                      remember, this option requires confirmation,
--FRB, --force-remove-build-requires
-                    - remove all you fetched with -R or --fetch-build-requires
-                      remember, this option works without confirmation,
--sd, --source-distfiles - list sources available from distfiles (intended for offline
-                      operations; does not work when Icon field is present
-                      but icon file is absent),
--sc, --source-cvs - list sources available from CVS
--sdp, --source-distfiles-paths - list sources available from distfiles -
-                      paths relative to distfiles directory (intended for offline
-                      operations; does not work when Icon field is present
-                      but icon file is absent),
--sf, --source-files - list sources - bare filenames (intended for offline
-                      operations; does not work when Icon field is present
-                      but icon file is absent),
--sp, --source-paths - list sources - filenames with full local paths (intended for
-                      offline operations; does not work when Icon field is present
-                      but icon file is absent),
--su, --source-urls  - list urls - urls to sources and patches
-                      intended for copying urls with spec with lots of macros in urls
--T <cvstag> , --tag <cvstag>
-                    - add cvs tag <cvstag> for files,
--Tvs, --tag-version-stable
-                    - add cvs tags STABLE and NAME-VERSION-RELEASE for files,
--Ts, --tag-stable
-                    - add cvs tag STABLE for files,
--Tv, --tag-version
-                    - add cvs tag NAME-VERSION-RELEASE for files,
--Tp, --tag-prefix <prefix>
-                    - add <prefix> to NAME-VERSION-RELEASE tags,
--tt, --test-tag <prefix>
-                    - fail if tag is already present,
--ir, --integer-release-only
-                    - allow only integer and snapshot releases
--v, --verbose       - be verbose,
--u, --try-upgrade   - check version, and try to upgrade package
--un, --try-upgrade-with-float-version
-                    - as above, but allow float version
--U, --update        - refetch sources, don't use distfiles, and update md5 comments
--Upi, --update-poldek-indexes
-                    - refresh or make poldek package index files.
--np, --nopatch <patchnumber>
-                    - don't apply <patchnumber>
---show-bconds       - show available conditional builds, which can be used
-                    - with --with and/or --without switches.
---show-bcond-args   - show active bconds, from ~/.bcondrc. this is used by
-                      ./repackage.sh script. in other words, the output is
-                      parseable by scripts.
---with/--without <feature>
-                    - conditional build package depending on %_with_<feature>/
-                      %_without_<feature> macro switch.  You may now use
-                      --with feat1 feat2 feat3 --without feat4 feat5 --with feat6
-                      constructions. Set GROUP_BCONDS to yes to make use of it.
---target <platform>, --target=<platform>
-                     - build for platform <platform>.
---init-rpm-dir       - initialize ~/rpm directory structure
-"
-}
-
-update_shell_title() {
-       [ -t 1 ] || return
-       local len=${COLUMNS:-80}
-       local msg=$(echo "$*" | cut -c-$len)
-
-       if [ -n "$BE_VERBOSE" ]; then
-               echo >&2 "$(date +%s.%N) $*"
-       fi
-
-       if [ "x$TITLECHANGE" == "xyes" -o "x$TITLECHANGE" == "x" ]; then
-               local pkg
-               if [ -n "$PACKAGE_NAME" ]; then
-                       pkg=${PACKAGE_NAME}-${PACKAGE_VERSION}-${PACKAGE_RELEASE}
-               else
-                       pkg=${SPECFILE}
-               fi
-
-               msg="$pkg: ${SHELL_TITLE_PREFIX:+$SHELL_TITLE_PREFIX }$msg"
-               msg="$(echo $msg | tr -d '\n\r')"
-               case "$TERM" in
-                       cygwin|xterm*)
-                       echo >&2 -ne "\033]1;$msg\007\033]2;$msg\007"
-               ;;
-                       screen*)
-                       echo >&2 -ne "\033]0;$msg\007"
-               ;;
-               esac
-       fi
-}
-
-# set TARGET from BuildArch: from SPECFILE
-set_spec_target() {
-       if [ -n "$SPECFILE" ] && [ -z "$TARGET" ]; then
-               tmp=$(awk '/^BuildArch:/ { print $NF}' $SPECFILE)
-               if [ "$tmp" ]; then
-                               target_platform=$(rpm -E '%{_target_vendor}-%{_target_os}%{?_gnu}')
-                               TARGET="$tmp"
-                               case "$RPMBUILD" in
-                               "rpmbuild")
-                                       TARGET_SWITCH="--target ${TARGET}-${target_platform}" ;;
-                               "rpm")
-                                       TARGET_SWITCH="--target=$TARGET" ;;
-                               esac
-               fi
-       fi
-}
-
-# runs rpm with minimal macroset
-minirpm() {
-       # we reset macros not to contain macros.build as all the %() macros are
-       # executed here, while none of them are actually needed.
-       # at the time of this writing macros.build + macros contained 70 "%(...)" macros.
-       safe_macrofiles=$(rpm --showrc | awk -F: '/^macrofiles/ { gsub(/^macrofiles[ \t]+:/, "", $0); gsub(/:.*macros.build:/, ":", $0); print $0 } ')
-
-       # TODO: move these to /usr/lib/rpm/macros
-       cat > $BUILDER_MACROS <<'EOF'
-%x8664 x86_64 amd64 ia32e
-%alt_kernel %{nil}
-%_alt_kernel %{nil}
-%requires_releq_kernel_up %{nil}
-%requires_releq_kernel_smp %{nil}
-%requires_releq_kernel %{nil}
-%requires_releq() %{nil}
-%pyrequires_eq() %{nil}
-%requires_eq() %{nil}
-%requires_eq_to() %{nil}
-%releq_kernel_up ERROR
-%releq_kernel_smp ERROR
-%releq_kernel ERROR
-%kgcc_package ERROR
-%_fontsdir ERROR
-%ruby_version ERROR
-%ruby_ver_requires_eq() %{nil}
-%ruby_mod_ver_requires_eq() %{nil}
-%__php_api_requires() %{nil}
-%php_major_version ERROR
-%php_api_version ERROR
-%py_ver ERROR
-%perl_vendorarch ERROR
-%perl_vendorlib ERROR
-# damn. need it here! - copied from /usr/lib/rpm/macros.build
-%tmpdir                %(echo "${TMPDIR:-/tmp}")
-%patchset_source(f:b:) %(
-       base=%{-b*}%{!-b*:10000};
-       start=$(expr $base + %1);
-       end=$(expr $base + %{?2}%{!?2:%{1}});
-       # we need to call seq twice as it doesn't allow two formats
-       seq -f 'Patch%g:' $start $end > %{tmpdir}/__ps1;
-       seq -f '%{-f*}' %1 %{?2}%{!?2:%{1}} > %{tmpdir}/__ps2;
-       paste %{tmpdir}/__ps{1,2};
-       rm -f %{tmpdir}/__ps{1,2};
-) \
-%{nil}
-EOF
-       if [ "$NOINIT" = "yes" ] ; then
-               cat >> $BUILDER_MACROS <<'EOF'
-%_specdir ./
-%_sourcedir ./
-EOF
-       fi
-       eval $RPMBUILD --macros "$safe_macrofiles:$BUILDER_MACROS" $QUIET $RPMOPTS $RPMBUILDOPTS $BCOND $TARGET_SWITCH $* 2>&1
-}
-
-cache_rpm_dump() {
-       if [ -n "$DEBUG" ]; then
-               set -x
-               set -v
-       fi
-
-       update_shell_title "cache_rpm_dump"
-       local rpm_dump
-       rpm_dump=`
-               # what we need from dump is NAME, VERSION, RELEASE and PATCHES/SOURCES.
-               dump='%{echo:dummy: PACKAGE_NAME %{name} }%dump'
-               case "$RPMBUILD" in
-               rpm)
-                       ARGS='-bp'
-                       ;;
-               rpmbuild)
-                       ARGS='--nodigest --nosignature --nobuild'
-                       ;;
-               esac
-               minirpm $ARGS --define "'prep $dump'" --nodeps $SPECFILE
-       `
-       if [ $? -gt 0 ]; then
-               error=$(echo "$rpm_dump" | sed -ne '/^error:/,$p')
-               echo "$error" >&2
-               Exit_error err_build_fail
-       fi
-
-       # make small dump cache
-       rpm_dump_cache=`echo "$rpm_dump" | awk '
-               $2 ~ /^SOURCEURL/ {print}
-               $2 ~ /^PATCHURL/  {print}
-               $2 ~ /^nosource/ {print}
-               $2 ~ /^PACKAGE_/ {print}
-       '`
-
-       update_shell_title "cache_rpm_dump: OK!"
-}
-
-rpm_dump() {
-       if [ -z "$rpm_dump_cache" ] ; then
-               echo "internal error: cache_rpm_dump not called! (missing %prep?)" 1>&2
-       fi
-       echo "$rpm_dump_cache"
-}
-
-get_icons()
-{
-       update_shell_title "get icons"
-       ICONS="`awk '/^Icon:/ {print $2}' ${SPECFILE}`"
-       if [ -z "$ICONS" ]; then
-               return
-       fi
-
-       rpm_dump_cache="kalasaba" NODIST="yes" get_files $ICONS
-}
-
-parse_spec()
-{
-       update_shell_title "parsing specfile"
-       if [ -n "$DEBUG" ]; then
-               set -x
-               set -v
-       fi
-
-       # icons are needed for successful spec parse
-       get_icons
-
-       cd $SPECS_DIR
-       cache_rpm_dump
-
-       if [ "$NOSRCS" != "yes" ]; then
-               SOURCES="`rpm_dump | awk '/SOURCEURL[0-9]+/ {print $3}'`"
-       fi
-
-       if (rpm_dump | grep -qEi ":.*nosource.*1"); then
-               FAIL_IF_NO_SOURCES="no"
-       fi
-
-       PATCHES="`rpm_dump | awk '/PATCHURL[0-9]+/ {print $3}'`"
-       ICONS="`awk '/^Icon:/ {print $2}' ${SPECFILE}`"
-       PACKAGE_NAME=$(rpm_dump | awk '$2 == "PACKAGE_NAME" { print $3; exit}')
-       PACKAGE_VERSION=$(rpm_dump | awk '$2 == "PACKAGE_VERSION" { print $3; exit}')
-       PACKAGE_RELEASE=$(rpm_dump | awk '$2 == "PACKAGE_RELEASE" { print $3; exit}')
-
-       if [ "$PACKAGE_NAME" != "$ASSUMED_NAME" ]; then
-               echo "WARNING! Spec name ($ASSUMED_NAME) does not agree with package name ($PACKAGE_NAME)"
-       fi
-
-       if [ -n "$BE_VERBOSE" ]; then
-               echo "- Sources :  `nourl $SOURCES`"
-               if [ -n "$PATCHES" ]; then
-                       echo "- Patches :  `nourl $PATCHES`"
-               else
-                       echo "- Patches :  *no patches needed*"
-               fi
-               if [ -n "$ICONS" ]; then
-                       echo "- Icon    :  `nourl $ICONS`"
-               else
-                       echo "- Icon    :  *no package icon*"
-               fi
-               echo "- Name    : $PACKAGE_NAME"
-               echo "- Version : $PACKAGE_VERSION"
-               echo "- Release : $PACKAGE_RELEASE"
-       fi
-
-       update_shell_title "parse_spec: OK!"
-}
-
-Exit_error()
-{
-       if [ -n "$DEBUG" ]; then
-               set -x
-               set -v
-       fi
-
-       cd "$__PWD"
-
-       case "$1" in
-               "err_no_spec_in_cmdl" )
-                       remove_build_requires
-                       echo "ERROR: spec file name not specified."
-                       exit 2 ;;
-               "err_invalid_cmdline" )
-                       echo "ERROR: invalid command line arg ($2)."
-                       exit 2 ;;
-               "err_no_spec_in_repo" )
-                       remove_build_requires
-                       echo "Error: spec file not stored in CVS repo."
-                       exit 3 ;;
-               "err_no_source_in_repo" )
-                       remove_build_requires
-                       echo "Error: some source, patch or icon files not stored in CVS repo. ($2)"
-                       exit 4 ;;
-               "err_build_fail" )
-                       remove_build_requires
-                       echo "Error: package build failed. (${2:-no more info})"
-                       exit 5 ;;
-               "err_no_package_data" )
-                       remove_build_requires
-                       echo "Error: couldn't get out package name/version/release from spec file."
-                       exit 6 ;;
-               "err_tag_exists" )
-                       remove_build_requires
-                       echo "Tag ${2} already exists (spec release: ${3})."
-                       exit 9 ;;
-               "err_fract_rel" )
-                       remove_build_requires
-                       echo "Release ${2} not integer and not a snapshot."
-                       exit 10 ;;
-               "err_branch_exists" )
-                       remove_build_requires
-                       echo "Tree branch already exists (${2})."
-                       exit 11 ;;
-               "err_acl_deny" )
-                       remove_build_requires
-                       echo "Error: conditions reject building this spec (${2})."
-                       exit 12 ;;
-       esac
-       echo "Unknown error."
-       exit 100
-}
-
-init_builder()
-{
-       if [ -n "$DEBUG" ]; then
-               set -x
-               set -v
-       fi
-
-       if [ "$NOINIT" != "yes" ] ; then
-               SOURCE_DIR="`eval $RPM $RPMOPTS --define '"name $ASSUMED_NAME"' --eval '%{_sourcedir}'`"
-               SPECS_DIR="`eval $RPM $RPMOPTS --define '"name $ASSUMED_NAME"' --eval '%{_specdir}'`"
-       else
-               SOURCE_DIR="."
-               SPECS_DIR="."
-       fi
-
-       __PWD="`pwd`"
-}
-
-get_spec()
-{
-
-       update_shell_title "get_spec"
-
-       if [ -n "$DEBUG" ]; then
-               set -x
-               set -v
-       fi
-
-       cd "$SPECS_DIR"
-       if [ ! -f "$SPECFILE" ]; then
-               SPECFILE="`basename $SPECFILE .spec`.spec"
-       fi
-       if [ "$NOCVSSPEC" != "yes" ]; then
-
-               if [ ! -s CVS/Root -a "$NOCVSSPEC" != "yes" ]; then
-                       echo "Warning: No CVS access defined - using local .spec file"
-                       NOCVSSPEC="yes"
-               fi
-
-               cvsup "$SPECFILE" || Exit_error err_no_spec_in_repo
-       fi
-
-       if [ ! -f "$SPECFILE" ]; then
-               Exit_error err_no_spec_in_repo
-       fi
-
-       if [ "$CHMOD" = "yes" -a -n "$SPECFILE" ]; then
-               chmod $CHMOD_MODE $SPECFILE
-       fi
-       unset OPTIONS
-       [ -n "$DONT_PRINT_REVISION" ] || grep -E -m 1 "^#.*Revision:.*Date" $SPECFILE
-
-       set_spec_target
-}
-
-find_mirror()
-{
-       cd "$SPECS_DIR"
-       local url="$1"
-       if [ ! -f "mirrors" -a "$NOCVSSPEC" != "yes" ] ; then
-               cvs update mirrors >&2
-       fi
-
-       IFS="|"
-       local origin mirror name rest ol prefix
-       while read origin mirror name rest; do
-               # skip comments and empty lines
-               if [ -z "$origin" ] || [[ $origin == \#* ]]; then
-                       continue
-               fi
-               ol=`echo -n "$origin"|wc -c`
-               prefix="`echo -n "$url" | head -c $ol`"
-               if [ "$prefix" = "$origin" ] ; then
-                       suffix="`echo "$url"|cut -b $((ol+1))-`"
-                       echo -n "$mirror$suffix"
-                       return 0
-               fi
-       done < mirrors
-       echo "$url"
-}
-
-# Warning: unpredictable results if same URL used twice
-src_no ()
-{
-       cd $SPECS_DIR
-       rpm_dump | \
-       grep "SOURCEURL[0-9]*[  ]*$1""[         ]*$" | \
-       sed -e 's/.*SOURCEURL\([0-9][0-9]*\).*/\1/' | \
-       head -n 1 | xargs
-}
-
-src_md5()
-{
-       [ "$NO5" = "yes" ] && return
-       no=$(src_no "$1")
-       [ -z "$no" ] && return
-       cd $SPECS_DIR
-       local md5
-
-       if [ -f additional-md5sums ]; then
-               local spec_rev=$(grep $SPECFILE CVS/Entries 2>/dev/null | sed -e s:/$SPECFILE/:: -e s:/.*::)
-               if [ -z "$spec_rev" ]; then
-                       spec_rev="$(head -n 1 $SPECFILE | sed -e 's/.*\$Revision: \([0-9.]*\).*/\1/')"
-               fi
-               local spec="$SPECFILE[0-9.,]*,$(echo $spec_rev | sed 's/\./\\./g')"
-               md5=$(grep -s -v '^#' additional-md5sums | \
-               grep -E "[      ]$(basename "$1")[      ]+${spec}([     ,]|\$)" | \
-               sed -e 's/^\([0-9a-f]\{32\}\).*/\1/' | \
-               grep -E '^[0-9a-f]{32}$')
-
-               if [ "$md5" ]; then
-                       if [ $(echo "$md5" | wc -l) != 1 ] ; then
-                               echo "$SPECFILE: more then one entry in additional-md5sums for $1" 1>&2
-                       fi
-                       echo "$md5" | tail -n 1
-                       return
-               fi
-       fi
-
-       source_md5=`grep -i "#[         ]*Source$no-md5[        ]*:" $SPECFILE | sed -e 's/.*://'`
-       if [ -n "$source_md5" ]; then
-               echo $source_md5
-       else
-               # we have empty SourceX-md5, but it is still possible
-               # that we have NoSourceX-md5 AND NoSource: X
-               nosource_md5=`grep -i "#[        ]*NoSource$no-md5[      ]*:" $SPECFILE | sed -e 's/.*://'`
-               if [ -n "$nosource_md5" -a -n "`grep -i "^NoSource:[     ]*$no$" $SPECFILE`" ] ; then
-                       echo $nosource_md5
-               fi
-       fi
-}
-
-distfiles_path ()
-{
-       echo "by-md5/$(src_md5 "$1" | sed -e 's|^\(.\)\(.\)|\1/\2/&|')/$(basename "$1")"
-}
-
-distfiles_url ()
-{
-       echo "$PROTOCOL$DISTFILES_SERVER/distfiles/$(distfiles_path "$1")"
-}
-
-distfiles_attic_url ()
-{
-       echo "$PROTOCOL$ATTICDISTFILES_SERVER/distfiles/Attic/$(distfiles_path "$1")"
-}
-
-good_md5 ()
-{
-       md5=$(src_md5 "$1")
-       [ "$md5" = "" ] || \
-       [ "$md5" = "$(md5sum $(nourl "$1") 2> /dev/null | sed -e 's/ .*//')" ]
-}
-
-good_size ()
-{
-       size="$(find $(nourl "$1") -printf "%s" 2>/dev/null)"
-       [ -n "$size" -a "$size" -gt 0 ]
-}
-
-cvsignore_df ()
-{
-       if [ "$CVSIGNORE_DF" != "yes" ]; then
-               return
-       fi
-       cvsignore=${SOURCE_DIR}/.cvsignore
-       if ! grep -q "^$1\$" $cvsignore 2> /dev/null; then
-               echo "$1" >> $cvsignore
-       fi
-}
-
-cvsup()
-{
-       update_shell_title "cvsup"
-       local OPTIONS="up "
-       if [ -n "$CVSROOT" ]; then
-               OPTIONS="-d $CVSROOT $OPTIONS"
-       fi
-
-       if [ -z "$CVSDATE" -a -z "$CVSTAG" ]; then
-               OPTIONS="$OPTIONS -A"
-       else
-               if [ -n "$CVSDATE" ]; then
-                       OPTIONS="$OPTIONS -D $CVSDATE"
-               fi
-               if [ -n "$CVSTAG" ]; then
-                       OPTIONS="$OPTIONS -r $CVSTAG"
-               fi
-       fi
-
-       local result=1
-       local retries_counter=0
-       if [ $# = 1 ]; then
-               update_shell_title "cvsup: $*"
-       else
-               update_shell_title "cvsup: $# files"
-       fi
-       while [ "$result" != "0" -a "$retries_counter" -le "$CVS_RETRIES" ]; do
-               retries_counter=$(( $retries_counter + 1 ))
-               output=$(LC_ALL=C cvs $OPTIONS "$@" 2>&1)
-               result=$?
-               [ -n "$output" ] && echo "$output"
-               if (echo "$output" | grep -qE "(Cannot connect to|connect to .* failed|Connection reset by peer|Connection timed out|Unknown host)") && [ "$result" -ne "0" -a "$retries_counter" -le "$CVS_RETRIES" ]; then
-                       echo "Trying again [$*]... ($retries_counter)"
-                       update_shell_title "cvsup: retry #$retries_counter"
-                       sleep 2
-                       continue
-               else
-                       break
-               fi
-       done
-       update_shell_title "cvsup: done!"
-       return $result
-}
-
-# returns true if "$1" is ftp, http or https protocol url
-is_url()
-{
-       case "$1" in
-       ftp://*|http://*|https://*)
-               return 0
-       ;;
-       esac
-       return 1
-}
-
-update_md5()
-{
-       if [ $# -eq 0 ]; then
-               return
-       fi
-
-       update_shell_title "update md5"
-       if [ -n "$DEBUG" ]; then
-               set -x
-               set -v
-       fi
-
-       cd "$SOURCE_DIR"
-
-       # pass 1: check files to be fetched
-       local todo
-       local need_files
-       for i in "$@"; do
-               local fp=$(nourl "$i")
-               local srcno=$(src_no "$i")
-               if [ -n "$ADD5" ]; then
-                       [ "$fp" = "$i" ] && continue # FIXME what is this check doing?
-                       grep -qiE '^#[  ]*Source'$srcno'-md5[   ]*:' $SPECS_DIR/$SPECFILE && continue
-               else
-                       grep -qiE '^#[  ]*Source'$srcno'-md5[   ]*:' $SPECS_DIR/$SPECFILE || continue
-               fi
-               if [ ! -f "$fp" ] || [ $ALWAYS_CVSUP = "yes" ]; then
-                       need_files="$need_files $i"
-               fi
-       done
-
-       # pass 1a: get needed files
-       if [ "$need_files" ]; then
-               get_files $need_files
-       fi
-
-       # pass 2: proceed with md5 adding or updating
-       for i in "$@"; do
-               local fp=$(nourl "$i")
-               local srcno=$(src_no "$i")
-               local md5=$(grep -iE '^#[       ]*(No)?Source'$srcno'-md5[      ]*:' $SPECS_DIR/$SPECFILE )
-               if [ -n "$ADD5" ] && is_url $i || [ -n "$md5" ]; then
-                       local tag="Source$srcno-md5"
-                       if [[ "$md5" == *NoSource* ]]; then
-                               tag="NoSource$srcno-md5"
-                       fi
-                       md5=$(md5sum "$fp" | cut -f1 -d' ')
-                       echo "Updating $tag ($md5: $fp)."
-                       perl -i -ne '
-                               print unless /^\s*#\s*(No)?Source'$srcno'-md5\s*:/i;
-                               print "# '$tag':\t'$md5'\n" if /^Source'$srcno'\s*:\s+/;
-                       ' \
-                       $SPECS_DIR/$SPECFILE
-               fi
-       done
-}
-
-check_md5()
-{
-       update_shell_title "check md5"
-
-       for i in "$@"; do
-               if good_md5 "$i" && good_size "$i"; then
-                       continue
-               fi
-
-               echo "MD5 sum mismatch or 0 size.  Use -U to refetch sources,"
-               echo "or -5 to update md5 sums, if you're sure files are correct."
-               Exit_error err_no_source_in_repo $i
-       done
-}
-
-get_files()
-{
-       update_shell_title "get_files"
-
-       if [ -n "$DEBUG" ]; then
-               set -x
-               set -v
-       fi
-
-       if [ $# -gt 0 ]; then
-               cd "$SOURCE_DIR"
-
-               if [ ! -s CVS/Root -a "$NOCVS" != "yes" ]; then
-                       echo "Warning: No CVS access defined for SOURCES"
-                       NOCVS="yes"
-               fi
-
-               local nc=0
-               local get_files_cvs=""
-               for i in "$@"; do
-                       nc=$((nc + 1))
-                       local cvsup=0
-                       SHELL_TITLE_PREFIX="get_files[$nc/$#]"
-                       update_shell_title "$i"
-                       local fp=`nourl "$i"`
-                       if [ "$SKIP_EXISTING_FILES" = "yes" ] && [ -f "$fp" ]; then
-                               continue
-                       fi
-
-                       FROM_DISTFILES=0
-                       local srcmd5=$(src_md5 "$i")
-
-                       # we know if source/patch is present in cvs/distfiles
-                       # - has md5 (in distfiles)
-                       # - in cvs... ideas?
-
-                       # CHECK: local file didn't exist or always cvs up (first) requested.
-                       if [ ! -f "$fp" ] || [ $ALWAYS_CVSUP = "yes" ]; then
-                               if echo $i | grep -vE '(http|ftp|https|cvs|svn)://' | grep -qE '\.(gz|bz2)$']; then
-                                       echo "Warning: no URL given for $i"
-                               fi
-
-                               if [ -z "$NODIST" ] && [ -n "$srcmd5" ]; then
-                                       if good_md5 "$i" && good_size "$i"; then
-                                               echo "$fp having proper md5sum already exists"
-                                               continue
-                                       fi
-                                       target="$fp"
-
-                                       # prefer mirror over distfiles if there's mirror
-                                       # TODO: build url list and then try each url from the list
-                                       if [ -z "$NOMIRRORS" ] && im=$(find_mirror "$i") && [ "$im" != "$i" ]; then
-                                               url="$im"
-                                       else
-                                               url=$(distfiles_url "$i")
-                                       fi
-
-                                       url_attic=$(distfiles_attic_url "$i")
-                                       FROM_DISTFILES=1
-                                       # is $url local file?
-                                       if [[ "$url" = [./]* ]]; then
-                                               update_shell_title "${GETLOCAL%% *}: $url"
-                                               ${GETLOCAL} $url $target
-                                       else
-                                               if [ -z "$NOMIRRORS" ]; then
-                                                       url=$(find_mirror "$url")
-                                               fi
-
-                                               local uri=${url}
-                                               # make shorter message for distfiles urls
-                                               if [[ "$uri" = ${PROTOCOL}${DISTFILES_SERVER}* ]] || [[ "$uri" = ${PROTOCOL}${ATTICDISTFILES_SERVER}* ]]; then
-                                                       uri=${uri#${PROTOCOL}${DISTFILES_SERVER}/distfiles/by-md5/?/?/*/}
-                                                       uri=${uri#${PROTOCOL}${ATTICDISTFILES_SERVER}/distfiles/by-md5/?/?/*/}
-                                                       uri="df: $uri"
-                                               fi
-                                               update_shell_title "${GETURI%% *}: $uri"
-                                               ${GETURI} ${OUTFILEOPT} "$target" "$url" || \
-                                               if [ "`echo $url | grep -E 'ftp://'`" ]; then
-                                                       update_shell_title "${GETURI2%% *}: $url"
-                                                       ${GETURI2} ${OUTFILEOPT} "$target" "$url"
-                                               fi
-                                       fi
-
-                                       # is it empty file?
-                                       if [ ! -s "$target" ]; then
-                                               rm -f "$target"
-                                               if [ `echo $url_attic | grep -E '^(\.|/)'` ]; then
-                                                       update_shell_title "${GETLOCAL%% *}: $url_attic"
-                                                       ${GETLOCAL} $url_attic $target
-                                               else
-                                                       if [ -z "$NOMIRRORS" ]; then
-                                                               url_attic="`find_mirror "$url_attic"`"
-                                                       fi
-                                                       update_shell_title "${GETURI%% *}: $url_attic"
-                                                       ${GETURI} ${OUTFILEOPT} "$target" "$url_attic" || \
-                                                       if [ "`echo $url_attic | grep -E 'ftp://'`" ]; then
-                                                               update_shell_title "${GETURI2%% *}: $url_attic"
-                                                               ${GETURI2} ${OUTFILEOPT} "$target" "$url_attic"
-                                                       fi
-                                               fi
-                                       fi
-
-                                       if [ -s "$target" ]; then
-                                               cvsignore_df $target
-                                       else
-                                               rm -f "$target"
-                                               FROM_DISTFILES=0
-                                       fi
-                               elif [ "$NOCVS" != "yes" -a -z "$srcmd5" ]; then
-                                       if [ $# -gt 1 ]; then
-                                               get_files_cvs="$get_files_cvs $fp"
-                                               update_shell_title "$fp (will cvs up later)"
-                                               cvsup=1
-                                       else
-                                               cvsup $fp
-                                       fi
-                               fi
-
-                               if [ -z "$NOURLS" ] && [ ! -f "$fp" -o -n "$UPDATE" ] && [ "`echo $i | grep -E 'ftp://|http://|https://'`" ]; then
-                                       if [ -z "$NOMIRRORS" ]; then
-                                               im="`find_mirror "$i"`"
-                                       else
-                                               im="$i"
-                                       fi
-                                       update_shell_title "${GETURI%% *}: $im"
-                                       ${GETURI} "$im" || \
-                                       if [ "`echo $im | grep -E 'ftp://'`" ]; then
-                                               update_shell_title "${GETURI2%% *}: $im"
-                                               ${GETURI2} "$im"
-                                       fi
-                               fi
-
-                               if [ "$cvsup" = 1 ]; then
-                                       continue
-                               fi
-
-                       fi
-
-                       # the md5 check must be moved elsewhere as if we've called from update_md5 the md5 is wrong.
-                       if [ ! -f "$fp" -a "$FAIL_IF_NO_SOURCES" != "no" ]; then
-                               Exit_error err_no_source_in_repo $i
-                       fi
-
-                       # we check md5 here just only to refetch immediately
-                       if good_md5 "$i" && good_size "$i"; then
-                               :
-                       elif [ "$FROM_DISTFILES" = 1 ]; then
-                               # wrong md5 from distfiles: remove the file and try again
-                               # but only once ...
-                               echo "MD5 sum mismatch. Trying full fetch."
-                               FROM_DISTFILES=2
-                               rm -f $target
-                               update_shell_title "${GETURI%% *}: $url"
-                               ${GETURI} ${OUTFILEOPT} "$target" "$url" || \
-                               if [ "`echo $url | grep -E 'ftp://'`" ]; then
-                                       update_shell_title "${GETURI2%% *}: $url"
-                                       ${GETURI2} ${OUTFILEOPT} "$target" "$url"
-                               fi
-                               if [ ! -s "$target" ]; then
-                                       rm -f "$target"
-                                       update_shell_title "${GETURI%% *}: $url_attic"
-                                       ${GETURI} ${OUTFILEOPT} "$target" "$url_attic" || \
-                                       if [ "`echo $url_attic | grep -E 'ftp://'`" ]; then
-                                               update_shell_title "${GETURI2%% *}: $url_attic"
-                                               ${GETURI2} ${OUTFILEOPT} "$target" "$url_attic"
-                                       fi
-                               fi
-                               test -s "$target" || rm -f "$target"
-                       fi
-               done
-               SHELL_TITLE_PREFIX=""
-
-               if [ "$get_files_cvs" ]; then
-                       cvsup $get_files_cvs
-               fi
-
-               if [ "$CHMOD" = "yes" ]; then
-                       CHMOD_FILES="`nourl "$@"`"
-                       if [ -n "$CHMOD_FILES" ]; then
-                               chmod $CHMOD_MODE $CHMOD_FILES
-                       fi
-               fi
-       fi
-}
-
-make_tagver() {
-       if [ -n "$DEBUG" ]; then
-               set -x
-               set -v
-       fi
-
-       # Check whether first character of PACKAGE_NAME is legal for tag name
-       if [ -z "${PACKAGE_NAME##[_0-9]*}" -a -z "$TAG_PREFIX" ]; then
-               TAG_PREFIX=tag_
-       fi
-
-       # NOTE: CVS tags may must not contain the characters `$,.:;@'
-       TAGVER=$(echo $TAG_PREFIX$PACKAGE_NAME-$PACKAGE_VERSION-$PACKAGE_RELEASE | tr '[.@]' '[_#]')
-
-       # Remove #kernel.version_release from TAGVER because tagging sources
-       # could occur with different kernel-headers than kernel-headers used at build time.
-       # besides, %{_kernel_ver_str} is not expanded.
-
-       # TAGVER=auto-ac-madwifi-ng-0-0_20070225_1#%{_kernel_ver_str}
-       # TAGVER=auto-ac-madwifi-ng-0-0_20070225_1
-
-       TAGVER=${TAGVER%#*}
-       echo -n "$TAGVER"
-}
-
-tag_files()
-{
-       TAG_FILES="$@"
-
-       if [ -n "$DEBUG" ]; then
-               set -x
-               set -v
-       fi
-
-       echo "Version: $PACKAGE_VERSION"
-       echo "Release: $PACKAGE_RELEASE"
-
-       local TAGVER
-       if [ "$TAG_VERSION" = "yes" ]; then
-               TAGVER=`make_tagver`
-               echo "CVS tag: $TAGVER"
-       fi
-       if [ -n "$TAG" ]; then
-               echo "CVS tag: $TAG"
-       fi
-
-       local OPTIONS="tag $CVS_FORCE"
-       if [ -n "$CVSROOT" ]; then
-               OPTIONS="-d $CVSROOT $OPTIONS"
-       fi
-
-       cd "$SOURCE_DIR"
-       local tag_files
-       for i in $TAG_FILES; do
-               # don't tag files stored on distfiles
-               [ -n "`src_md5 $i`" ] && continue
-               local fp=`nourl "$i"`
-               if [ -f "$fp" ]; then
-                       tag_files="$tag_files $fp"
-               else
-                       Exit_error err_no_source_in_repo $i
-               fi
-       done
-
-       if [ "$tag_files" ]; then
-               if [ "$TAG_VERSION" = "yes" ]; then
-                       update_shell_title "tag sources: $TAGVER"
-                       cvs $OPTIONS $TAGVER $tag_files || exit
-               fi
-               if [ -n "$TAG" ]; then
-                       update_shell_title "tag sources: $TAG"
-                       cvs $OPTIONS $TAG $tag_files || exit
-               fi
-       fi
-
-       cd "$SPECS_DIR"
-       if [ "$TAG_VERSION" = "yes" ]; then
-               update_shell_title "tag spec: $TAGVER"
-               cvs $OPTIONS $TAGVER $SPECFILE || exit
-       fi
-       if [ -n "$TAG" ]; then
-               update_shell_title "tag spec: $TAG"
-               cvs $OPTIONS $TAG $SPECFILE || exit
-       fi
-}
-
-branch_files()
-{
-       TAG=$1
-       echo "CVS branch tag: $TAG"
-       shift
-
-       TAG_FILES="$@"
-
-       if [ -n "$DEBUG" ]; then
-               set -x
-               set -v
-       fi
-
-       local OPTIONS="tag $CVS_FORCE -b"
-       if [ -n "$CVSROOT" ]; then
-               OPTIONS="-d $CVSROOT $OPTIONS"
-       fi
-       cd "$SOURCE_DIR"
-       local tag_files
-       for i in $TAG_FILES; do
-               local fp=`nourl "$i"`
-               if [ -f "$fp" ]; then
-                       tag_files="$tag_files $fp"
-               else
-                       Exit_error err_no_source_in_repo $i
-               fi
-       done
-       if [ "$tag_files" ]; then
-               cvs $OPTIONS $TAG $tag_files || exit
-       fi
-
-       cd "$SPECS_DIR"
-       cvs $OPTIONS $TAG $SPECFILE || exit
-}
-
-
-# this function should exit early if package can't be built for this arch
-# this avoids unneccessary BR filling.
-check_buildarch() {
-       local out ret
-       out=$(minirpm --short-circuit -bp --define "'prep exit 0'" --nodeps $SPECFILE 2>&1)
-       ret=$?
-       if [ $ret -ne 0 ]; then
-               echo >&2 "$out"
-               exit $ret
-       fi
-}
-
-
-build_package()
-{
-       update_shell_title "build_package"
-       if [ -n "$DEBUG" ]; then
-               set -x
-               set -v
-       fi
-
-       cd "$SPECS_DIR"
-
-       if [ -n "$TRY_UPGRADE" ]; then
-               update_shell_title "build_package: try_upgrade"
-               if [ -n "$FLOAT_VERSION" ]; then
-                       TNOTIFY=`./pldnotify.awk $SPECFILE -n` || exit 1
-               else
-                       TNOTIFY=`./pldnotify.awk $SPECFILE` || exit 1
-               fi
-
-               TNEWVER=`echo $TNOTIFY | awk '{ match($4,/\[NEW\]/); print $5 }'`
-
-               if [ -n "$TNEWVER" ]; then
-                       TOLDVER=`echo $TNOTIFY | awk '{ print $3; }'`
-                       echo "New version found, updating spec file to version " $TNEWVER
-                       if [ "$REVERT_BROKEN_UPGRADE" = "yes" ]; then
-                               cp -f $SPECFILE $SPECFILE.bak
-                       fi
-                       chmod +w $SPECFILE
-                       eval "perl -pi -e 's/Version:\t"$TOLDVER"/Version:\t"$TNEWVER"/gs' $SPECFILE"
-                       eval "perl -pi -e 's/Release:\t[1-9]{0,4}/Release:\t0.1/' $SPECFILE"
-                       parse_spec
-                       NODIST="yes" get_files $SOURCES $PATCHES
-                       update_md5 $SOURCES
-
-                       unset TOLDVER TNEWVER TNOTIFY
-               fi
-       fi
-       cd "$SPECS_DIR"
-
-       case "$COMMAND" in
-               build )
-                       BUILD_SWITCH="-ba" ;;
-               build-binary )
-                       BUILD_SWITCH="-bb" ;;
-               build-source )
-                       BUILD_SWITCH="-bs --nodeps" ;;
-               build-prep )
-                       BUILD_SWITCH="-bp --nodeps" ;;
-               build-build )
-                       BUILD_SWITCH="-bc" ;;
-               build-install )
-                       BUILD_SWITCH="-bi" ;;
-               build-list )
-                       BUILD_SWITCH="-bl" ;;
-
-       esac
-
-       update_shell_title "build_package: $COMMAND"
-       if [ -n "$LOGFILE" ]; then
-               LOG=`eval echo $LOGFILE`
-               if [ -d "$LOG" ]; then
-                       echo "Log file $LOG is a directory."
-                       echo "Parse error in the spec?"
-                       Exit_error err_build_fail
-               fi
-               if [ -n "$LASTLOG_FILE" ]; then
-                       echo "LASTLOG=$LOG" > $LASTLOG_FILE
-               fi
-               RES_FILE=~/tmp/$RPMBUILD-exit-status.$RANDOM
-               (time eval ${NICE_COMMAND} $RPMBUILD $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND $TARGET_SWITCH $SPECFILE; echo $? > $RES_FILE) 2>&1 |tee $LOG
-               RETVAL=`cat $RES_FILE`
-               rm $RES_FILE
-               if [ -n "$LOGDIROK" ] && [ -n "$LOGDIRFAIL" ]; then
-                       if [ "$RETVAL" -eq "0" ]; then
-                               mv $LOG $LOGDIROK
-                       else
-                               mv $LOG $LOGDIRFAIL
-                       fi
-               fi
-       else
-               eval ${NICE_COMMAND} $RPMBUILD $BUILD_SWITCH -v $QUIET $CLEAN $RPMOPTS $RPMBUILDOPTS $BCOND $TARGET_SWITCH $SPECFILE
-               RETVAL=$?
-       fi
-       if [ "$RETVAL" -ne "0" ]; then
-               if [ -n "$TRY_UPGRADE" ]; then
-                       echo "\n!!! Package with new version cannot be built automagically\n"
-                       if [ "$REVERT_BROKEN_UPGRADE" = "yes" ]; then
-                               mv -f $SPECFILE.bak $SPECFILE
-                       fi
-               fi
-               Exit_error err_build_fail
-       fi
-       unset BUILD_SWITCH
-}
-
-nourl()
-{
-       echo "$@" | sed 's#\<\(ftp\|http\|https\|cvs\|svn\)://[^ ]*/##g'
-}
-
-install_required_packages()
-{
-       run_poldek -vi $1
-       return $?
-}
-
-find_spec_bcond() {
-       # taken from find-spec-bcond, but with just getting the list
-       local SPEC="$1"
-       # quick revert hint: '$RPMBUILD --bcond $SPEC'
-       awk -F"\n" '
-       /^%changelog/ { exit }
-       /_with(out)?_[_a-zA-Z0-9]+/{
-               match($0, /_with(out)?_[_a-zA-Z0-9]+/);
-               print substr($0, RSTART, RLENGTH);
-       }
-       /^%bcond_with/{
-               match($0, /bcond_with(out)?[ \t]+[_a-zA-Z0-9]+/);
-               bcond = substr($0, RSTART +5 , RLENGTH -5);
-               gsub(/[ \t]+/,"_",bcond);
-               print bcond
-       }' $SPEC | LC_ALL=C sort -u
-}
-
-process_bcondrc() {
-       # expand bconds from ~/.bcondrc
-       # The file structure is like gentoo's package.use:
-       # ---
-       # * -selinux
-       # samba -mysql -pgsql
-       # w32codec-installer license_agreement
-       # php +mysqli
-       # ---
-       if ([ -f $HOME/.bcondrc ] || ([ -n $HOME_ETC ] && [ -f $HOME_ETC/.bcondrc ])); then
-               :
-       else
-               return
-       fi
-
-       SN=${SPECFILE%%\.spec}
-
-       local bcondrc=$HOME/.bcondrc
-       [ -n $HOME_ETC ] && [ -f $HOME_ETC/.bcondrc ] && bcondrc=$HOME_ETC/.bcondrc
-
-       local bcond_avail=$(find_spec_bcond $SPECFILE)
-
-       while read pkg flags; do
-               # ignore comments
-               [[ "$pkg" == \#* ]] && continue
-
-               # any package or current package?
-               if [ "$pkg" = "*" ] || [ "$pkg" = "$PACKAGE_NAME" ] || [ "$pkg" = "$SN" ]; then
-                       for flag in $flags; do
-                               local opt=${flag#[+-]}
-
-                               # use only flags which are in this package.
-                               if [[ $bcond_avail = *${opt}* ]]; then
-                                       if [[ $flag = -* ]]; then
-                                               if [[ $BCOND != *--with?${opt}* ]]; then
-                                                       BCOND="$BCOND --without $opt"
-                                               fi
-                                       else
-                                               if [[ $BCOND != *--without?${opt}* ]]; then
-                                                       BCOND="$BCOND --with $opt"
-                                               fi
-                                       fi
-                               fi
-                       done
-               fi
-       done < $bcondrc
-       update_shell_title "parse ~/.bcondrc: DONE!"
-}
-
-set_bconds_values()
-{
-       update_shell_title "set bcond values"
-
-       AVAIL_BCONDS_WITHOUT=""
-       AVAIL_BCONDS_WITH=""
-       if `grep -q ^%bcond ${SPECFILE}`; then
-               BCOND_VERSION="NEW"
-       elif `egrep -q ^#\ *_with ${SPECFILE}`; then
-               BCOND_VERSION="OLD"
-       else
-               return
-       fi
-
-       local bcond_avail=$(find_spec_bcond $SPECFILE)
-       process_bcondrc "$SPECFILE"
-
-       update_shell_title "parse bconds"
-       case "${BCOND_VERSION}" in
-               NONE)
-                       :
-                       ;;
-               OLD)
-                       echo "Warning: This spec has old style bconds. Fix it || die."
-                       for opt in `echo "$bcond_avail" | grep ^_without_`
-                       do
-                               AVAIL_BCOND_WITHOUT=${opt#_without_}
-                               if [[ "$BCOND" = *--without?${AVAIL_BCOND_WITHOUT}* ]]; then
-                                       AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT <$AVAIL_BCOND_WITHOUT>"
-                               else
-                                       AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT $AVAIL_BCOND_WITHOUT"
-                               fi
-                       done
-
-                       for opt in `echo "$bcond_avail" | grep ^_with_`
-                       do
-                               AVAIL_BCOND_WITH=${opt#_with_}
-                               if [[ "$BCOND" = *--with?${AVAIL_BCOND_WITH}* ]]; then
-                                       AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH <$AVAIL_BCOND_WITH>"
-                               else
-                                       AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH $AVAIL_BCOND_WITH"
-                               fi
-                       done
-                       ;;
-               NEW)
-                       local cond_type="" # with || without
-                       for opt in $bcond_avail; do
-                               case "$opt" in
-                                       _without)
-                                               cond_type="without"
-                                               ;;
-                                       _with)
-                                               cond_type="with"
-                                               ;;
-                                       _without_*)
-                                               AVAIL_BCOND_WITHOUT=${opt#_without_}
-                                               if [[ "$BCOND" = *--without?${AVAIL_BCOND_WITHOUT}* ]]; then
-                                                       AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT <$AVAIL_BCOND_WITHOUT>"
-                                               else
-                                                       AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT $AVAIL_BCOND_WITHOUT"
-                                               fi
-                                               ;;
-                                       _with_*)
-                                               AVAIL_BCOND_WITH=${opt#_with_}
-                                               if [[ "$BCOND" = *--with?${AVAIL_BCOND_WITH}* ]]; then
-                                                       AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH <$AVAIL_BCOND_WITH>"
-                                               else
-                                                       AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH $AVAIL_BCOND_WITH"
-                                               fi
-                                               ;;
-                                       *)
-                                               case "$cond_type" in
-                                                       with)
-                                                               cond_type=''
-                                                               AVAIL_BCOND_WITH="$opt"
-                                                               if [[ "$BCOND" = *--with?${AVAIL_BCOND_WITH}* ]]; then
-                                                                       AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH <$AVAIL_BCOND_WITH>"
-                                                               else
-                                                                       AVAIL_BCONDS_WITH="$AVAIL_BCONDS_WITH $AVAIL_BCOND_WITH"
-                                                               fi
-                                                               ;;
-                                                       without)
-                                                               cond_type=''
-                                                               AVAIL_BCOND_WITHOUT="$opt"
-                                                               if [[ "$BCOND" = *--without?${AVAIL_BCOND_WITHOUT}* ]]; then
-                                                                       AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT <$AVAIL_BCOND_WITHOUT>"
-                                                               else
-                                                                       AVAIL_BCONDS_WITHOUT="$AVAIL_BCONDS_WITHOUT $AVAIL_BCOND_WITHOUT"
-                                                               fi
-                                                               ;;
-                                               esac
-                                               ;;
-                               esac
-                       done
-                       ;;
-       esac
-}
-
-run_sub_builder()
-{
-       package_name="${1}"
-       update_shell_title "run_sub_builder $package_name"
-       #
-       # No i tutaj bym chcia³ zrobiæ sztuczn± inteligencjê, która spróbuje tego
-       # pakieta zbudowaæ. Aktualnie niewiele dziala, bo generalnie nie widze do
-       # konca algorytmu... Ale damy rade. :) Na razie po prostu sie wyjebie tak samo
-       # jakby nie bylo tego kawalka kodu.
-       #
-       # Update: Poprawi³em parê rzeczy i zaczê³o generowaæ pakiety spoza zadanej listy.
-       #         Jednym s³owem budowanie niespoldkowanych zale¿no¶ci dzia³a w paru przypadkach.
-       #
-       #
-       # y0shi.
-
-       parent_spec_name=''
-
-       # Istnieje taki spec? ${package}.spec
-       if [ -f "${SPECS_DIR}/${package}.spec" ]; then
-               parent_spec_name=${package}.spec
-       elif [ -f "${SPECS_DIR}/`echo ${package_name} | sed -e s,-devel.*,,g -e s,-static,,g`.spec" ]; then
-               parent_spec_name="`echo ${package_name} | sed -e s,-devel.*,,g -e s,-static,,g`.spec"
-       else
-               for provides_line in `grep ^Provides:.*$package  ${SPECS_DIR} -R`
-               do
-                       echo $provides_line
-               done
-       fi
-
-       if [ "${parent_spec_name}" != "" ]; then
-               spawn_sub_builder $parent_spec_name
-       fi
-       NOT_INSTALLED_PACKAGES="$NOT_INSTALLED_PACKAGES $package_name"
-}
-
-spawn_sub_builder()
-{
-       package_name="${1}"
-       update_shell_title "spawn_sub_builder $package_name"
-
-       sub_builder_opts=''
-       if [ "${FETCH_BUILD_REQUIRES}" == "yes" ]; then
-               sub_builder_opts="${sub_builder_opts} -R"
-       fi
-       if [ "${REMOVE_BUILD_REQUIRES}" == "nice" ]; then
-               sub_builder_opts="${sub_builder_opts} -RB"
-       elif [ "${REMOVE_BUILD_REQUIRES}" == "force" ]; then
-               sub_builder_opts="${sub_builder_opts} -FRB"
-       fi
-       if [ "${UPDATE_POLDEK_INDEXES}" == "yes" ]; then
-               sub_builder_opts="${sub_builder_opts} -Upi"
-       fi
-
-       cd "${SPECS_DIR}"
-       ./builder ${sub_builder_opts} "$@"
-}
-
-remove_build_requires()
-{
-       if [ "$INSTALLED_PACKAGES" != "" ]; then
-               case "$REMOVE_BUILD_REQUIRES" in
-                       "force")
-                               run_poldek --noask -ve $INSTALLED_PACKAGES
-                               ;;
-                       "nice")
-                               run_poldek --ask -ve $INSTALLED_PACKAGES
-                               ;;
-                       *)
-                               echo You may want to manually remove following BuildRequires fetched:
-                               echo $INSTALLED_PACKAGES
-                               echo Try poldek -e \`cat `pwd`/.${SPECFILE}_INSTALLED_PACKAGES\`
-                               ;;
-               esac
-       fi
-}
-
-display_bconds()
-{
-       if [ "$AVAIL_BCONDS_WITH" != "" ] || [ "$AVAIL_BCONDS_WITHOUT" != "" ]; then
-               if [ "$BCOND" != "" ]; then
-                       echo -ne "\nBuilding $SPECFILE with the following conditional flags:\n"
-                       echo -ne "$BCOND"
-               else
-                       echo -ne "\nNo conditional flags passed"
-               fi
-               echo -ne "\n\nfrom available:\n"
-               echo -ne "--with   :\t$AVAIL_BCONDS_WITH\n--without:\t$AVAIL_BCONDS_WITHOUT\n\n"
-       fi
-}
-
-display_branches()
-{
-       if [ "$NOCVSSPEC" != "yes" ]; then
-               echo -ne "Available branches: "
-               cvs status -v "${SPECFILE}" | awk '!/Sticky Tag:/ && /\(branch:/ { print $1 } ' | xargs
-       fi
-}
-
-# checks a given list of packages/files/provides agains current rpmdb.
-# outputs all dependencies whcih current rpmdb doesn't satisfy.
-# input can be either STDIN or parameters
-_rpm_prov_check()
-{
-       local DEPS
-
-       if [ "$#" -gt 0 ]; then
-               DEPS="$@"
-       else
-               DEPS=$(cat)
-       fi
-
-       DEPS=$(rpm -q --whatprovides $DEPS 2>&1 | awk '/^(error:|no package provides)/ { print }')
-
-       # packages
-       echo "$DEPS" | awk '/^no package provides/ { print $NF }'
-
-       # other deps (files)
-       echo "$DEPS" | awk -F: '/^error:.*No such file/{o = $2; gsub("^ file ", "", o); print o}'
-}
-
-# checks if given package/files/provides exists in rpmdb.
-# inout can be either stdin or parameters
-# returns packages wchi hare present in the rpmdb
-_rpm_cnfl_check()
-{
-       local DEPS
-
-       if [ "$#" -gt 0 ]; then
-               DEPS="$@"
-       else
-               DEPS=$(cat)
-       fi
-
-       rpm -q --whatprovides $DEPS 2>/dev/null | awk '!/no package provides/ { print }'
-}
-
-fetch_build_requires()
-{
-       if [ "${FETCH_BUILD_REQUIRES}" = "yes" ]; then
-               update_shell_title "fetch build requires"
-               if [ "$FETCH_BUILD_REQUIRES_RPMGETDEPS" = "yes" ]; then
-                       # TODO: Conflicts list doesn't check versions
-                       local CNFL=$(rpm-getdeps $BCOND $SPECFILE 2> /dev/null | awk '/^\-/ { print $3 } ' | _rpm_cnfl_check | xargs)
-                       local DEPS=$(rpm-getdeps $BCOND $SPECFILE 2> /dev/null | awk '/^\+/ { print $3 } ' | _rpm_prov_check | xargs)
-
-                       if [ -n "$CNFL" ] || [ -n "$DEPS" ]; then
-                               echo "fetch builderequires: install $DEPS; remove $CNFL"
-                               update_shell_title "poldek: install $DEPS; remove $CNFL"
-                               $SU_SUDO /usr/bin/poldek -q --update || $SU_SUDO /usr/bin/poldek -q --upa
-                       fi
-                       if [ -n "$CNFL" ]; then
-                               update_shell_title "uninstall conflicting packages: $CNFL"
-                               echo "Trying to uninstall conflicting packages ($CNFL):"
-                               $SU_SUDO /usr/bin/poldek --noask --nofollow -ev $CNFL
-                       fi
-
-                       while [ "$DEPS" ]; do
-                                       update_shell_title "install deps: $DEPS"
-                                       echo "Trying to install dependencies ($DEPS):"
-                                       local log=.${SPECFILE}_poldek.log
-                                       $SU_SUDO /usr/bin/poldek --caplookup -uGq $DEPS | tee $log
-                                       failed=$(awk -F: '/^error:/{print $2}' $log)
-                                       rm -f $log
-                                       local ok
-                                       if [ -n "$failed" ]; then
-                                               for package in $failed; do
-                                                       # FIXME: sanitise, deps could be not .spec files
-                                                       spawn_sub_builder -bb $package && ok="$ok $package"
-                                               done
-                                               DEPS="$ok"
-                                       else
-                                               DEPS=""
-                                       fi
-                       done
-                       return
-               fi
-
-               echo -ne "\nAll packages installed by fetch_build_requires() are written to:\n"
-               echo -ne "`pwd`/.${SPECFILE}_INSTALLED_PACKAGES\n"
-               echo -ne "\nIf anything fails, you may get rid of them by executing:\n"
-               echo "poldek -e \`cat `pwd`/.${SPECFILE}_INSTALLED_PACKAGES\`\n\n"
-               echo > `pwd`/.${SPECFILE}_INSTALLED_PACKAGES
-               for package_item in `cat $SPECFILE|grep -B100000 ^%changelog|grep -v ^#|grep BuildRequires|grep -v ^-|sed -e "s/^.*BuildRequires://g"|awk '{print $1}'|sed -e s,perl\(,perl-,g -e s,::,-,g -e s,\(.*\),,g -e s,%{,,g -e s,},,g|grep -v OpenGL-devel|sed -e s,sh-utils,coreutils,g -e s,fileutils,coreutils,g -e s,textutils,coreutils,g -e s,kgcc_package,gcc,g -e s,\),,g`
-               do
-                       package_item="`echo $package_item|sed -e s,rpmbuild,rpm-build,g |sed -e s,__perl,perl,g |sed -e s,gasp,binutils-gasp,g -e s,binutils-binutils,binutils,g -e s,apxs,apache,g|sed -e s,apache\(EAPI\)-devel,apache-devel,g -e s,kernel-headers\(netfilter\),kernel-headers,g -e s,awk,mawk,g -e s,mmawk,mawk,g -e s,motif,openmotif,g -e s,openopenmotif,openmotif,g`"
-                       GO="yes"
-                       package=`basename "$package_item"|sed -e "s/}$//g"`
-                       COND_ARCH_TST="`cat $SPECFILE|grep -B1 BuildRequires|grep -B1 $package|grep ifarch|sed -e "s/^.*ifarch//g"`"
-                       mach=`uname -m`
-
-                       COND_TST=`cat $SPECFILE|grep BuildRequires|grep "$package"`
-                       if `echo $COND_TST|grep -q '^BuildRequires:'`; then
-                               if [ "$COND_ARCH_TST" != "" ] && [ "`echo $COND_ARCH_TST|sed -e "s/i.86/ix86/g"`" != "`echo $mach|sed -e "s/i.86/ix86/g"`" ]; then
-                                       GO="yes"
-                               fi
-                       # bcond:
-                       else
-                               COND_NAME=`echo $COND_TST|sed -e s,:BuildRequires:.*$,,g`
-                               GO=""
-                               # %{without}
-                               if `echo $COND_TST|grep -q 'without_'`; then
-                                       COND_NAME=`echo $COND_NAME|sed -e s,^.*without_,,g`
-                                       if `echo $COND_TST|grep -q !`; then
-                                               COND_STATE="with"
-                                       else
-                                               COND_STATE="wout"
-                                       fi
-                                       COND_WITH=`echo $AVAIL_BCONDS_WITH|grep "<$COND_NAME>"`
-                                       COND_WITHOUT=`echo $AVAIL_BCONDS_WITHOUT|grep "<$COND_NAME>"`
-                                       if [ -n "$COND_WITHOUT" ] || [ -z "$COND_WITH" ]; then
-                                               COND_ARGV="wout"
-                                       else
-                                               COND_ARGV="with"
-                                       fi
-                               # %{with}
-                               elif `echo $COND_TST|grep -q 'with_'`; then
-                                       COND_NAME=`echo $COND_NAME|sed -e s,^.*with_,,g`
-                                       if `echo $COND_TST|grep -q !`; then
-                                               COND_STATE="wout"
-                                       else
-                                               COND_STATE="with"
-                                       fi
-                                       COND_WITH=`echo $AVAIL_BCONDS_WITH|grep "<$COND_NAME>"`
-                                       COND_WITHOUT=`echo $AVAIL_BCONDS_WITHOUT|grep "<$COND_NAME>"`
-                                       if [ -n "$COND_WITH" ] || [ -z "$COND_WITHOUT" ]; then
-                                               COND_ARGV="with"
-                                       else
-                                               COND_ARGV="wout"
-                                       fi
-                               fi
-                               RESULT="${COND_STATE}-${COND_ARGV}"
-                               case "$RESULT" in
-                                       "with-wout" | "wout-with" )
-                                               GO=""
-                                               ;;
-                                       "wout-wout" | "with-with" )
-                                               GO="yes"
-                                               ;;
-                                       * )
-                                               echo "Action '$RESULT' was not defined for package '$package_item'"
-                                               GO="yes"
-                                               ;;
-                               esac
-                       fi
-
-                       if [ "$GO" = "yes" ]; then
-                               if [ "`rpm -q $package|sed -e "s/$package.*/$package/g"`" != "$package" ]; then
-                                       echo "Testing if $package has subrequirements..."
-                                       run_poldek -t -i $package --dumpn=".$package-req.txt"
-                                       if [ -f ".$package-req.txt" ]; then
-                                               for package_name in `cat ".$package-req.txt"|grep -v ^#`
-                                               do
-                                                       if [ "$package_name" = "$package" ]; then
-                                                               echo -ne "Installing BuildRequired package:\t$package_name\n"
-                                                               update_shell_title "Installing BuildRequired package: ${package_name}"
-                                                               install_required_packages $package
-                                                       else
-                                                               echo -ne "Installing (sub)Required package:\t$package_name\n"
-                                                               update_shell_title "Installing (sub)Required package: ${package_name}"
-                                                               install_required_packages $package_name
-                                                       fi
-                                                       case $? in
-                                                               0)
-                                                                       INSTALLED_PACKAGES="$package_name $INSTALLED_PACKAGES"
-                                                                       echo $package_name >> `pwd`/.${SPECFILE}_INSTALLED_PACKAGES
-                                                                       ;;
-                                                               *)
-                                                                       echo "Attempting to run spawn sub - builder..."
-                                                                       echo -ne "Package installation failed:\t$package_name\n"
-                                                                       run_sub_builder $package_name
-                                                                       if [ $? -eq 0 ]; then
-                                                                               install_required_packages $package_name
-                                                                               case $? in
-                                                                                       0)
-                                                                                               INSTALLED_PACKAGES="$package_name $INSTALLED_PACKAGES"
-                                                                                               echo $package_name >> `pwd`/.${SPECFILE}_INSTALLED_PACKAGES
-                                                                                               ;;
-                                                                                       *)
-                                                                                               NOT_INSTALLED_PACKAGES="$package_name $NOT_INSTALLED_PACKAGES"
-                                                                                               ;;
-                                                                               esac
-                                                                       fi
-                                                                       ;;
-                                                       esac
-                                               done
-                                               rm -f ".$package-req.txt"
-                                       else
-                                               echo "Attempting to run spawn sub - builder..."
-                                               echo -ne "Package installation failed:\t$package\n"
-                                               run_sub_builder $package
-                                               if [ $? -eq 0 ]; then
-                                                       install_required_packages $package
-                                                       case $? in
-                                                               0)
-                                                                       INSTALLED_PACKAGES="$package_name $INSTALLED_PACKAGES"
-                                                                       echo $package_name >> `pwd`/.${SPECFILE}_INSTALLED_PACKAGES
-                                                                       ;;
-                                                               *)
-                                                                       NOT_INSTALLED_PACKAGES="$package_name $NOT_INSTALLED_PACKAGES"
-                                                                       ;;
-                                                       esac
-                                               fi
-                                       fi
-                               else
-                                       echo "Package $package is already installed. BuildRequirement satisfied."
-                               fi
-                       fi
-               done
-               if [ "$NOT_INSTALLED_PACKAGES" != "" ]; then
-                       echo "Unable to install following packages and their dependencies:"
-                       for pkg in "$NOT_INSTALLED_PACKAGES"
-                       do
-                               echo $pkg
-                       done
-                       remove_build_requires
-                       exit 8
-               fi
-       fi
-}
-
-init_rpm_dir() {
-
-       TOP_DIR="`eval $RPM $RPMOPTS --eval '%{_topdir}'`"
-       CVSROOT=":pserver:cvs@$CVS_SERVER:/cvsroot"
-
-       mkdir -p $TOP_DIR/{RPMS,BUILD,SRPMS}
-       cd $TOP_DIR
-       cvs -d $CVSROOT co SOURCES/.cvsignore SPECS/{mirrors,adapter{,.awk},fetchsrc_request,builder,{relup,compile,repackage}.sh}
-
-       init_builder
-
-       echo "To checkout *all* .spec files:"
-       echo "- remove $SPECS_DIR/CVS/Entries.Static"
-       echo "- run cvs up in $SPECS_DIR dir"
-
-       echo ""
-       echo "To commit with your developer account:"
-       echo "- edit $SPECS_DIR/CVS/Root"
-       echo "- edit $SOURCE_DIR/CVS/Root"
-}
-
-#---------------------------------------------
-# main()
-
-if [ $# = 0 ]; then
-       usage
-       exit 1
-fi
-
-while [ $# -gt 0 ]; do
-       case "${1}" in
-               -5 | --update-md5)
-                       COMMAND="update_md5"
-                       NODIST="yes"
-                       NOCVSSPEC="yes"
-                       shift ;;
-               -a5 | --add-md5 )
-                       COMMAND="update_md5"
-                       NODIST="yes"
-                       NOCVS="yes"
-                       NOCVSSPEC="yes"
-                       ADD5="yes"
-                       shift ;;
-               -n5 | --no-md5 )
-                       NO5="yes"
-                       shift ;;
-               -D | --debug )
-                       DEBUG="yes"; shift ;;
-               -V | --version )
-                       COMMAND="version"; shift ;;
-               --short-version )
-                       COMMAND="short-version"; shift ;;
-               -a | --as_anon )
-                       CVSROOT=":pserver:cvs@$CVS_SERVER:/cvsroot"; shift ;;
-               -b | -ba | --build )
-                       COMMAND="build"; shift ;;
-               -bb | --build-binary )
-                       COMMAND="build-binary"; shift ;;
-               -bc )
-                       COMMAND="build-build"; shift ;;
-               -bi )
-                       COMMAND="build-install"; shift ;;
-               -bl )
-                       COMMAND="build-list"; shift ;;
-               -bp | --build-prep )
-                       COMMAND="build-prep"; shift ;;
-               -bs | --build-source )
-                       COMMAND="build-source"; shift ;;
-               -B | --branch )
-                       COMMAND="branch"; shift; TAG="${1}"; shift;;
-               -c | --clean )
-                       CLEAN="--clean --rmspec --rmsource"; shift ;;
-               -cf | --cvs-force )
-                       CVS_FORCE="-F"; shift;;
-               -d | --cvsroot )
-                       shift; CVSROOT="${1}"; shift ;;
-               -g | --get )
-                       COMMAND="get"; shift ;;
-               -h | --help )
-                       COMMAND="usage"; shift ;;
-               --http )
-                       PROTOCOL="http"; shift ;;
-               -l | --logtofile )
-                       shift; LOGFILE="${1}"; shift ;;
-               -ni| --nice )
-                       shift; DEF_NICE_LEVEL=${1}; shift ;;
-               -ske | --skip-existing-files)
-                       SKIP_EXISTING_FILES="yes"; shift ;;
-               -m | --mr-proper )
-                       COMMAND="mr-proper"; shift ;;
-               -nc | --no-cvs )
-                       NOCVS="yes"; shift ;;
-               -ncs | --no-cvs-specs )
-                       NOCVSSPEC="yes"; shift ;;
-               -nd | --no-distfiles )
-                       NODIST="yes"; shift ;;
-               -nm | --no-mirrors )
-                       NOMIRRORS="yes"; shift ;;
-               -nu | --no-urls )
-                       NOURLS="yes"; shift ;;
-               -ns | --no-srcs )
-                       NOSRCS="yes"; shift ;;
-               -ns0 | --no-source0 )
-                       NOSOURCE0="yes"; shift ;;
-               -nn | --no-net )
-                       NOCVS="yes"
-                       NOCVSSPEC="yes"
-                       NODIST="yes"
-                       NOMIRRORS="yes"
-                       NOURLS="yes"
-                       NOSRCS="yes"
-                       ALWAYS_CVSUP="no"
-                       shift;;
-               --no-init )
-                       NOINIT="yes"
-                       shift;;
-               --opts )
-                       shift; RPMOPTS="${RPMOPTS} ${1}"; shift ;;
-               --nopatch | -np )
-                       shift; RPMOPTS="${RPMOPTS} --define \"patch${1} : ignoring patch${1}; exit 1; \""; shift ;;
-               --with | --without )
-                       case $GROUP_BCONDS in
-                               "yes")
-                                       COND=${1}
-                                       shift
-                                       while ! `echo ${1}|grep -qE '(^-|spec)'`
-                                       do
-                                               BCOND="$BCOND $COND $1"
-                                               shift
-                                       done;;
-                               "no")
-                                       if [[ "$2" = *,* ]]; then
-                                               for a in $(echo "$2" | tr , ' '); do
-                                                       BCOND="$BCOND $1 $a"
-                                               done
-                                       else
-                                               BCOND="$BCOND $1 $2"
-                                       fi
-                                       shift 2 ;;
-                       esac
-                       ;;
-               --target )
-                       shift; TARGET="${1}"; shift ;;
-               --target=* )
-                       TARGET=$(echo "${1}" | sed 's/^--target=//'); shift ;;
-               -q | --quiet )
-                       QUIET="--quiet"; shift ;;
-               --date )
-                       CVSDATE="${2}"; shift 2 ;;
-               -r | --cvstag )
-                       shift; CVSTAG="${1}"; shift ;;
-               -A)
-                       shift; CVSTAG="HEAD"; ;;
-               -R | --fetch-build-requires)
-                       FETCH_BUILD_REQUIRES="yes"
-                       NOT_INSTALLED_PACKAGES=
-                       shift ;;
-               -RB | --remove-build-requires)
-                       REMOVE_BUILD_REQUIRES="nice"
-                       shift ;;
-               -FRB | --force-remove-build-requires)
-                       REMOVE_BUILD_REQUIRES="force"
-                       shift ;;
-               -sc | --sources-cvs)
-                       COMMAND="list-sources-cvs"
-                       shift ;;
-               -sd | --sources-distfiles)
-                       COMMAND="list-sources-distfiles"
-                       shift ;;
-               -sdp | --sources-distfiles-paths)
-                       COMMAND="list-sources-distfiles-paths"
-                       shift ;;
-               -sf | --sources-files)
-                       COMMAND="list-sources-files"
-                       shift ;;
-               -sp | --sources-paths)
-                       COMMAND="list-sources-local-paths"
-                       shift ;;
-               -su | --sources-urls)
-                       COMMAND="list-sources-urls"
-                       shift ;;
-               -Tvs | --tag-version-stable )
-                       COMMAND="tag"
-                       TAG="STABLE"
-                       TAG_VERSION="yes"
-                       shift;;
-               -Ts | --tag-stable )
-                       COMMAND="tag"
-                       TAG="STABLE"
-                       TAG_VERSION="no"
-                       shift;;
-               -Tv | --tag-version )
-                       COMMAND="tag"
-                       TAG=""
-                       TAG_VERSION="yes"
-                       shift;;
-               -Tp | --tag-prefix )
-                       TAG_PREFIX="$2"
-                       shift 2;;
-               -tt | --test-tag )
-                       TEST_TAG="yes"
-                       shift;;
-               -T | --tag )
-                       COMMAND="tag"
-                       shift
-                       TAG="$1"
-                       TAG_VERSION="no"
-                       shift;;
-               -ir | --integer-release-only )
-                       INTEGER_RELEASE="yes"
-                       shift;;
-               -U | --update )
-                       COMMAND="update_md5"
-                       UPDATE="yes"
-                       NOCVSSPEC="yes"
-                       NODIST="yes"
-                       shift ;;
-               -Upi | --update-poldek-indexes )
-                       UPDATE_POLDEK_INDEXES="yes"
-                       shift ;;
-               --init-rpm-dir)
-                       COMMAND="init_rpm_dir"
-                       shift ;;
-               -u | --try-upgrade )
-                       TRY_UPGRADE="1"; shift ;;
-               -un | --try-upgrade-with-float-version )
-                       TRY_UPGRADE="1"; FLOAT_VERSION="1"; shift ;;
-               -v | --verbose )
-                       BE_VERBOSE="1"; shift ;;
-               --define)
-                       shift
-                       MACRO="${1}"
-                       shift
-                       if echo "${MACRO}" | grep -q '\W'; then
-                               RPMOPTS="${RPMOPTS} --define \"${MACRO}\""
-                       else
-                               VALUE="${1}"
-                               shift
-                               RPMOPTS="${RPMOPTS} --define \"${MACRO} ${VALUE}\""
-                       fi
-                       ;;
-               --short-circuit)
-                       RPMBUILDOPTS="${RPMBUILDOPTS} --short-circuit"
-                       shift
-                       ;;
-               --show-bconds | -show-bconds | -print-bconds | --print-bconds | -display-bconds | --display-bconds )
-                       COMMAND="show_bconds"
-                       shift
-                       ;;
-               --show-bcond-args)
-                       COMMAND="show_bcond_args"
-                       shift
-                       ;;
-               --nodeps)
-                       shift
-                       RPMOPTS="${RPMOPTS} --nodeps"
-                       ;;
-               -debug)
-                       RPMBUILDOPTS="${RPMBUILDOPTS} -debug"; shift
-                       ;;
-               -* )
-                       Exit_error err_invalid_cmdline "$1"
-                       ;;
-               * )
-                       SPECFILE="${1}"
-                       # check if specname was passed as specname:cvstag
-                       if [ "${SPECFILE##*:}" != "${SPECFILE}" ]; then
-                               CVSTAG="${SPECFILE##*:}"
-                               SPECFILE="${SPECFILE%%:*}"
-                       fi
-                       ASSUMED_NAME="${SPECFILE%%.spec}"
-                       shift
-       esac
-done
-
-if [ -f CVS/Entries ] && [ -z "$CVSTAG" ]; then
-       CVSTAG=$(awk -vSPECFILE="${SPECFILE%.spec}.spec" -F/ '$2 == SPECFILE && $6 ~ /^T/{print substr($6, 2)}' CVS/Entries)
-       if [ "$CVSTAG" ]; then
-               echo >&2 "builder: Stick tag $CVSTAG active. Use -r TAGNAME to override."
-       fi
-elif [ "$CVSTAG" = "HEAD" ]; then
-       # assume -r HEAD is same as -A
-       CVSTAG=""
-fi
-
-if [ -n "$DEBUG" ]; then
-       set -x
-       set -v
-fi
-
-if [ -n "$TARGET" ]; then
-       case "$RPMBUILD" in
-               "rpmbuild")
-                       TARGET_SWITCH="--target $TARGET" ;;
-               "rpm")
-                       TARGET_SWITCH="--target=$TARGET" ;;
-       esac
-fi
-
-if [ "$SCHEDTOOL" != "no" ]; then
-       NICE_COMMAND="$SCHEDTOOL"
-else
-       NICE_COMMAND="nice -n ${DEF_NICE_LEVEL}"
-fi
-
-update_shell_title "$COMMAND"
-case "$COMMAND" in
-       "show_bconds")
-               init_builder
-               if [ -n "$SPECFILE" ]; then
-                       get_spec > /dev/null
-                       parse_spec
-                       set_bconds_values
-                       display_bconds
-               fi
-               ;;
-       "show_bcond_args")
-               init_builder
-               if [ -n "$SPECFILE" ]; then
-                       get_spec > /dev/null
-                       parse_spec
-                       set_bconds_values
-                       echo "$BCOND"
-               fi
-               ;;
-       "build" | "build-binary" | "build-source" | "build-prep" | "build-build" | "build-install" | "build-list")
-               init_builder
-               if [ -n "$SPECFILE" ]; then
-                       get_spec
-                       parse_spec
-                       set_bconds_values
-                       display_bconds
-                       display_branches
-                       if [ "$COMMAND" != "build-source" ]; then
-                               check_buildarch
-                       fi
-                       fetch_build_requires
-                       if [ "$INTEGER_RELEASE" = "yes" ]; then
-                               echo "Checking release $PACKAGE_RELEASE..."
-                               if echo $PACKAGE_RELEASE | grep -q '^[^.]*\.[^.]*$' 2>/dev/null ; then
-                                       Exit_error err_fract_rel "$PACKAGE_RELEASE"
-                               fi
-                       fi
-
-                       # ./builder -bs test.spec -r AC-branch -Tp auto-ac- -tt
-                       if [ -n "$TEST_TAG" ]; then
-                               # - do not allow utf8 encoded specs on AC-branch
-                               if [ "$CVSTAG" = "AC-branch-disabled" ]; then
-                                       local t
-                                       t=$(grep '^Summary(.*\.UTF-8):' $SPECFILE)
-                                       if [ "$t" ]; then
-                                               Exit_error err_acl_deny "UTF-8 .specs not allowed on $CVSTAG"
-                                       fi
-                               fi
-
-                               local TAGVER=`make_tagver`
-                               echo "Searching for tag $TAGVER..."
-                               TAGREL=$(cvs status -v $SPECFILE | grep -E "^[[:space:]]*${TAGVER}[[[:space:]]" | sed -e 's#.*(revision: ##g' -e 's#).*##g')
-                               if [ -n "$TAGREL" ]; then
-                                       Exit_error err_tag_exists "$TAGVER" "$TAGREL"
-                               fi
-
-                               # - do not allow to build from HEAD when XX-branch exists
-                               TREE_PREFIX=$(echo "$TAG_PREFIX" | sed -e 's#^auto-\([a-zA-Z]\+\)-.*#\1#g')
-                               if [ "$TREE_PREFIX" != "$TAG_PREFIX" ]; then
-                                       TAG_BRANCH="${TREE_PREFIX}-branch"
-                                       TAG_STATUS=$(cvs status -v $SPECFILE | grep -Ei "${TAG_BRANCH}.+(branch: [0-9.]+)")
-                                       if [ -n "$TAG_STATUS" -a "$CVSTAG" = "HEAD" ]; then
-                                               Exit_error err_branch_exists "$TAG_STATUS"
-                                       fi
-                               fi
-
-                       fi
-
-                       if [ -n "$NOSOURCE0" ] ; then
-                               SOURCES=`echo $SOURCES | xargs | sed -e 's/[^ ]*//'`
-                       fi
-                       get_files $SOURCES $PATCHES
-                       check_md5 $SOURCES
-                       build_package
-                       if [ "$UPDATE_POLDEK_INDEXES" = "yes" -a "$COMMAND" != "build-prep" ]; then
-                               run_poldek --sdir="${POLDEK_INDEX_DIR}" --mkidxz
-                       fi
-                       remove_build_requires
-               else
-                       Exit_error err_no_spec_in_cmdl
-               fi
-               ;;
-       "branch" )
-               init_builder
-               if [ -n "$SPECFILE" ]; then
-                       get_spec
-                       parse_spec
-                       # don't fetch sources from remote locations
-                       new_SOURCES=""
-                       for file in $SOURCES; do
-                               [ -n "`src_md5 $file`" ] && continue
-                               new_SOURCES="$new_SOURCES $file"
-                       done
-                       SOURCES="$new_SOURCES"
-                       get_files $SOURCES $PATCHES
-                       check_md5 $SOURCES
-                       branch_files $TAG $SOURCES $PATCHES $ICONS
-               else
-                       Exit_error err_no_spec_in_cmdl
-               fi
-               ;;
-       "get" )
-               init_builder
-               if [ -n "$SPECFILE" ]; then
-                       get_spec
-                       parse_spec
-
-                       if [ -n "$NOSOURCE0" ] ; then
-                               SOURCES=`echo $SOURCES | xargs | sed -e 's/[^ ]*//'`
-                       fi
-                       get_files $SOURCES $PATCHES
-                       check_md5 $SOURCES
-               else
-                       Exit_error err_no_spec_in_cmdl
-               fi
-               ;;
-       "update_md5" )
-               init_builder
-               if [ -n "$SPECFILE" ]; then
-                       get_spec
-                       parse_spec
-
-                       if [ -n "$NOSOURCE0" ] ; then
-                               SOURCES=`echo $SOURCES | xargs | sed -e 's/[^ ]*//'`
-                       fi
-                       update_md5 $SOURCES
-               else
-                       Exit_error err_no_spec_in_cmdl
-               fi
-               ;;
-       "tag" )
-               NOURLS=1
-               NODIST="yes"
-               init_builder
-               if [ -n "$SPECFILE" ]; then
-                       get_spec
-                       parse_spec
-
-                       # don't fetch sources from remote locations
-                       new_SOURCES=""
-                       for file in $SOURCES; do
-                               [ -n "`src_md5 $file`" ] && continue
-                               new_SOURCES="$new_SOURCES $file"
-                       done
-                       SOURCES="$new_SOURCES"
-                       get_files $SOURCES $PATCHES
-                       check_md5 $SOURCES
-                       tag_files $SOURCES $PATCHES $ICONS
-               else
-                       Exit_error err_no_spec_in_cmdl
-               fi
-               ;;
-       "mr-proper" )
-               $RPM --clean --rmsource --rmspec --force --nodeps $SPECFILE
-               ;;
-       "list-sources-files" )
-               init_builder
-               NOCVSSPEC="yes"
-               DONT_PRINT_REVISION="yes"
-               get_spec
-               parse_spec
-               for SAP in $SOURCES $PATCHES; do
-                       echo $SAP | awk '{gsub(/.*\//,"") ; print}'
-               done
-               ;;
-       "list-sources-urls" )
-               init_builder
-               NOCVSSPEC="yes"
-               DONT_PRINT_REVISION="yes"
-               get_spec
-               parse_spec
-               SAPS="$SOURCES $PATCHES"
-               for SAP in $SAPS ; do
-                       echo $SAP
-               done
-               ;;
-       "list-sources-local-paths" )
-               init_builder
-               NOCVSSPEC="yes"
-               DONT_PRINT_REVISION="yes"
-               get_spec
-               parse_spec
-               for SAP in $SOURCES $PATCHES; do
-                       echo $SOURCE_DIR/$(echo $SAP | awk '{gsub(/.*\//,"") ; print }')
-               done
-               ;;
-       "list-sources-distfiles-paths" )
-               init_builder
-               NOCVSSPEC="yes"
-               DONT_PRINT_REVISION="yes"
-               get_spec
-               parse_spec
-               for SAP in $SOURCES $PATCHES; do
-                       if [ -n "$(src_md5 "$SAP")" ]; then
-                               distfiles_path "$SAP"
-                       fi
-               done
-               ;;
-       "list-sources-distfiles" )
-               init_builder
-               NOCVSSPEC="yes"
-               DONT_PRINT_REVISION="yes"
-               get_spec
-               parse_spec
-               for SAP in $SOURCES $PATCHES; do
-                       if [ -n "$(src_md5 "$SAP")" ]; then
-                               distfiles_url "$SAP"
-                       fi
-               done
-               ;;
-       "list-sources-cvs" )
-               init_builder
-#              NOCVSSPEC="yes"
-               DONT_PRINT_REVISION="yes"
-               get_spec
-               parse_spec
-               for SAP in $SOURCES $PATCHES; do
-                       if [ -z "$(src_md5 "$SAP")" ]; then
-                               echo $SAP | awk '{gsub(/.*\//,"") ; print}'
-                       fi
-               done
-               ;;
-       "init_rpm_dir")
-               init_rpm_dir
-               ;;
-       "usage" )
-               usage
-               ;;
-       "short-version" )
-               echo "$VERSION"
-               ;;
-       "version" )
-               echo "$VERSIONSTRING"
-               ;;
-esac
-if [ -f "`pwd`/.${SPECFILE}_INSTALLED_PACKAGES" -a "$REMOVE_BUILD_REQUIRES" != "" ]; then
-       rm "`pwd`/.${SPECFILE}_INSTALLED_PACKAGES"
-fi
-cd "$__PWD"
-
-# vi:syntax=sh:ts=4:sw=4:noet
diff --git a/patch.4.5.20.1 b/patch.4.5.20.1
deleted file mode 100644 (file)
index 370ac3e..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-*** sequence/sequence.c.orig   27 Sep 2006 14:56:17 -0000      12.39
---- sequence/sequence.c        26 Oct 2006 07:36:05 -0000
-***************
-*** 228,233 ****
---- 228,236 ----
-       seq->seq_data.ulen = seq->seq_data.size = sizeof(seq->seq_record);
-       seq->seq_rp = &seq->seq_record;
-  
-+      if ((ret = __dbt_usercopy(dbenv, keyp)) != 0)
-+              goto err;
-+ 
-       memset(&seq->seq_key, 0, sizeof(DBT));
-       if ((ret = __os_malloc(dbenv, keyp->size, &seq->seq_key.data)) != 0)
-               goto err;
-***************
-*** 365,370 ****
---- 368,374 ----
-               ret = t_ret;
-  
-       ENV_LEAVE(dbenv, ip);
-+      __dbt_userfree(dbenv, keyp, NULL, NULL);
-       return (ret);
-  }
-  
-***************
-*** 764,769 ****
---- 768,777 ----
-       DBT *key;
-  {
-       SEQ_ILLEGAL_BEFORE_OPEN(seq, "DB_SEQUENCE->get_key");
-+ 
-+      if (F_ISSET(key, DB_DBT_USERCOPY))
-+              return (__db_retcopy(seq->seq_dbp->dbenv, key,
-+                  seq->seq_key.data, seq->seq_key.size, NULL, 0));
-  
-       key->data = seq->seq_key.data;
-       key->size = key->ulen = seq->seq_key.size;
diff --git a/patch.4.5.20.2 b/patch.4.5.20.2
deleted file mode 100644 (file)
index fe49c46..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-*** rep/rep_method.c.orig      Fri Oct 20 08:34:06 2006
---- rep/rep_method.c   Fri Oct 27 12:09:04 2006
-***************
-*** 526,535 ****
-                * will allow the client to either perform recovery or
-                * simply join in.
-                */
-!              if (announce)
-                       (void)__rep_send_message(dbenv,
-                           DB_EID_BROADCAST, REP_NEWCLIENT, NULL, dbt, 0, 0);
-!              else
-                       (void)__rep_send_message(dbenv,
-                           DB_EID_BROADCAST, REP_ALIVE_REQ, NULL, NULL, 0, 0);
-       }
---- 526,537 ----
-                * will allow the client to either perform recovery or
-                * simply join in.
-                */
-!              if (announce) {
-!                      if ((ret = __dbt_usercopy(dbenv, dbt)) != 0)
-!                              goto err;
-                       (void)__rep_send_message(dbenv,
-                           DB_EID_BROADCAST, REP_NEWCLIENT, NULL, dbt, 0, 0);
-!              } else
-                       (void)__rep_send_message(dbenv,
-                           DB_EID_BROADCAST, REP_ALIVE_REQ, NULL, NULL, 0, 0);
-       }
-***************
-*** 553,558 ****
---- 555,561 ----
-       }
-       if (pending_event != DB_EVENT_NO_SUCH_EVENT)
-               DB_EVENT(dbenv, pending_event, NULL);
-+      __dbt_userfree(dbenv, dbt, NULL, NULL);
-       return (ret);
-  }
-  
-*** rep/rep_record.c.orig      Fri Oct 20 08:34:06 2006
---- rep/rep_record.c   Mon Nov 13 10:46:29 2006
-***************
-*** 163,168 ****
---- 163,176 ----
-               return (EINVAL);
-       }
-  
-+      if ((ret = __dbt_usercopy(dbenv, control)) != 0 ||
-+          (ret = __dbt_usercopy(dbenv, rec)) != 0) {
-+              __dbt_userfree(dbenv, control, rec, NULL);
-+              __db_errx(dbenv,
-+      "DB_ENV->rep_process_message: error retrieving DBT contents");
-+              return ret;
-+      }
-+ 
-       ret = 0;
-       db_rep = dbenv->rep_handle;
-       rep = db_rep->region;
-***************
-*** 621,626 ****
---- 629,635 ----
-                       *ret_lsnp = rp->lsn;
-               ret = DB_REP_NOTPERM;
-       }
-+      __dbt_userfree(dbenv, control, rec, NULL);
-       return (ret);
-  }
-  
diff --git a/pldnotify.awk b/pldnotify.awk
deleted file mode 100644 (file)
index b37ef59..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-#!/bin/awk -f
-# $Revision$, $Date$
-# TODO: "SourceXDownload" support (use given URLs if present instead of cut-down SourceX URLs)
-
-function fixedsub(s1,s2,t,     ind) {
-# substitutes fixed strings (not regexps)
-       if (ind = index(t,s1)) {
-               t = substr(t, 1, ind-1) s2 substr(t, ind+length(s1))
-       }
-       return t
-}
-
-function ispre(s) {
-       if ((s~"pre")||(s~"PRE")||(s~"beta")||(s~"BETA")||(s~"alpha")||(s~"ALPHA")||(s~"rc")||(s~"RC")) {
-               if (DEBUG) print "pre-version"
-               return 1
-       } else {
-               return 0
-       }
-}
-
-function compare_ver(v1,v2) {
-# compares version numbers
-       while (match(v1,/[a-zA-Z][0-9]|[0-9][a-zA-Z]/))
-               v1=(substr(v1,1,RSTART) "." substr(v1,RSTART+RLENGTH-1))
-       while (match(v2,/[a-zA-Z][0-9]|[0-9][a-zA-Z]/))
-               v2=(substr(v2,1,RSTART) "." substr(v2,RSTART+RLENGTH-1))
-       sub("^0*","",v1)
-       sub("^0*","",v2)
-       gsub("\.0*",".",v1)
-       gsub("\.0*",".",v2)
-       if (DEBUG) print "v1 == " v1
-       if (DEBUG) print "v2 == " v2
-       count=split(v1,v1a,"\.")
-       count2=split(v2,v2a,"\.")
-
-       if (count<count2) mincount=count
-       else mincount=count2
-
-       for (i=1; i<=mincount; i++) {
-               if (v1a[i]=="") v1a[i]=0
-               if (v2a[i]=="") v2a[i]=0
-               if (DEBUG) print "i == " i
-               if (DEBUG) print "v1[i] == " v1a[i]
-               if (DEBUG) print "v2[i] == " v2a[i]
-               if ((v1a[i]~/[0-9]/)&&(v2a[i]~/[0-9]/)) {
-                       if (length(v2a[i])>length(v1a[i]))
-                               return 1
-                       else if (v2a[i]>v1a[i])
-                               return 1
-                       else if (length(v1a[i])>length(v2a[i]))
-                               return 0
-                       else if (v1a[i]>v2a[i])
-                               return 0
-               } else if ((v1a[i]~/[A-Za-z]/)&&(v2a[i]~/[A-Za-z]/)) {
-                       if (v2a[i]>v1a[i])
-                               return 1
-                       else if (v1a[i]>v2a[i])
-                               return 0
-               } else if (ispre(v1a[i]) == 1)
-                       return 1
-               else
-                       return 0
-       }
-       if ((count2==mincount)&&(count!=count2)) {
-               for (i=count2+1; i<=count; i++)
-                       if (ispre(v1a[i]) == 1)
-                               return 1
-               return 0
-       } else if (count!=count2) {
-               for (i=count+1; i<=count2; i++)
-                       if (ispre(v2a[i]) == 1)
-                               return 0
-               return 1
-       }
-       return 0
-}
-
-function compare_ver_dec(v1,v2) {
-# compares version numbers as decimal floats
-       while (match(v1,/[0-9][a-zA-Z]/))
-               v1=(substr(v1,1,RSTART) "." substr(v1,RSTART+RLENGTH-1))
-       while (match(v2,/[0-9][a-zA-Z]/))
-               v2=(substr(v2,1,RSTART) "." substr(v2,RSTART+RLENGTH-1))
-       sub("^0*","",v1)
-       sub("^0*","",v2)
-       if (DEBUG) print "v1 == " v1
-       if (DEBUG) print "v2 == " v2
-       count=split(v1,v1a,"\.")
-       count2=split(v2,v2a,"\.")
-
-       if (count<count2) mincount=count
-       else mincount=count2
-
-       for (i=1; i<=mincount; i++) {
-               if (v1a[i]=="") v1a[i]=0
-               if (v2a[i]=="") v2a[i]=0
-               if (DEBUG) print "i == " i
-               if (DEBUG) print "v1[i] == " v1a[i]
-               if (DEBUG) print "v2[i] == " v2a[i]
-               if ((v1a[i]~/[0-9]/)&&(v2a[i]~/[0-9]/)) {
-                       if (i==2) {
-                               if (0+("." v2a[i])>0+("." v1a[i]))
-                                       return 1
-                               else if (0+("." v1a[i])>0+("." v2a[i]))
-                                       return 0
-                       } else {
-                               if (length(v2a[i])>length(v1a[i]))
-                                       return 1
-                               else if (v2a[i]>v1a[i])
-                                       return 1
-                               else if (length(v1a[i])>length(v2a[i]))
-                                       return 0
-                               else if (v1a[i]>v2a[i])
-                                       return 0
-                       }
-               } else if ((v1a[i]~/[A-Za-z]/)&&(v2a[i]~/[A-Za-z]/)) {
-                       if (v2a[i]>v1a[i])
-                               return 1
-                       else if (v1a[i]>v2a[i])
-                               return 0
-               } else if (ispre(v1a[i]) == 1)
-                       return 1
-               else
-                       return 0
-       }
-       if ((count2==mincount)&&(count!=count2)) {
-               for (i=count2+1; i<=count; i++)
-                       if (ispre(v1a[i]) == 1)
-                               return 1
-               return 0
-       } else if (count!=count2) {
-               for (i=count+1; i<=count2; i++)
-                       if (ispre(v2a[i]) == 1)
-                               return 0
-               return 1
-       }
-       return 0
-}
-
-function get_links(url,        errno,link,oneline,retval,odp,wholeodp,lowerodp,tmpfile) {
-# get all <A HREF=..> tags from specified URL
-       "mktemp /tmp/XXXXXX" | getline tmpfile
-       close("mktemp /tmp/XXXXXX")
-
-       if (url ~ /^http:\/\/(download|dl).(sf|sourceforge).net\//) {
-               gsub("^http://(download|dl).(sf|sourceforge).net/", "", url)
-               url = "http://prdownloads.sourceforge.net/" substr(url, 1, 1) "/" substr(url, 1, 2) "/" url
-               if (DEBUG) print "sf url, mungled url to: " url
-       }
-
-       if (DEBUG) print "Retrieving: " url
-       errno=system("wget -O - \"" url "\" -t 3 -T 300 --passive-ftp > " tmpfile " 2>/dev/null" )
-
-       if (errno==0) {
-               while (getline oneline < tmpfile)
-                       wholeodp=(wholeodp " " oneline)
-               if ( DEBUG ) print "Response: " wholeodp
-       }
-
-       close(tmpfile)
-       system("rm -f " tmpfile)
-       urldir=url;
-       sub(/[^\/]+$/,"",urldir)
-
-       if ( errno==0) {
-               while (match(wholeodp, /<([aA]|[fF][rR][aA][mM][eE])[ \t][^>]*>/) > 0) {
-                       odp=substr(wholeodp,RSTART,RLENGTH);
-                       wholeodp=substr(wholeodp,RSTART+RLENGTH);
-
-                       lowerodp=tolower(odp);
-                       if (lowerodp ~ /<frame[ \t]/) {
-                               sub(/[sS][rR][cC]=[ \t]*/,"src=",odp);
-                               match(odp,/src="[^"]+"/)
-                               newurl=substr(odp,RSTART+5,RLENGTH-6)
-                               if (DEBUG) print "Frame: " newurl
-                               if (newurl !~ /\//) {
-                                       newurl=(urldir newurl)
-                                       if (DEBUG) print "Frame->: " newurl
-                               }
-                               retval=(retval " " get_links(newurl))
-                       } else if (lowerodp ~ /href=[ \t]*"[^"]*"/) {
-                               sub(/[hH][rR][eE][fF]=[ \t]*"/,"href=\"",odp)
-                               match(odp,/href="[^"]*"/)
-                               link=substr(odp,RSTART,RLENGTH)
-                               odp=substr(odp,1,RSTART) substr(odp,RSTART+RLENGTH)
-                               link=substr(link,7,length(link)-7)
-                               retval=(retval " " link)
-                               if (DEBUG) print "href(\"\"): " link
-                       } else if (lowerodp ~ /href=[ \t]*'[^']*'/) {
-                               sub(/[hH][rR][eE][fF]=[ \t]*'/,"href='",odp)
-                               match(odp,/href='[^']*'/)
-                               link=substr(odp,RSTART,RLENGTH)
-                               odp=substr(odp,1,RSTART) substr(odp,RSTART+RLENGTH)
-                               link=substr(link,7,length(link)-7)
-                               retval=(retval " " link)
-                               if (DEBUG) print "href(''): " link
-                       } else if (lowerodp ~ /href=[ \t]*[^ \t>]*/) {
-                               sub(/[hH][rR][eE][fF]=[ \t]*/,"href=",odp)
-                               match(odp,/href=[^ \t>]*/)
-                               link=substr(odp,RSTART,RLENGTH)
-                               odp=substr(odp,1,RSTART) substr(odp,RSTART+RLENGTH)
-                               link=substr(link,6,length(link)-5)
-                               retval=(retval " " link)
-                               if (DEBUG) print "href(): " link
-                       } else {
-                               # <a ...> but not href - skip
-                               if (DEBUG) print "skipping <a > without href: " odp
-                       }
-               }
-       } else {
-               retval=("WGET ERROR: " errno)
-       }
-
-
-       if (DEBUG) print "Returning: " retval
-       return retval
-}
-
-function subst_defines(var,defs) {
-# substitute all possible RPM macros
-       while ((var ~ /%{.*}/) || (var ~ /%[A-Za-z0-9_]+/)) {
-               oldvar=var
-               for (j in defs) {
-                       gsub("%{" j "}", defs[j], var)
-                       gsub("%" j , defs[j], var)
-               }
-               if (var==oldvar) {
-                       if ( DEBUG ) for (i in defs) print i " == " defs[i]
-                       return var
-               }
-       }
-       return var
-}
-
-function find_mirror(url) {
-
-       while (succ = (getline line < "mirrors")) {
-           if (succ==-1) { return url }
-               nf=split(line,fields,"|")
-               if (nf>1){
-                       origin=fields[1]
-                       mirror=fields[2]
-                       mname=fields[3]
-                       prefix=substr(url,1,length(origin))
-                       if (prefix==origin){
-                               if ( DEBUG ) print "Mirror fount at " mname
-                               close("mirrors")
-                               return mirror substr(url,length(origin)+1)
-                       }
-               }
-       }
-
-       return url
-}
-
-function process_source(number,lurl,name,version) {
-# fetches file list, and compares version numbers
-       if ( DEBUG ) print "Processing " lurl
-
-       if ( index(lurl,version)==0 ) {
-               if (DEBUG) print "There is no version number."
-               return 0
-       }
-
-       sub("://",":",lurl)
-       sub("/",":/",lurl)
-       gsub("[^/]*$",":&",lurl)
-       split(lurl,url,":")
-       acc=url[1]
-       host=url[2]
-       dir=url[3]
-       filename=url[4]
-
-       if (index(dir,version)) {
-               dir=substr(dir,1,index(dir,version)-1)
-               sub("[^/]*$","",dir)
-               sub("(\.tar\.(bz|bz2|gz)|zip)$","",filename)
-               if ( DEBUG ) print "Will check a directory: " dir
-               if ( DEBUG ) print "and a file: " filename
-       }
-
-       filenameexp=filename
-       gsub("\+","\\+",filenameexp)
-       sub(version,"[A-Za-z0-9.]+",filenameexp)
-       gsub("\.","\\.",filenameexp)
-       if ( DEBUG ) print "Expression: " filenameexp
-       match(filename,version)
-       prever=substr(filename,1,RSTART-1)
-       postver=substr(filename,RSTART+RLENGTH)
-       if ( DEBUG ) print "Before number: " prever
-       if ( DEBUG ) print "and after: " postver
-       newurl=find_mirror(acc "://" host dir)
-       #print acc "://" host dir
-       #newurl=url[1]"://"url[2]url[3]url[4]
-       #newurl=acc "://" host dir filename
-       if ( DEBUG ) print "Looking at " newurl
-
-       references=0
-       finished=0
-       oldversion=version
-       odp=get_links(newurl)
-       if( odp ~ "ERROR: ") {
-               print name "(" number ") " odp
-       } else {
-               if (DEBUG) print "WebPage downloaded"
-               c=split(odp,linki)
-               for (nr=1; nr<=c; nr++) {
-                       addr=linki[nr]
-                       if (DEBUG) print "Found link: " addr
-                       if ((addr ~ filenameexp) && !(addr ~ "[-_.0-9A-Za-z~]" filenameexp)) {
-                               match(addr,filenameexp)
-                               newfilename=substr(addr,RSTART,RLENGTH)
-                               if (DEBUG) print "Hypothetical new: " newfilename
-                               newfilename=fixedsub(prever,"",newfilename)
-                               newfilename=fixedsub(postver,"",newfilename)
-                               if (DEBUG) print "Version: " newfilename
-                               if (newfilename ~ /\.(pkg|bin|binary|built)$/) continue
-                               if (NUMERIC) {
-                                       if ( compare_ver_dec(version, newfilename)==1 ) {
-                                               if (DEBUG) print "Yes, there is new one"
-                                               version=newfilename
-                                               finished=1
-                                       }
-                               } else if ( compare_ver(version, newfilename)==1 ) {
-                                       if (DEBUG) print "Yes, there is new one"
-                                       version=newfilename
-                                       finished=1
-                               }
-                       }
-               }
-               if (finished==0)
-                       print name "(" number ") seems ok: " oldversion
-               else
-                       print name "(" number ") [OLD] " oldversion " [NEW] " version
-       }
-}
-
-# upgrade check for pear package using PEAR CLI
-function pear_upgrade(name, ver) {
-       pname = name;
-       sub(/^php-pear-/, "", pname);
-
-       pearcmd = "pear remote-info " pname " | awk '/^Latest/{print $NF}'"
-       if (DEBUG) {
-               print "pearcmd: " pearcmd
-       }
-       pearcmd | getline nver
-       close(pearcmd)
-
-       if (compare_ver(ver, nver)) {
-               print name " [OLD] " ver " [NEW] " nver
-       } else {
-               print name " seems ok: " ver
-       }
-
-       return
-}
-
-function process_data(name,ver,rel,src) {
-       if (name ~ /^php-pear-/) {
-               return pear_upgrade(name, ver);
-       }
-
-# this function checks if substitutions were valid, and if true:
-# processes each URL and tries to get current file list
-       for (i in src) {
-               if ( src[i] !~ /%{.*}/ && src[i] !~ /%[A-Za-z0-9_]/ )  {
-                       if ( DEBUG ) print "Source: " src[i]
-                       process_source(i,src[i],name,ver)
-               } else {
-                       print FNAME ":" i ": impossible substitution: " src[i]
-               }
-       }
-}
-
-BEGIN {
-       # if U want to use DEBUG, run script with "-v DEBUG=1"
-       # or uncomment the line below
-       # DEBUG = 1
-
-       errno=system("wget --help > /dev/null 2>&1")
-       if (errno) {
-               print "No wget installed!"
-               exit 1
-       }
-       if (ARGC>=3 && ARGV[2]=="-n") {
-               NUMERIC=1
-               for (i=3; i<ARGC; i++) ARGV[i-1]=ARGV[i]
-               ARGC=ARGC-1
-       }
-}
-
-FNR==1 {
-       if ( ARGIND != 1 ) {
-               process_data(NAME,VER,REL,SRC)
-               NAME="" ; VER="" ; REL=""
-               for (i in DEFS) delete DEFS[i]
-               for (i in SRC) delete SRC[i]
-       }
-       FNAME=FILENAME
-}
-
-/^[Uu][Rr][Ll]:/&&(URL=="") { URL=subst_defines($2,DEFS) ; DEFS["url"]=URL }
-/^[Nn]ame:/&&(NAME=="") { NAME=subst_defines($2,DEFS) ; DEFS["name"]=NAME }
-/^[Vv]ersion:/&&(VER=="") { VER=subst_defines($2,DEFS) ; DEFS["version"]=VER }
-/^[Rr]elease:/&&(REL=="") { REL=subst_defines($2,DEFS) ; DEFS["release"]=REL }
-/^[Ss]ource[0-9]*:/ { if (/(ftp|http):\/\//) SRC[FNR]=subst_defines($2,DEFS) }
-/%define/ { DEFS[$2]=subst_defines($3,DEFS) }
-
-END {
-       process_data(NAME,VER,REL,SRC)
-}
diff --git a/rpm-Nmalloc.patch b/rpm-Nmalloc.patch
deleted file mode 100644 (file)
index 29c97b8..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-Index: depends.c
-===================================================================
-RCS file: /cvs/devel/rpm/lib/depends.c,v
-retrieving revision 1.325.2.78
-diff -u -b -B -w -p -r1.325.2.78 depends.c
---- rpm/lib/depends.c  16 May 2007 11:47:44 -0000      1.325.2.78
-+++ rpm/lib/depends.c  22 May 2007 11:41:02 -0000
-@@ -1264,12 +1264,12 @@ static int checkPackageDeps(rpmts ts, co
-  * Adding: check name/provides dep against each conflict match,
-  * Erasing: check name/provides/filename dep against each requiredby match.
-  * @param ts          transaction set
-- * @param dep         dependency name
-+ * @param depName     dependency name
-  * @param mi          rpm database iterator
-  * @param adding      dependency is from added package set?
-  * @return            0 no problems found
-  */
--static int checkPackageSet(rpmts ts, const char * dep,
-+static int checkPackageSet(rpmts ts, const char * depName,
-               /*@only@*/ /*@null@*/ rpmdbMatchIterator mi, int adding)
-       /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
-       /*@modifies ts, mi, rpmGlobalMacroContext, fileSystem, internalState @*/
-@@ -1307,7 +1307,7 @@ static int checkPackageSet(rpmts ts, con
-       rc = checkPackageDeps(ts, pkgNEVRA,
-               requires, conflicts, dirnames, linktos,
--              dep, tscolor, adding);
-+              depName, tscolor, adding);
-       linktos = rpmdsFree(linktos);
-       dirnames = rpmdsFree(dirnames);
-@@ -1328,10 +1328,10 @@ static int checkPackageSet(rpmts ts, con
- /**
-  * Check to-be-erased dependencies against installed requires.
-  * @param ts          transaction set
-- * @param dep         requires name
-+ * @param depName     requires name
-  * @return            0 no problems found
-  */
--static int checkDependentPackages(rpmts ts, const char * dep)
-+static int checkDependentPackages(rpmts ts, const char * depName)
-       /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
-       /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/
- {
-@@ -1340,8 +1340,8 @@ static int checkDependentPackages(rpmts 
-     /* XXX rpmdb can be closed here, avoid error msg. */
-     if (rpmtsGetRdb(ts) != NULL) {
-       rpmdbMatchIterator mi;
--      mi = rpmtsInitIterator(ts, RPMTAG_REQUIRENAME, dep, 0);
--      rc = checkPackageSet(ts, dep, mi, 0);
-+      mi = rpmtsInitIterator(ts, RPMTAG_REQUIRENAME, depName, 0);
-+      rc = checkPackageSet(ts, depName, mi, 0);
-     }
-     return rc;
- }
-@@ -1349,10 +1349,10 @@ static int checkDependentPackages(rpmts 
- /**
-  * Check to-be-added dependencies against installed conflicts.
-  * @param ts          transaction set
-- * @param dep         conflicts name
-+ * @param depName     conflicts name
-  * @return            0 no problems found
-  */
--static int checkDependentConflicts(rpmts ts, const char * dep)
-+static int checkDependentConflicts(rpmts ts, const char * depName)
-       /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
-       /*@modifies ts, rpmGlobalMacroContext, fileSystem, internalState @*/
- {
-@@ -1361,8 +1361,8 @@ static int checkDependentConflicts(rpmts
-     /* XXX rpmdb can be closed here, avoid error msg. */
-     if (rpmtsGetRdb(ts) != NULL) {
-       rpmdbMatchIterator mi;
--      mi = rpmtsInitIterator(ts, RPMTAG_CONFLICTNAME, dep, 0);
--      rc = checkPackageSet(ts, dep, mi, 1);
-+      mi = rpmtsInitIterator(ts, RPMTAG_CONFLICTNAME, depName, 0);
-+      rc = checkPackageSet(ts, depName, mi, 1);
-     }
-     return rc;
-@@ -2277,6 +2277,7 @@ assert(newOrderCount == ts->orderCount);
- int rpmtsCheck(rpmts ts)
- {
-+    const char * depName = NULL;;
-     rpmdepFlags depFlags = rpmtsDFlags(ts);
-     uint_32 tscolor = rpmtsColor(ts);
-     rpmdbMatchIterator mi = NULL;
-@@ -2331,17 +2332,15 @@ int rpmtsCheck(rpmts ts)
-       provides = rpmdsInit(provides);
-       if (provides != NULL)
-       while (rpmdsNext(provides) >= 0) {
--          const char * Name;
--
--          if ((Name = rpmdsN(provides)) == NULL)
--              /*@innercontinue@*/ continue;   /* XXX can't happen */
-+          depName = _free(depName);
-+          depName = xstrdup(rpmdsN(provides));
- #ifdef        NOTYET
-           if (rpmdsNSType(provides) == RPMNS_TYPE_ENVVAR) {
-               const char * EVR = rpmdsEVR(provides);
-               if (rpmdsNegateRC(provides, 0))
-                   EVR = NULL;
--              rc = envPut(Name, EVR);
-+              rc = envPut(depName, EVR);
-               if (!rc)
-                   /*@innercontinue@*/ continue;
-               /*@innerbreak@*/ break;
-@@ -2349,7 +2348,7 @@ int rpmtsCheck(rpmts ts)
- #endif
-           /* Adding: check provides key against conflicts matches. */
--          if (!checkDependentConflicts(ts, Name))
-+          if (!checkDependentConflicts(ts, depName))
-               /*@innercontinue@*/ continue;
-           rc = 1;
-           /*@innerbreak@*/ break;
-@@ -2377,13 +2376,11 @@ int rpmtsCheck(rpmts ts)
-       provides = rpmdsInit(provides);
-       if (provides != NULL)
-       while (rpmdsNext(provides) >= 0) {
--          const char * Name;
--
--          if ((Name = rpmdsN(provides)) == NULL)
--              /*@innercontinue@*/ continue;   /* XXX can't happen */
-+          depName = _free(depName);
-+          depName = xstrdup(rpmdsN(provides));
-           /* Erasing: check provides against requiredby matches. */
--          if (!checkDependentPackages(ts, Name))
-+          if (!checkDependentPackages(ts, depName))
-               /*@innercontinue@*/ continue;
-           rc = 1;
-           /*@innerbreak@*/ break;
-@@ -2395,10 +2392,10 @@ int rpmtsCheck(rpmts ts)
-       fi = rpmteFI(p, RPMTAG_BASENAMES);
-       fi = rpmfiInit(fi, 0);
-       while (rpmfiNext(fi) >= 0) {
--          const char * fn = rpmfiFN(fi);
--
-+          depName = _free(depName);
-+          depName = xstrdup(rpmfiFN(fi));
-           /* Erasing: check filename against requiredby matches. */
--          if (!checkDependentPackages(ts, fn))
-+          if (!checkDependentPackages(ts, depName))
-               /*@innercontinue@*/ continue;
-           rc = 1;
-           /*@innerbreak@*/ break;
-@@ -2429,6 +2426,7 @@ int rpmtsCheck(rpmts ts)
- exit:
-     mi = rpmdbFreeIterator(mi);
-     pi = rpmtsiFree(pi);
-+    depName = _free(depName);
-     (void) rpmswExit(rpmtsOp(ts, RPMTS_OP_CHECK), 0);
index 12a01cd6d1dd3861e285d3ac9f3819896b10efda..119831ca000a3aa825a9efdab8632d606545a9a1 100644 (file)
@@ -1,11 +1,22 @@
-diff -Nur rpm-4.4.2.orig/build/Makefile.am rpm-4.4.2.as_needed-fix/build/Makefile.am
---- rpm-4.4.2.orig/build/Makefile.am   2006-08-04 22:17:16.000000000 +0200
-+++ rpm-4.4.2.as_needed-fix/build/Makefile.am  2006-08-04 22:17:43.000000000 +0200
-@@ -33,6 +33,7 @@
+diff -urN rpm-4.4.9.org/build/Makefile.am rpm-4.4.9/build/Makefile.am
+--- rpm-4.4.9.org/build/Makefile.am    2007-05-19 14:44:43.000000000 +0200
++++ rpm-4.4.9/build/Makefile.am        2007-11-15 01:51:35.501378544 +0100
+@@ -37,6 +37,7 @@
        $(top_builddir)/lib/librpm.la \
        $(top_builddir)/rpmdb/librpmdb.la \
        $(top_builddir)/rpmio/librpmio.la \
 +      @WITH_MAGIC_LIB@ \
        @WITH_LIBELF_LIB@
  
- rpmfile.h:
+ if HAVE_LD_VERSION_SCRIPT
+diff -urN rpm-4.4.9.org/lib/Makefile.am rpm-4.4.9/lib/Makefile.am
+--- rpm-4.4.9.org/lib/Makefile.am      2007-05-19 13:54:06.000000000 +0200
++++ rpm-4.4.9/lib/Makefile.am  2007-11-15 01:52:19.806906700 +0100
+@@ -46,6 +46,7 @@
+ librpm_la_LDFLAGS = -no-undefined -release $(LT_CURRENT).$(LT_REVISION) $(LDFLAGS) \
+       $(top_builddir)/rpmdb/librpmdb.la \
+       $(top_builddir)/rpmio/librpmio.la \
++      @WITH_MAGIC_LIB@ \
+       @WITH_POPT_LIB@ \
+       @WITH_SELINUX_LIB@ \
+       @LTLIBINTL@
diff --git a/rpm-bb-and-short-circuit.patch b/rpm-bb-and-short-circuit.patch
deleted file mode 100644 (file)
index 8a67f9b..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
---- rpm-4.1/rpmqv.c.sc Thu Sep 19 11:32:08 2002
-+++ rpm-4.1/rpmqv.c    Thu Sep 19 11:38:45 2002
-@@ -685,6 +685,8 @@
-       case 'b':
-           ba->buildAmount |= RPMBUILD_PACKAGEBINARY;
-           ba->buildAmount |= RPMBUILD_CLEAN;
-+          if ((ba->buildChar == 'b') && ba->shortCircuit)
-+              /*@innerbreak@*/ break;
-           /*@fallthrough@*/
-       case 'i':
-           ba->buildAmount |= RPMBUILD_INSTALL;
-diff -Nura rpm-4.3/doc/pl/rpmbuild.8 rpm-4.3.aft/doc/pl/rpmbuild.8
---- rpm-4.3/doc/pl/rpmbuild.8  2004-05-20 14:13:22.000000000 +0200
-+++ rpm-4.3.aft/doc/pl/rpmbuild.8      2004-05-20 14:10:43.000000000 +0200
-@@ -145,7 +145,8 @@
- .TP
- \fB--short-circuit\fR
- Przechodzi wprost do podanego etapu (tzn. pomija wszystkie etapy
--prowadz±ce do podanego). Prawid³owe tylko z \fB-bc\fR i \fB-bi\fR.
-+prowadz±ce do podanego). Prawid³owe tylko z \fB-bc\fR, \fB-bi\fR
-+i \fB-bb\fR (-bb --short-circuit odnosi siê do PLD i jest niezalecane).
- .TP
- \fB--sign\fR
- Osadza w pakiecie sygnaturê GPG. Sygnatura ta mo¿e byæ u¿ywana do
-diff -Nura rpm-4.3/doc/rpmbuild.8 rpm-4.3.aft/doc/rpmbuild.8
---- rpm-4.3/doc/rpmbuild.8     2004-05-20 14:13:22.000000000 +0200
-+++ rpm-4.3.aft/doc/rpmbuild.8 2004-05-20 14:10:13.000000000 +0200
-@@ -167,8 +167,9 @@
- .TP
- \fB--short-circuit\fR
- Skip straight to specified stage (i.e., skip all stages leading
--up to the specified stage).  Only valid with \fB-bc\fR
--and \fB-bi\fR.
-+up to the specified stage).  Only valid with \fB-bc\fR, \fB-bi\fR
-+and \fB-bb\fR (note: -bb in conjunction with --short-circuit is
-+PLD-specific and not recommended).
- .TP
- \fB--sign\fR
- Embed a GPG signature in the package. This signature can be used
diff --git a/rpm-bug-146549.patch b/rpm-bug-146549.patch
deleted file mode 100644 (file)
index 7461ca1..0000000
+++ /dev/null
@@ -1,117 +0,0 @@
-https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=146549
-
---- rpm-4.4.2/rpmio/rpmsq.c.deadlock   2005-07-13 12:47:03.000000000 +0200
-+++ rpm-4.4.2/rpmio/rpmsq.c    2005-08-19 14:47:53.000000000 +0200
-@@ -218,7 +218,6 @@
-           sq->id = ME();
-           ret = pthread_mutex_init(&sq->mutex, NULL);
--          ret = pthread_cond_init(&sq->cond, NULL);
-           insque(elem, (prev != NULL ? prev : rpmsqQueue));
-           ret = sigrelse(SIGCHLD);
-       }
-@@ -240,8 +239,11 @@
-       ret = sighold (SIGCHLD);
-       if (ret == 0) {
-           remque(elem);
--          ret = pthread_cond_destroy(&sq->cond);
--          ret = pthread_mutex_destroy(&sq->mutex);
-+         
-+          /* Unlock the mutex and then destroy it */ 
-+          if((ret = pthread_mutex_unlock(&sq->mutex)) == 0)
-+              ret = pthread_mutex_destroy(&sq->mutex);
-+
-           sq->id = NULL;
- /*@-bounds@*/
-           if (sq->pipes[1])   ret = close(sq->pipes[1]);
-@@ -315,11 +317,20 @@
-                    sq != NULL && sq != rpmsqQueue;
-                    sq = sq->q_forw)
-               {
-+                  int ret;
-+
-                   if (sq->child != reaped)
-                       /*@innercontinue@*/ continue;
-                   sq->reaped = reaped;
-                   sq->status = status;
--                  (void) pthread_cond_signal(&sq->cond);
-+
-+                  /* Unlock the mutex.  The waiter will then be able to 
-+                   * aquire the lock.  
-+                   *
-+                   * XXX: jbj, wtd, if this fails? 
-+                   */
-+                  ret = pthread_mutex_unlock(&sq->mutex); 
-+
-                   /*@innerbreak@*/ break;
-               }
-           }
-@@ -391,6 +402,7 @@
- {
-     pid_t pid;
-     int xx;
-+    int nothreads = 0;   /* XXX: Shouldn't this be a global? */
-     if (sq->reaper) {
-       xx = rpmsqInsert(sq, NULL);
-@@ -405,6 +417,24 @@
-     xx = sighold(SIGCHLD);
-+    /* 
-+     * Initialize the cond var mutex.   We have to aquire the lock we 
-+     * use for the condition before we fork.  Otherwise it is possible for
-+     * the child to exit, we get sigchild and the sig handler to send 
-+     * the condition signal before we are waiting on the condition.
-+     */
-+    if (!nothreads) {
-+      if(pthread_mutex_lock(&sq->mutex)) {
-+          /* Yack we did not get the lock, lets just give up */
-+/*@-bounds@*/
-+          xx = close(sq->pipes[0]);
-+          xx = close(sq->pipes[1]);
-+          sq->pipes[0] = sq->pipes[1] = -1;
-+/*@=bounds@*/
-+          goto out;
-+      }
-+    }
-+
-     pid = fork();
-     if (pid < (pid_t) 0) {            /* fork failed.  */
- /*@-bounds@*/
-@@ -462,10 +492,6 @@
-     /* Protect sq->reaped from handler changes. */
-     ret = sighold(SIGCHLD);
--    /* Initialize the cond var mutex. */
--    if (!nothreads)
--      ret = pthread_mutex_lock(&sq->mutex);
--
-     /* Start the child, linux often runs child before parent. */
- /*@-bounds@*/
-     if (sq->pipes[0] >= 0)
-@@ -486,7 +512,13 @@
-           ret = sigpause(SIGCHLD);
-       else {
-           xx = sigrelse(SIGCHLD);
--          ret = pthread_cond_wait(&sq->cond, &sq->mutex);
-+          
-+          /* 
-+           * We start before the fork with this mutex locked;
-+           * The only one that unlocks this the signal handler.
-+           * So if we get the lock the child has been reaped.
-+           */
-+          ret = pthread_mutex_lock(&sq->mutex);
-           xx = sighold(SIGCHLD);
-       }
-     }
-@@ -495,9 +527,6 @@
-     /* Accumulate stopwatch time spent waiting, potential performance gain. */
-     sq->ms_scriptlets += rpmswExit(&sq->op, -1)/1000;
--    /* Tear down cond var mutex, our child has been reaped. */
--    if (!nothreads)
--      xx = pthread_mutex_unlock(&sq->mutex);
-     xx = sigrelse(SIGCHLD);
- #ifdef _RPMSQ_DEBUG
diff --git a/rpm-check-files b/rpm-check-files
deleted file mode 100644 (file)
index db19836..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#!/bin/sh
-#
-# Gets file list on standard input and RPM_BUILD_ROOT as first parameter
-# and searches omited files (not counting directories).
-# Returns it's output on standard output.
-#
-# filon@pld.org.pl
-
-RPM_BUILD_ROOT=$1
-
-[ ! -d "$RPM_BUILD_ROOT" ] && exit 1
-
-[ "$TMPDIR" ] || TMPDIR=/tmp
-FILES_DISK=`mktemp $TMPDIR/rpmXXXXXX`
-FILES_RPM=`mktemp $TMPDIR/rpmXXXXXX`
-
-find $RPM_BUILD_ROOT -type f | LC_ALL=C sort > $FILES_DISK
-LC_ALL=C sort > $FILES_RPM
-
-diff "$FILES_DISK" "$FILES_RPM" | grep "^< " | cut -c3- | sed -e "s#^$RPM_BUILD_ROOT#   #"
-
-rm -f $FILES_DISK
-rm -f $FILES_RPM
diff --git a/rpm-chroot-hack.patch b/rpm-chroot-hack.patch
new file mode 100644 (file)
index 0000000..e5b7aca
--- /dev/null
@@ -0,0 +1,21 @@
+diff -urN rpm-4.4.9.org/rpmdb/db3.c rpm-4.4.9/rpmdb/db3.c
+--- rpm-4.4.9.org/rpmdb/db3.c  2007-04-25 03:48:42.000000000 +0200
++++ rpm-4.4.9/rpmdb/db3.c      2007-11-12 20:01:29.761434045 +0100
+@@ -1329,6 +1329,8 @@
+       } else {
+ assert(rpmdb && rpmdb->db_dbenv);
+           dbenv = rpmdb->db_dbenv;
++          if (rpmdb->db_chrootDone)
++                  dbenv->set_data_dir(dbenv, dbhome);
+           rpmdb->db_opens++;
+       }
+       /*@=mods@*/
+@@ -1496,7 +1498,7 @@
+               if (dbfile)
+                   t = stpcpy( stpcpy( t, "/"), dbfile);
+ /*@=boundswrite@*/
+-#ifdef        HACK    /* XXX necessary to support dbsubfile */
++#if 1
+               dbpath = (!dbi->dbi_use_dbenv && !dbi->dbi_temporary)
+                       ? dbfullpath : dbfile;
+ #else
diff --git a/rpm-cleanbody.patch b/rpm-cleanbody.patch
new file mode 100644 (file)
index 0000000..21aa5f5
--- /dev/null
@@ -0,0 +1,15 @@
+--- rpm-4.4.9/build/parseBuildInstallClean.c   2008-01-30 23:16:55.347346942 +0200
++++ rpm-4.4.9/build/parseBuildInstallClean.c   2008-01-30 23:22:24.241459876 +0200
+@@ -47,11 +47,10 @@
+           appendStringBuf(*sbp, s);
+       s = _free(s);
+     } else if (parsePart == PART_CLEAN) {
+-      const char * s = rpmExpand("%{?buildroot:rm -rf '%{buildroot}'\n}", NULL);
++      const char * s = rpmExpand("%{?__spec_clean_body}%{!?__spec_clean_body:%{?buildroot:rm -rf '%{buildroot}'\n}}\n", NULL);
+       if (s && *s)
+           appendStringBuf(*sbp, s);
+       s = _free(s);
+-      sbp = NULL;     /* XXX skip %clean from spec file. */
+     }
+     /* There are no options to %build, %install, %check, or %clean */
diff --git a/rpm-cpuinfo.patch b/rpm-cpuinfo.patch
deleted file mode 100644 (file)
index 8696002..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- rpm/lib/depends.c  2007-02-13 20:39:00.386623000 +0100
-+++ rpm/lib/depends.c  2007-02-19 19:48:40.490623000 +0100
-@@ -507,6 +507,10 @@
-       goto unsatisfied;
-     }
-+    /* Ignore cpuinfo() deps */
-+    if (!strncmp(Name, "cpuinfo(", sizeof("cpuinfo(")-1))
-+          goto exit;
-+
-     /* Search added packages for the dependency. */
-     if (rpmalSatisfiesDepend(ts->addedPackages, dep, NULL) != NULL) {
-       /*
index 402a3ede20095b44eab75cf25f16fbf9c472c01b..599743f3dcf552cf52d163fb79eeaa3247e5107e 100644 (file)
@@ -1,15 +1,15 @@
-diff -ur rpm-4.4.6.org/macros.in rpm-4.4.6/macros.in
---- rpm-4.4.6.org/macros.in    2006-04-08 21:04:54.000000000 +0200
-+++ rpm-4.4.6/macros.in        2006-06-30 22:03:15.076727750 +0200
-@@ -168,15 +168,20 @@
+--- rpm-4.4.9.orig/macros.in   2008-01-31 19:20:08.798315963 +0200
++++ rpm-4.4.9/macros.in        2008-01-31 19:20:50.850567944 +0200
+@@ -188,15 +188,21 @@
  %debug_package \
  %ifnarch noarch\
  %global __debug_package 1\
 -%package debug\
 +%package debuginfo\
  Summary: Debug information for package %{name}\
-+Summary(pl): Informacje dla debuggera dla pakietu %{name}\
++Summary(pl.UTF-8): Informacje dla debuggera dla pakietu %{name}\
  Group: Development/Debug\
++Requires: filesystem-debuginfo >= 3.0-16\
  AutoReqProv: 0\
 -%description debug\
 +%description debuginfo\
@@ -17,16 +17,16 @@ diff -ur rpm-4.4.6.org/macros.in rpm-4.4.6/macros.in
  Debug information is useful when developing applications that use this\
  package or when debugging this package.\
 -%files debug -f debugfiles.list\
-+%description debuginfo -l pl\
++%description debuginfo -l pl.UTF-8\
 +Ten pakiet dostarcza informacje dla debuggera dla pakietu %{name}.\
-+Informacje te s± przydatne przy rozwijaniu aplikacji u¿ywaj±cych tego\
++Informacje te są przydatne przy rozwijaniu aplikacji używających tego\
 +pakietu oraz przy odpluskwianiu samego pakietu.\
 +%files debuginfo -f debugfiles.list\
  %defattr(-,root,root)\
  %endif\
  %{nil}
-@@ -961,7 +966,7 @@
- %__spec_install_pre   %{___build_pre}
+@@ -1046,7 +1052,7 @@
+ %{?buildroot:%{__rm} -rf '%{buildroot}'}
  %__spec_install_body  %{___build_body}
  %__spec_install_post\
 -%{?__debug_package:%{__debug_install_post}}\
@@ -34,9 +34,8 @@ diff -ur rpm-4.4.6.org/macros.in rpm-4.4.6/macros.in
  %{__arch_install_post}\
  %{__os_install_post}\
  %{nil}
-diff -ur rpm-4.4.6.org/platform.in rpm-4.4.6/platform.in
---- rpm-4.4.6.org/platform.in  2006-06-30 22:01:46.743207000 +0200
-+++ rpm-4.4.6/platform.in      2006-06-30 22:03:15.080728000 +0200
+--- rpm-4.4.9.orig/platform.in 2008-01-31 19:20:08.676303626 +0200
++++ rpm-4.4.9/platform.in      2008-01-31 19:20:50.844567337 +0200
 @@ -61,7 +61,7 @@
  %{nil}
  
@@ -46,10 +45,31 @@ diff -ur rpm-4.4.6.org/platform.in rpm-4.4.6/platform.in
      %{__arch_install_post}\
      %{__os_install_post}\
  %{nil}
-diff -ur rpm-4.4.6.org/scripts/find-debuginfo.sh rpm-4.4.6/scripts/find-debuginfo.sh
---- rpm-4.4.6.org/scripts/find-debuginfo.sh    2006-02-12 15:59:51.000000000 +0100
-+++ rpm-4.4.6/scripts/find-debuginfo.sh        2006-06-30 22:03:53.451126000 +0200
-@@ -15,7 +15,8 @@
+--- rpm-4.4.9.orig/scripts/find-debuginfo.sh   2006-02-12 16:59:51.000000000 +0200
++++ rpm-4.4.9/scripts/find-debuginfo.sh        2008-01-31 19:20:50.852568146 +0200
+@@ -1,36 +1,49 @@
+ #!/bin/sh
+-#find-debuginfo.sh - automagically generate debug info and file list
+-#for inclusion in an rpm spec file.
++# find-debuginfo.sh - automagically generate debug info and file list
++# for inclusion in an rpm spec file.
+-if [ -z "$1" ] ; then BUILDDIR="."
+-else BUILDDIR=$1
++if [ -z "$1" ]; then
++      BUILDDIR="."
++else
++      BUILDDIR=$1
+ fi
+ LISTFILE=$BUILDDIR/debugfiles.list
+ SOURCEFILE=$BUILDDIR/debugsources.list
+-debugdir="${RPM_BUILD_ROOT}/usr/lib/debug"
+-
+-echo -n > $SOURCEFILE
++: > $SOURCEFILE
++: > $LISTFILE
  
  strip_to_debug()
  {
@@ -58,9 +78,36 @@ diff -ur rpm-4.4.6.org/scripts/find-debuginfo.sh rpm-4.4.6/scripts/find-debuginf
 +  objcopy --add-gnu-debuglink="$1" "$2"
  }
  
++filelist=$(find $RPM_BUILD_ROOT ! -path "$RPM_BUILD_ROOT/usr/lib/debug/*.debug" -type f '(' -perm -0100 -or -perm -0010 -or -perm -0001 ')')
++if [ -z "$filelist" ]; then
++      # no files, exit
++      exit 0
++fi
++
++filetypes=$(echo "$filelist" | xargs -r -d'\n' file)
++elflist=$(echo "$filetypes" | awk -F: '/ELF.*, not stripped/ {print $1}')
++if [ -z "$elflist" ]; then
++      # no elf objects, exit
++      exit 0
++fi
++
  # Strip ELF binaries
-@@ -30,7 +31,7 @@
-       [ -f "${debugfn}" ] && continue
+-for f in `find $RPM_BUILD_ROOT ! -path "${debugdir}/*.debug" -type f \( -perm -0100 -or -perm -0010 -or -perm -0001 \) -exec file {} \; | \
+-      sed -n -e 's/^\(.*\):[  ]*.*ELF.*, not stripped/\1/p'`
+-do
+-      dn=$(dirname $f | sed -n -e "s#^$RPM_BUILD_ROOT##p")
+-      bn=$(basename $f .debug).debug
+-
+-      debugdn="${debugdir}${dn}"
+-      debugfn="${debugdn}/${bn}"
+-      [ -f "${debugfn}" ] && continue
++echo "$elflist" | while read f; do
++      dn=$(dirname "${f#$RPM_BUILD_ROOT}")
++      bn=$(basename "$f" .debug).debug
++
++      debugdn="$RPM_BUILD_ROOT/usr/lib/debug$dn"
++      debugfn="$debugdn/$bn"
++      [ -f "$debugfn" ] && continue
  
        echo extracting debug info from $f
 -      /usr/lib/rpm/debugedit -b "$RPM_BUILD_DIR" -d /usr/src/debug -l "$SOURCEFILE" "$f"
@@ -68,9 +115,53 @@ diff -ur rpm-4.4.6.org/scripts/find-debuginfo.sh rpm-4.4.6/scripts/find-debuginf
  
        # A binary already copied into /usr/lib/debug doesn't get stripped,
        # just has its file names collected and adjusted.
-@@ -54,4 +55,5 @@
- find ${RPM_BUILD_ROOT}/usr/src/debug -type d -print0 | xargs -0 chmod a+rx
+@@ -38,20 +51,27 @@
+       /usr/lib/debug/*) continue ;;
+       esac
+-      mkdir -p "${debugdn}"
++      mkdir -p "$debugdn"
+       if test -w "$f"; then
+-              strip_to_debug "${debugfn}" "$f"
++              strip_to_debug "$debugfn" "$f"
+       else
+               chmod u+w "$f"
+-              strip_to_debug "${debugfn}" "$f"
++              strip_to_debug "$debugfn" "$f"
+               chmod u-w "$f"
+       fi
+ done
+-mkdir -p ${RPM_BUILD_ROOT}/usr/src/debug
+-cat $SOURCEFILE | (cd $RPM_BUILD_DIR; LANG=C sort -z -u | cpio -pd0mL ${RPM_BUILD_ROOT}/usr/src/debug)
++mkdir -p $RPM_BUILD_ROOT/usr/src/debug
++cat $SOURCEFILE | (cd $RPM_BUILD_DIR; LANG=C sort -z -u | fgrep -zv '<built-in>' | cpio --quiet -pd0mL $RPM_BUILD_ROOT/usr/src/debug)
+ # stupid cpio creates new directories in mode 0700, fixup
+-find ${RPM_BUILD_ROOT}/usr/src/debug -type d -print0 | xargs -0 chmod a+rx
++find $RPM_BUILD_ROOT/usr/src/debug -type d -print0 | xargs -0 chmod a+rx
+-find ${RPM_BUILD_ROOT}/usr/lib/debug -type f | sed -n -e "s#^$RPM_BUILD_ROOT##p" > $LISTFILE
+-find ${RPM_BUILD_ROOT}/usr/src/debug -mindepth 1 -maxdepth 1 | sed -n -e "s#^$RPM_BUILD_ROOT##p" >> $LISTFILE
++find $RPM_BUILD_ROOT/usr/lib/debug -type f | sed -n -e "s#^$RPM_BUILD_ROOT##p" > $LISTFILE
++find $RPM_BUILD_ROOT/usr/lib/debug -mindepth 1 -type d | sed -n -e "s#^$RPM_BUILD_ROOT#%dir #p" >> $LISTFILE
++find $RPM_BUILD_ROOT/usr/src/debug -mindepth 1 -maxdepth 1 | sed -n -e "s#^$RPM_BUILD_ROOT##p" >> $LISTFILE
++
++# add dirs already in filesystem-debuginfo package to exclude
++cat /usr/src/debug/filesystem-debuginfo.files | while read dir; do
++      [ -d $RPM_BUILD_ROOT$dir ] || continue
++      echo "%exclude %dir $dir"
++done >> $LISTFILE
+--- rpm-4.4.9.orig/scripts/find-debuginfo.sh   2008-02-11 18:51:12.304461614 +0200
++++ rpm-4.4.9/scripts/find-debuginfo.sh        2008-02-11 18:50:17.000000000 +0200
+@@ -20,6 +20,11 @@
+   objcopy --add-gnu-debuglink="$1" "$2"
+ }
  
- find ${RPM_BUILD_ROOT}/usr/lib/debug -type f | sed -n -e "s#^$RPM_BUILD_ROOT##p" > $LISTFILE
-+find ${RPM_BUILD_ROOT}/usr/lib/debug -mindepth 1 -type d | sed -n -e "s#^$RPM_BUILD_ROOT#%dir #p" >> $LISTFILE
- find ${RPM_BUILD_ROOT}/usr/src/debug -mindepth 1 -maxdepth 1 | sed -n -e "s#^$RPM_BUILD_ROOT##p" >> $LISTFILE
++if [ ! -d $RPM_BUILD_ROOT ]; then
++      # no buildroot, exit
++      exit 0
++fi
++
+ filelist=$(find $RPM_BUILD_ROOT ! -path "$RPM_BUILD_ROOT/usr/lib/debug/*.debug" -type f '(' -perm -0100 -or -perm -0010 -or -perm -0001 ')')
+ if [ -z "$filelist" ]; then
+       # no files, exit
diff --git a/rpm-disable-features.patch b/rpm-disable-features.patch
new file mode 100644 (file)
index 0000000..8d6c514
--- /dev/null
@@ -0,0 +1,42 @@
+--- rpm-4.4.9/macros.in        2008-01-13 19:07:45.023017755 +0200
++++ rpm-4.4.9/macros.in        2008-01-10 13:18:10.454983604 +0200
+@@ -350,7 +350,7 @@
+ #             "w9.lzdio"      lzma level 9.
+ #
+ %_source_payload      w9.gzdio
+-%_binary_payload      w9.lzdio
++%_binary_payload      w9.bzdio
+ #     Archive formats to use for source/binary package payloads.
+ #             "cpio"          cpio archive (default)
+@@ -1426,8 +1426,8 @@
+ #
+ # Note: Used iff _use_internal_dependency_generator is non-zero. The
+ # helpers are also used by %{_usrlibrpm}/rpmdeps {--provides|--requires}.
+-%__libtool_provides   %{_usrlibrpm}/libtooldeps.sh --provides %{buildroot} %{name}
+-%__libtool_requires   %{_usrlibrpm}/libtooldeps.sh --requires %{buildroot} %{name}
++#%__libtool_provides  %{_usrlibrpm}/libtooldeps.sh --provides %{buildroot} %{name}
++#%__libtool_requires  %{_usrlibrpm}/libtooldeps.sh --requires %{buildroot} %{name}
+ #------------------------------------------------------------------------
+ # pkgconfig(...) configuration.
+@@ -1436,8 +1436,8 @@
+ #
+ # Note: Used iff _use_internal_dependency_generator is non-zero. The
+ # helpers are also used by %{_usrlibrpm}/rpmdeps {--provides|--requires}.
+-%__pkgconfig_provides %{_usrlibrpm}/pkgconfigdeps.sh --provides
+-%__pkgconfig_requires %{_usrlibrpm}/pkgconfigdeps.sh --requires
++#%__pkgconfig_provides        %{_usrlibrpm}/pkgconfigdeps.sh --provides
++#%__pkgconfig_requires        %{_usrlibrpm}/pkgconfigdeps.sh --requires
+ #------------------------------------------------------------------------
+ # executable(...) configuration.
+@@ -1451,7 +1451,7 @@
+ #%__scriptlet_requires        /bin/bash --rpm-requires
+ # PLD rpm macros
+-%_enable_debug_packages 1
++%_enable_debug_packages 0
+ #-----------------------------------------------------------------
+ # CFLAGS and LDFLAGS used to build
diff --git a/rpm-dontneedutils.patch b/rpm-dontneedutils.patch
deleted file mode 100644 (file)
index c3decbb..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
---- rpm-4.3/rpmpopt.in.orig    2003-06-08 21:14:18.000000000 +0200
-+++ rpm-4.3/rpmpopt.in 2003-06-08 21:40:01.000000000 +0200
-@@ -185,22 +185,22 @@
- #rpm  exec --target           rpmb --target
- #rpm  exec --short-circuit    rpmb --short-circuit
--rpm   exec --initdb           rpmd --initdb
--rpm   exec --rebuilddb        rpmd --rebuilddb
--rpm   exec --verifydb         rpmd --verifydb
--
--rpm   exec --addsign          rpmk --addsign
--rpm   exec -K                 rpmk -K
--rpm   exec --checksig         rpmk --checksig
--rpm   exec --import           rpmk --import
--rpm   exec --resign           rpmk --resign
--
--rpm   exec -q                 rpmq -q
--rpm   exec --query            rpmq --query
--rpm   exec --querytags        rpmq --querytags
--rpm   exec -V                 rpmv -V
--rpm   exec -y                 rpmv -y
--rpm   exec --verify           rpmv --verify
-+#rpm  exec --initdb           rpmd --initdb
-+#rpm  exec --rebuilddb        rpmd --rebuilddb
-+#rpm  exec --verifydb         rpmd --verifydb
-+
-+#rpm  exec --addsign          rpmk --addsign
-+#rpm  exec -K                 rpmk -K
-+#rpm  exec --checksig         rpmk --checksig
-+#rpm  exec --import           rpmk --import
-+#rpm  exec --resign           rpmk --resign
-+
-+#rpm  exec -q                 rpmq -q
-+#rpm  exec --query            rpmq --query
-+#rpm  exec --querytags        rpmq --querytags
-+#rpm  exec -V                 rpmv -V
-+#rpm  exec -y                 rpmv -y
-+#rpm  exec --verify           rpmv --verify
- #rpm  exec -i                 rpmi -i
- #rpm  exec --install          rpmi --install
diff --git a/rpm-error-fatal.patch b/rpm-error-fatal.patch
deleted file mode 100644 (file)
index ec0792f..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-+---------------------------------------------------------------------------
-| Make sure that an %{error:<msg>} macro really stops further
-| processing. Else it would be nothing more than a %{warn:<msg>}.
-+---------------------------------------------------------------------------
---- rpm-4.4.2/rpmio/macro.c~   2007-03-07 18:50:42.754005171 +0200
-+++ rpm-4.4.2/rpmio/macro.c    2007-03-07 18:55:51.040958707 +0200
-@@ -1380,7 +1380,7 @@
-           STREQ("error", f, fn)) {
-               int waserror = 0;
-               if (STREQ("error", f, fn))
--                      waserror = 1;
-+                      waserror = 1, rc = 1;
-               if (g != NULL && g < ge)
-                       doOutput(mb, waserror, g, gn);
-               else
diff --git a/rpm-find-lang b/rpm-find-lang
deleted file mode 100644 (file)
index 9780aa4..0000000
+++ /dev/null
@@ -1,178 +0,0 @@
-#!/bin/sh
-#findlang - automagically generate list of language specific files
-#for inclusion in an rpm spec file.
-#This does assume that the *.mo files are under .../share/locale/...
-#Run with no arguments gets a usage message.
-
-#findlang is copyright (c) 1998 by W. L. Estes <wlestes@uncg.edu>
-
-#Redistribution and use of this software are hereby permitted for any
-#purpose as long as this notice and the above copyright notice remain
-#in tact and are included with any redistribution of this file or any
-#work based on this file.
-
-#changes:
-# $Id$
-# 2006-08-28 Elan Ruusamäe <glen@pld-linux.org>
-#   * fixed --all-name which got broken with last change.
-# 2006-08-09 Elan Ruusamäe <glen@pld-linux.org>
-#   * huge performance boost for packages calling %find_lang multiple times (kde*i18n)
-# 2001-01-08 Micha³ Kochanowicz <mkochano@pld.org.pl>
-#   * --all-name support for KDE.
-# 2000-11-28 Rafa³ Cygnarowski <pascalek@pld.org.pl>
-#   * next simple rule for KDE
-# 2000-11-12 Rafa³ Cygnarowski <pascalek@pld.org.pl>
-#   * simple rules for KDE help files
-# 2000-06-05 Micha³ Kochanowicz <mkochano@pld.org.pl>
-#   * exact, not substring matching $NAME, i.e. find-lang top_dir NAME will
-#     no longer find /usr/share/locale/pl/LC_MESSAGES/<anything>NAME.mo.
-# 2000-04-17 Arkadiusz Mi¶kiewicz <misiek@pld.org.pl>
-#   * exit 1 when no files found
-# 1999-10-19 Artur Frysiak <wiget@pld.org.pl>
-#   * added support for GNOME help files
-#   * start support for KDE help files
-
-PROG=${0##*/}
-
-usage () {
-cat <<EOF
-
-Usage: $PROG TOP_DIR PACKAGE_NAME [prefix]
-
-where TOP_DIR is
-the top of the tree containing the files to be processed--should be
-\$RPM_BUILD_ROOT usually. TOP_DIR gets sed'd out of the output list.
-PACKAGE_NAME is the %{name} of the package. This should also be
-the basename of the .mo files.  the output is written to
-PACKAGE_NAME.lang unless \$3 is given in which case output is written
-to \$3.
-Additional options:
-  --with-gnome         find GNOME help files
-  --with-kde           find KDE help files
-  --all-name           match all package/domain names
-  --without-mo         skip *.mo locale files
-EOF
-exit 1
-}
-
-if [ -z "$1" ]; then
-       usage
-elif [ $1 = / ]; then
-       echo >&2 "$PROG: expects non-/ argument for '$1'"
-       exit 1
-elif [ ! -d $1 ]; then
-       echo >&2 "$PROG: $1: No such directory"
-       exit 1
-else
-       TOP_DIR="${1%/}"
-fi
-shift
-
-if [ -z "$1" ]; then
-       usage
-else
-       NAME=$1
-fi
-shift
-
-GNOME='#'
-KDE='#'
-MO=''
-MO_NAME=$NAME.lang
-ALL_NAME='#'
-NO_ALL_NAME=''
-while test $# -gt 0 ; do
-    case "$1" in
-       --with-gnome)
-               GNOME=''
-               echo "$PROG: Enabling with GNOME"
-               shift
-               ;;
-       --with-kde)
-               echo "$PROG: Enabling with KDE"
-               KDE=''
-               shift
-               ;;
-       --without-mo)
-               echo "$PROG: Disabling .mo files"
-               MO='#'
-               shift
-               ;;
-       --all-name)
-               echo "$PROG: Enabling with all names"
-               ALL_NAME=''
-               NO_ALL_NAME='#'
-               shift
-               ;;
-       * )
-               MO_NAME=$1
-               shift
-               ;;
-    esac
-done    
-
-echo '%defattr(644,root,root,755)' > $MO_NAME
-
-if [ ! -f __find.files ] || [ "$TOP_DIR" -nt __find.files ]; then
-       find $TOP_DIR -type f -name '*.mo' | xargs -r file | egrep -v ', 1 messages$' | \
-       sed -e '
-               s/:.*//
-               s:'"$TOP_DIR"'::' > __find.files
-else
-       echo "$PROG: Using cached __find.files"
-fi
-
-(
-       if [ "$ALL_NAME" ]; then
-               fgrep $NAME __find.files
-       else
-               cat __find.files
-       fi
-) | sed '
-'"$ALL_NAME$MO"'s:\(.*/share/locale/\)\([^/_]\+\)\(.*\.mo$\):%lang(\2) \1\2\3:
-'"$NO_ALL_NAME$MO"'s:\(.*/share/locale/\)\([^/]\+\)\(.*/'"$NAME"'\.mo$\):%lang(\2) \1\2\3:
-s:^\([^%].*\)::
-s:%lang(C) ::
-s:^\$::' | egrep -v '^$' >> $MO_NAME
-
-if [ ! -f __find.dirs ] || [ "$TOP_DIR" -nt __find.dirs ]; then
-       find $TOP_DIR -type d | sed 's:'"$TOP_DIR"'::' > __find.dirs
-else
-       echo "$PROG: Using cached __find.dirs"
-fi
-
-(
-       if [ "$ALL_NAME" ]; then
-               fgrep $NAME __find.dirs
-       else
-               cat __find.dirs
-       fi
-) | sed '
-'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'$\):%dir \1:
-'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'/[a-zA-Z0-9.\_\-]/.\+\)::
-'"$NO_ALL_NAME$GNOME"'s:\(.*/gnome/help/'"$NAME"'\/\)\([^/]\+\):%lang(\2) \1\2:
-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+$\):%dir \1:
-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]/.\+\)::
-'"$ALL_NAME$GNOME"'s:\(.*/gnome/help/[a-zA-Z0-9.\_\-]\+\/\)\([^/]\+\):%lang(\2) \1\2:
-s:%lang(.*) .*/gnome/help/[a-zA-Z0-9.\_\-]\+/[a-zA-Z0-9.\_\-]\+/.*::
-s:^\([^%].*\)::
-s:%lang(C) ::' | egrep -v '^$' >> $MO_NAME
-
-(
-       if [ "$ALL_NAME" ]; then
-               fgrep $NAME __find.dirs
-       else
-               cat __find.dirs
-       fi
-) | sed '
-'"$NO_ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'/\)::
-'"$NO_ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\+\)\(.*/'"$NAME"'\)$:%lang(\2) \1\2\3:
-'"$ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+/\)::
-'"$ALL_NAME$KDE"'s:\(.*/doc/kde/HTML/\)\([^/_]\+\)\(.*/[a-zA-Z0-9.\_\-]\+$\):%lang(\2) \1\2\3:
-s:^\([^%].*\)::
-s:%lang(C) ::' | egrep -v '^$' >> $MO_NAME
-
-if [ "$(egrep -v '(^%defattr|^$)' $MO_NAME | wc -l)" -le 0 ]; then
-       echo >&2 "Error: international files not found for $NAME!"
-       exit 1
-fi
index 200e1b407d3b3b68c047817b916ff24bd8ee652a..f3d479b63e3c9ebb9f4027f652e15d0405e4b101 100644 (file)
@@ -10,14 +10,14 @@ fi
 SPEC=$1
 if [ $SPEC = "--" ]; then
     if [ "$#" -lt 2 ]; then
-       echo "Usage: rpm --bcond SPEC"
+       echo "Usage: rpmbuikd --bcond SPEC"
        exit 1
     fi
     SPEC=$2
 fi
 
 if [ ! -f $SPEC ]; then
-    echo "rpm: $SPEC: no such file"
+    echo "rpmbuild: $SPEC: no such file"
     exit 1
 fi
 
diff --git a/rpm-hrmib-cache b/rpm-hrmib-cache
new file mode 100644 (file)
index 0000000..8ee25bb
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/sh
+build_hrmib_cache() {
+       # skip if no rpm(1), touch(1), xargs(1)
+       [ -x /bin/rpm -a -x /bin/touch -a -x /bin/xargs ] || return
+
+       export LC_ALL=C
+       umask 002
+
+       mydir=/var/cache/hrmib
+
+       echo >&2 "Populating $mydir with initial contents"
+       mkdir -p $mydir || return
+       echo $mydir/* | xargs rm -f
+
+       buf=$(rpm --nodigest --nosignature -qa --qf '%{N}-%{V}-%{R}.%{ARCH} %{INSTALLTIME:date}\n')
+       echo "$buf" | while read nvra idate; do
+               touch -d "$idate" "$mydir/$nvra"
+       done
+       touch $mydir
+}
+
+build_hrmib_cache
diff --git a/rpm-java-requires b/rpm-java-requires
deleted file mode 100644 (file)
index 40db41b..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/sh
-# This script reads filenames from STDIN and outputs any relevant requires
-# information that needs to be included in the package.
-#
-# Based on rpm-4.4.2/scripts/find-req.pl
-# Authors: Elan Ruusamäe <glen@pld-linux.org>
-
-export PATH="/sbin:/usr/sbin:/bin:/usr/bin"
-
-javaclassversion() {
-       [ $# -gt 0 ] || return
-
-       local ver
-       classver=$(echo "$@" | xargs -r file | grep -o 'compiled Java class data, version [0-9.]*' | awk '{print $NF}' | sort -u)
-       [ "$classver" ] || return
-       for v in $classver; do
-               echo "java(ClassDataVersion) >= $v"
-       done
-}
-
-javajarversion() {
-       local jar="$1"
-
-       # check only files, symlinks could point outside buildroot
-       [ -f "$jar" -a ! -L "$jar" ] || return
-
-#      echo >&2 "find java requires: ${jar#$RPM_BUILD_ROOT}"
-
-       tmp=$(mktemp -d)
-       unzip -q -d $tmp $jar >&2
-       javaclassversion $(find $tmp -type f -name '*.class')
-       rm -rf $tmp
-}
-
-FILES=$(cat -)
-
-find_requires() {
-       for file in $FILES; do
-               case $file in
-               *.jar)
-                       javajarversion "$file"
-               ;;
-               *.class)
-                       javaclassversion "$file"
-               ;;
-               esac
-       done
-}
-
-find_requires | sort -u
diff --git a/rpm-javadeps.patch b/rpm-javadeps.patch
deleted file mode 100644 (file)
index 82a1fc8..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
---- rpm-4.4.9/lib/rpmfc.c.orig 2007-05-22 20:19:05.990914000 +0200
-+++ rpm-4.4.9/lib/rpmfc.c      2007-05-22 22:12:38.775152636 +0200
-@@ -866,6 +866,12 @@
-       /* not only executable, files run by httpd usually are not */
-       if (fc->findreq)
-           xx = rpmfcHelper(fc, 'R', "php", fc->noautoreq, fc->noautoreq_c);
-+    } else
-+    if (fc->fcolor->vals[fc->ix] & RPMFC_JAVA) {
-+      if (fc->findprov)
-+          xx = rpmfcHelper(fc, 'P', "java", fc->noautoprov, fc->noautoprov_c);
-+      if (fc->findreq)
-+          xx = rpmfcHelper(fc, 'R', "java", fc->noautoreq, fc->noautoreq_c);
-     }
-     return 0;
---- rpm-4.4.9/macros.in.orig   2007-05-24 21:20:49.657284000 +0200
-+++ rpm-4.4.9/macros.in        2007-05-24 21:22:32.823163996 +0200
-@@ -1416,8 +1416,8 @@
- #
- # Note: Used iff _use_internal_dependency_generator is non-zero. The
- # helpers are also used by %{_usrlibrpm}/rpmdeps {--provides|--requires}.
--%__java_provides      %{_usrlibrpm}/javadeps.sh --provides
--%__java_requires      %{_usrlibrpm}/javadeps.sh --requires
-+%__java_provides      %{nil}
-+%__java_requires      %{nil}
- #------------------------------------------------------------------------
- # libtool(...) configuration.
diff --git a/rpm-libtool-deps.patch b/rpm-libtool-deps.patch
deleted file mode 100644 (file)
index 00dd7d0..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
---- rpm-4.4.8.org/scripts/libtooldeps.sh       2005-11-12 22:20:42.000000000 +0100
-+++ rpm-4.4.8/scripts/libtooldeps.sh   2006-11-26 20:06:49.254008750 +0100
-@@ -5,6 +5,8 @@
-     exit 0
- }
-+pkgname="$3"
-+
- case $1 in
- -P|--provides)
-     shift
-@@ -13,7 +15,8 @@
-     do
-       case "$possible" in
-       *.la)
--          if grep -iq '^# Generated by ltmain.sh' "$possible" 2> /dev/null ; then
-+          possible="`readlink -f "$possible" 2> /dev/null || echo "$possible"`"
-+          if file "$possible" | grep -iq 'libtool library file' 2> /dev/null ; then
-               possible="`echo ${possible} | sed -e s,${RPM_BUILD_ROOT}/,/,`"
-               echo "libtool($possible)"
-           fi
-@@ -22,21 +25,28 @@
-     done
-     ;;
- -R|--requires)
--    while read possible ; do
--      case "$possible" in
--      *.la)
--          for dep in `grep '^dependency_libs='"$possible" 2> /dev/null | \
--                      sed -e "s,^dependency_libs='\(.*\)',\1,g"`
--          do
--              case "$dep" in
--              /*.la)
--                  echo "libtool($dep)"
-+    case $pkgname in
-+    *-devel)
-+          while read possible ; do
-+              case "$possible" in
-+              *.la)
-+                  for dep in `grep '^dependency_libs='"$possible" 2> /dev/null | \
-+                              sed -e "s,^dependency_libs='\(.*\)',\1,g"`
-+                  do
-+                      case "$dep" in
-+                      /*.la)
-+                          dep="`readlink -f "$dep" 2> /dev/null || echo "$dep"`"
-+                          echo "libtool($dep)"
-+                          ;;
-+                      esac
-+                  done
-                   ;;
-               esac
-           done
--          ;;
--      esac
--    done
--    ;;
-+     ;;
-+     *)
-+            cat > /dev/null
-+     ;;
-+     esac
- esac
- exit 0
diff --git a/rpm-lzma-size_t.patch b/rpm-lzma-size_t.patch
new file mode 100644 (file)
index 0000000..1f5a0fe
--- /dev/null
@@ -0,0 +1,11 @@
+--- rpm-4.4.9/rpmio/LzmaDecode.h.orig  2007-10-14 19:23:02.629594398 +0000
++++ rpm-4.4.9/rpmio/LzmaDecode.h       2007-10-14 19:23:16.628653630 +0000
+@@ -35,7 +35,7 @@
+ /* #define _LZMA_LOC_OPT */
+ /* Enable local speed optimizations inside code */
+-/* #define _LZMA_SYSTEM_SIZE_T */
++#define _LZMA_SYSTEM_SIZE_T
+ /* Use system's size_t. You can use it to enable 64-bit sizes supporting*/
+ #ifndef UInt32
diff --git a/rpm-lzma-tukaani.patch b/rpm-lzma-tukaani.patch
new file mode 100644 (file)
index 0000000..f60f236
--- /dev/null
@@ -0,0 +1,12 @@
+diff -urN rpm-4.4.9.org/rpmio/rpmio.c rpm-4.4.9/rpmio/rpmio.c
+--- rpm-4.4.9.org/rpmio/rpmio.c        2007-03-31 13:33:15.000000000 +0200
++++ rpm-4.4.9/rpmio/rpmio.c    2007-12-10 12:50:56.678906501 +0100
+@@ -2879,7 +2879,7 @@
+         xx = dup2(fdno, 1);
+         for (i = 3; i < 1024; i++)
+           xx = close(i);
+-        if (execl("/usr/bin/lzma", "lzma", "e", "-si", "-so", NULL))
++        if (execl("/usr/bin/lzma", "lzma", "--format=alone", "-zc", "-", NULL))
+             _exit(1);
+     }
+     return NULL; /* warning */
index e1308851cc2694ca1d785dbd08f5fe6f6206b3e5..4801fbd12a54bd8ba93087445745421dc830a15a 100644 (file)
@@ -1,6 +1,17 @@
---- rpm-4.4.8/macros.in.orig   2007-04-08 20:24:47.206783474 +0200
-+++ rpm-4.4.8/macros.in        2007-04-08 20:36:08.925632417 +0200
-@@ -206,7 +206,7 @@
+--- rpm-4.4.9/macros.in        2008-01-25 02:16:46.248708080 +0200
++++ rpm-4.4.9/macros.in        2008-04-04 23:15:28.121279270 +0300
+@@ -109,6 +109,10 @@
+ %__automake           automake
+ %__autoconf           autoconf
++# compiler used to build kernel and kernel modules
++%kgcc         %{__cc}
++%kgcc_package gcc
++
+ #==============================================================================
+ # Conditional build stuff.
+@@ -206,7 +210,7 @@
  %endif\
  %{nil}
  
@@ -9,7 +20,7 @@
  
  #     The path to the pgp executable (legacy, use %{__pgp} instead).
  %_pgpbin              %{__pgp}
-@@ -233,12 +233,12 @@
+@@ -233,12 +237,12 @@
  #     The directory where newly built source packages will be written.
  %_srcrpmdir           %{_topdir}/SRPMS
  
@@ -25,7 +36,7 @@
  
  #==============================================================================
  # ---- Optional rpmrc macros.
-@@ -248,7 +248,7 @@
+@@ -248,7 +252,7 @@
  #     Configurable build root path, same as BuildRoot: in a specfile.
  #     (Note: the configured macro value will override the spec file value).
  #
@@ -34,7 +45,7 @@
  
  #     The sub-directory (relative to %{_builddir}) where sources are compiled.
  #     This macro is set after processing %setup, either explicitly from the
-@@ -347,8 +347,8 @@
+@@ -347,8 +351,8 @@
  #             "w9.bzdio"      bzip2 level 9.
  #             "w9.lzdio"      lzma level 9.
  #
@@ -45,7 +56,7 @@
  
  #     Archive formats to use for source/binary package payloads.
  #             "cpio"          cpio archive (default)
-@@ -498,7 +498,7 @@
+@@ -498,7 +502,7 @@
  
  #
  # Path to magic file used for file classification.
  
  #==============================================================================
  # ---- Database configuration macros.
-@@ -1127,17 +1127,17 @@
+@@ -991,9 +995,12 @@
+   %{?_javaclasspath:CLASSPATH=\"%{_javaclasspath}\"\
+   export CLASSPATH}\
+   unset PERL_MM_OPT || :\
+-  LANG=C\
+-  export LANG\
+-  unset DISPLAY || :\
++  export LC_ALL=C\
++  export LANG=C\
++  unset LINGUAS ||:\
++  unset LANGUAGE ||:\
++  unset LC_MESSAGES ||:\
++  unset DISPLAY ||:\
+   \
+   %{verbose:set -x}%{!verbose:exec > /dev/null}\
+   umask 022\
+@@ -1127,17 +1134,17 @@
  %_exec_prefix         %{_prefix}
  %_bindir              %{_exec_prefix}/bin
  %_sbindir             %{_exec_prefix}/sbin
  %_localedir           %{_datadir}/locale
  
  #==============================================================================
-@@ -1428,7 +1428,25 @@
- # helpers are also used by %{_usrlibrpm}/rpmdeps {--provides|--requires}.
+@@ -1429,6 +1436,23 @@
  #%__executable_provides       %{_usrlibrpm}/executabledeps.sh --provides
  #%__executable_requires       %{_usrlibrpm}/executabledeps.sh --requires
 -%__scriptlet_requires /bin/bash --rpm-requires
 +#%__scriptlet_requires        /bin/bash --rpm-requires
++
 +# PLD rpm macros
 +%_enable_debug_packages 1
 +
 +# -feliminate-dwarf2-dups disabled until PR ld/3290 is fixed.
 +
 +%debugcflags  -O0 -g -Wall
-+%optldflags   -Wl,--as-needed
-+
 +# Warning: those macros are overwritten by macros.build,
 +#          left here for compatibility
 +%rpmcflags    %{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags}
diff --git a/rpm-magic-usesystem.patch b/rpm-magic-usesystem.patch
deleted file mode 100644 (file)
index b392879..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ur rpm.org/file/doc/Makefile.am rpm/file/doc/Makefile.am
---- rpm.org/file/doc/Makefile.am       2004-11-18 15:04:33.000000000 +0100
-+++ rpm/file/doc/Makefile.am   2004-11-22 01:02:30.114807597 +0100
-@@ -1,4 +1,4 @@
--MAGIC  = $(pkgdatadir)/magic
-+MAGIC  = /usr/share/file/magic
- if FSECT5
- man_MAGIC = magic.5
- else
-diff -ur rpm.org/file/Makefile.am rpm/file/Makefile.am
---- rpm.org/file/Makefile.am   2004-11-18 15:04:32.000000000 +0100
-+++ rpm/file/Makefile.am       2004-11-22 01:01:36.817958788 +0100
-@@ -3,4 +3,4 @@
- EXTRA_DIST = ChangeLog LEGAL.NOTICE MAINT README
--SUBDIRS = src magic doc python
-+SUBDIRS = src magic python
-diff -ur rpm.org/file/src/Makefile.am rpm/file/src/Makefile.am
---- rpm.org/file/src/Makefile.am       2004-11-18 15:04:33.000000000 +0100
-+++ rpm/file/src/Makefile.am   2004-11-22 01:01:36.823963503 +0100
-@@ -3,7 +3,7 @@
- #MAGIC         = $(pkgdatadir)/magic
- pkglibdir =  @prefix@/lib/rpm
--MAGIC    = $(pkglibdir)/magic
-+MAGIC    = /usr/share/file/magic
- AM_CPPFLAGS = -DMAGIC='"$(MAGIC)"'
diff --git a/rpm-man_pl.patch b/rpm-man_pl.patch
new file mode 100644 (file)
index 0000000..db61324
--- /dev/null
@@ -0,0 +1,10 @@
+--- rpm/doc/pl/rpm.8~  2007-11-24 23:21:26.000000000 +0100
++++ rpm/doc/pl/rpm.8   2007-11-24 23:21:26.000000000 +0100
+@@ -325,6 +325,7 @@
+ Instaluje pakiety nawet je¶li niektóre z nich s± ju¿ zainstalowane na tym
+ systemie.
+ .TP
++\fB--test\fR
+ Nie instaluje pakietu, po prostu sprawdza i raportuje potencjalne
+ konflikty.
+ .SS "OPCJE USUWANIA"
index eb31d5fef06999f0a81fc3fc7cef2f0e2166f6bc..f4c6511bd93f1b7742d4f0c1cd4d82d6d2f31eff 100644 (file)
@@ -1,79 +1,13 @@
---- rpm-4.4.8/lib/rpmfc.c.orig 2005-11-19 01:11:00.884392480 +0100
-+++ rpm-4.4.8/lib/rpmfc.c      2005-11-19 01:13:08.489993480 +0100
-@@ -539,6 +539,10 @@
-   { "Java ",                  RPMFC_JAVA|RPMFC_INCLUDE },
-+  /* .NET executables and libraries. file(1) cannot differ it from native win32 executables unfortunatelly */
-+  { "PE executable",          RPMFC_MONO|RPMFC_INCLUDE },
-+  { "executable PE",          RPMFC_MONO|RPMFC_INCLUDE },
-+
-   { "current ar archive",     RPMFC_STATIC|RPMFC_LIBRARY|RPMFC_ARCHIVE|RPMFC_INCLUDE },
-   { "Zip archive data",               RPMFC_COMPRESSED|RPMFC_ARCHIVE|RPMFC_INCLUDE },
-@@ -900,6 +904,35 @@
- }
- /**
-+ * Extract .NET dependencies.
-+ * @param fc          file classifier
-+ * @return            0 on success
-+ */
-+static int rpmfcMONO(rpmfc fc)
-+      /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
-+      /*@modifies fc, rpmGlobalMacroContext, fileSystem, internalState @*/
-+{
-+    const char * fn = fc->fn[fc->ix];
-+    FILE * fp;
-+    int xx;
-+
-+    fp = fopen(fn, "r");
-+    if (fp == NULL || ferror(fp)) {
-+      if (fp) (void) fclose(fp);
-+      return -1;
-+    }
-+
-+    (void) fclose(fp);
-+
-+    if (fc->findprov)
-+      xx = rpmfcHelper(fc, 'P', "mono", fc->noautoprov, fc->noautoprov_c);
-+    if (fc->findreq)
-+      xx = rpmfcHelper(fc, 'R', "mono", fc->noautoreq, fc->noautoreq_c);
-+
-+    return 0;
-+}
-+
-+/**
-  * Extract Elf dependencies.
-  * @param fc          file classifier
-  * @return            0 on success
-@@ -931,6 +963,7 @@
- static struct rpmfcApplyTbl_s rpmfcApplyTable[] = {
-     { rpmfcELF,               RPMFC_ELF },
-     { rpmfcSCRIPT,    (RPMFC_SCRIPT|RPMFC_PERL|RPMFC_PYTHON|RPMFC_LIBTOOL|RPMFC_PKGCONFIG|RPMFC_BOURNE|RPMFC_JAVA|RPMFC_PHP) },
-+    { rpmfcMONO,      RPMFC_MONO },
-     { NULL, 0 }
- };
---- rpm-4.4.8./lib/rpmfc.h     2005-08-11 13:11:54.000000000 +0200
-+++ rpm-4.4.8/lib/rpmfc.h      2005-08-11 14:10:33.000000000 +0200
-@@ -78,6 +78,7 @@
-     RPMFC_PYTHON              = (1 << 26),
-     RPMFC_PHP                 = (1 << 27),
-     RPMFC_TCL                 = (1 << 28),
-+    RPMFC_MONO                        = (1 <<  6),
-     RPMFC_WHITE                       = (1 << 29),
-     RPMFC_INCLUDE             = (1 << 30),
---- rpm-4.4.9/macros.in.orig   2007-05-24 21:20:58.889811039 +0200
-+++ rpm-4.4.9/macros.in        2007-05-24 21:20:49.657284908 +0200
-@@ -1406,6 +1406,9 @@
- #%__php_provides              %{_usrlibrpm}/php.prov
- #%__php_requires              %{_usrlibrpm}/php.req
+--- rpm-5.0.1/macros.in~       2008-01-31 00:06:10.000000000 +0200
++++ rpm-5.0.1/macros.in        2008-01-31 00:07:31.097681189 +0200
+@@ -1578,8 +1578,8 @@
+ #
+ # Note: Used iff _use_internal_dependency_generator is non-zero. The
+ # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}.
+-%__mono_provides      %{_rpmhome}/mono-find-provides
+-%__mono_requires      %{_rpmhome}/mono-find-requires
 +%__mono_provides      %{nil}
 +%__mono_requires      %{nil}
-+
  #------------------------------------------------------------------------
- # java(...) configuration.
- #
+ # executable(...) configuration.
diff --git a/rpm-namespace-probe.patch b/rpm-namespace-probe.patch
new file mode 100644 (file)
index 0000000..d7f271b
--- /dev/null
@@ -0,0 +1,39 @@
+Disable Provides: user(NAME), group(NAME) probes as it would fire trigger on NAME uninstall
+
+as for example uninstalling this spec: https://bugs.pld-linux.org/attachment.cgi?id=20
+
+15:30:53  jbj> glen_: rpmns.c splits group(mailman) into the tuple {group, mailman} for name space processing.
+15:32:48  jbj> the code in unbsatisfiedDepnds is driven by the name "group". if split, then its not the string
+               "group(mailman)" any more.
+
+--- rpm-4.4.9/lib/depends.c~   2008-04-08 19:44:02.000000000 +0300
++++ rpm-4.4.9/lib/depends.c    2008-04-25 15:12:52.734623679 +0300
+@@ -611,6 +611,7 @@
+       goto exit;
+     }
++#if 0
+     /* Evaluate user/group lookup probes. */
+     if (NSType == RPMNS_TYPE_USER) {
+       const char *s;
+@@ -646,6 +647,7 @@
+       rpmdsNotify(dep, _("(group lookup)"), rc);
+       goto exit;
+     }
++#endif
+     /* Evaluate access(2) probe dependencies. */
+     if (NSType == RPMNS_TYPE_ACCESS) {
+--- rpm-4.4.9/lib/rpmns.c~     2007-05-16 14:31:58.000000000 +0300
++++ rpm-4.4.9/lib/rpmns.c      2008-04-25 15:36:20.223855745 +0300
+@@ -179,8 +179,10 @@
+     case RPMNS_TYPE_UNAME:
+     case RPMNS_TYPE_SONAME:
+     case RPMNS_TYPE_ACCESS:
++#if 0
+     case RPMNS_TYPE_USER:
+     case RPMNS_TYPE_GROUP:
++#endif
+     case RPMNS_TYPE_MOUNTED:
+     case RPMNS_TYPE_DISKSPACE:
+     case RPMNS_TYPE_DIGEST:
diff --git a/rpm-nopie.patch b/rpm-nopie.patch
new file mode 100644 (file)
index 0000000..c6c7602
--- /dev/null
@@ -0,0 +1,58 @@
+--- rpm-4.4.9.org/configure.ac 2007-05-19 21:26:29.000000000 +0200
++++ rpm-4.4.9/configure.ac     2007-11-15 01:11:58.263879867 +0100
+@@ -35,7 +35,6 @@
+ AC_SUBST(AS)
+ if test "$ac_cv_c_compiler_gnu" = yes; then
+     CFLAGS="$CFLAGS -fPIC -DPIC -D_GNU_SOURCE -D_REENTRANT -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wno-char-subscripts"
+-    LDFLAGS="-pie"
+ fi
+ export CFLAGS LDFLAGS
+--- rpm-4.4.9/Makefile.am~     2008-01-10 11:08:04.000000000 +0200
++++ rpm-4.4.9/Makefile.am      2008-01-10 11:30:56.897013850 +0200
+@@ -62,19 +62,19 @@
+ #rpm_LDFLAGS =                $(myLDFLAGS)
+ #rpm_LDADD =          rpm.o $(top_builddir)/build/.libs/librpmbuild.a $(myLDADD)
+ rpm.o:        $(top_srcdir)/rpmqv.c
+-      $(COMPILE) -fpie -DIAM_RPMDB -DIAM_RPMEIU -DIAM_RPMK -DIAM_RPMQV -o $@ -c $<
++      $(COMPILE) -DIAM_RPMDB -DIAM_RPMEIU -DIAM_RPMK -DIAM_RPMQV -o $@ -c $<
+ rpmb_SOURCES =                $(top_srcdir)/build.c
+ rpmb_LDFLAGS =                $(myLDFLAGS) $(staticLDFLAGS)
+ rpmb_LDADD =          rpmb.o $(top_builddir)/build/librpmbuild.la $(myLDADD)
+ rpmb.o:       $(top_srcdir)/rpmqv.c
+-      $(COMPILE) -fpie -DIAM_RPMBT -o $@ -c $<
++      $(COMPILE) -DIAM_RPMBT -o $@ -c $<
+ rpmd_SOURCES =
+ rpmd_LDFLAGS =                $(myLDFLAGS) $(staticLDFLAGS)
+ rpmd_LDADD =          rpmd.o $(myLDADD)
+ rpmd.o:       $(top_srcdir)/rpmqv.c
+-      $(COMPILE) -fpie -DIAM_RPMDB -o $@ -c $<
++      $(COMPILE) -DIAM_RPMDB -o $@ -c $<
+ rpmi_SOURCES =
+ rpmi_LDFLAGS =                $(myLDFLAGS) # $(staticLDFLAGS)
+@@ -82,19 +82,19 @@
+ #rpmi_LDFLAGS =               $(myLDFLAGS)
+ #rpmi_LDADD =         rpmi.o $(myLDADD)
+ rpmi.o:       $(top_srcdir)/rpmqv.c
+-      $(COMPILE) -fpie -DIAM_RPMEIU -o $@ -c $<
++      $(COMPILE) -DIAM_RPMEIU -o $@ -c $<
+ rpmk_SOURCES =
+ rpmk_LDFLAGS =                $(myLDFLAGS) $(staticLDFLAGS)
+ rpmk_LDADD =          rpmk.o $(myLDADD)
+ rpmk.o:       $(top_srcdir)/rpmqv.c
+-      $(COMPILE) -fpie -DIAM_RPMK -o $@ -c $<
++      $(COMPILE) -DIAM_RPMK -o $@ -c $<
+ rpmq_SOURCES =
+ rpmq_LDFLAGS =                $(myLDFLAGS) # $(staticLDFLAGS)
+ rpmq_LDADD =          rpmq.o $(top_builddir)/build/librpmbuild.la $(myLDADD)
+ rpmq.o:       $(top_srcdir)/rpmqv.c
+-      $(COMPILE) -fpie -DIAM_RPMQV -o $@ -c $<
++      $(COMPILE) -DIAM_RPMQV -o $@ -c $<
+ $(PROGRAMS):          @WITH_APIDOCS_TARGET@
diff --git a/rpm-obsolete-rpmrc.patch b/rpm-obsolete-rpmrc.patch
deleted file mode 100644 (file)
index 9d32271..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -u -b -B -w -p -r1.148 rpmmodule.c
---- rpm/python/rpmmodule.c 21 May 2007 16:17:04 -0000      1.148
-+++ rpm/python/rpmmodule.c 23 May 2007 14:00:41 -0000
-@@ -241,7 +241,7 @@ void init_rpm(void)
-     if (m == NULL)
-        return;
-
--    rpmReadConfigFiles(rpmRcfiles, NULL);
-+    rpmReadConfigFiles(NULL, NULL);
-
-     d = PyModule_GetDict(m);
-
diff --git a/rpm-p4.patch b/rpm-p4.patch
deleted file mode 100644 (file)
index 3b29c69..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- rpm-4.4.1/lib/rpmrc.c.orig 2005-08-02 21:33:34.000000000 +0200
-+++ rpm-4.4.1/lib/rpmrc.c      2005-10-11 07:51:45.000000000 +0200
-@@ -1076,6 +1076,7 @@
-                       // Pentium 4 Xeon, Pentium 4 Xeon MP,
-                       // Celeron, Mobile Celron                    (0.13um)
-           case 3:     // Pentium 4, Celeron                        (0.09um)
-+          case 4:     // Pentium 4 540J
-               return 1;
-       }
-     return 0;
index 601c0598ba2a04eba380519de79cc5cdabf561d7..33923595dc3faba95bc080cd774915a947e57814 100644 (file)
@@ -1,22 +1,21 @@
 diff -urN rpm-4.3.org/configure.ac rpm-4.3/configure.ac
 --- rpm-4.3.org/configure.ac   2004-01-07 01:51:35.251160244 +0100
 +++ rpm-4.3/configure.ac       2004-01-07 01:55:53.198560246 +0100
-@@ -1196,6 +1196,7 @@
- AC_CONFIG_SUBDIRS(popt beecrypt zlib elfutils file db3)
- AC_CONFIG_FILES([ Doxyfile Makefile rpmrc macros platform rpmpopt rpm.spec
-+      scripts/perl.req scripts/perl.prov
-       rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile
-       scripts/Makefile scripts/brp-redhat
-       scripts/macros.perl scripts/macros.php scripts/macros.python
-diff -urN rpm-4.3.org/scripts/perl.req rpm-4.3/scripts/perl.req
---- rpm-4.3.org/scripts/perl.req       2004-01-07 01:51:04.911464416 +0100
-+++ rpm-4.3/scripts/perl.req   2004-01-07 01:55:17.030076058 +0100
+@@ -1313,6 +1313,7 @@
+     Doxyfile Makefile macros rpmpopt rpm.spec
+     rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile
+     scripts/Makefile scripts/macros.perl scripts/macros.php
++    scripts/perl.req scripts/perl.prov
+     scripts/macros.python tools/Makefile misc/Makefile doc/Makefile
+     doc/manual/Makefile doc/fr/Makefile doc/ja/Makefile doc/ko/Makefile
+     doc/pl/Makefile doc/ru/Makefile doc/sk/Makefile python/Makefile
+--- rpm-4.4.9/scripts/perl.req.orig    2006-07-08 16:13:50.000000000 +0200
++++ rpm-4.4.9/scripts/perl.req 2008-03-24 01:13:31.985544655 +0100
 @@ -1,4 +1,4 @@
 -#!/usr/bin/perl
 +#!@__PERL@
  
- # RPM (and it's source code) is covered under two separate licenses. 
+ # RPM (and its source code) is covered under two separate licenses. 
  
 @@ -41,7 +41,11 @@
  
@@ -31,7 +30,7 @@ diff -urN rpm-4.3.org/scripts/perl.req rpm-4.3/scripts/perl.req
    }
  } else {
    
-@@ -49,14 +53,22 @@
+@@ -49,7 +53,11 @@
    # contents of the file.
    
    foreach (<>) {
@@ -44,19 +43,59 @@ diff -urN rpm-4.3.org/scripts/perl.req rpm-4.3/scripts/perl.req
    }
  }
  
+@@ -203,19 +211,41 @@
  
- foreach $module (sort keys %require) {
-   if (length($require{$module}) == 0) {
--    print "perl($module)\n";
-+     if ($module =~ /^[0-9._]+$/) {
-+       print "perl >= $module\n";
-+     } else {
-+         print "perl($module)\n";
-+     }
-   } else {
+       $module =~ s/\(\s*\)$//;
+-      if ( $module =~ m/^v?([0-9._]+)$/ ) {
++      if ( $module =~ m/^(v?)([0-9._]+)$/ ) {
+       # if module is a number then both require and use interpret that
+       # to mean that a particular version of perl is specified
+-      my $ver=$1;
+-      if ($ver =~ /5.00/) {
+-        print "perl >= 0:$ver\n";
+-        next;
+-      }
+-      else {
+-        print "perl >= 1:$ver\n";
+-        next;
+-      }
++      my $ver=$2;
++      if (($1 eq 'v') or ($ver =~ /[0-9]+\.[0-9]+\.[0-9]+/)) {
++        # $V-style
++        if ($ver =~ m/5\.([0-5])(\.([0-9]+))?$/) {
++          if (defined $3) {
++            print "perl-base >= 0:5.00$1_$3\n";
++          } else {
++            print "perl-base >= 0:5.00$1\n";
++          }
++        } else {
++          print "perl-base >= 1:$ver\n";
++        }
++      } else {
++        # $]-style
++        if ($ver =~ m/5\.(00[0-5])_?([0-9]+)?$/) {
++          if (defined $2) {
++            print "perl-base >= 0:5.$1_$2\n";
++          } else {
++            print "perl-base >= 0:5.$1\n";
++          }
++        } else {
++          # expand to M.NNN_nnn form
++          $ver =~ s/^([0-9])$/$1./;
++          $ver =~ s/^([0-9]\.[0-9]{0,5}|[0-9]\.[0-9]{3}_[0-9]{0,2})$/${1}000000/;
++          $ver =~ s/^([0-9]\.[0-9]{3})_?([0-9]{3})0*$/$1_$2/;
++          # match trimming leading 0s
++          $ver =~ m/^([0-9])\.0*([1-9][0-9]*|0)_0*([1-9][0-9]*|0)$/;
++          print "perl-base >= 1:$1.$2.$3\n";
++        }
++      }
++      next;
+       };
  
-     # I am not using rpm3.0 so I do not want spaces arround my
-@@ -219,7 +231,31 @@
+@@ -232,7 +262,31 @@
        # will be included with the name sys/systeminfo.ph so only use the
        # basename of *.ph files
  
diff --git a/rpm-perl-req-perlfile.patch b/rpm-perl-req-perlfile.patch
deleted file mode 100644 (file)
index 5fe81f9..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
---- rpm-4.2/scripts/perl.req.wigperl   Tue Apr  1 13:33:52 2003
-+++ rpm-4.2/scripts/perl.req   Tue Apr  1 13:39:47 2003
-@@ -39,28 +39,20 @@
- # by Ken Estes Mail.com kestes@staff.mail.com
--if ("@ARGV") {
--  foreach (@ARGV) {
-+foreach ( @ARGV ? @ARGV : <> ) {
-+      chomp;
-     if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
-       if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
--        process_file($_);
-+        process_file($_) if -f;
-       }
-     }
--  }
--} else {
--  
--  # notice we are passed a list of filenames NOT as common in unix the
--  # contents of the file.
--  
--  foreach (<>) {
--     if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
--       if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
--         process_file($_);
--       }
--     }
--  }
- }
-+foreach (sort keys %provide) {
-+    delete $require{$_};
-+}
-+delete $require{the}; # don't count "use the sth" as perl module  
-+
- foreach $module (sort keys %require) {
-   if (length($require{$module}) == 0) {
-@@ -82,6 +74,53 @@
- exit 0;
-+sub is_perlfile {
-+    my $file = shift;
-+    my $fh = shift;
-+    
-+    my $fl = <$fh>;
-+
-+    my $is_perl = 0;
-+  
-+    my $nw = 0;
-+
-+    if ($file =~ /\.(so|ph|h|html|pod|gz|bz2|png|gif|jpg|xpm|a|patch|o|mo)$/) {
-+      $is_perl = 0;
-+      
-+      # .al, .pl, .pm and .plx (perl-Font-TTF contains *.plx files)
-+    } elsif ($file =~ /\.p[lm]x?$/ || $file =~ /\.al$/) {     
-+      $is_perl = 1;
-+      #print STDERR "$file PERL by ext\n";
-+    } elsif ($fl =~ m|bin/perl| or $fl =~ m|env\s+perl| or $fl =~ m|exec\s+perl|) {
-+      $is_perl = 1;
-+      #print STDERR "$file PERL by perl\n";
-+    } elsif ($fl =~ m|bin/sh|) {
-+      while (<$fh>) {
-+          if (/eval/ && /perl/) {
-+              $is_perl = 1;
-+              last;
-+          }
-+          $nw++ if (/^\s*BEGIN/); 
-+          $nw++ if (/^\s*sub\s+/);
-+          $nw++ if (/^\s*package\s+/);
-+          $nw++ if (/^\s*use\s+strict\s+;/);
-+          $nw++ if (/^\s*use\s+vars\s*qw/);
-+          last if ($. > 30);
-+      }
-+    }
-+    
-+    seek($fh, 0, 0);
-+    
-+    $is_perl = 1 if ($nw > 1);  # propably perl file
-+    
-+    #if (!$is_perl) {
-+    #   print STDERR "NOPERL $file\n";
-+    #   return 0;
-+    #}        
-+    #print STDERR "PERL $file\n" if ($is_perl);
-+    return $is_perl;
-+}
-+
- sub process_file {
-   
-@@ -90,6 +129,8 @@
-   
-   open(FILE, "<$file") || return;
-   
-+  return if (!is_perlfile($file, \*FILE));
-+
-   while (<FILE>) {
-     
-     # skip the documentation
-@@ -111,6 +152,10 @@
-       last;
-     }
-+    if (m/^\s*package\s+([_:a-zA-Z0-9]+)\s*;/) {
-+      $provide{$1} = 1;
-+    }
-+
-     # Each keyword can appear multiple times.  Don't
-     #  bother with datastructures to store these strings,
-     #  if we need to print it print it now.
-@@ -236,6 +281,10 @@
-       ($module =~ m/^\./) && next;
-+      # name starts in a non alphanumeric character it is not a module 
-+      # name.
-+      ($module =~ m/^\W/) && next;
-+
-       # if the module ends with .pm strip it to leave only basename.
-       $module =~ s/\.pm$//;
diff --git a/rpm-perl_req-INC_dirs.patch b/rpm-perl_req-INC_dirs.patch
deleted file mode 100644 (file)
index 163ce71..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
---- scripts/perl.req~  2004-04-16 13:27:10.000000000 +0200
-+++ scripts/perl.req   2004-04-26 23:54:42.128568344 +0200
-@@ -39,8 +39,19 @@
- # by Ken Estes Mail.com kestes@staff.mail.com
-+
-+
-+# *inc variables are used to track dependencies on directories for modules.
-+# These directories (especially arch-dependent) are likely to change some day.
-+my @inc = sort { length $b cmp length $a }
-+          map { s#/*$##; $_ }
-+          grep m#^/.#, @INC;
-+my %inc = map { $_ => 0 } @inc;
-+my $inc = join '|', map "\Q$_\E", @inc;
-+
- foreach ( @ARGV ? @ARGV : <> ) {
--      chomp;
--    if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
-+    chomp;
-+    $inc{$1}++ if m#($inc)/#;  # can't anchor on ^
-+    if (m=/usr/(sbin|bin|lib|lib64|share|X11R6/(lib|lib64|bin))/=) {
-       if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
-         process_file($_) if -f;
-@@ -53,8 +64,9 @@
- }
- delete $require{the}; # don't count "use the sth" as perl module  
-+print "$_\n" for sort grep $inc{$_}, keys %inc;
--foreach $module (sort keys %require) {
-+foreach my $module (sort grep length, keys %require) {
-   if (length($require{$module}) == 0) {
-      if ($module =~ /^[0-9._]+$/) {
-        print "perl-base >= $module\n";
diff --git a/rpm-perl_req.patch b/rpm-perl_req.patch
deleted file mode 100644 (file)
index ee73083..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
---- rpm-4.4.3/scripts/perl.req.orig    2005-11-18 23:00:58.604519312 +0100
-+++ rpm-4.4.3/scripts/perl.req 2005-11-18 23:03:17.506403016 +0100
-@@ -57,7 +57,7 @@
- foreach $module (sort keys %require) {
-   if (length($require{$module}) == 0) {
-      if ($module =~ /^[0-9._]+$/) {
--       print "perl >= $module\n";
-+       print "perl-base >= $module\n";
-      } else {
-          print "perl($module)\n";
-      }
-@@ -255,11 +255,11 @@
-       my $ver=$1;
-       if ($ver =~ /5.00/) {
--        print "perl >= 0:$ver\n";
-+        print "perl-base >= 0:$ver\n";
-         next;
-       }
-       else {
--        print "perl >= 1:$ver\n";
-+        print "perl-base >= 1:$ver\n";
-         next;
-       }
diff --git a/rpm-php-deps.patch b/rpm-php-deps.patch
deleted file mode 100644 (file)
index a6b90ad..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
---- rpm-4.4.8/lib/rpmfc.c.orig 2007-02-14 07:31:50.000000000 +0100
-+++ rpm-4.4.8/lib/rpmfc.c      2007-04-08 16:48:00.273560592 +0200
-@@ -773,7 +773,7 @@
-     } else
-     if (fc->fcolor->vals[fc->ix] & RPMFC_PHP) {
-       xx = rpmfcHelper(fc, 'P', "php");
--      if (is_executable)
-+      /* not only executable, files run by httpd usually are not */
-           xx = rpmfcHelper(fc, 'R', "php");
-     }
-
index ebbab977b4b2545425080cfff9a9403cc6d04e94..a094cba8805a5a7b0ccafc482f7d14c63f2110e2 100644 (file)
@@ -1,17 +1,20 @@
 #!/usr/bin/perl
 #####################################################################
 #                                                                   #
-# Small script to generate provides for php-pear/php-pecl           #
+# Check system dependences between php-pear modules                 #
 #                                                                   #
-# Adam Go³êbiowski <adamg@pld-linux.org>                            #
-#                                                                   #
-# Somehow based on previous work by:                                #
-# Pawe³ Go³aszewski <blues@pld-linux.org>                           #
+# Pawe³ Go³aszewski <blues@ds.pg.gda.pl>                            #
 # Micha³ Moskal <malekith@pld-linux.org>                            #
+# ------------------------------------------------------------------#
+# TODO:                                                             #
 #####################################################################
 
-# Contest: shrink this one to oneliner 
-# Bonus  : and fit in 80 columns ;)
+$pear = "/usr/share/pear";
 
-/package.xml/ and open(F, $_) foreach (@ARGV ? @ARGV : <> );
-/^\s+\<name\>([a-zA-Z0-9\_]+)\<\/name\>$/ and print "php-pear-$1" while (<F>);
+foreach (@ARGV ? @ARGV : <>) {
+       chomp;
+       $f = $_;
+       next unless ($f =~ /$pear.*\.php$/);
+       $f =~ s/.*$pear\///;
+       print "pear($f)\n";
+}
index 330e49b2d17d300fa055f2c1da9d9d9a23996cf2..2a3fb601ac143e2bcc7fd30ca02f84dd91255cee 100644 (file)
@@ -1,78 +1,82 @@
-#!/usr/bin/perl -W
+#!/usr/bin/perl
 #####################################################################
 #                                                                   #
-# Check system dependencies between php-pear/php-pecl modules       #
+# Check system dependences between php-pear modules                 #
 #                                                                   #
-# Adam Go³êbiowski  <adamg@pld-linux.org>                           #
-#                                                                   #
-# based on previous work by:                                        #
 # Pawe³ Go³aszewski <blues@ds.pg.gda.pl>                            #
-# Micha³ Moskal     <malekith@pld-linux.org>                        #
-#                                                                   #
-# ----------------------------------------------------------------- #
-# ChangeLog:                                                        #
-# 20031201: complete rewrite to use PEAR's package.xml, now handles #
-#           all dependencies, including PHP modules (like php-gmp), #
-#           and PECL extensions   (adamg)                           #
+# Micha³ Moskal <malekith@pld-linux.org>                            #
+# ------------------------------------------------------------------#
+# TODO:                                                             #
+# - extension_loaded - dependencies.                                #
+# - some clean-up...                                                #
 #####################################################################
 
-@req_arr = ();
-$fname = '/dev/null';
-foreach ( @ARGV ? $ARGV : <> )
-{
-    $fname = $_ if (/package.xml/)
-}
+$pear = "/usr/share/pear";
+
+@files = ();
+%req = ();
+
+foreach (@ARGV ? $ARGV : <> ) {
+       chomp;
+       $f = $_;
+       push @files, $f;
+       # skip non-php files
+       next unless ($f =~ /\.php$/);
+       open(F, "< $f") or die;
 
-open F, $fname;
+       if ($f =~ /$pear/) {
+               $file_dir = $f;
+               $file_dir =~ s|.*$pear/||;
+               $file_dir =~ s|/[^/]*$||;
+       } else {
+               $file_dir = undef;
+       }
 
-while (<F>) {
-       if ( /\s+\<dep\s+type\=\"([a-zA-z]*)\"/ ) {
-         $type = $1;
-         die ("ERROR: Unsupported type: $type\n") if ( $type !~ /^(pkg|ext|php|prog|os|sapi|zend)$/i);
-         # Default relation (as suggested by PEAR manual) is has
-         $rel = "has";
-         $rel = $1 if ( /rel="([a-zA-Z]*)"/ );
-         die ("ERROR: Unsupported relation: $rel\n") if ( $rel !~ /^(has|eq|lt|le|gt|ge)$/ );
-          
-         # Check if we don't have some unsupported connection betweend relation and type
-         die ("ERROR: Cannot use lt/le/gt/ge relation with prog/os/sapi type!\n") if ( $rel =~ /^(lt|le|gt|ge)$/ && $type =~ /^(prog|os|sapi)$/ );
+       while (<F>) {
+               # skip comments
+               next if (/^\s*(#|\/\/|\*|\/\*)/);
 
-         # do we have version?
-         $version = "";
-         $version = $1 if ( /version="([a-zA-z0-9\.\+]*)"/ );
+               while (/(\W|^)(require|include)(_once)?
+                         \s* \(? \s* ("([^"]*)"|'([^']*)') 
+                         \s* \)? \s* ;/xg) {
+                       if ($5 ne "") {
+                               $x = $5;
+                       } elsif ($6 ne "") {
+                               $x = $6;
+                       } else {
+                               next;
+                       }
 
-         # optional - actually this one is optional ;)
-         # NOTE: 
-         # even though this attribute marks dependency as optional,
-         # we will add it to Requires: 
-         $optional = "no";
-         $optional = $1 if ( /optional="([a-zA-Z]*)"/ );
-          die ("ERROR: Ambigous value of optional attribute: $optional\n") if ( $optional !~ /(yes|no)/i );
+                       next if ($x =~ m|^\./| or $x =~ /\$/);
+                       next unless ($x =~ /\.php$/);
+                       $req{$x} = 1;
+               }
 
-         # now, check if we need to pull out package/extension/whatever name
-         $name = "";
-         $name = "php" if ( $type =~ /php/ );
-         $name = "$1"  if ( $type !~ /php/ && /\>([a-zA-Z0-9\_\-]*)\</ );
-          
-         $relation = "";
-         $relation = "<"  if ( $rel eq "lt");
-         $relation = "<=" if ( $rel eq "le");
-         $relation = "="  if ( $rel eq "eq");
-         $relation = ">=" if ( $rel eq "ge");
-         $relation = ">"  if ( $rel eq "gt");
-         $relation = "="  if ( $rel eq "has");
-         # die if we were unable to substitute relations
-         die "ERROR: Unexpected relation! ($rel)\n" if ( $relation eq "");
-          
-         $req = "";
-         $relver = "";
-         $relver = "$relation $version" if ( $version !~ /^$/ );
-         $req = "$name $relver" if ( $type =~ /(php|prog)/ );
-         $req = "php-$name $relver" if ( $type =~ /ext/ );
-         $req = "php-pear-$name" if ( $type =~ /pkg/ );
-          
-         push @req_arr, $req
+               next unless (defined $file_dir);
+
+               while (/(\W|^)(require|include)(_once)?
+                         \s* \(? \s* dirname \s* \( \s* __FILE__ \s* \) \s* \. \s*
+                         ("([^"]*)"|'([^']*)') 
+                         \s* \)? \s* ;/xg) {
+                       if ($5 ne "") {
+                               $x = $5;
+                       } elsif ($6 ne "") {
+                               $x = $6;
+                       } else {
+                               next;
+                       }
+
+                       next if ($x =~ /\$/);
+                       next unless ($x =~ /\.php$/);
+
+                       $x = "$file_dir/$x";
+                       $x =~ s|/+|/|g;
+                       $req{$x} = 1;
+               }
+       }
+}
 
-    }
+f: for $f (keys %req) {
+       for $g (@files) { next f if ($g =~ /\Q$f\E$/); }
+       print "pear($f)\n";
 }
-for $r (@req_arr) { print "$r\n"; }
diff --git a/rpm-pl.po.patch b/rpm-pl.po.patch
deleted file mode 100644 (file)
index aa49c17..0000000
+++ /dev/null
@@ -1,806 +0,0 @@
---- rpm-4.4.9/po/pl.po.orig    2007-05-21 13:46:34.000000000 +0200
-+++ rpm-4.4.9/po/pl.po 2007-05-22 20:01:36.707118912 +0200
-@@ -9,11 +9,11 @@
- #
- msgid ""
- msgstr ""
--"Project-Id-Version: rpm 4.4.8\n"
-+"Project-Id-Version: rpm 4.4.9\n"
- "Report-Msgid-Bugs-To: <rpm-devel@lists.dulug.duke.edu>\n"
- "POT-Creation-Date: 2007-05-21 07:46-0400\n"
--"PO-Revision-Date: 2006-02-28 20:20+0100\n"
--"Last-Translator: Arkadiusz Miskiewicz <arekm@pld-linux.org>\n"
-+"PO-Revision-Date: 2007-05-22 00:13+0200\n"
-+"Last-Translator: Jakub Bogusz <qboosh@pld-linux.org>\n"
- "Language-Team: Polish <translation-team-pl@lists.sourceforge.net>\n"
- "MIME-Version: 1.0\n"
- "Content-Type: text/plain; charset=ISO-8859-2\n"
-@@ -505,7 +505,7 @@
- #: build/files.c:1029
- #, c-format
- msgid "illegal _docdir_fmt: %s\n"
--msgstr ""
-+msgstr "niedozwolony _docdir_fmt: %s\n"
- #: build/files.c:1307
- #, c-format
-@@ -882,12 +882,12 @@
- #: build/parsePreamble.c:376
- msgid "No icon file in sources\n"
--msgstr ""
-+msgstr "Brak pliku ikony w ¼ród³ach\n"
- #: build/parsePreamble.c:393
--#, fuzzy, c-format
-+#, c-format
- msgid "Invalid icon URL: %s\n"
--msgstr "B³êdny znak %s: %s\n"
-+msgstr "B³±dny URL ikony: %s\n"
- #: build/parsePreamble.c:400
- #, c-format
-@@ -902,7 +902,7 @@
- #: build/parsePreamble.c:414
- #, c-format
- msgid "Icon %s is too big (max. %d bytes)\n"
--msgstr ""
-+msgstr "Ikona %s jest zbyt du¿a (maksimum to %d bajtów)\n"
- #: build/parsePreamble.c:424
- #, c-format
-@@ -927,7 +927,7 @@
- #: build/parsePreamble.c:544 build/parsePreamble.c:551
- #, c-format
- msgid "line %d: Illegal char '-' in %s: %s\n"
--msgstr "linia %d: Nielegalny znak '-' w %s: %s\n"
-+msgstr "linia %d: Niedozwolony znak '-' w %s: %s\n"
- #: build/parsePreamble.c:584
- #, c-format
-@@ -1049,14 +1049,14 @@
- msgstr "linia %d: B³êdny argument dla %%patch: %s\n"
- #: build/parsePrep.c:624
--#, fuzzy, c-format
-+#, c-format
- msgid "Missing %s%d %s: %s\n"
--msgstr "Brak %s w %s %s\n"
-+msgstr "Brak %s%d %s: %s\n"
- #: build/parsePrep.c:632
--#, fuzzy, c-format
-+#, c-format
- msgid "file %s missing: %s\n"
--msgstr "plik %s: %s\n"
-+msgstr "brak pliku %s: %s\n"
- #: build/parsePrep.c:640
- #, c-format
-@@ -1406,56 +1406,48 @@
- msgstr "(zbuforowane)"
- #: lib/depends.c:606
--#, fuzzy
- msgid "(function probe)"
--msgstr "(test makra)"
-+msgstr "(test funkcji)"
- #: lib/depends.c:625
- msgid "(user lookup)"
--msgstr ""
-+msgstr "(wyszukiwanie u¿ytkownika)"
- #: lib/depends.c:642
- msgid "(group lookup)"
--msgstr ""
-+msgstr "(wyszukiwanie grupy)"
- #: lib/depends.c:651
- msgid "(access probe)"
- msgstr "(test dostêpu)"
- #: lib/depends.c:673
--#, fuzzy
- msgid "(mtab probe)"
--msgstr "(test makra)"
-+msgstr "(test mtab)"
- #: lib/depends.c:728
--#, fuzzy
- msgid "(diskspace probe)"
--msgstr "(test dostêpu)"
-+msgstr "(test miejsca na dysku)"
- #: lib/depends.c:758
--#, fuzzy
- msgid "(digest probe)"
--msgstr "(test dostêpu)"
-+msgstr "(test skrótu)"
- #: lib/depends.c:771
--#, fuzzy
- msgid "(gnupg probe)"
--msgstr "(test makra)"
-+msgstr "(test gnupg)"
- #: lib/depends.c:784
--#, fuzzy
- msgid "(macro probe)"
- msgstr "(test makra)"
- #: lib/depends.c:812
--#, fuzzy
- msgid "(envvar probe)"
--msgstr "(test makra)"
-+msgstr "(test zmiennej ¶rodowiskowej)"
- #: lib/depends.c:839
--#, fuzzy
- msgid "(running probe)"
--msgstr "(test makra)"
-+msgstr "(test uruchomienia)"
- #: lib/depends.c:852
- msgid "(sysinfo provides)"
-@@ -2293,9 +2285,8 @@
- msgstr "<spec>"
- #: lib/poptQV.c:144
--#, fuzzy
- msgid "query source metadata from spec file parse"
--msgstr "buduj tylko pakiet ¼ród³owy z <pliku spec>"
-+msgstr "odpytaj metadane ¼ród³owe z analizy pliku spec"
- #: lib/poptQV.c:146
- msgid "query/verify package(s) from install transaction"
-@@ -2689,9 +2680,9 @@
- msgstr "%s: Fwrite nie powiod³o siê: %s\n"
- #: lib/rpmchecksig.c:122
--#, fuzzy, c-format
-+#, c-format
- msgid "%s: Fflush failed: %s\n"
--msgstr "%s: Fseek nie powiod³o siê: %s\n"
-+msgstr "%s: Fflush nie powiod³o siê: %s\n"
- #: lib/rpmchecksig.c:216 lib/rpmchecksig.c:755
- #, c-format
-@@ -2836,28 +2827,27 @@
- msgstr "dane pakietu mog± byæ w formacie archiwum tara ustar."
- #: lib/rpmds.c:1452
--#, fuzzy
- msgid "package payload can be compressed using lzma."
--msgstr "dane pakietu mog± byæ skompresowane bzipem2."
-+msgstr "dane pakietu mog± byæ skompresowane przy u¿yciu lzma."
- #: lib/rpmds.c:1455
- msgid "file digests can be other than MD5."
--msgstr ""
-+msgstr "skróty plików mog± byæ inne ni¿ MD5."
- #: lib/rpmds.c:1545 lib/rpmds.c:3535
--#, fuzzy, c-format
-+#, c-format
- msgid "%s:%d \"%s\" has invalid name. Skipping ...\n"
--msgstr "%s ma b³êdn± warto¶æ liczbow±, pominiêto\n"
-+msgstr "%s:%d \"%s\" ma b³êdn± nazwê. Pomijanie...\n"
- #: lib/rpmds.c:1569 lib/rpmds.c:3553
--#, fuzzy, c-format
-+#, c-format
- msgid "%s:%d \"%s\" has no comparison operator. Skipping ...\n"
--msgstr "\tlinia %d: \"%s\" nie ma operatora porównania. Pomijanie...\n"
-+msgstr "%s:%d \"%s\" nie ma operatora porównania. Pomijanie...\n"
- #: lib/rpmds.c:1580 lib/rpmds.c:3568
--#, fuzzy, c-format
-+#, c-format
- msgid "%s:%d \"%s\" has no EVR string. Skipping ...\n"
--msgstr "\tlinia %d: \"%s\" nie ma operatora porównania. Pomijanie...\n"
-+msgstr "%s:%d \"%s\" nie ma ³añcucha EVR. Pomijanie...\n"
- #: lib/rpmds.c:3534 lib/rpmds.c:3552 lib/rpmds.c:3564
- #, c-format
-@@ -2893,59 +2883,59 @@
- msgstr "pakiet %s ma niespe³nione %s: %s\n"
- #: lib/rpmfc.c:93
--#, fuzzy, c-format
-+#, c-format
- msgid "\texecv(%s) pid %d\n"
--msgstr "%s: %s(%s-%s-%s.%s)\texecv(%s) pid %d\n"
-+msgstr "\texecv(%s) pid %d\n"
- #: lib/rpmfc.c:99
--#, fuzzy, c-format
-+#, c-format
- msgid "Couldn't exec %s: %s\n"
- msgstr "Nie mo¿na uruchomiæ %s: %s\n"
- #: lib/rpmfc.c:104
--#, fuzzy, c-format
-+#, c-format
- msgid "Couldn't fork %s: %s\n"
--msgstr "Nie mo¿na otworzyæ %s: %s\n"
-+msgstr "Nie mo¿na wykonaæ fork na %s: %s\n"
- #: lib/rpmfc.c:189
--#, fuzzy, c-format
-+#, c-format
- msgid "\twaitpid(%d) rc %d status %x\n"
--msgstr "%s: waitpid(%d) rc %d status %x secs %u.%03u\n"
-+msgstr "\twaitpid(%d) rc %d status %x\n"
- #: lib/rpmfc.c:196
- #, c-format
- msgid "Command \"%s\" failed, exit(%d)\n"
--msgstr ""
-+msgstr "Polecenie \"%s\" nie powiod³o siê, zakoñczenie (z kodem %d)\n"
- #: lib/rpmfc.c:201
--#, fuzzy, c-format
-+#, c-format
- msgid "failed to write all data to %s\n"
--msgstr "Nie mo¿na zapisaæ danych do %s: %s\n"
-+msgstr "nie uda³o siê zapisaæ wszystkich danych do %s\n"
- #: lib/rpmfc.c:1003
--#, fuzzy, c-format
-+#, c-format
- msgid "magic_open(0x%x) failed: %s\n"
--msgstr "otwarcie %s nie powiod³o siê: %s\n"
-+msgstr "magic_open(0x%x) nie powiod³o siê: %s\n"
- #: lib/rpmfc.c:1011
--#, fuzzy, c-format
-+#, c-format
- msgid "magic_load(ms, \"%s\") failed: %s\n"
--msgstr "%s rmdir %s nie powiod³o siê: %s\n"
-+msgstr "magic_load(ms, \"%s\") nie powiod³o siê: %s\n"
- #: lib/rpmfc.c:1077
- #, c-format
- msgid "magic_file(ms, \"%s\") failed: mode %06o %s\n"
--msgstr ""
-+msgstr "magic_file(ms, \"%s\") nie powiod³o siê: uprawnienia %06o %s\n"
- #: lib/rpmfc.c:1295
--#, fuzzy, c-format
-+#, c-format
- msgid "Finding  %s: %s\n"
--msgstr "Plik %s: %s\n"
-+msgstr "Szukanie  %s: %s\n"
- #: lib/rpmfc.c:1301 lib/rpmfc.c:1312
--#, fuzzy, c-format
-+#, c-format
- msgid "Failed to find %s:\n"
--msgstr "Odczytanie %s nie powiod³o siê: %s.\n"
-+msgstr "Nie uda³o siê odnale¼æ %s:\n"
- #: lib/rpmfi.c:622
- #, c-format
-@@ -3070,9 +3060,9 @@
- msgstr "\tdodano pakiet binarny [%d]\n"
- #: lib/rpminstall.c:605
--#, fuzzy, c-format
-+#, c-format
- msgid "package file %s was skipped\n"
--msgstr "pakiet %s ma niespe³nione %s: %s\n"
-+msgstr "plik pakietu %s zosta³ pominiêty\n"
- #: lib/rpminstall.c:609
- #, c-format
-@@ -3143,9 +3133,9 @@
- msgstr "pakiet %s jest ju¿ zainstalowany"
- #: lib/rpmps.c:219
--#, fuzzy, c-format
-+#, c-format
- msgid "re-packaged package with %s: %s is missing"
--msgstr "\tPrzepakowany Pakiet %s...\n"
-+msgstr "przepakowany pakiet z %s: brak %s"
- #: lib/rpmps.c:224
- #, c-format
-@@ -3318,17 +3308,16 @@
- msgstr "Cechy dostarczane przez bie¿±ce uname:\n"
- #: lib/rpmrollback.c:389
--#, fuzzy
- msgid "Failed dependencies"
--msgstr "Niespe³nione zale¿no¶ci:\n"
-+msgstr "Niespe³nione zale¿no¶ci"
- #: lib/rpmrollback.c:394
- msgid "Ordering problems"
--msgstr ""
-+msgstr "Problemy z kolejno¶ci±"
- #: lib/rpmrollback.c:399
- msgid "Rollback problems"
--msgstr ""
-+msgstr "Problemy z wycofywaniem"
- #: lib/rpmrollback.c:518
- #, c-format
-@@ -3336,9 +3325,8 @@
- msgstr "Wy³±czanie TID z wycofania: %-24.24s (0x%08x)\n"
- #: lib/rpmrollback.c:620
--#, fuzzy
- msgid "Missing re-packaged package(s)"
--msgstr "Wykryto brakuj±ce przepakowane pakiety:\n"
-+msgstr "Brak przepakowywanych pakietów"
- #: lib/rpmrollback.c:628
- #, c-format
-@@ -3601,14 +3589,14 @@
- msgstr "wy³±czanie katalogu %s\n"
- #: lib/transaction.c:1013
--#, fuzzy, c-format
-+#, c-format
- msgid "rpmdb erase failed. NEVRA: %s\n"
--msgstr "%s rmdir %s nie powiod³o siê: %s\n"
-+msgstr "usuwanie z rpmdb nie powiod³o siê. NEVRA: %s\n"
- #: lib/transaction.c:1031
--#, fuzzy, c-format
-+#, c-format
- msgid "Rollback to %-24.24s (0x%08x)\n"
--msgstr "Cel wycofania:  %-24.24s (0x%08x)\n"
-+msgstr "Wycofanie do %-24.24s (0x%08x)\n"
- #: lib/transaction.c:1178
- msgid "Invalid number of transaction elements.\n"
-@@ -4375,274 +4363,183 @@
- msgid "check Requires: against Provides: for dependency closure"
- msgstr "sprawd¼ Requires: wzglêdem Provides: dla dope³nienia zale¿no¶ci"
--#~ msgid "Rolling back successful transactions to %-24.24s (0x%08x).\n"
--#~ msgstr "Cofanie udanych transakcji do %-24.24s (0x%08x).\n"
--
--#~ msgid "Transaction failed...rolling back\n"
--#~ msgstr "Transakcja nie powiod³a siê... wycofywanie\n"
--
--#, fuzzy
--#~ msgid "Failed transaction:  %-24.24s(0x%08x)\n"
--#~ msgstr "Nieudana transakcja:  %-24.24s(0x%08x)\n"
--
--#~ msgid "Could not resolve semaphore_backout macro!\n"
--#~ msgstr "Nie uda³o siê rozwi±zaæ makra semaphore_backout!\n"
--
--#~ msgid "Creating semaphore %s...\n"
--#~ msgstr "Tworzenie semafora %s...\n"
--
--#~ msgid "Could not order auto-rollback transaction!\n"
--#~ msgstr "Nie uda³o siê wykonaæ transakcji automatycznego wycofania!\n"
--
--#~ msgid "Rolling back successful transactions to %-24.24s (0x%08x)\n"
--#~ msgstr "Cofanie udanych transakcji do %-24.24s (0x%08x)\n"
--
--#~ msgid "Removing semaphore %s...\n"
--#~ msgstr "Usuwanie semafora %s...\n"
--
--#~ msgid "Getting repackaged header from transaction element\n"
--#~ msgstr "Pobieranie przepakowanego nag³ówka z elementu transakcji\n"
--
--#~ msgid "\tLooking for %s...\n"
--#~ msgstr "\tPoszukiwanie %s...\n"
--
--#~ msgid "\tRepackaged package not found!.\n"
--#~ msgstr "\tPrzepakowany pakiet nie znaleziony!.\n"
--
--#~ msgid "\t\tName:  %s.\n"
--#~ msgstr "\t\tNazwa:  %s.\n"
--
--#~ msgid "Processing failed install element %s for autorollback.\n"
--#~ msgstr ""
--#~ "Przetwarzanie nieudanego elementu instalacji %s do automatycznego "
--#~ "wycofania.\n"
--
--#~ msgid "\tForce adding header to rpmdb.\n"
--#~ msgstr "\tWymuszenie dodania nag³ówka do rpmdb.\n"
-+#: rpmpopt:47 rpmpopt:371 rpmpopt:482
-+msgid "list install/erase scriptlets from package(s)"
-+msgstr "wypisz skrypty (de)instalacyjne z pakietu(ów)"
-+
-+#: rpmpopt:51
-+msgid "display directories needed, but not provided, by packages"
-+msgstr "wy¶wietl katalogi wymagane ale nie dostarczane przez pakiety"
-+
-+#: rpmpopt:55
-+msgid "set permissions of files in a package"
-+msgstr "ustaw uprawnienia plików w pakiecie"
-+
-+#: rpmpopt:60
-+msgid "set user/group ownership of files in a package"
-+msgstr "ustaw u¿ytkownika/grupê w³a¶ciciela plików w pakiecie"
-+
-+#: rpmpopt:64 rpmpopt:375 rpmpopt:486
-+msgid "list capabilities this package conflicts with"
-+msgstr "wypisz w³asno¶ci z którymi ten pakiet jest w konflikcie"
-+
-+#: rpmpopt:67 rpmpopt:378 rpmpopt:489
-+msgid "list other packages removed by installing this package"
-+msgstr "wypisz inne pakiety usuwane przy instalacji tego pakietu"
-+
-+#: rpmpopt:70 rpmpopt:381 rpmpopt:492
-+msgid "list capabilities that this package provides"
-+msgstr "wypisz w³asno¶ci dostarczane przez ten pakiet"
-+
-+#: rpmpopt:74 rpmpopt:385 rpmpopt:496
-+msgid "list capabilities required by package(s)"
-+msgstr "wypisz w³asno¶ci wymagane przez pakiet(y)"
-+
-+#: rpmpopt:78 rpmpopt:81 rpmpopt:389 rpmpopt:392
-+#: rpmpopt:500 rpmpopt:503
-+msgid "list enhancements suggested by package(s)"
-+msgstr "wypisz rozszerzenia sugerowane przez pakiet(y)"
-+
-+#: rpmpopt:94 rpmpopt:405 rpmpopt:515
-+msgid "list descriptive information from package(s)"
-+msgstr "wypisz informacje opisowe z pakietu(ów)"
-+
-+#: rpmpopt:97 rpmpopt:408 rpmpopt:518
-+msgid "list change logs for this package"
-+msgstr "wypisz kronikê zmian dla tego pakietu"
-+
-+#: rpmpopt:100 rpmpopt:411 rpmpopt:521
-+msgid "list metadata in xml"
-+msgstr "wypisz metadane w formacie xml"
-+
-+#: rpmpopt:102 rpmpopt:413 rpmpopt:523
-+msgid "list metadata in yaml"
-+msgstr "wypisz metadane w formacie yaml"
-+
-+#: rpmpopt:108 rpmpopt:419 rpmpopt:529
-+msgid "list trigger scriptlets from package(s)"
-+msgstr "wypisz skrypty trigger z pakietu(ów)"
-+
-+#: rpmpopt:112 rpmpopt:423 rpmpopt:533
-+msgid "list package(s) by install time, most recent first"
-+msgstr "wypisz pakiet(y) wed³ug czasu instalacji od naj¶wie¿szego"
-+
-+#: rpmpopt:115 rpmpopt:426 rpmpopt:536
-+msgid "list duplicated packages"
-+msgstr "wypisz pakiety wielokrotne"
-+
-+#: rpmpopt:118 rpmpopt:429 rpmpopt:539
-+msgid "list all files from each package"
-+msgstr "wypisz wszystkie pliki z ka¿dego pakietu"
-+
-+#: rpmpopt:121 rpmpopt:432 rpmpopt:542
-+msgid "list file names with classes"
-+msgstr "wypisz nazwy plików z klasami"
-+
-+#: rpmpopt:124 rpmpopt:435 rpmpopt:545
-+msgid "list file names with colors"
-+msgstr "wypisz nazwy plików z kolorami"
-+
-+#: rpmpopt:127
-+msgid "list file names with security context from header"
-+msgstr "wypisz nazwy plików z kontekstami bezpieczeñstwa z nag³ówka"
-+
-+#: rpmpopt:130 rpmpopt:441 rpmpopt:551
-+msgid "list file names with security context from file system"
-+msgstr "wypisz nazwy plików z kontekstami bezpieczeñstwa z systemu plików"
-+
-+#: rpmpopt:133 rpmpopt:444 rpmpopt:554
-+msgid "list file names with security context from policy RE"
-+msgstr "wypisz nazwy plików z kontekstami bezpieczeñstwa z RE polityki"
-+
-+#: rpmpopt:136 rpmpopt:447 rpmpopt:557
-+msgid "list file names with provides"
-+msgstr "wypisz nazwy plików z dostarczanymi w³asno¶ciami"
-+
-+#: rpmpopt:139 rpmpopt:450 rpmpopt:560
-+msgid "list file names with requires"
-+msgstr "wypisz nazwy plików z wymaganiami"
--#~ msgid "\tCould not add failed package header to db!\n"
--#~ msgstr "\tNie uda³o siê dodaæ nag³ówka nieudanego pakietu do bazy!\n"
--
--#~ msgid "%s: Unknown transaction element type!\n"
--#~ msgstr "%s: Nieznany typ elementu transakcji!\n"
--
--#~ msgid "TYPE:  %d\n"
--#~ msgstr "RODZAJ:  %d\n"
--
--#~ msgid "Processing install element for autorollback...\n"
--#~ msgstr "Przetwarzanie elementu instalacji do automatycznego wycofania...\n"
--
--#~ msgid "\tNEVRA: %s\n"
--#~ msgstr "\tNEVRA: %s\n"
--
--#~ msgid "Could not get install element database instance!\n"
--#~ msgstr "Nie uda³o siê uzyskaæ instancji bazy danych elementu instalacji!\n"
--
--#~ msgid "Could not get header for auto-rollback transaction!\n"
--#~ msgstr ""
--#~ "Nie uda³o siê uzyskaæ nag³ówka do transakcji automatycznego wycofania!\n"
--
--#~ msgid "\tAdded repackaged package header: %s.\n"
--#~ msgstr "\tDodano przepakowany nag³ówek pakietu: %s.\n"
--
--#~ msgid "\tAdded erase element.\n"
--#~ msgstr "\tDodano element usuniêcia.\n"
--
--#~ msgid "Could not get repackaged header for auto-rollback transaction!\n"
--#~ msgstr ""
--#~ "Nie uda³o siê uzyskaæ przepakowanego nag³ówka do transakcji "
--#~ "automatycznego wycofania!\n"
--
--#~ msgid "Processing erase element for autorollback...\n"
--#~ msgstr "Przetwarzanie elementu usuniêcia do automatycznego wycofania...\n"
--
--#~ msgid "\tErase element(s) already added.\n"
--#~ msgstr "\tElement(y) usuniêcia ju¿ dodane.\n"
--
--#~ msgid "\tAdded repackaged package %s.\n"
--#~ msgstr "\tDodano przepakowany pakiet %s.\n"
--
--#~ msgid "Could not add erase element to auto-rollback transaction.\n"
--#~ msgstr ""
--#~ "Nie uda³o siê dodaæ elementu usuniêcia do transakcji automatycznego "
--#~ "wycofania.\n"
--
--#~ msgid "\tNo repackaged package...nothing to do.\n"
--#~ msgstr "\tNie ma przepakowanych pakietów... nie ma nic do zrobienia.\n"
--
--#~ msgid "Failure reading repackaged package!\n"
--#~ msgstr "B³±d podczas odczytu przepakowanego pakietu!\n"
--
--#~ msgid "Creating auto-rollback transaction\n"
--#~ msgstr "Tworzenie transakcji automatycznego wycofania\n"
--
--#~ msgid "Adding %s to autorollback transaction.\n"
--#~ msgstr "Dodawanie %s do transakcji automatycznego wycofania.\n"
--
--#~ msgid "Could not add transaction element to autorollback!.\n"
--#~ msgstr ""
--#~ "Nie uda³o siê dodaæ elementu transakcji do automatycznego wycofania!\n"
--
--#~ msgid "%s:%d \"%s\" must begin with alphanumeric, '_', '/' or '%%'.\n"
--#~ msgstr "%s:%d \"%s\" musi zaczynaæ siê liter±, cyfr±, '_', '/' lub '%%'.\n"
--
--#~ msgid "%s:%d No comparison operator found.\n"
--#~ msgstr "%s:%d Brak operatora porównania.\n"
--
--#~ msgid "%s:%d No EVR comparison value found.\n"
--#~ msgstr "%s:%d Nie znaleziono warto¶ci do porównania EVR.\n"
--
--#~ msgid ""
--#~ "\tline %d: \"%s\" must begin with alphanumeric, '_', '/' or '%%'. "
--#~ "Skipping ...\n"
--#~ msgstr ""
--#~ "\tlinia %d: \"%s\" musi zaczynaæ siê liter±, cyfr±, '_', '/' lub '%%'. "
--#~ "Pomijanie...\n"
--
--#~ msgid "argument is not an RPM package\n"
--#~ msgstr "argument nie jest pakietem RPM\n"
--
--#~ msgid "error reading header from package\n"
--#~ msgstr "b³±d odczytu nag³ówka z pakietu\n"
--
--#~ msgid "cannot re-open payload: %s\n"
--#~ msgstr "nie mo¿na ponownie otworzyæ danych: %s\n"
--
--#, fuzzy
--#~ msgid "%s failed\n"
--#~ msgstr "%s nie powiod³o siê: %s\n"
--
--#~ msgid "package %s is intended for a %s operating system"
--#~ msgstr "pakiet %s jest przeznaczony dla systemu operacyjnego %s"
--
--#~ msgid "error reading from file %s\n"
--#~ msgstr "b³±d czytania z pliku %s\n"
--
--#~ msgid "list install/erase scriptlets from package(s)"
--#~ msgstr "wypisz skrypty (de)instalacyjne z pakietu(ów)"
--
--#~ msgid "set permissions of files in a package"
--#~ msgstr "ustaw uprawnienia plików w pakiecie"
--
--#~ msgid "set user/group ownership of files in a package"
--#~ msgstr "ustaw u¿ytkownika/grupê w³a¶ciciela plików w pakiecie"
--
--#~ msgid "list capabilities this package conflicts with"
--#~ msgstr "wypisz w³asno¶ci z którymi ten pakiet jest w konflikcie"
--
--#~ msgid "list other packages removed by installing this package"
--#~ msgstr "wypisz inne pakiety usuwane przy instalacji tego pakietu"
--
--#~ msgid "list capabilities that this package provides"
--#~ msgstr "wypisz w³asno¶ci dostarczane przez ten pakiet"
--
--#~ msgid "list capabilities required by package(s)"
--#~ msgstr "wypisz w³asno¶ci wymagane przez pakiet(y)"
--
--#~ msgid "list descriptive information from package(s)"
--#~ msgstr "wypisz informacje opisowe z pakietu(ów)"
--
--#~ msgid "list change logs for this package"
--#~ msgstr "wypisz kronikê zmian dla tego pakietu"
--
--#~ msgid "list trigger scriptlets from package(s)"
--#~ msgstr "wypisz skrypty trigger z pakietu(ów)"
--
--#~ msgid "list package(s) by install time, most recent first"
--#~ msgstr "wypisz pakiet(y) wed³ug czasu instalacji od naj¶wie¿szego"
--
--#~ msgid "list all files from each package"
--#~ msgstr "wypisz wszystkie pliki z ka¿dego pakietu"
--
--#~ msgid ""
--#~ "find package name that contains a provided capability (needs rpmdb-redhat "
--#~ "package installed)"
--#~ msgstr ""
--#~ "znajd¼ nazwê pakietu, który dostarcza w³asno¶æ (wymaga zainstalowanego "
--#~ "pakietu rpmdb-redhat)"
--
--#~ msgid "set buildroot <policy> (e.g. compress man pages)"
--#~ msgstr "ustaw <politykê> buildroot (np. kompresowanie stron manuala)"
--
--#~ msgid "<policy>"
--#~ msgstr "<polityka>"
--
--#~ msgid "enable configure <option> for build"
--#~ msgstr "w³±cz <opcjê> konfiguracji przy budowaniu"
--
--#~ msgid "<option>"
--#~ msgstr "<opcja>"
--
--#~ msgid "disable configure <option> for build"
--#~ msgstr "wy³±cz <opcjê> konfiguracji przy budowaniu"
--
--#~ msgid "use database in DIRECTORY"
--#~ msgstr "u¿yj bazy danych w KATALOGu"
--
--#~ msgid "DIRECTORY"
--#~ msgstr "KATALOG"
--
--#~ msgid "don't verify header+payload signature"
--#~ msgstr "nie sprawdzaj sygnatury nag³ówka+danych"
--
--#~ msgid "don't update cache database, only print package paths"
--#~ msgstr "nie uaktualniaj bazy danych bufora, tylko wypisz ¶cie¿ki pakietu"
--
--#~ msgid "File tree walk options:"
--#~ msgstr "Opcje przechodzenia po drzewie plików:"
--
--#~ msgid "%s: %%{_cache_dbpath} macro is mis-configured.\n"
--#~ msgstr "%s: makro %%{_cache_dbpath} jest b³êdnie skonfigurowane.\n"
--
--#~ msgid "%s: cache operation failed: ec %d.\n"
--#~ msgstr "%s: operacja na cache nie powiod³a siê: ec %d.\n"
--
--#~ msgid "%s: read manifest failed: %s\n"
--#~ msgstr "%s: odczyt \"manifestu\" nie powiód³ siê: %s\n"
--
--#~ msgid "Spec file can't use BuildRoot\n"
--#~ msgstr "Plik spec nie mo¿e u¿ywaæ BuildRoot\n"
--
--#~ msgid "buildroot already specified, ignoring %s\n"
--#~ msgstr "buildroot by³ ju¿ wcze¶niej podany, %s jest ignorowany\n"
--
--#~ msgid "override build root"
--#~ msgstr "wymu¶ build root"
--
--#~ msgid "    %s[%d]: %s\n"
--#~ msgstr "    %s[%d]: %s\n"
--
--#~ msgid "Target buffer overflow\n"
--#~ msgstr "Przepe³nienie bufora docelowego\n"
--
--#~ msgid "Building for target %s\n"
--#~ msgstr "Budowanie dla %s\n"
--
--#~ msgid "Internal error in argument processing (%d) :-(\n"
--#~ msgstr "B³±d wewnêtrzny w przetwarzaniu argumentu (%d) :-(\n"
--
--#~ msgid "\tMatches found.\n"
--#~ msgstr "\tPasuj±cych znaleziono.\n"
--
--#~ msgid "\tNo matches found.\n"
--#~ msgstr "\tNie znaleziono pasuj±cych.\n"
-+#: rpmpopt:142
-+msgid ""
-+"find package name that contains a provided capability (needs rpmdb-vendor "
-+"package installed)"
-+msgstr ""
-+"znajd¼ nazwê pakietu, który zawiera dostarczan± w³asno¶æ (wymaga "
-+"zainstalowanego pakietu rpmdb-vendor)"
--#~ msgid "\tREMOVETID matched INSTALLTID.\n"
--#~ msgstr "\tREMOVETID dopasowano do INSTALLTID.\n"
-+#: rpmpopt:145
-+msgid ""
-+"find package name that contains a required capability (needs rpmdb-vendor "
-+"package installed)"
-+msgstr ""
-+"znajd¼ nazwê pakietu, który zawiera wymagan± w³asno¶æ (wymaga "
-+"zainstalowanego pakietu rpmdb-vendor)"
--#~ msgid "Couldn't download nosource %s: %s\n"
--#~ msgstr "Nie mo¿na ¶ci±gn±æ pliku nosource %s: %s\n"
-+#: rpmpopt:150
-+msgid "Failed transactions will be rolled back automatically"
-+msgstr "Transakcje zakoñczone niepowodzeniem zostan± wycofane automatycznie"
-+
-+#: rpmpopt:154
-+msgid "display package(s) previously installed"
-+msgstr "wy¶wietl pakiet(y) zainstalowane wcze¶niej"
-+
-+#: rpmpopt:157
-+msgid "display package(s) which replaced"
-+msgstr "wy¶wietl zastêpowane pakiet(y)"
-+
-+#: rpmpopt:168
-+msgid "set buildroot <policy> (e.g. compress man pages)"
-+msgstr "ustaw <politykê> buildroot (np. kompresowanie stron manuala)"
-+
-+#: rpmpopt:169
-+msgid "<policy>"
-+msgstr "<polityka>"
-+
-+#: rpmpopt:255 rpmpopt:270 rpmpopt:285
-+msgid "enable configure <option> for build"
-+msgstr "w³±cz <opcjê> konfiguracji przy budowaniu"
-+
-+#: rpmpopt:256 rpmpopt:259 rpmpopt:271 rpmpopt:274
-+#: rpmpopt:286 rpmpopt:289
-+msgid "<option>"
-+msgstr "<opcja>"
-+
-+#: rpmpopt:258 rpmpopt:273 rpmpopt:288
-+msgid "disable configure <option> for build"
-+msgstr "wy³±cz <opcjê> konfiguracji przy budowaniu"
-+
-+#: rpmpopt:262 rpmpopt:277 rpmpopt:295 rpmpopt:303
-+#: rpmpopt:311 rpmpopt:319 rpmpopt:327 rpmpopt:335
-+#: rpmpopt:343 rpmpopt:454 rpmpopt:564 rpmpopt:572
-+msgid "use database in DIRECTORY"
-+msgstr "u¿yj bazy danych w KATALOGu"
-+
-+#: rpmpopt:263 rpmpopt:278 rpmpopt:292 rpmpopt:296
-+#: rpmpopt:304 rpmpopt:312 rpmpopt:320 rpmpopt:328
-+#: rpmpopt:336 rpmpopt:344 rpmpopt:455 rpmpopt:565
-+#: rpmpopt:573
-+msgid "DIRECTORY"
-+msgstr "KATALOG"
--# --- from popt/po/pl.po (in popt.h, not in .pot) ---
--#~ msgid "Options implemented via popt alias/exec:"
--#~ msgstr "Opcje zaimplementowane poprzez popt alias/exec:"
-+#: rpmpopt:291
-+msgid "override build root"
-+msgstr "wymu¶ build root"
-+
-+#: rpmpopt:438 rpmpopt:548
-+msgid "list file names with security context"
-+msgstr "wypisz nazwy plików z kontekstami bezpieczeñstwa"
-+
-+# --- from popt/po/pl.po (in popt.h, displayed using rpm domain)
-+msgid "Options implemented via popt alias/exec:"
-+msgstr "Opcje zaimplementowane poprzez popt alias/exec:"
--#~ msgid "Help options:"
--#~ msgstr "Opcje pomocy:"
-+msgid "Help options:"
-+msgstr "Opcje pomocy:"
- # --- from popt (displayed using rpm domain)
--#~ msgid "Show this help message"
--#~ msgstr "Poka¿ tê pomoc"
-+msgid "Show this help message"
-+msgstr "Poka¿ tê pomoc"
--#~ msgid "Display brief usage message"
--#~ msgstr "Wy¶wietl skrócony sposób u¿ycia"
-+msgid "Display brief usage message"
-+msgstr "Wy¶wietl skrócony sposób u¿ycia"
diff --git a/rpm-popt-coreutils.patch b/rpm-popt-coreutils.patch
new file mode 100644 (file)
index 0000000..3c84523
--- /dev/null
@@ -0,0 +1,13 @@
+--- rpm-4.4.9/rpmpopt.in~      2007-12-22 19:32:34.458262026 +0200
++++ rpm-4.4.9/rpmpopt.in       2007-12-22 17:29:07.000000000 +0200
+@@ -55,8 +55,8 @@
+       --POPTdesc=$"set permissions of files in a package"
+ rpm   alias --setugids -q --qf \
+-        '[ch %{FILEUSERNAME:shescape} %{FILEGROUPNAME:shescape} %{FILENAMES:shescape}\n]' \
+-        --pipe "(echo 'ch() { chown -- \"$1\" \"$3\";chgrp -- \"$2\" \"$3\"; }';grep -v \(none\))|sh" \
++        '[chown %{FILEUSERNAME:shescape}:%{FILEGROUPNAME:shescape} %{FILENAMES:shescape}\n]' \
++        --pipe "grep -v '(none)' | sh" \
+       --POPTdesc=$"set user/group ownership of files in a package"
+ rpm   alias --conflicts       --qf \
diff --git a/rpm-python-macros.patch b/rpm-python-macros.patch
deleted file mode 100644 (file)
index 2992ea6..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
---- rpm-4.0.4/configure.ac.wiget       Tue Feb 12 23:26:36 2002
-+++ rpm-4.0.4/configure.ac     Tue Feb 12 23:27:46 2002
-@@ -1166,6 +1166,7 @@
- AC_OUTPUT([ Doxyfile Makefile rpmrc macros platform rpmpopt rpm.spec
-       scripts/perl.req scripts/perl.prov
-+      scripts/php.req scripts/php.prov
-       rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile
-       scripts/Makefile scripts/brp-redhat tools/Makefile
-       tests/Makefile tests/rpmrc tests/macros tests/hello-test/Makefile
diff --git a/rpm-reduce-stack-usage.patch b/rpm-reduce-stack-usage.patch
deleted file mode 100644 (file)
index 7ba0265..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
---- rpm-4.4.8/rpmio/macro.c.orig       2007-01-21 21:37:58.000000000 +0100
-+++ rpm-4.4.8/rpmio/macro.c    2007-04-08 19:50:49.214644921 +0200
-@@ -942,7 +942,8 @@
-       /*@globals rpmGlobalMacroContext @*/
-       /*@modifies mb, rpmGlobalMacroContext @*/
- {
--    char buf[BUFSIZ], *b, *be;
-+    static char buf[BUFSIZ];
-+    char *b, *be;
-     char aname[16];
-     const char *opts, *o;
-     int argc = 0;
-@@ -1850,7 +1851,7 @@
-       return 0;
-     if (mc == NULL) mc = rpmGlobalMacroContext;
--    tbuf = alloca(slen + 1);
-+    tbuf = xmalloc(slen + 1);
-     memset(tbuf, 0, (slen + 1));
-     mb->s = sbuf;
-@@ -1870,6 +1871,7 @@
-       rpmError(RPMERR_BADSPEC, _("Macro expansion too big for target buffer\n"));
-     else
-       strncpy(sbuf, tbuf, (slen - mb->nb + 1));
-+    free(tbuf);
-     return rc;
- }
-@@ -2308,7 +2310,7 @@
- const char *
- rpmGetPath(const char *path, ...)
- {
--    char buf[BUFSIZ];
-+    static char buf[BUFSIZ];
-     const char * s;
-     char * t, * te;
-     va_list ap;
diff --git a/rpm-rpm5-patchset-8413.patch b/rpm-rpm5-patchset-8413.patch
new file mode 100644 (file)
index 0000000..edc5a18
--- /dev/null
@@ -0,0 +1,158 @@
+Index: rpm/rpmdb/db3.c
+RCS File: /v/rpm/cvs/rpm/rpmdb/db3.c,v
+rcsdiff -q -kk '-r1.71' '-r1.72' -u '/v/rpm/cvs/rpm/rpmdb/db3.c,v' 2>/dev/null
+--- db3.c      2007/08/18 23:40:36     1.71
++++ db3.c      2007/09/24 02:38:57     1.72
+@@ -275,12 +275,21 @@
+               fileSystem @*/
+       /*@modifies dbi, *dbenvp, fileSystem @*/
+ {
++    static int oneshot = 0;
+     rpmdb rpmdb = dbi->dbi_rpmdb;
+     DB_ENV *dbenv = NULL;
+     int eflags;
+     int rc;
+     int xx;
++    if (!oneshot) {
++#if (DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR != 0) || (DB_VERSION_MAJOR == 4)
++      xx = db_env_set_func_open(Open);
++      xx = cvtdberr(dbi, "db_env_set_func_open", xx, _debug);
++#endif
++      oneshot++;
++    }
++
+     if (dbenvp == NULL)
+       return 1;
+Index: rpm/rpmdb/rpmdb.c
+RCS File: /v/rpm/cvs/rpm/rpmdb/rpmdb.c,v
+rcsdiff -q -kk '-r1.158' '-r1.159' -u '/v/rpm/cvs/rpm/rpmdb/rpmdb.c,v' 2>/dev/null
+--- rpmdb.c    2007/09/09 19:06:51     1.158
++++ rpmdb.c    2007/09/24 02:38:57     1.159
+@@ -3618,8 +3618,9 @@
+     if (db == NULL) return 0;
+     mi = rpmdbInitIterator(db, RPMTAG_BASENAMES, NULL, 0);
+-    if (mi == NULL)   /* XXX should  never happen */
+-      return 0;
++assert(mi);   /* XXX will never happen. */
++    if (mi == NULL)
++      return 2;
+ key = &mi->mi_key;
+ data = &mi->mi_data;
+Index: rpm/rpmio/librpmio.vers
+RCS File: /v/rpm/cvs/rpm/rpmio/librpmio.vers,v
+rcsdiff -q -kk '-r2.12' '-r2.13' -u '/v/rpm/cvs/rpm/rpmio/librpmio.vers,v' 2>/dev/null
+--- librpmio.vers      2007/09/09 20:32:43     2.12
++++ librpmio.vers      2007/09/24 02:38:57     2.13
+@@ -140,6 +140,8 @@
+     _Mknod;
+     Mount;
+     noLibio;
++    Open;
++    _Open;
+     Opendir;
+     _Opendir;
+     pgpArmorKeyTbl;
+Index: rpm/rpmio/rpmio.h
+RCS File: /v/rpm/cvs/rpm/rpmio/rpmio.h,v
+rcsdiff -q -kk '-r1.57' '-r1.58' -u '/v/rpm/cvs/rpm/rpmio/rpmio.h,v' 2>/dev/null
+--- rpmio.h    2007/08/28 20:45:49     1.57
++++ rpmio.h    2007/09/24 02:38:57     1.58
+@@ -342,11 +342,22 @@
+       /*@globals errno, h_errno, fileSystem, internalState @*/
+       /*@modifies errno, fileSystem, internalState @*/;
++/*@unchecked@*/ /*@observer@*/ /*@null@*/
++extern const char * _chroot_prefix;
++
+ /**
+  * chroot(2) clone.
+  * @todo Implement remotely.
+  */
+ int Chroot(const char * path)
++      /*@globals _chroot_prefix, errno, fileSystem, internalState @*/
++      /*@modifies _chroot_prefix, errno, fileSystem, internalState @*/;
++
++/**
++ * open(2) clone.
++ * @todo Implement remotely.
++ */
++int Open(const char * path, int flags, mode_t mode)
+       /*@globals errno, fileSystem, internalState @*/
+       /*@modifies errno, fileSystem, internalState @*/;
+Index: rpm/rpmio/rpmrpc.c
+RCS File: /v/rpm/cvs/rpm/rpmio/rpmrpc.c,v
+rcsdiff -q -kk '-r2.54' '-r2.55' -u '/v/rpm/cvs/rpm/rpmio/rpmrpc.c,v' 2>/dev/null
+--- rpmrpc.c   2007/07/10 18:00:30     2.54
++++ rpmrpc.c   2007/09/24 02:38:57     2.55
+@@ -160,6 +160,9 @@
+     return rmdir(path);
+ }
++/*@unchecked@*/
++const char * _chroot_prefix = NULL;
++
+ int Chroot(const char * path)
+ {
+     const char * lpath;
+@@ -183,11 +186,56 @@
+       return -2;
+       /*@notreached@*/ break;
+     }
++
++    _chroot_prefix = _free(_chroot_prefix);
++    if (strcmp(path, "."))
++      _chroot_prefix = rpmGetPath(path, NULL);
++
+ /*@-superuser@*/
+     return chroot(path);
+ /*@=superuser@*/
+ }
++int Open(const char * path, int flags, mode_t mode)
++{
++    const char * lpath;
++    int ut = urlPath(path, &lpath);
++
++if (_rpmio_debug)
++fprintf(stderr, "*** Open(%s, 0x%x, 0%o)\n", path, flags, mode);
++    switch (ut) {
++    case URL_IS_PATH:
++      path = lpath;
++      /*@fallthrough@*/
++    case URL_IS_UNKNOWN:
++      break;
++    case URL_IS_DASH:
++    case URL_IS_HKP:
++    case URL_IS_FTP:          /* XXX TODO: implement. */
++    case URL_IS_HTTPS:                /* XXX TODO: implement. */
++    case URL_IS_HTTP:         /* XXX TODO: implement. */
++    default:
++      errno = EINVAL;         /* XXX W2DO? */
++      return -2;
++      /*@notreached@*/ break;
++    }
++
++    if (_chroot_prefix && _chroot_prefix[0] == '/' && _chroot_prefix[1] != '\0')
++    {
++      size_t nb = strlen(_chroot_prefix);
++      size_t ob = strlen(path);
++      while (nb > 0 && _chroot_prefix[nb-1] == '/')
++          nb--;
++      if (ob > nb && !strncmp(path, _chroot_prefix, nb) && path[nb] == '/')
++          path += nb;
++    }
++#ifdef        NOTYET  /* XXX likely sane default. */
++    if (mode == 0)
++      mode = 0644;
++#endif
++    return open(path, flags, mode);
++}
++
+ /* XXX rpmdb.c: analogue to rename(2). */
+ int Rename (const char * oldpath, const char * newpath)
diff --git a/rpm-rpm5-patchset-8637.patch b/rpm-rpm5-patchset-8637.patch
new file mode 100644 (file)
index 0000000..09538ec
--- /dev/null
@@ -0,0 +1,12 @@
+Index: rpm/rpmdb/rpmdb.c
+--- rpm/rpmdb/rpmdb.c  2007/10/22 02:48:42     1.195
++++ rpm/rpmdb/rpmdb.c  2007/11/02 03:07:46     1.196
+@@ -3917,7 +3917,7 @@
+     }
+     dbpath = rootdbpath = rpmGetPath(prefix, tfn, NULL);
+     if (!(prefix[0] == '/' && prefix[1] == '\0'))
+-      dbpath += strlen(prefix) - 1;
++      dbpath += strlen(prefix);
+     tfn = _free(tfn);
+     /*@-nullpass@*/
diff --git a/rpm-rpmrc-ac.patch b/rpm-rpmrc-ac.patch
new file mode 100644 (file)
index 0000000..cfb01df
--- /dev/null
@@ -0,0 +1,178 @@
+--- rpm-4.4.9/rpmrc.in~        2008-01-10 12:40:27.020788566 +0200
++++ rpm-4.4.2/rpmrc.in 2007-11-27 23:25:28.577554219 +0200
+@@ -13,67 +13,65 @@
+ # Values for RPM_OPT_FLAGS for various platforms
+ # "fat" binary with both archs, for Darwin
+-optflags: fat -O2 -arch i386 -arch ppc%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_fat: %{specflags_fat}}}
++optflags: fat -O2 -arch i386 -arch ppc %{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_fat: %{specflags_fat}}}
+-optflags: i386 -O2 -fno-strict-aliasing -fwrapv -march=i386%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i386: %{specflags_i386}}}
+-optflags: i486 -O2 -fno-strict-aliasing -fwrapv -march=i486%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i486: %{specflags_i486}}}
+-optflags: i586 -O2 -fno-strict-aliasing -fwrapv -march=i586%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i586: %{specflags_i586}}}
+-optflags: i686 -O2 -fno-strict-aliasing -fwrapv -march=i686 -mtune=pentium4%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i686: %{specflags_i686}}}
+-optflags: pentium3 -O2 -fno-strict-aliasing -fwrapv -march=pentium3%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_pentium3: %{specflags_pentium3}}}
+-optflags: pentium4 -O2 -fno-strict-aliasing -fwrapv -march=pentium4%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_pentium4: %{specflags_pentium4}}}
+-optflags: athlon -O2 -fno-strict-aliasing -fwrapv -march=athlon%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_athlon: %{specflags_athlon}}}
+-optflags: ia64 -O2 -fno-strict-aliasing -fwrapv%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia64: %{specflags_ia64}}}
+-optflags: x86_64 -O2 -fno-strict-aliasing -fwrapv -march=x86-64%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_x86_64: %{specflags_x86_64}}}
+-optflags: amd64 -O2 -fno-strict-aliasing -fwrapv -march=k8%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_amd64: %{specflags_amd64}}}
+-optflags: ia32e -O2 -fno-strict-aliasing -fwrapv -march=nocona%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32e: %{specflags_ia32e}}}
+-
+-optflags: alpha -O2 -fno-strict-aliasing -fwrapv -mieee%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_alpha: %{specflags_alpha}}}
+-optflags: alphaev5 -O2 -fno-strict-aliasing -fwrapv -mieee -mcpu=ev5%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_alpha: %{specflags_alpha}}%{?specflags_alphaev5: %{specflags_alphaev5}}}
+-optflags: alphaev56 -O2 -fno-strict-aliasing -fwrapv -mieee -mcpu=ev56%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_alpha: %{specflags_alpha}}%{?specflags_alphaev56: %{specflags_alphaev56}}}
+-optflags: alphapca56 -O2 -fno-strict-aliasing -fwrapv -mieee -mcpu=pca56%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_alpha: %{specflags_alpha}}%{?specflags_alphapca56: %{specflags_alphapca56}}}
+-optflags: alphaev6 -O2 -fno-strict-aliasing -fwrapv -mieee -mcpu=ev6%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_alpha: %{specflags_alpha}}%{?specflags_alphaev6: %{specflags_alphaev6}}}
+-optflags: alphaev67 -O2 -fno-strict-aliasing -fwrapv -mieee -mcpu=ev67%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_alpha: %{specflags_alpha}}%{?specflags_alphaev67: %{specflags_alphaev67}}}
+-
+-optflags: sparc -O2 -fno-strict-aliasing -fwrapv -m32 -mcpu=v7 -mtune=ultrasparc%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_sparc: %{specflags_sparc}}}
+-optflags: sparcv8 -O2 -fno-strict-aliasing -fwrapv -m32 -mcpu=v8 -mtune=ultrasparc%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_sparc: %{specflags_sparc}}%{?specflags_sparcv8: %{specflags_sparcv8}}}
+-optflags: sparcv9 -O2 -fno-strict-aliasing -fwrapv -m32 -mcpu=ultrasparc%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_sparc: %{specflags_sparc}}%{?specflags_sparcv9: %{specflags_sparcv9}}}
+-optflags: sparc64 -O2 -fno-strict-aliasing -fwrapv -mcpu=ultrasparc%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_sparc: %{specflags_sparc}}%{?specflags_sparc64: %{specflags_sparc64}}}
+-
+-optflags: m68k -O2 -fno-strict-aliasing -fwrapv -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_m68k: %{specflags_m68k}}}
+-
+-optflags: ppc -O2 -fno-strict-aliasing -fwrapv -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc: %{specflags_ppc}}}
+-optflags: ppc8260 -O2 -fno-strict-aliasing -fwrapv -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc8260: %{specflags_ppc8260}}}
+-optflags: ppc8560 -O2 -fno-strict-aliasing -fwrapv -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc8560: %{specflags_ppc8560}}}
+-optflags: ppc32dy4 -O2 -fno-strict-aliasing -fwrapv -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc32dy4: %{specflags_ppc32dy4}}}
+-optflags: ppciseries -O2 -fno-strict-aliasing -fwrapv -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppciseries: %{specflags_ppciseries}}}
+-optflags: ppcpseries -O2 -fno-strict-aliasing -fwrapv -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppcpseries: %{specflags_ppcpseries}}}
+-optflags: ppc64 -O2 -fno-strict-aliasing -fwrapv -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc64: %{specflags_ppc64}}}
+-
+-optflags: parisc -O2 -fno-strict-aliasing -fwrapv -mpa-risc-1-0%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_parisc: %{specflags_parisc}}}
+-optflags: hppa1.0 -O2 -fno-strict-aliasing -fwrapv -mpa-risc-1-0%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_hppa1_0: %{specflags_hppa1_0}}}
+-optflags: hppa1.1 -O2 -fno-strict-aliasing -fwrapv -mpa-risc-1-0%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_hppa1_1: %{specflags_hppa1_1}}}
+-optflags: hppa1.2 -O2 -fno-strict-aliasing -fwrapv -mpa-risc-1-0%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_hppa1_2: %{specflags_hppa1_2}}}
+-optflags: hppa2.0 -O2 -fno-strict-aliasing -fwrapv -mpa-risc-1-0%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_hppa2_0: %{specflags_hppa2_0}}}
+-
+-optflags: mips -O2 -fno-strict-aliasing -fwrapv%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_mips: %{specflags_mips}}}
+-optflags: mipsel -O2 -fno-strict-aliasing -fwrapv%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_mips: %{specflags_mips}}%{?specflags_mipsel: %{specflags_mipsel}}}
+-
+-optflags: armv3l -O2 -fno-strict-aliasing -fwrapv -fsigned-char -fomit-frame-pointer -march=armv3%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_armv3l: %{specflags_armv3l}}}
+-optflags: armv4b -O2 -fno-strict-aliasing -fwrapv -fsigned-char -fomit-frame-pointer -march=armv4%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_armv4b: %{specflags_armv4b}}}
+-optflags: armv4l -O2 -fno-strict-aliasing -fwrapv -fsigned-char -fomit-frame-pointer -march=armv4%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_armv4l: %{specflags_armv4l}}}
+-optflags: armv5teb -O2 -fno-strict-aliasing -fwrapv -fsigned-char -fomit-frame-pointer -march=armv5te%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_armv5teb: %{specflags_armv5teb}}}
+-optflags: armv5tel -O2 -fno-strict-aliasing -fwrapv -fsigned-char -fomit-frame-pointer -march=armv5te%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_armv5tel: %{specflags_armv5tel}}}
+-
+-optflags: atarist -O2 -fno-strict-aliasing -fwrapv -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_atarist: %{specflags_atarist}}}
+-optflags: atariste -O2 -fno-strict-aliasing -fwrapv -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_atariste: %{specflags_atariste}}}
+-optflags: ataritt -O2 -fno-strict-aliasing -fwrapv -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ataritt: %{specflags_ataritt}}}
+-optflags: falcon -O2 -fno-strict-aliasing -fwrapv -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_falcon: %{specflags_falcon}}}
+-optflags: atariclone -O2 -fno-strict-aliasing -fwrapv -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_atariclone: %{specflags_atariclone}}}
+-optflags: milan -O2 -fno-strict-aliasing -fwrapv -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_milan: %{specflags_milan}}}
+-optflags: hades -O2 -fno-strict-aliasing -fwrapv -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_hades: %{specflags_hades}}}
++optflags: i386 -O2 -march=i386%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i386: %{specflags_i386}}}
++optflags: i486 -O2 -march=i486%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i486: %{specflags_i486}}}
++optflags: i586 -O2 -march=i586%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i586: %{specflags_i586}}}
++optflags: i686 -O2 -march=i686%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i686: %{specflags_i686}}}
++optflags: pentium3 -O2 -march=pentium3%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_pentium3: %{specflags_pentium3}}}
++optflags: pentium4 -O2 -march=pentium4%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_pentium4: %{specflags_pentium4}}}
++optflags: athlon -O2 -march=athlon%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_athlon: %{specflags_athlon}}}
++optflags: ia64 -O2%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia64: %{specflags_ia64}}}
++optflags: x86_64 -O2%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_x86_64: %{specflags_x86_64}}}
++optflags: amd64 -O2%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_amd64: %{specflags_amd64}}}
++optflags: ia32e -O2%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32e: %{specflags_ia32e}}}
++
++optflags: alpha -O2 -mieee%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_alpha: %{specflags_alpha}}}
++optflags: alphaev5 -O2 -mieee -mcpu=ev5%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_alpha: %{specflags_alpha}}%{?specflags_alphaev5: %{specflags_alphaev5}}}
++optflags: alphaev56 -O2 -mieee -mcpu=ev56%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_alpha: %{specflags_alpha}}%{?specflags_alphaev56: %{specflags_alphaev56}}}
++optflags: alphapca56 -O2 -mieee -mcpu=pca56%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_alpha: %{specflags_alpha}}%{?specflags_alphapca56: %{specflags_alphapca56}}}
++optflags: alphaev6 -O2 -mieee -mcpu=ev6%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_alpha: %{specflags_alpha}}%{?specflags_alphaev6: %{specflags_alphaev6}}}
++optflags: alphaev67 -O2 -mieee -mcpu=ev67%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_alpha: %{specflags_alpha}}%{?specflags_alphaev67: %{specflags_alphaev67}}}
++
++optflags: sparc -O2 -m32 -mtune=ultrasparc%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_sparc: %{specflags_sparc}}}
++optflags: sparcv8 -O2 -m32 -mtune=ultrasparc -mv8%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_sparc: %{specflags_sparc}}%{?specflags_sparcv8: %{specflags_sparcv8}}}
++optflags: sparcv9 -O2 -m32 -mtune=ultrasparc%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_sparc: %{specflags_sparc}}%{?specflags_sparcv9: %{specflags_sparcv9}}}
++optflags: sparc64 -O2 -m64 -mtune=ultrasparc%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_sparc: %{specflags_sparc}}%{?specflags_sparc64: %{specflags_sparc64}}}
++
++optflags: m68k -O2 -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_m68k: %{specflags_m68k}}}
++
++optflags: ppc -O2 -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc: %{specflags_ppc}}}
++optflags: ppc8260 -O2 -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc8260: %{specflags_ppc8260}}}
++optflags: ppc8560 -O2 -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc8560: %{specflags_ppc8560}}}
++optflags: ppc32dy4 -O2 -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc32dy4: %{specflags_ppc32dy4}}}
++optflags: ppciseries -O2 -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppciseries: %{specflags_ppciseries}}}
++optflags: ppcpseries -O2 -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppcpseries: %{specflags_ppcpseries}}}
++optflags: ppc64 -O2 -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc64: %{specflags_ppc64}}}
++
++optflags: parisc -O2 -mpa-risc-1-0%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_parisc: %{specflags_parisc}}}
++optflags: hppa1.0 -O2 -mpa-risc-1-0%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_hppa1_0: %{specflags_hppa1_0}}}
++optflags: hppa1.1 -O2 -mpa-risc-1-0%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_hppa1_1: %{specflags_hppa1_1}}}
++optflags: hppa1.2 -O2 -mpa-risc-1-0%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_hppa1_2: %{specflags_hppa1_2}}}
++optflags: hppa2.0 -O2 -mpa-risc-1-0%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_hppa2_0: %{specflags_hppa2_0}}}
++
++optflags: mips -O2%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_mips: %{specflags_mips}}}
++optflags: mipsel -O2%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_mips: %{specflags_mips}}%{?specflags_mipsel: %{specflags_mipsel}}}
++
++optflags: armv3l -O2 -fsigned-char -fomit-frame-pointer -march=armv3%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_armv3l: %{specflags_armv3l}}}
++optflags: armv4b -O2 -fsigned-char -fomit-frame-pointer -march=armv4%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_armv4b: %{specflags_armv4b}}}
++optflags: armv4l -O2 -fsigned-char -fomit-frame-pointer -march=armv4%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_armv4l: %{specflags_armv4l}}}
++
++optflags: atarist -O2 -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_atarist: %{specflags_atarist}}}
++optflags: atariste -O2 -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_atariste: %{specflags_atariste}}}
++optflags: ataritt -O2 -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ataritt: %{specflags_ataritt}}}
++optflags: falcon -O2 -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_falcon: %{specflags_falcon}}}
++optflags: atariclone -O2 -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_atariclone: %{specflags_atariclone}}}
++optflags: milan -O2 -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_milan: %{specflags_milan}}}
++optflags: hades -O2 -fomit-frame-pointer%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_hades: %{specflags_hades}}}
+-optflags: s390 -O2 -fno-strict-aliasing -fwrapv%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_s390: %{specflags_s390}}}
+-optflags: s390x -O2 -fno-strict-aliasing -fwrapv%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_s390: %{specflags_s390}}%{?specflags_s390x: %{specflags_s390x}}}
++optflags: s390 -O2%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_s390: %{specflags_s390}}}
++optflags: s390x -O2%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_s390: %{specflags_s390}}%{?specflags_s390x: %{specflags_s390x}}}
+ #############################################################
+ # Canonical arch names and numbers
+@@ -126,8 +124,6 @@
+ arch_canon:   armv3l: armv3l  12
+ arch_canon:     armv4b:       armv4b  12
+ arch_canon:     armv4l:       armv4l  12
+-arch_canon:     armv5teb: armv5teb    12
+-arch_canon:     armv5tel: armv5tel    12
+ arch_canon:   m68kmint: m68kmint      13
+ arch_canon:   atarist: m68kmint       13
+@@ -209,8 +205,8 @@
+ buildarchtranslate: sun4m: sparc
+ buildarchtranslate: sparcv8: sparc
+ buildarchtranslate: sparcv9: sparc
+-buildarchtranslate: sun4u: sparc64
+-buildarchtranslate: sparc64: sparc64
++buildarchtranslate: sun4u: sparc
++buildarchtranslate: sparc64: sparc
+ buildarchtranslate: osfmach3_ppc: ppc
+ buildarchtranslate: powerpc: ppc
+@@ -236,9 +232,9 @@
+ buildarchtranslate: ia64: ia64
+-buildarchtranslate: x86_64: x86_64
+-buildarchtranslate: amd64: x86_64
+-buildarchtranslate: ia32e: x86_64
++buildarchtranslate: x86_64: amd64
++buildarchtranslate: amd64: amd64
++buildarchtranslate: ia32e: amd64
+ #############################################################
+ # Architecture compatibility
+@@ -295,8 +291,6 @@
+ arch_compat: hppa1.0: parisc
+ arch_compat: parisc: noarch
+-arch_compat: armv5teb: armv4b
+-arch_compat: armv5tel: armv4l
+ arch_compat: armv4b: noarch
+ arch_compat: armv4l: armv3l
+ arch_compat: armv3l: noarch
+@@ -391,8 +385,6 @@
+ buildarch_compat: armv3l: noarch
+ buildarch_compat: armv4b: noarch
+ buildarch_compat: armv4l: noarch
+-buildarch_compat: armv5teb: noarch
+-buildarch_compat: armv5tel: noarch
+ buildarch_compat: hppa2.0: hppa1.2
+ buildarch_compat: hppa1.2: hppa1.1
diff --git a/rpm-rpmrc-resurrect.patch b/rpm-rpmrc-resurrect.patch
deleted file mode 100644 (file)
index db60d00..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
---- rpm/lib/rpmrc.c~   2006-10-18 19:47:13.889558500 +0200
-+++ rpm/lib/rpmrc.c    2006-10-18 20:00:09.350021750 +0200
-@@ -1797,10 +1797,8 @@
-       defaultsInitialized = 1;
-     }
--#ifdef        DYING
-     if (rcfiles == NULL)
-       rcfiles = rpmRcfiles;
--#endif
-     /* Read each file in rcfiles. */
-     rc = 0;
diff --git a/rpm-tar_as_secondary_source.patch b/rpm-tar_as_secondary_source.patch
new file mode 100644 (file)
index 0000000..37962e6
--- /dev/null
@@ -0,0 +1,30 @@
+--- rpm-4.4.9/rpmio/macro.c.old        2007-11-10 10:29:08.000000000 +0100
++++ rpm-4.4.9/rpmio/macro.c    2007-11-10 10:37:25.000000000 +0100
+@@ -21,6 +21,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <strings.h>
+ #define rpmError fprintf
+ #define RPMERR_BADSPEC stderr
+ #undef        _
+@@ -2106,6 +2107,7 @@ int isCompressed(const char * file, rpmC
+     ssize_t nb;
+     int rc = -1;
+     unsigned char magic[13];
++    char *end, *ext;
+     *compressed = COMPRESSED_NOT;
+@@ -2131,6 +2133,11 @@ int isCompressed(const char * file, rpmC
+     rc = 0;
++    /* Tar archives will be recognized by filename. */
++    end = strchr(file, '\0');
++    ext = end - 4;
++    if (ext > file && !strcasecmp(ext, ".tar")) return rc;
++ 
+     if (magic[0] == 'B' && magic[1] == 'Z')
+       *compressed = COMPRESSED_BZIP2;
+     else
diff --git a/rpm-user_group.sh b/rpm-user_group.sh
deleted file mode 100644 (file)
index ee662e2..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-#!/bin/sh
-
-[ -f /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm
-[ -z "$RPM_SCRIPTVERBOSITY" ] && RPM_SCRIPTVERBOSITY=5
-
-if [ -x /usr/bin/banner.sh ]; then
-       BANNERCMD="/usr/bin/banner.sh "
-       BANNERPARA="-s -M user-group.error"
-else
-       BANNERCMD="cat"
-       BANNERPARA=""
-fi
-
-if [ "$1" = user -o "$1" = group ]; then
-       MODE=$1
-else
-       echo ERROR
-       exit 2
-fi
-shift
-
-bannercmd()
-{
-       if [ "$BANNERCMD" = cat ]; then
-               echo cat
-       else
-               if [ "$RPM_SCRIPTVERBOSITY" -lt 2 ]; then
-                       echo "$BANNERCMD -M $1"
-               else
-                       echo "$BANNERCMD -s -M $1"
-               fi
-       fi
-}
-
-testrm()
-{
-       [ "$RPM_USERDEL" != yes ] || [ ! -x /bin/rpm ] && return 1
-       [ -z "$1" ] && return 2
-       rpm -q --whatprovides "${MODE}($1)" >/dev/null 2>&1
-       # no package Provides it (strange)
-       [ $? -ne 0 ] && return 0
-       # only current package Provides it
-       [ `rpm -q --whatprovides "${MODE}($1)" | wc -l` -lt 2 ] && return 0
-       return 1
-}
-
-if [ "$1" = "testrm" ]; then
-       testrm $2
-       exit $?
-elif [ "$1" = del ]; then
-       if testrm $2; then
-               echo "Removing $MODE $2" | `bannercmd "${MODE}del-$2"`
-               /usr/sbin/${MODE}del $2 || :
-               if [ -x /usr/sbin/nscd ]; then
-               case "${MODE}" in
-               user)
-                       /usr/sbin/nscd -i passwd
-                       ;;
-               group)
-                       /usr/sbin/nscd -i group
-                       ;;
-               esac
-               fi
-       fi
-elif [ "$MODE" = "user" -a "$1" = "addtogroup" ]; then
-       user="$2"
-       group="$3"
-       groups=$(id -n -G $user)
-       if [[ " $groups " != *\ $group\ * ]]; then
-           echo "Adding user $user to group $group" | `bannercmd "${MODE}mod-$user"`
-               for grp in $groups $group; do
-                       new="$new${new:+,}$grp"
-               done
-           usermod -G "$new" $user
-       fi
-else
-       echo ERROR
-       exit 2
-fi
diff --git a/rpm-v3-support.patch b/rpm-v3-support.patch
new file mode 100644 (file)
index 0000000..33486db
--- /dev/null
@@ -0,0 +1,25 @@
+--- a/lib/rpmds.c      10 Jun 2007 17:12:25 -0000      2.55.2.4
++++ b/lib/rpmds.c      6 Oct 2007 01:09:19 -0000
+@@ -253,6 +255,7 @@
+     const char ** N;
+     rpmTagType Nt;
+     int_32 Count;
++int rpmv3 = headerIsEntry(h, RPMTAG_OLDFILENAMES);
+ assert(scareMem == 0);                /* XXX always allocate memory */
+     if (tagN == RPMTAG_PROVIDENAME) {
+@@ -280,12 +283,12 @@
+       tagEVR = RPMTAG_TRIGGERVERSION;
+       tagF = RPMTAG_TRIGGERFLAGS;
+     } else
+-    if (tagN == RPMTAG_DIRNAMES) {
++    if (!rpmv3 && tagN == RPMTAG_DIRNAMES) {
+       Type = "Dirnames";
+       tagEVR = 0;
+       tagF = 0;
+     } else
+-    if (tagN == RPMTAG_FILELINKTOS) {
++    if (!rpmv3 && tagN == RPMTAG_FILELINKTOS) {
+       Type = "Filelinktos";
+       tagEVR = RPMTAG_DIRNAMES;
+       tagF = RPMTAG_DIRINDEXES;
diff --git a/rpm.groups b/rpm.groups
deleted file mode 100644 (file)
index 643b8b2..0000000
+++ /dev/null
@@ -1,1475 +0,0 @@
-Applications
-       [cs]:           Aplikace
-       [da]:           Programmer
-       [de]:           Applikationen
-       [es]:           Aplicaciones
-       [fr]:           Applications
-       [id]:           Aplikasi
-       [is]:           Forrit
-       [it]:           Applicazioni
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-       [nb]:           Applikasjoner
-       [pl]:           Aplikacje
-       [pt]:           Aplicações
-       [pt_BR]:        Aplicações
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ
-       [sl]:           Programi
-       [sv]:           Tillämpningar
-       [uk]:           Прикладні Програми
-
-Applications/Archiving
-       [cs]:           Aplikace/Archivování
-       [da]:           Programmer/Arkivering
-       [de]:           Applikationen/Archivierung
-       [es]:           Aplicaciones/Archivar
-       [fr]:           Applications/Archivage
-       [is]:           Forrit/Þjöppun
-       [it]:           Applicazioni/Archiviazione
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¢¡¼¥«¥¤¥Ö
-       [nb]:           Applikasjoner/Arkivering
-       [pl]:           Aplikacje/Archiwizacja
-       [pt]:           Aplicações/Arquivos
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/áÒÈÉ×ÁÃÉÑ
-       [sl]:           Programi/Arhiviranje
-       [sv]:           Tillämpningar/Arkivering
-       [uk]:           Прикладні Програми/Архівація
-
-Applications/Communications
-       [cs]:           Aplikace/Komunikace
-       [da]:           Programmer/Kommunikation
-       [de]:           Applikationen/Kommunikation
-       [es]:           Aplicaciones/Comunicaciones
-       [fr]:           Applications/Transmissions
-       [is]:           Forrit/Samskipti
-       [it]:           Applicazioni/Comunicazioni
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/ÄÌ¿®
-       [nb]:           Applikasjoner/Kommunikasjon
-       [pl]:           Aplikacje/Komunikacja
-       [pt]:           Aplicações/Comunicações
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ëÏÍÍÕÎÉËÁÃÉÉ
-       [sl]:           Programi/Komunikacije
-       [sv]:           Tillämpningar/Kommunikation
-       [uk]:           Прикладні Програми/Комунікації
-
-Applications/Console
-       [cs]:           Aplikace/Konzole
-       [da]:           Programmer/Konsol
-       [de]:           Applikationen/Konsole
-       [es]:           Aplicaciones/Consola
-       [fr]:           Applications/Console
-       [is]:           Forrit/Stjórnskjá
-       [it]:           Applicazioni/Console
-       [nb]:           Applikasjoner/Konsollet
-       [pl]:           Aplikacje/Konsola
-       [pt]:           Aplicações/Console
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ëÏÎÓÏÌØ
-       [sv]:           Tillämpningar/Konsolen
-       [uk]:           Прикладні Програми/Консоль
-
-Applications/Databases
-       [cs]:           Aplikace/Databáze
-       [da]:           Programmer/Databaser
-       [de]:           Applikationen/Datenbanken
-       [es]:           Aplicaciones/Bases de Datos
-       [fr]:           Applications/Bases de Données
-       [id]:           Aplikasi/Database
-       [is]:           Forrit/Gagnagrunnar
-       [it]:           Applicazioni/Database
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ç¡¼¥¿¥Ù¡¼¥¹
-       [nb]:           Applikasjoner/Databaser
-       [pl]:           Aplikacje/Bazy Danych
-       [pt]:           Aplicações/Bases de Dados
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/âÁÚÙ ÄÁÎÎÙÈ
-       [sl]:           Programi/Zbirke podatkov
-       [sv]:           Tillämpningar/Databaser
-       [uk]:           Прикладні Програми/Бази даних
-
-Applications/Databases/Interfaces
-       [cs]:           Aplikace/Databáze/Rozhraní
-       [da]:           Programmer/Databaser/Grænsefladen
-       [de]:           Applikationen/Datenbanken/Schnittstellen
-       [es]:           Aplicaciones/Bases de Datos/Interfaces
-       [fr]:           Applications/Bases de données/Interfaces
-       [is]:           Forrit/Gagnagrunnar/Viðmót
-       [it]:           Applicazioni/Database/Interfacce
-       [nb]:           Applikasjoner/Databaser/Grensesnitt
-       [pl]:           Aplikacje/Bazy Danych/Interfejsy
-       [pt]:           Aplicações/Bases de Dados/Interfaces
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/âÁÚÙ ÄÁÎÎÙÈ/éÎÔÅÒÆÅÊÓÙ
-       [sl]:           Programi/Zbirke podatkov/Vmesniki
-       [sv]:           Tillämpningar/Databaser/Gränssnitten
-       [uk]:           Прикладні Програми/Бази даних/Інтерфейсі
-
-Applications/Dictionaries
-       [cs]:           Aplikace/Slovníky
-       [da]:           Programmer/Ordbøger
-       [de]:           Applikationen/Wörterbücher
-       [es]:           Aplicaciones/Diccionarios
-       [fr]:           Applications/Dictionaires
-       [is]:           Forrit/Orðabókum
-       [it]:           Applicazioni/Dizionari
-       [nb]:           Applikasjoner/Ordbøker
-       [pl]:           Aplikacje/S³owniki
-       [pt]:           Aplicações/Dicionários
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/óÌÏ×ÁÒÉ
-       [sl]:           Programi/Slovarji
-       [sv]:           Tillämpningar/Ordlistor
-       [uk]:           Прикладні Програми/Словники
-
-Applications/Editors
-       [cs]:           Aplikace/Editory
-       [da]:           Programmer/Tekstbehandlere
-       [de]:           Applikationen/Editoren
-       [es]:           Aplicaciones/Editores
-       [fr]:           Applications/Editeurs
-       [is]:           Forrit/Ritlar
-       [it]:           Applicazioni/Editor
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥Ç¥£¥¿
-       [nb]:           Applikasjoner/Editorer
-       [pl]:           Aplikacje/Edytory
-       [pt]:           Aplicações/Editores
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/òÅÄÁËÔÏÒÙ
-       [sl]:           Programi/Urejevalniki
-       [sv]:           Tillämpningar/Editorer
-       [uk]:           Прикладні Програми/Редактори
-
-Applications/Editors/Emacs
-       [cs]:           Aplikace/Editory/Emacs
-       [da]:           Programmer/Tekstbehandlere/Emacs
-       [de]:           Applikationen/Editoren/Emacs
-       [es]:           Aplicaciones/Editores/Emacs
-       [fr]:           Applications/Editeurs/Emacs
-       [is]:           Forrit/Ritlar/Emacs
-       [it]:           Applicazioni/Editor/Emacs
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥Ç¥£¥¿/Emacs
-       [nb]:           Applikasjoner/Editorer/Emacs
-       [pl]:           Aplikacje/Edytory/Emacs
-       [pt]:           Aplicações/Editores/Emacs
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/òÅÄÁËÔÏÒÙ/Emacs
-       [sl]:           Programi/Urejevalniki/Emacs
-       [sv]:           Tillämpningar/Editorer/Emacs
-       [uk]:           Прикладні Програми/Редактори/Emacs
-
-Applications/Editors/Vim
-       [cs]:           Aplikace/Editory/Vim
-       [da]:           Programmer/Tekstbehandlere/Vim
-       [de]:           Applikationen/Editoren/Vim
-       [es]:           Aplicaciones/Editores/Vim
-       [fr]:           Applications/Editeurs/Vim
-       [is]:           Forrit/Ritlar/Vim
-       [it]:           Applicazioni/Editor/Vim
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥Ç¥£¥¿/Vim
-       [nb]:           Applikasjoner/Editorer/Vim
-       [pl]:           Aplikacje/Edytory/Vim
-       [pt]:           Aplicações/Editores/Vim
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/òÅÄÁËÔÏÒÙ/Vim
-       [sl]:           Programi/Urejevalniki/Vim
-       [sv]:           Tillämpningar/Editorer/Vim
-       [uk]:           Прикладні Програми/Редактори/Vim
-
-Applications/Editors/XEmacs
-       [cs]:           Aplikace/Editory/XEmacs
-       [da]:           Programmer/Tekstbehandlere/XEmacs
-       [de]:           Applikationen/Editoren/XEmacs
-       [es]:           Aplicaciones/Editores/XEmacs
-       [fr]:           Applications/Editeurs/XEmacs
-       [is]:           Forrit/Ritlar/XEmacs
-       [it]:           Applicazioni/Editor/XEmacs
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥Ç¥£¥¿/XEmacs
-       [nb]:           Applikasjoner/Editorer/XEmacs
-       [pl]:           Aplikacje/Edytory/XEmacs
-       [pt]:           Aplicações/Editores/XEmacs
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/òÅÄÁËÔÏÒÙ/XEmacs
-       [sl]:           Programi/Urejevalniki/XEmacs
-       [sv]:           Tillämpningar/Editorer/XEmacs
-       [uk]:           Прикладні Програми/Редактори/XEmacs
-
-Applications/Emulators
-       [da]:           Programmer/Emulatorer
-       [de]:           Applikationen/Emulatoren
-       [es]:           Aplicaciones/Emuladores
-       [fr]:           Applications/Émulateurs
-       [is]:           Forrit/Hermar
-       [it]:           Applicazioni/Emulatori
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥ß¥å¥ì¡¼¥¿
-       [nb]:           Applikasjoner/Emulatorer
-       [pl]:           Aplikacje/Emulatory
-       [pt]:           Aplicações/Emuladores
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/üÍÕÌÑÔÏÒÙ
-       [sl]:           Programi/Emulatorji
-       [sv]:           Tillämpningar/Emulatorer
-       [uk]:           Прикладні Програми/Емулятори
-
-Applications/Engineering
-       [cs]:           Aplikace/In¾enýrské
-       [da]:           Programmer/Ingeniørarbejde
-       [de]:           Applikationen/Technik
-       [es]:           Aplicaciones/Ingeniería
-       [fr]:           Applications/Ingénierie
-       [is]:           Forrit/Verkfræði
-       [it]:           Applicazioni/Engineering
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥ó¥¸¥Ë¥¢¥ê¥ó¥°
-       [nb]:           Applikasjoner/Teknisk
-       [pl]:           Aplikacje/In¿ynierskie
-       [pt]:           Aplicações/Engenharia
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/éÎÖÅÎÅÒÎÙÅ ÐÒÉÌÏÖÅÎÉÑ
-       [sl]:           Programi/In¾enirstvo
-       [sv]:           Tillämpningar/Konstruktion
-
-Applications/File
-       [cs]:           Aplikace/Práce se soubory
-       [da]:           Programmer/Filer
-       [de]:           Applikationen/Datei
-       [es]:           Aplicaciones/Archivos
-       [fr]:           Applications/Fichiers
-       [is]:           Forrit/Skráatól
-       [it]:           Applicazioni/File
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Õ¥¡¥¤¥ë
-       [nb]:           Applikasjoner/Fil
-       [pl]:           Aplikacje/Pliki
-       [pt]:           Aplicações/Ficheiros
-       [pt_BR]:        Aplicações/Arquivos
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/æÁÊÌÏ×ÙÅ ÕÔÉÌÉÔÙ
-       [sl]:           Programi/Datoteke
-       [sv]:           Tillämpningar/Fil
-       [uk]:           Прикладні Програми/Файлові утиліти
-
-Applications/Graphics
-       [cs]:           Aplikace/Grafika
-       [da]:           Programmer/Grafik
-       [de]:           Applikationen/Graphiken
-       [es]:           Aplicaciones/Gráficos
-       [fr]:           Applications/Graphiques
-       [id]:           Aplikasi/Grafik
-       [is]:           Forrit/Myndvinnsla
-       [it]:           Applicazioni/Immagini
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥°¥é¥Õ¥£¥Ã¥¯¥¹
-       [nb]:           Applikasjoner/Grafikk
-       [pl]:           Aplikacje/Grafika
-       [pt]:           Aplicações/Gráficos
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/çÒÁÆÉËÁ
-       [sl]:           Programi/Grafika
-       [sv]:           Tillämpningar/Grafik
-       [uk]:           Прикладні Програми/Графіка
-
-Applications/Games
-       [cs]:           Aplikace/Hry
-       [da]:           Programmer/Spil
-       [de]:           Applikationen/Spiele
-       [es]:           Aplicaciones/Juegos
-       [fr]:           Applications/Jeux
-       [is]:           Forrit/Leikir
-       [it]:           Applicazioni/Giochi
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥²¡¼¥à
-       [nb]:           Applikasjoner/Spill
-       [pl]:           Aplikacje/Gry
-       [pt]:           Aplicações/Jogos
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/éÇÒÙ
-       [sl]:           Programi/Igre
-       [sv]:           Tillämpningar/Spel
-       [uk]:           Прикладні Програми/Ігри
-
-Applications/Networking
-       [cs]:           Aplikace/Sí»ové
-       [da]:           Programmer/Netværks
-       [de]:           Applikationen/Netzwerkwesen
-       [es]:           Aplicaciones/Red
-       [fr]:           Applications/Réseau
-       [is]:           Forrit/Net
-       [it]:           Applicazioni/Rete
-       [nb]:           Applikasjoner/Nettverk
-       [pl]:           Aplikacje/Sieciowe
-       [pt]:           Aplicações/Rede
-       [pt_BR]:        Aplicações/Rede
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/óÅÔØ
-       [sl]:           Programi/Omre¾ni
-       [sv]:           Tillämpningar/Nätverk
-       [uk]:           Прикладні Програми/Мережа
-
-Applications/Mail
-       [cs]:           Aplikace/Po¹ta
-       [da]:           Programmer/Post
-       [de]:           Applikationen/Post
-       [es]:           Aplicaciones/Correo Electrónico
-       [fr]:           Applications/Courrier
-       [is]:           Forrit/Póst
-       [it]:           Applicazioni/Posta
-       [nb]:           Applikasjoner/Epost
-       [pl]:           Aplikacje/Poczta
-       [pt]:           Aplicações/Correio Eletrônico
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/üÌÅËÔÒÏÎÎÁÑ ÐÏÞÔÁ
-       [sl]:           Programi/Po¹tna
-       [sv]:           Tillämpningar/Post
-       [uk]:           Прикладні Програми/Пошта
-
-Applications/Math
-       [cs]:           Aplikace/Matematické
-       [da]:           Programmer/Matematik
-       [de]:           Applikationen/Mathematik
-       [es]:           Aplicaciones/Matemáticas
-       [fr]:           Applications/Mathématiques
-       [it]:           Applicazioni/Matematiche
-       [nb]:           Applikasjoner/Matematiske
-       [pl]:           Aplikacje/Matematyczne
-       [pt]:           Aplicações/Matemática
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/íÁÔÅÍÁÔÉÞÅÓËÉÅ
-       [sl]:           Programi/Matematièni
-       [sv]:           Tillämpningar/Matemataisk
-       [uk]:           Прикладні Програми/Математика
-
-Applications/Multimedia
-       [cs]:           Aplikace/Multimédia
-       [da]:           Programmer/Multimedie
-       [de]:           Applikationen/Multimedien
-       [es]:           Aplicaciones/Multimedia
-       [fr]:           Applications/Multimédia
-       [is]:           Forrit/Margmiðlun
-       [it]:           Applicazioni/Multimedia
-       [ja]:           ¥ê¥±¡¼¥·¥ç¥ó/¥Þ¥ë¥Á¥á¥Ç¥£¥¢
-       [nb]:           Programmer/Multimedia
-       [pl]:           Aplikacje/Multimedia
-       [pt]:           Aplicações/Multimédia
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/íÕÌØÔÉÍÅÄÉÁ
-       [sl]:           Programi/Veèpredstavnost
-       [sv]:           Tillämpningar/Multimedia
-       [uk]:           Прикладні Програми/Мультимедіа
-
-Applications/News
-       [cs]:           Aplikace/News
-       [da]:           Programmer/Nyheder
-       [de]:           Applikationen/News
-       [es]:           Aplicaciones/Noticias
-       [fr]:           Applications/Nouvelles
-       [is]:           Forrit/Fréttir
-       [it]:           Applicazioni/News
-       [nb]:           Applikasjoner/News
-       [pl]:           Aplikacje/News
-       [pt]:           Aplicações/News
-       [pt_BR]:        Aplicações/News
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/îÏ×ÏÓÔÉ
-       [sl]:           Programi/Novièarske
-       [sv]:           Tillämpningar/Nyheter
-       [uk]:           Прикладні Програми/Новини
-
-Applications/Printing
-       [cs]:           Aplikace/Tisk
-       [da]:           Programmer/Udskrift
-       [de]:           Applikationen/Drucken
-       [es]:           Aplicaciones/Impresión
-       [fr]:           Applications/Impression
-       [is]:           Forrit/Þróað
-       [it]:           Applicazioni/Stampa
-       [nb]:           Applikasjoner/Utskrift
-       [pl]:           Aplikacje/Drukowanie
-       [pt]:           Aplicações/Impressão
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ðÅÞÁÔØ
-       [sl]:           Programi/Tiskanje
-       [sv]:           Tillämpningar/Utskrift
-       [uk]:           Прикладні Програми/Друк
-
-Applications/Publishing
-       [cs]:           Aplikace/Publikování
-       [da]:           Programmer/Udgivelse
-       [de]:           Applikationen/Publizieren
-       [es]:           Aplicaciones/Edición
-       [fr]:           Applications/Edition
-       [is]:           Forrit/Umbrot
-       [it]:           Applicazioni/Publishing
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°
-       [nb]:           Applikasjoner/Publisering
-       [pl]:           Aplikacje/Publikowanie
-       [pt]:           Aplicações/Publicação
-       [pt_BR]:        Aplicações/Editoração
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ôÉÐÏÇÒÁÆÉÑ
-       [sl]:           Programi/Zalo¾ni¹tvo
-       [sv]:           Tillämpningar/Publicering
-       [uk]:           Прикладні Програми/Типографія
-
-Applications/Publishing/SGML
-       [cs]:           Aplikace/Publikování/SGML
-       [da]:           Programmer/Udgivelse/SGML
-       [de]:           Applikationen/Publizieren/SGML
-       [es]:           Aplicaciones/Edición/SGML
-       [fr]:           Applications/Edition/SGML
-       [is]:           Forrit/Umbrot/SGML
-       [it]:           Applicazioni/Publishing/SGML
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°/SGML
-       [nb]:           Applikasjoner/Publisering/SGML
-       [pl]:           Aplikacje/Publikowanie/SGML
-       [pt]:           Aplicações/Publicação/SGML
-       [pt_BR]:        Aplicações/Editoração/SGML
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/éÚÄÁÔÅÌØÓÔ×Ï/SGML
-       [sl]:           Programi/Zalo¾ni¹tvo/SGML
-       [sv]:           Tillämpningar/Publicering/SGML
-       [uk]:           Прикладні Програми/Типографія/SGML
-
-Applications/Publishing/TeX
-       [cs]:           Aplikace/Publikování/TeX
-       [da]:           Programmer/Udgivelse/TeX
-       [de]:           Applikationen/Publizieren/TeX
-       [es]:           Aplicaciones/Edición/TeX
-       [fr]:           Applications/Edition/TeX
-       [is]:           Forrit/Umbrot/TeX
-       [it]:           Applicazioni/Publishing/TeX
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°/TeX
-       [nb]:           Applikasjoner/Publisering/TeX
-       [pl]:           Aplikacje/Publikowanie/TeX
-       [pt]:           Aplicações/Publicação/TeX
-       [pt_BR]:        Aplicações/Editoração/TeX
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/éÚÄÁÔÅÌØÓÔ×Ï/TeX
-       [sl]:           Programi/Zalo¾ni¹tvo/TeX
-       [sv]:           Tillämpningar/Publicering/TeX
-       [uk]:           Прикладні Програми/Типографія/TeX
-
-Applications/Publishing/XML
-       [cs]:           Aplikace/Publikování/XML
-       [da]:           Programmer/Udgivelse/XML
-       [de]:           Applikationen/Publizieren/XML
-       [es]:           Aplicaciones/Edición/XML
-       [fr]:           Applications/Edition/XML
-       [is]:           Forrit/Umbrot/XML
-       [it]:           Applicazioni/Publishing/XML
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°/XML
-       [nb]:           Applikasjoner/Publisering/XML
-       [pl]:           Aplikacje/Publikowanie/XML
-       [pt]:           Aplicações/Publicação/XML
-       [pt_BR]:        Aplicações/Editoração/XML
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/éÚÄÁÔÅÌØÓÔ×Ï/XML
-       [sl]:           Programi/Zalo¾ni¹tvo/XML
-       [sv]:           Tillämpningar/Publicering/XML
-       [uk]:           Прикладні Програми/Типографія/XML
-
-Applications/Publishing/XML/Java
-       [cs]:           Aplikace/Publikování/XML/Java
-       [da]:           Programmer/Udgivelse/XML/Java
-       [de]:           Applikationen/Publizieren/XML/Java
-       [es]:           Aplicaciones/Edición/XML/Java
-       [fr]:           Applications/Edition/XML/Java
-       [is]:           Forrit/Umbrot/XML/Java
-       [it]:           Applicazioni/Publishing/XML/Java
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°/XML/Java
-       [nb]:           Applikasjoner/Publisering/XML/Java
-       [pl]:           Aplikacje/Publikowanie/XML/Java
-       [pt]:           Aplicações/Publicação/XML/Java
-       [pt_BR]:        Aplicações/Editoração/XML/Java
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/éÚÄÁÔÅÌØÓÔ×Ï/XML/Java
-       [sl]:           Programi/Zalo¾ni¹tvo/XML/Java
-       [sv]:           Tillämpningar/Publicering/XML/Java
-       [uk]:           Прикладні Програми/Типографія/XML/Java
-
-Applications/Science
-       [cs]:           Aplikace/Vìdecké
-       [de]:           Applikationen/Wissenschaft
-       [es]:           Aplicaciones/Ciencia
-       [fr]:           Applications/Science
-       [it]:           Applicazioni/Sciencia
-       [pl]:           Aplikacje/Nauka
-       [pt]:           Aplicações/Ciência
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/îÁÕËÁ
-       [sv]:           Tillämpningar/Vetenskaplig
-       [uk]:           Прикладні Програми/Наука
-
-Applications/Shells
-       [cs]:           Aplikace/Shelly
-       [da]:           Programmer/Skaller
-       [de]:           Applikationen/Shells
-       [es]:           Aplicaciones/Shells
-       [fr]:           Applications/Shells
-       [is]:           Forrit/Skeljar
-       [it]:           Applicazioni/Shell
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥·¥§¥ë
-       [nb]:           Applikasjoner/Skall
-       [pl]:           Aplikacje/Pow³oki
-       [pt]:           Aplicações/Shells
-       [pt_BR]:        Aplicações/Shells
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ëÏÍÁÎÄÎÙÅ ÐÒÏÃÅÓÓÏÒÙ
-       [sl]:           Programi/Ukazne lupine
-       [sv]:           Tillämpningar/Skal
-       [uk]:           Прикладні Програми/Командні процесори
-
-Applications/Sound
-       [cs]:           Aplikace/Zvuk
-       [da]:           Programmer/Lyd
-       [de]:           Applikationen/Laut
-       [es]:           Aplicaciones/Sonido
-       [fr]:           Aplications/Son
-       [is]:           Forrit/Hljóð
-       [it]:           Applicazioni/Audio
-       [nb]:           Applikasjoner/Lyd
-       [pl]:           Aplikacje/D¼wiêk
-       [pt]:           Aplicações/Som
-       [pt_BR]:        Aplicações/Som
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ú×ÕË
-       [sl]:           Programi/Zvok
-       [sv]:           Tillämpningar/Ljud
-       [uk]:           Прикладні Програми/Звук
-
-Applications/Spreadsheets
-       [cs]:           Aplikace/Tabulkove procesorý
-       [da]:           Programmer/Regneark
-       [de]:           Applikationen/Arbeitsblätter
-       [es]:           Aplicaciones/Hojas de Cálculo
-       [fr]:           Applications/Tableurs
-       [is]:           Forrit/Töflureikni
-       [it]:           Applicazioni/Fogli di calcolo
-       [nb]:           Applikasjoner/Regneark
-       [pl]:           Aplikacje/Arkusze kalkulacyjne
-       [pt]:           Aplicações/Folhas de Cálculo
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/üÌÅËÔÒÏÎÎÙÅ ÔÁÂÌÉÃÙ
-       [sl]:           Programi/Preglednice
-       [sv]:           Tillämpningar/Kalkylark
-       [uk]:           Прикладні Програми/Електронна таблиця
-
-Applications/System
-       [cs]:           Aplikace/Systém
-       [da]:           Programmer/System
-       [de]:           Applikationen/System
-       [es]:           Aplicaciones/Sistema
-       [fr]:           Applications/Système
-       [is]:           Forrit/Kerfisforrit
-       [it]:           Applicazioni/Sistema
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥·¥¹¥Æ¥à
-       [nb]:           Applikasjoner/System
-       [pl]:           Aplikacje/System
-       [pt]:           Aplicações/Sistema
-       [pt_BR]:        Aplicações/Sistema
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/óÉÓÔÅÍÁ
-       [sl]:           Programi/Sistem
-       [sv]:           Tillämpningar/System
-       [uk]:           Прикладні Програми/Система
-
-Applications/Terminal
-       [cs]:           Aplikace/Terminál
-       [da]:           Programmer/Terminal
-       [de]:           Applikationen/Terminal
-       [es]:           Aplicaciones/Terminal
-       [fr]:           Applications/Terminal
-       [is]:           Forrit/Textaskilum
-       [it]:           Applicazioni/Terminale
-       [nb]:           Applikasjoner/Terminal
-       [pl]:           Aplikacje/Terminal
-       [pt]:           Aplicações/Terminal
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ôÅÒÍÉÎÁÌ
-       [sl]:           Programi/Terminal
-       [sv]:           Tillämpningar/Terminal
-       [uk]:           Прикладні Програми/Термінали
-
-Applications/Text
-       [cs]:           Aplikace/Text
-       [da]:           Programmer/Tekst
-       [de]:           Applikationen/Text
-       [es]:           Aplicaciones/Texto
-       [fr]:           Applications/Texte
-       [is]:           Forrit/Texti
-       [it]:           Applicazioni/Testo
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Æ¥­¥¹¥È
-       [nb]:           Applikasjoner/Tekst
-       [pl]:           Aplikacje/Tekst
-       [pt]:           Aplicações/Texto
-       [ru]:           ðÒÉÌÏÖÅÎÉÑ/ôÅËÓÔÏ×ÙÅ ÕÔÉÌÉÔÙ
-       [sl]:           Programi/Besedilo
-       [sv]:           Tillämpningar/Text
-       [uk]:           Прикладні Програми/Текстові утиліти
-
-Applications/WWW
-       [cs]:           Aplikace/WWW
-       [da]:           Programmer/WWW
-       [de]:           Applikationen/WWW
-       [es]:           Aplicaciones/WWW
-       [fr]:           Applications/WWW
-       [is]:           Forrit/WWW
-       [nb]:           Applikasjoner/WWW
-       [pl]:           Aplikacje/WWW
-       [pt]:           Aplicações/WWW
-       [sl]:           Programi/WWW
-       [sv]:           Tillämpningar/WWW
-
-Base
-       [cs]:           Základ
-       [da]:           Basal
-       [de]:           Grundsätzlich
-       [es]:           Base
-       [fr]:           Base
-       [is]:           Grunnforrit
-       [it]:           Base
-       [ja]:           ¥Ù¡¼¥¹
-       [nb]:           Basis
-       [pl]:           Podstawowe
-       [pt]:           Base
-       [pt_BR]:        Base
-       [ru]:           âÁÚÁ
-       [sl]:           Osnova
-       [sv]:           Bas
-       [uk]:           База
-
-Base/Kernel
-       [cs]:           Základ/Jádro
-       [da]:           Basal/Kerne
-       [de]:           Grundsätzlich/Kern
-       [es]:           Base/Núcleo
-       [fr]:           Base/Noyau
-       [is]:           Grunnforrit/Kjarninn
-       [it]:           Base/Kernel
-       [ja]:           ¥Ù¡¼¥¹/¥«¡¼¥Í¥ë
-       [nb]:           Basis/Kjerne
-       [pl]:           Podstawowe/J±dro
-       [pt]:           Base/Núcleo
-       [ru]:           âÁÚÁ/ñÄÒÏ
-       [sl]:           Osnova/Jedro
-       [sv]:           Bas/Kärna
-       [uk]:           База/Ядро
-
-Base/Authentication and Authorization
-       [cs]:           Základ/Autentizace a autorizace
-       [de]:           Grundsätzlich/Authentisierung und Ermächtigung
-       [es]:           Base/Autenticación y Autorización
-       [fr]:           Base/Authentification et autorisation
-       [it]:           Base/Autenticazione e autorizzazione
-       [pl]:           Podstawowe/Uwierzytelnianie i autoryzacja
-       [pt]:           Base/Autenticação e Autorização
-       [ru]:           âÁÚÁ/áÕÔÅÎÔÉÆÉËÁÃÉÑ É Á×ÔÏÒÉÚÁÃÉÑ
-       [sl]:           Osnova/Avtentikacija in identifikacija
-       [sv]:           Bas/Autentisering och Auktorisering
-       [uk]:           База/Аутентикація та авторизація
-
-Base/Utilities
-       [cs]:           Základ/Utility
-       [da]:           Basal/Værktøj
-       [de]:           Gründsätzlich/Dienstprogramme
-       [es]:           Base/Utilitarios
-       [fr]:           Base/Utilitaires
-       [is]:           Grunnforrit/Tól
-       [it]:           Base/Utility
-       [nb]:           Basis/Verktøy
-       [pl]:           Podstawowe/Narzêdzia
-       [pt]:           Base/Utilidades
-       [pt_BR]:        Base/Utilitários
-       [ru]:           âÁÚÁ/õÔÉÌÉÔÙ
-       [sl]:           Osnova/Pripomoèki
-       [sv]:           Bas/Verktyg
-       [uk]:           База/Утиліти
-
-Daemons
-       [cs]:           Démoni
-       [da]:           Dæmoner
-       [de]:           Server
-       [es]:           Servidores
-       [fr]:           Serveurs
-       [is]:           Púkar
-       [it]:           Demoni
-       [ja]:           ¥Ç¡¼¥â¥ó
-       [nb]:           Daemoner
-       [pl]:           Serwery
-       [pt]:           Servidores
-       [ru]:           äÅÍÏÎÙ
-       [sl]:           Stre¾niki
-       [sv]:           Demoner
-       [uk]:           Демони
-
-Development
-       [cs]:           Vývojové prostøedky
-       [da]:           Udvikling
-       [de]:           Entwicklung
-       [es]:           Desarrollo
-       [fr]:           Développement
-       [is]:           Þróunartól
-       [it]:           Sviluppo
-       [ja]:           ³«È¯
-       [nb]:           Utvikling
-       [pl]:           Programowanie
-       [pt]:           Desenvolvimento
-       [pt_BR]:        Desenvolvimento
-       [ru]:           òÁÚÒÁÂÏÔËÁ
-       [sl]:           Razvoj
-       [sv]:           Utveckling
-       [uk]:           Розробка
-
-Development/Building
-       [cs]:           Základ/Vývoj
-       [da]:           Udvikling/Bygge
-       [de]:           Entwicklung/Bauen
-       [es]:           Desarrollo/Construcción
-       [fr]:           Développement/Construction
-       [it]:           Sviluppo/Sviluppo
-       [nb]:           Utvikling/Bygge
-       [pl]:           Programowanie/Budowanie
-       [pt]:           Desenvolvimento/Criação
-       [ru]:           òÁÚÒÁÂÏÔËÁ/óÔÒÏÅÎÉÅ
-       [sv]:           Utveckling/Bygga
-       [uk]:           Розробка/Будова
-
-Development/Debuggers
-       [cs]:           Vývojové prostøedky/Debuggery
-       [da]:           Udvikling/Fejlfinding
-       [de]:           Entwicklung/Debugger
-       [es]:           Desarrollo/Depuradores
-       [fr]:           Développement/Débogueurs
-       [is]:           Þróunartól/Aflúsarar
-       [it]:           Sviluppo/Debugger
-       [ja]:           ³«È¯/¥Ç¥Ð¥Ã¥¬
-       [nb]:           Utvikling/Debuggere
-       [pl]:           Programowanie/Odpluskwiacze
-       [pt]:           Desenvolvimento/Depuradores
-       [ru]:           òÁÚÒÁÂÏÔËÁ/ïÔÌÁÄÞÉËÉ
-       [sl]:           Razvoj/Razhro¹èevalniki
-       [sv]:           Utveckling/Felsökning
-       [uk]:           Розробка/Відладчики
-
-Development/Languages
-       [cs]:           Vývojové prostøedky/Programovací jazyky
-       [da]:           Udvikling/Sprog
-       [de]:           Entwicklung/Sprachen
-       [es]:           Desarrollo/Lenguajes
-       [fr]:           Développement/Langues
-       [is]:           Þróunartól/Forritunarmál
-       [it]:           Sviluppo/Linguaggi
-       [ja]:           ³«È¯/¸À¸ì
-       [nb]:           Utvikling/Programmeringsspråk
-       [pl]:           Programowanie/Jêzyki
-       [pt]:           Desenvolvimento/Linguagens
-       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ
-       [sl]:           Razvoj/Jeziki
-       [sv]:           Utveckling/Språk
-       [uk]:           Розробка/Мови
-
-Development/Languages/Fortran
-       [cs]:           Vývojové prostøedky/Programovací jazyky/Fortran
-       [da]:           Udvikling/Sprog/Fortran
-       [de]:           Entwicklung/Sprachen/Fortran
-       [es]:           Desarrollo/Lenguajes/Fortran
-       [fr]:           Développement/Langues/Fortran
-       [is]:           Þróunartól/Forritunarmál/Fortran
-       [it]:           Sviluppo/Linguaggi/Fortran
-       [ja]:           ³«È¯/¸À¸ì/Fortran
-       [nb]:           Utvikling/Programmeringsspråk/Fortran
-       [pl]:           Programowanie/Jêzyki/Fortran
-       [pt]:           Desenvolvimento/Linguagens/Fortran
-       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Fortran
-       [sl]:           Razvoj/Jeziki/Fortran
-       [sv]:           Utveckling/Språk/Fortran
-       [uk]:           Розробка/Мови/Fortran
-
-Development/Languages/Java
-       [cs]:           Vývojové prostøedky/Programovací jazyky/Java
-       [da]:           Udvikling/Sprog/Java
-       [de]:           Entwicklung/Sprachen/Java
-       [es]:           Desarrollo/Lenguajes/Java
-       [fr]:           Développement/Langues/Java
-       [is]:           Þróunartól/Forritunarmál/Java
-       [it]:           Sviluppo/Linguaggi/Java
-       [ja]:           ³«È¯/¸À¸ì/Java
-       [nb]:           Utvikling/Programmeringsspråk/Java
-       [pl]:           Programowanie/Jêzyki/Java
-       [pt]:           Desenvolvimento/Linguagens/Java
-       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Java
-       [sl]:           Razvoj/Jeziki/Java
-       [sv]:           Utveckling/Språk/Java
-       [uk]:           Розробка/Мови/Java
-
-Development/Languages/Modula3
-       [cs]:           Vývojové prostøedky/Programovací jazyky/Modula3
-       [da]:           Udvikling/Sprog/Modula3
-       [de]:           Entwicklung/Sprachen/Modula3
-       [es]:           Desarrollo/Lenguajes/Modula3
-       [fr]:           Développement/Langues/Modula3
-       [is]:           Þróunartól/Forritunarmál/Modula3
-       [it]:           Sviluppo/Linguaggi/Modula3
-       [ja]:           ³«È¯/¸À¸ì/Modula3
-       [nb]:           Utvikling/Programmeringsspråk/Modula3
-       [pl]:           Programowanie/Jêzyki/Modula3
-       [pt]:           Desenvolvimento/Linguagens/Modula3
-       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Modula3
-       [sl]:           Razvoj/Jeziki/Modula3
-       [sv]:           Utveckling/Språk/Modula3
-       [uk]:           Розробка/Мови/Modula3
-
-Development/Languages/PHP
-       [cs]:           Vývojové prostøedky/Programovací jazyky/PHP
-       [da]:           Udvikling/Sprog/PHP
-       [de]:           Entwicklung/Sprachen/PHP
-       [es]:           Desarrollo/Lenguajes/PHP
-       [fr]:           Développement/Langues/PHP
-       [is]:           Þróunartól/Forritunarmál/PHP
-       [it]:           Sviluppo/Linguaggi/PHP
-       [ja]:           ³«È¯/¸À¸ì/PHP
-       [nb]:           Utvikling/Programmeringsspråk/PHP
-       [pl]:           Programowanie/Jêzyki/PHP
-       [pt]:           Desenvolvimento/Linguagens/PHP
-       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/PHP
-       [sl]:           Razvoj/Jeziki/PHP
-       [sv]:           Utveckling/Språk/PHP
-       [uk]:           Розробка/Мови/PHP
-
-Development/Languages/Perl
-       [cs]:           Vývojové prostøedky/Programovací jazyky/Perl
-       [da]:           Udvikling/Sprog/Perl
-       [de]:           Entwicklung/Sprachen/Perl
-       [es]:           Desarrollo/Lenguajes/Perl
-       [fr]:           Développement/Langues/Perl
-       [is]:           Þróunartól/Forritunarmál/Perl
-       [it]:           Sviluppo/Linguaggi/Perl
-       [ja]:           ³«È¯/¸À¸ì/Perl
-       [nb]:           Utvikling/Programmeringsspråk/Perl
-       [pl]:           Programowanie/Jêzyki/Perl
-       [pt]:           Desenvolvimento/Linguagens/Perl
-       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Perl
-       [sl]:           Razvoj/Jeziki/Perl
-       [sv]:           Utveckling/Språk/Perl
-       [uk]:           Розробка/Мови/Perl
-
-Development/Languages/Python
-       [cs]:           Vývojové prostøedky/Programovací jazyky/Python
-       [da]:           Udvikling/Sprog/Python
-       [de]:           Entwicklung/Sprachen/Python
-       [es]:           Desarrollo/Lenguajes/Python
-       [fr]:           Développement/Langues/Python
-       [is]:           Þróunartól/Forritunarmál/Python
-       [it]:           Sviluppo/Linguaggi/Python
-       [ja]:           ³«È¯/¸À¸ì/Python
-       [nb]:           Utvikling/Programmeringsspråk/Python
-       [pl]:           Programowanie/Jêzyki/Python
-       [pt]:           Desenvolvimento/Linguagens/Python
-       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Python
-       [sl]:           Razvoj/Jeziki/Python
-       [sv]:           Utveckling/Språk/Python
-       [uk]:           Розробка/Мови/Python
-
-Development/Languages/Scheme
-       [cs]:           Vývojové prostøedky/Programovací jazyky/Scheme
-       [da]:           Udvikling/Sprog/Scheme
-       [de]:           Entwicklung/Sprachen/Scheme
-       [es]:           Desarrollo/Lenguajes/Scheme
-       [fr]:           Développement/Langues/Scheme
-       [is]:           Þróunartól/Forritunarmál/Scheme
-       [it]:           Sviluppo/Linguaggi/Scheme
-       [ja]:           ³«È¯/¸À¸ì/Scheme
-       [nb]:           Utvikling/Programmeringsspråk/Scheme
-       [pl]:           Programowanie/Jêzyki/Scheme
-       [pt]:           Desenvolvimento/Linguagens/Scheme
-       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Scheme
-       [sl]:           Razvoj/Jeziki/Scheme
-       [sv]:           Utveckling/Språk/Scheme
-       [uk]:           Розробка/Мови/Scheme
-
-Development/Languages/Tcl
-       [cs]:           Vývojové prostøedky/Programovací jazyky/Tcl
-       [da]:           Udvikling/Sprog/Tcl
-       [de]:           Entwicklung/Sprachen/Tcl
-       [es]:           Desarrollo/Lenguajes/Tcl
-       [fr]:           Développement/Langues/Tcl
-       [is]:           Þróunartól/Forritunarmál/Tcl
-       [it]:           Sviluppo/Linguaggi/Tcl
-       [ja]:           ³«È¯/¸À¸ì/Tcl
-       [nb]:           Utvikling/Programmeringsspråk/Tcl
-       [pl]:           Programowanie/Jêzyki/Tcl
-       [pt]:           Desenvolvimento/Linguagens/Tcl
-       [ru]:           òÁÚÒÁÂÏÔËÁ/ñÚÙËÉ/Tcl
-       [sl]:           Razvoj/Jeziki/Tcl
-       [sv]:           Utveckling/Språk/Tcl
-       [uk]:           Розробка/Мови/Tcl
-
-Development/Libraries
-       [cs]:           Vývojové prostøedky/Knihovny
-       [da]:           Udvikling/Biblioteker
-       [de]:           Entwicklung/Bibliotheken
-       [es]:           Desarrollo/Bibliotecas
-       [fr]:           Développement/Librairies
-       [is]:           Þróunartól/Aðgerðasöfn
-       [it]:           Sviluppo/Librerie
-       [ja]:           ³«È¯/¥é¥¤¥Ö¥é¥ê
-       [nb]:           Utvikling/Bibliotek
-       [pl]:           Programowanie/Biblioteki
-       [pt]:           Desenvolvimento/Bibliotecas
-       [pt_BR]:        Desenvolvimento/Bibliotecas
-       [ru]:           òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
-       [sl]:           Razvoj/Knji¾nice
-       [sv]:           Utveckling/Bibliotek
-       [uk]:           Розробка/Бібліотеки
-
-Development/Libraries/Libc
-       [cs]:           Vývojové prostøedky/Knihovny/Libc
-       [da]:           Udvikling/Biblioteker/Libc
-       [de]:           Entwicklung/Bibliotheken/Libc
-       [es]:           Desarrollo/Bibliotecas/Libc
-       [fr]:           Développement/Librairies/Libc
-       [is]:           Þróunartól/Aðgerðasöfn/Libc
-       [it]:           Sviluppo/Librerie/Libc
-       [ja]:           ³«È¯/¥é¥¤¥Ö¥é¥ê/Libc
-       [nb]:           Utvikling/Bibliotek/Libc
-       [pl]:           Programowanie/Biblioteki/Libc
-       [pt]:           Desenvolvimento/Bibliotecas/Libc
-       [pt_BR]:        Desenvolvimento/Bibliotecas/Libc
-       [ru]:           òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ/Libc
-       [sl]:           Razvoj/Knji¾nice/Libc
-       [sv]:           Utveckling/Bibliotek/Libc
-       [uk]:           Розробка/Бібліотеки/Libc
-
-Development/Tools
-       [cs]:           Vývojové prostøedky/Nástroje
-       [da]:           Udvikling/Værktøj
-       [de]:           Entwicklung/Tools
-       [es]:           Desarrollo/Herramientas
-       [fr]:           Développement/Outils
-       [is]:           Þróunartól/Tól
-       [it]:           Sviluppo/Tool
-       [ja]:           ³«È¯/¥Ä¡¼¥ë
-       [nb]:           Utvikling/Verktøy
-       [pl]:           Programowanie/Narzêdzia
-       [pt]:           Desenvolvimento/Ferramentas
-       [ru]:           òÁÚÒÁÂÏÔËÁ/éÎÓÔÒÕÍÅÎÔÙ
-       [sl]:           Razvoj/Orodja
-       [sv]:           Utveckling/Verktyg
-       [uk]:           Розробка/Інструменти
-
-Development/Version Control
-       [cs]:           Vývojové prostøedky/Správ verzí
-       [da]:           Udvikling/Versionskontrol
-       [de]:           Entwicklung/Versionkontrolle
-       [es]:           Desarrollo/Control de Versiones
-       [fr]:           Développement/Contrôle de version
-       [is]:           Þróunartól/Útgáfu Stýring
-       [it]:           Sviluppo/Controllo della versione
-       [nb]:           Utvikling/Versjonskontroll
-       [pl]:           Programowanie/Zarz±dzanie wersjami
-       [pt]:           Desenvolvimento/Controlo de Versões
-       [ru]:           òÁÚÒÁÂÏÔËÁ/ëÏÎÔÒÏÌØ ×ÅÒÓÉÊ
-       [sl]:           Razvoj/Nadzor razlièic
-       [sv]:           Utveckling/Versionshantering
-       [uk]:           Розробка/Керуванне версіями
-
-Documentation
-       [cs]:           Dokumentace
-       [da]:           Dokumentationen
-       [de]:           Dokumentation
-       [es]:           Documentación
-       [fr]:           Documentacion
-       [is]:           Skjölun
-       [it]:           Documentazione
-       [nb]:           Dokumentasjonen
-       [pl]:           Dokumentacja
-       [pt]:           Documentação
-       [ru]:           äÏËÕÍÅÎÔÁÃÉÑ
-       [sl]:           Dokumentacija
-       [sv]:           Dokumentation
-       [uk]:           Документація
-
-Fonts
-       [cs]:           Fonty
-       [da]:           Skrifttyper
-       [de]:           Zeichensätze
-       [es]:           Fuentes
-       [fr]:           Polices
-       [is]:           Leturgerðir
-       [it]:           Font
-       [nb]:           Skrifttyper
-       [pl]:           Fonty
-       [pt]:           Tipos de Letra
-       [ru]:           ûÒÉÆÔÙ
-       [sl]:           Pisave
-       [sv]:           Typsnitt
-       [uk]:           Шрифти
-
-Libraries
-       [cs]:           Knihovny
-       [da]:           Biblioteker
-       [de]:           Bibliotheken
-       [es]:           Bibliotecas
-       [fr]:           Librairies
-       [is]:           Aðgerðasöfn
-       [it]:           Librerie
-       [ja]:           ¥é¥¤¥Ö¥é¥ê
-       [nb]:           Biblioteker
-       [pl]:           Biblioteki
-       [pt]:           Bibliotecas
-       [pt_BR]:        Bibliotecas
-       [ru]:           âÉÂÌÉÏÔÅËÉ
-       [sv]:           Bibliotek
-       [sl]:           Knji¾nice
-       [uk]:           Бібліотеки
-
-Libraries/Python
-       [cs]:           Knihovny/Python
-       [da]:           Biblioteker/Python
-       [de]:           Bibliotheken/Python
-       [es]:           Bibliotecas/Python
-       [fr]:           Librairies/Python
-       [is]:           Aðgerðasöfn/Python
-       [it]:           Librerie/Python
-       [ja]:           ¥é¥¤¥Ö¥é¥ê/Python
-       [nb]:           Biblioteker/Python
-       [pl]:           Biblioteki/Python
-       [pt]:           Bibliotecas/Python
-       [pt_BR]:        Bibliotecas/Python
-       [ru]:           âÉÂÌÉÏÔÅËÉ/Python
-       [sv]:           Bibliotek/Python
-       [sl]:           Knji¾nice/Python
-       [uk]:           Бібліотеки/Python
-
-Libraries/XML
-       [cs]:           Knihovny/XML
-       [da]:           Biblioteker/XML
-       [de]:           Bibliotheken/XML
-       [es]:           Bibliotecas/XML
-       [fr]:           Librairies/XML
-       [is]:           Aðgerðasöfn/XML
-       [it]:           Librerie/XML
-       [ja]:           ¥é¥¤¥Ö¥é¥ê/XML
-       [nb]:           Biblioteker/XML
-       [pl]:           Biblioteki/XML
-       [pt]:           Bibliotecas/XML
-       [pt_BR]:        Bibliotecas/XML
-       [ru]:           âÉÂÌÉÏÔÅËÉ/XML
-       [sl]:           Knji¾nice/XML
-       [sv]:           Bibliotek/XML
-       [uk]:           Бібліотеки/XML
-
-Networking
-       [cs]:           Sí»ové
-       [da]:           Netværks
-       [de]:           Netzwerkwesen
-       [es]:           Red
-       [fr]:           Réseau
-       [is]:           Net
-       [it]:           Rete
-       [nb]:           Nettverks
-       [pl]:           Sieciowe
-       [pt]:           Rede
-       [pt_BR]:        Rede
-       [ru]:           óÅÔØ
-       [sl]:           Omre¾ni
-       [sv]:           Nätverk
-       [uk]:           Мережа
-
-Networking/Admin
-       [cs]:           Sí»ové/Administrace
-       [da]:           Netværks/Administration
-       [de]:           Netzwerkwesen/Administration
-       [es]:           Red/Administración
-       [fr]:           Réseau/Administration
-       [is]:           Net/Stjórnar
-       [it]:           Rete/Amministrazione
-       [nb]:           Nettverks/Administrasjon
-       [pl]:           Sieciowe/Administracyjne
-       [pt]:           Rede/Administração
-       [ru]:           óÅÔØ/õÐÒÁ×ÌÅÎÉÅ
-       [sv]:           Nätverk/Administration
-       [uk]:           Мережа/Керуванне
-
-Networking/Daemons
-       [cs]:           Sí»ové/Démoni
-       [da]:           Netværks/Dæmoner
-       [de]:           Netzwerkwesen/Server
-       [es]:           Red/Servidores
-       [fr]:           Réseau/Serveurs
-       [is]:           Net/Púkar
-       [it]:           Rete/Demoni
-       [nb]:           Nettverks/Daemoner
-       [pl]:           Sieciowe/Serwery
-       [pt]:           Rede/Servidores
-       [ru]:           óÅÔØ/äÅÍÏÎÙ
-       [sl]:           Omre¾ni/Stre¾niki
-       [sv]:           Nätverk/Demoner
-       [uk]:           Мережа/Демони
-
-Networking/Daemons/Java
-       [cs]:           Sí»ové/Démoni/Java
-       [da]:           Netværks/Dæmoner/Java
-       [de]:           Netzwerkwesen/Server/Java
-       [es]:           Red/Servidores/Java
-       [fr]:           Réseau/Serveurs/Java
-       [is]:           Net/Púkar/Java
-       [it]:           Rete/Demoni/Java
-       [nb]:           Nettverks/Daemoner/Java
-       [pl]:           Sieciowe/Serwery/Java
-       [pt]:           Rede/Servidores/Java
-       [ru]:           óÅÔØ/äÅÍÏÎÙ/Java
-       [sl]:           Omre¾ni/Stre¾niki/Java
-       [sv]:           Nätverk/Demoner/Java
-       [uk]:           Мережа/Демони/Java
-
-Networking/Daemons/Java/Extensions
-       [cs]:           Sí»ové/Démoni/Java/Roz¹íøení
-       [da]:           Netværks/Dæmoner/Java/Udvidelser
-       [de]:           Netzwerkwesen/Server/Java/Extensionen
-       [es]:           Red/Servidores/Java/Extensiones
-       [fr]:           Réseau/Serveurs/Java/Extensions
-       [it]:           Rete/Demoni/Java/Estensioni
-       [nb]:           Nettverks/Daemoner/Java/Utvidelser
-       [pl]:           Sieciowe/Serwery/Java/Rozszerzenia
-       [pt]:           Rede/Servidores/Java/Extensões
-       [ru]:           óÅÔØ/äÅÍÏÎÙ/Java/òÁÓÛÉÒÅÎÉÑ
-       [sl]:           Omre¾ni/Stre¾niki/Java/Raz¹iritve
-       [sv]:           Nätverk/Demoner/Java/Utvidgningar
-       [uk]:           Мережа/Демони/Java/Расширение
-
-Networking/Daemons/Java/Servlets
-       [pl]:           Sieciowe/Serwery/Java/Servlety
-
-Networking/News
-       [cs]:           Sí»ové/News
-       [da]:           Netværks/Nyheder
-       [de]:           Netzwerkwesen/News
-       [es]:           Red/Noticias
-       [fr]:           Réseau/Nouvelles
-       [is]:           Net/Fréttir
-       [it]:           Rete/News
-       [nb]:           Nettverks/News
-       [pl]:           Sieciowe/News
-       [pt]:           Rede/News
-       [pt_BR]:        Rede/News
-       [ru]:           óÅÔØ/îÏ×ÏÓÔÉ
-       [sl]:           Omre¾ni/Novièarske
-       [sv]:           Nätverk/Nyheter
-       [uk]:           Мережа/Новини
-
-Networking/Utilities
-       [cs]:           Sí»ové/Utility
-       [da]:           Netværks/Værktøj
-       [de]:           Netzwerkwesen/Dienstprogramme
-       [es]:           Red/Utilitarios
-       [fr]:           Réseau/Utilitaires
-       [is]:           Net/Tól
-       [it]:           Rete/Utility
-       [nb]:           Nettverks/Verktøy
-       [pl]:           Sieciowe/Narzêdzia
-       [pt]:           Rede/Utilidades
-       [pt_BR]:        Rede/Utilitários
-       [ru]:           óÅÔØ/õÔÉÌÉÔÙ
-       [sl]:           Omre¾ni/Pripomoèki
-       [sv]:           Nätverk/Verktyg
-       [uk]:           Мережа/Утиліти
-
-Themes
-       [cs]:           Témata
-       [da]:           Temaer
-       [de]:           Themen
-       [es]:           Temas
-       [fr]:           Thèmes
-       [is]:           Þemur
-       [it]:           Temi
-       [nb]:           Temaer
-       [pl]:           Motywy
-       [pt]:           Temas
-       [ru]:           ôÅÍÙ
-       [sv]:           Teman
-       [uk]:           Теми
-
-Themes/GTK+
-       [cs]:           Témata/GTK+
-       [da]:           Temaer/GTK+
-       [de]:           Themen/GTK+
-       [es]:           Temas/GTK+
-       [fr]:           Thèmes/GTK+
-       [is]:           Þemur/GTK+
-       [it]:           Temi/GTK+
-       [nb]:           Temaer/GTK+
-       [pl]:           Motywy/GTK+
-       [pt]:           Temas/GTK+
-       [ru]:           ôÅÍÙ/GTK+
-       [sv]:           Teman/GTK+
-       [uk]:           Теми/GTK+
-
-X11
-       [cs]:           X11
-       [da]:           X11
-       [de]:           X11
-       [es]:           X11
-       [fr]:           X11
-       [id]:           X11
-       [is]:           X11
-       [it]:           X11
-       [ja]:           X11
-       [nb]:           X11
-       [pl]:           X11
-       [pt]:           X11
-       [pt_BR]:        X11
-       [ru]:           X11
-       [sl]:           X11
-       [sv]:           X11
-       [uk]:           X11
-
-X11/Amusements
-       [cs]:           X11/Zábava
-       [da]:           X11/Underholdning
-       [de]:           X11/Unterhaltung
-       [es]:           X11/Diversiones
-       [fr]:           X11/Divertissements
-       [id]:           X11/Hiburan
-       [is]:           X11/Skemmtun
-       [it]:           X11/Divertimenti
-       [ja]:           X11/¥¢¥ß¥å¡¼¥º¥á¥ó¥È
-       [nb]:           X11/Fornøyelse
-       [pl]:           X11/Rozrywka
-       [pt]:           X11/Divertimentos
-       [ru]:           X11/òÁÚ×ÌÅÞÅÎÉÑ
-       [sl]:           X11/Zabava
-       [sv]:           X11/Underhållning
-       [uk]:           X11/Розваги
-
-X11/Applications
-       [cs]:           X11/Aplikace
-       [da]:           X11/Programmer
-       [de]:           X11/Applikationen
-       [es]:           X11/Aplicaciones
-       [fr]:           X11/Applications
-       [id]:           X11/Aplikasi
-       [is]:           X11/Forrit
-       [it]:           X11/Applicazioni
-       [ja]:           X11/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó
-       [nb]:           X11/Applikasjoner
-       [pl]:           X11/Aplikacje
-       [pt]:           X11/Aplicações
-       [pt_BR]:        X11/Aplicações
-       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ
-       [sl]:           X11/Programi
-       [sv]:           X11/Tillämpningar
-       [uk]:           X11/Прикладні Програми
-
-X11/Applications/Editors
-       [cs]:           X11/Aplikace/Editory
-       [da]:           X11/Programmer/Tekstbehandlere
-       [de]:           X11/Applikationen/Editoren
-       [es]:           X11/Aplicaciones/Editores
-       [fr]:           X11/Applications/Editeurs
-       [is]:           X11/Forrit/Ritlar
-       [it]:           X11/Applicazioni/Editor
-       [ja]:           X11/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥¨¥Ç¥£¥¿
-       [nb]:           X11/Applikasjoner/Editorer
-       [pl]:           X11/Aplikacje/Edytory
-       [pt]:           X11/Aplicações/Editores
-       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/òÅÄÁËÔÏÒÙ
-       [sl]:           X11/Programi/Urejevalniki
-       [sv]:           X11/Tillämpningar/Editorer
-       [uk]:           X11/Прикладні Програми/Редактори
-
-X11/Applications/Games
-       [cs]:           X11/Aplikace/Hry
-       [da]:           X11/Programmer/Spil
-       [de]:           X11/Applikationen/Spiele
-       [es]:           X11/Aplicaciones/Juegos
-       [fr]:           X11/Applications/Jeux
-       [is]:           X11/Forrit/Leikir
-       [it]:           X11/Applicazioni/Giochi
-       [ja]:           X11/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥²¡¼¥à
-       [nb]:           X11/Applikasjoner/Spill
-       [pl]:           X11/Aplikacje/Gry
-       [pt]:           X11/Aplicações/Jogos
-       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/éÇÒÙ
-       [sl]:           X11/Programi/Igre
-       [sv]:           X11/Tillämpningar/Spel
-       [uk]:           X11/Прикладні Програми/Ігри
-
-X11/Applications/Games/Strategy
-       [cs]:           X11/Aplikace/Hry/Strategické
-       [da]:           X11/Programmer/Spil/Strategi
-       [de]:           X11/Applikationen/Spiele/Strategie
-       [es]:           X11/Aplicaciones/Juegos/Estratégico
-       [fr]:           X11/Applications/Jeux/Stratégique
-       [it]:           X11/Applicazioni/Giochi/Strategico
-       [nb]:           X11/Applikasjoner/Spill/Strategi
-       [pl]:           X11/Aplikacje/Gry/Strategiczne
-       [pt]:           X11/Aplicações/Jogos/Estratégico
-       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/éÇÒÙ/óÔÒÁÔÅÇÉÞÅÓËÉÅ
-       [sl]:           X11/Programi/Igre/Strate¹ke
-       [sv]:           X11/Tillämpningar/Spel/Strategi
-       [uk]:           X11/Прикладні Програми/Ігри/Стратегія
-
-X11/Applications/Graphics
-       [cs]:           X11/Aplikace/Grafika
-       [da]:           X11/Programmer/Grafik
-       [de]:           X11/Applikationen/Grafik
-       [es]:           X11/Aplicaciones/Gráficos
-       [fr]:           X11/Applications/Graphiques
-       [id]:           X11/Aplikasi/Grafik
-       [is]:           X11/Forrit/Myndvinnsla
-       [it]:           X11/Applicazioni/Immagini
-       [ja]:           X11/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥°¥é¥Õ¥£¥Ã¥¯¥¹
-       [nb]:           X11/Applikasjoner/Grafikk
-       [pl]:           X11/Aplikacje/Grafika
-       [pt]:           X11/Aplicações/Gráficos
-       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/çÒÁÆÉËÁ
-       [sl]:           X11/Programi/Grafika
-       [sv]:           X11/Tillämpningar/Grafik
-       [uk]:           X11/Прикладні Програми/Графіка
-
-X11/Applications/Multimedia
-       [cs]:           X11/Aplikace/Multimédia
-       [da]:           X11/Programmer/Multimedie
-       [de]:           X11/Applikationen/Multimedien
-       [es]:           X11/Aplicaciones/Multimedia
-       [fr]:           X11/Applications/Multimédia
-       [is]:           X11/Forrit/Margmiðlun
-       [it]:           X11/Applicazioni/Multimedia
-       [ja]:           ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Þ¥ë¥Á¥á¥Ç¥£¥¢
-       [nb]:           X11/Programmer/Multimedia
-       [pl]:           X11/Aplikacje/Multimedia
-       [pt]:           X11/Aplicações/Multimédia
-       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/íÕÌØÔÉÍÅÄÉÁ
-       [sl]:           X11/Programi/Veèpredstavnost
-       [sv]:           X11/Tillämpningar/Multimedia
-       [uk]:           X11/Прикладні Програми/Мультимедіа
-
-X11/Applications/Networking
-       [cs]:           X11/Aplikace/Sí»ové
-       [da]:           X11/Programmer/Netværks
-       [de]:           X11/Applikationen/Netzwerkwesen
-       [es]:           X11/Aplicaciones/Red
-       [fr]:           X11/Applications/Réseau
-       [is]:           X11/Forrit/Net
-       [it]:           X11/Applicazioni/Rete
-       [nb]:           X11/Applikasjoner/Nettverks
-       [pl]:           X11/Aplikacje/Sieciowe
-       [pt]:           X11/Aplicações/Rede
-       [pt_BR]:        X11/Aplicações/Rede
-       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/óÅÔØ
-       [sl]:           X11/Programi/Omre¾ni
-       [sv]:           X11/Tillämpningar/Nätverk
-       [uk]:           X11/Прикладні Програми/Мережа
-
-X11/Applications/Publishing
-       [cs]:           X11/Aplikace/Publikování
-       [da]:           X11/Programmer/Udgivelse
-       [de]:           X11/Applikationen/Publizieren
-       [es]:           X11/Aplicaciones/Edición
-       [fr]:           X11/Applications/Edition
-       [is]:           X11/Forrit/Umbrot
-       [it]:           X11/Applicazioni/Publishing
-       [ja]:           X11/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó/¥Ñ¥Ö¥ê¥Ã¥·¥ó¥°
-       [nb]:           X11/Applikasjoner/Publisering
-       [pl]:           X11/Aplikacje/Publikowanie
-       [pt]:           X11/Aplicações/Publicação
-       [pt_BR]:        X11/Aplicações/Editoração
-       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/ôÉÐÏÇÒÁÆÉÑ
-       [sl]:           X11/Programi/Zalo¾ni¹tvo
-       [sv]:           X11/Tillämpningar/Publicering
-       [uk]:           X11/Прикладні Програми/Типографія
-
-X11/Applications/Science
-       [cs]:           X11/Aplikace/Vìdecké
-       [de]:           X11/Applikationen/Wissenschaft
-       [es]:           X11/Aplicaciones/Ciencia
-       [fr]:           X11/Applications/Science
-       [it]:           X11/Applicazioni/Sciencia
-       [pl]:           X11/Aplikacje/Nauka
-       [pt]:           X11/Aplicações/Ciência
-       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/îÁÕËÁ
-       [sv]:           X11/Tillämpningar/Vetenskaplig
-       [uk]:           X11/Прикладні Програми/Наука
-
-X11/Applications/Sound
-       [cs]:           X11/Aplikace/Zvuk
-       [da]:           X11/Programmer/Lyd
-       [de]:           X11/Applikationen/Laut
-       [es]:           X11/Aplicaciones/Sonido
-       [fr]:           X11/Aplicações/Son
-       [is]:           X11/Forrit/Hljóð
-       [it]:           X11/Applicazioni/Audio
-       [nb]:           X11/Applikasjoner/Lyd
-       [pl]:           X11/Aplikacje/D¼wiêk
-       [pt]:           X11/Aplicações/Som
-       [pt_BR]:        X11/Aplicações/Som
-       [ru]:           X11/ðÒÉÌÏÖÅÎÉÑ/ú×ÕË
-       [sl]:           X11/Programi/Zvok
-       [sv]:           X11/Tillämpningar/Ljud
-       [uk]:           X11/Прикладні Програми/Звук
-
-X11/Development/Libraries
-       [cs]:           X11/Vývojové prostøedky/Knihovny
-       [da]:           X11/Udvikling/Biblioteker
-       [de]:           X11/Entwicklung/Bibliotheken
-       [es]:           X11/Desarrollo/Bibliotecas
-       [fr]:           X11/Développement/Librairies
-       [is]:           X11/Þróunartól/Aðgerðasöfn
-       [it]:           X11/Sviluppo/Librerie
-       [ja]:           X11/³«È¯/¥é¥¤¥Ö¥é¥ê
-       [nb]:           X11/Applikasjoner/Biblioteker
-       [pl]:           X11/Programowanie/Biblioteki
-       [pt]:           X11/Desenvolvimento/Bibliotecas
-       [pt_BR]:        X11/Desenvolvimento/Bibliotecas
-       [ru]:           X11/òÁÚÒÁÂÏÔËÁ/âÉÂÌÉÏÔÅËÉ
-       [sl]:           X11/Razvoj/Knji¾nice
-       [sv]:           X11/Utveckling/Bibliotek
-       [uk]:           X11/Розробка/Бібліотеки
-
-X11/Development/Tools
-       [cs]:           X11/Vývojové prostøedky/Nástroje
-       [da]:           X11/Udvikling/Værktøj
-       [de]:           X11/Entwicklung/Tools
-       [es]:           X11/Desarrollo/Herramientas
-       [fr]:           X11/Développement/Outils
-       [is]:           X11/Þróunartól/Tól
-       [it]:           X11/Sviluppo/Tool
-       [ja]:           X11/³«È¯/¥Ä¡¼¥ë
-       [nb]:           X11/Applikasjoner/Verktøy
-       [pl]:           X11/Programowanie/Narzêdzia
-       [pt]:           X11/Desenvolvimento/Ferramentas
-       [ru]:           X11/òÁÚÒÁÂÏÔËÁ/éÎÓÔÒÕÍÅÎÔÙ
-       [sl]:           X11/Razvoj/Orodja
-       [sv]:           X11/Utveckling/Verktyg
-       [uk]:           X11/Розробка/Інструменти
-
-X11/Libraries
-       [cs]:           X11/Knihovny
-       [da]:           X11/Biblioteker
-       [de]:           X11/Bibliotheken
-       [es]:           X11/Bibliotecas
-       [fr]:           X11/Librairies
-       [is]:           X11/Aðgerðasöfn
-       [it]:           X11/Librerie
-       [ja]:           X11/¥é¥¤¥Ö¥é¥ê
-       [nb]:           X11/Biblioteker
-       [pl]:           X11/Biblioteki
-       [pt]:           X11/Bibliotecas
-       [pt_BR]:        X11/Bibliotecas
-       [ru]:           X11/âÉÂÌÉÏÔÅËÉ
-       [sl]:           X11/Knji¾nice
-       [sv]:           X11/Bibliotek
-       [uk]:           X11/Бібліотеки
-
-X11/Servers
-       [cs]:           X11/Servery
-       [da]:           X11/Tjenere
-       [de]:           X11/Server
-       [es]:           X11/Servidores
-       [fr]:           X11/Serveurs
-       [is]:           X11/Þjóna
-       [it]:           X11/Server
-       [nb]:           X11/Tjenere
-       [pl]:           X11/Serwery
-       [pt]:           X11/Servidores
-       [ru]:           X11/óÅÒ×ÅÒÙ
-       [sl]:           X11/Stre¾niki
-       [sv]:           X11/Servrar
-       [uk]:           X11/Сервери
-
-X11/Window Managers
-       [cs]:           X11/Okenní mana¾ery
-       [da]:           X11/Vindueshåndtererene
-       [de]:           X11/Fenstermanagern
-       [es]:           X11/Administradores de Ventanas
-       [fr]:           X11/Gestionnaires de fenêtres
-       [is]:           X11/Gluggastjórunum
-       [it]:           X11/Window manager
-       [nb]:           X11/Vindushåndtererene
-       [pl]:           X11/Zarz±dcy okien
-       [pt]:           X11/Gestores de Janelas
-       [ru]:           X11/ïËÏÎÎÙÅ ÍÅÎÅÄÖÅÒÙ
-       [sl]:           X11/Upravljalniki
-       [sv]:           X11/Fönsterhanterarna
-       [uk]:           X11/Віконні менеджери
-
-X11/Window Managers/Tools
-       [cs]:           X11/Okenní mana¾ery/Nástroje
-       [da]:           X11/Vindueshåndtererene/Værktøj
-       [de]:           X11/Fenstermanager/Tools
-       [es]:           X11/Administradores de Ventanas/Herramientas
-       [fr]:           X11/Gestionnaires de fenêtres/Outils
-       [is]:           X11/Gluggastjórunum/Tól
-       [it]:           X11/Window manager/Tool
-       [nb]:           X11/Vindushåndtererene/Verktøy
-       [pl]:           X11/Zarz±dcy okien/Narzêdzia
-       [pt]:           X11/Gestores de Janelas/Ferramentas
-       [ru]:           X11/ïËÏÎÎÙÅ ÍÅÎÅÄÖÅÒÙ/éÎÓÔÒÕÍÅÎÔÙ
-       [sl]:           X11/Upravljalniki/Orodja
-       [sv]:           X11/Fönsterhanterarna/Verktyg
-       [uk]:           X11/Віконні менеджери/Інструменти
diff --git a/rpm.macros b/rpm.macros
deleted file mode 100644 (file)
index aa29827..0000000
+++ /dev/null
@@ -1,1383 +0,0 @@
-# $Revision$, $Date$
-# PLD Linux rpm macros
-
-%epoch         0
-%x8664         x86_64 amd64 ia32e
-
-# kernel compiler
-%kgcc          %{__cc}
-%kgcc_package  gcc
-
-# Build system path macros.
-#
-%__autoconf            autoconf %{?debug:-Wall}
-%__automake            automake -a -c -f --foreign
-%__autopoint           autopoint --force
-
-%__gettextize { \
-if ! gettextize --version | grep -q '0\.10\.' ; then \
-       if grep -qs 'AM_GNU_GETTEXT.*external' configure.{ac,in} ; then \
-               gettextize --copy --force --no-changelog; \
-       else \
-               gettextize --copy --force --no-changelog --intl; \
-       fi; \
-       if [ ! -f po/Makevars ]; then \
-               cp -f po/Makevars{.template,}; \
-       fi; \
-else \
-       gettextize --copy --force; \
-fi; \
-}
-
-%__glib_gettextize     glib-gettextize --copy --force
-%__gnome_doc_common    gnome-doc-common --copy
-%__gnome_doc_prepare   gnome-doc-prepare --copy --force
-%__gtkdocize           gtkdocize --copy
-%__intltoolize         intltoolize --copy --force
-%__libtoolize          libtoolize --copy --force
-
-#      The number of cvs changelog entries kept when building package.
-%_buildchangelogtruncate 20
-
-%dependencytracking    %{nil}
-
-#      Relations between package names that cause dependency loops
-#      with legacy packages that cannot be fixed. Relations are
-#      specified as
-#              p>q
-#      where package p has a Requires: on something that package q Provides:
-#
-# XXX  Note: that there cannot be any whitespace within the string "p>q",
-#      and that both p and q are package names (i.e. no version/release).
-%_dependency_whiteout  %{nil}
-
-
-#-----------------------------------------------------------------
-#
-# (re)definition of %{rpm*flags} with %filterout_* support
-# BuildRequires:       awk
-# BuildRequires:       rpmbuild(macros) >= 1.315
-#
-# Flags specified in %filterout_* are removed from %rpm*flags, exactly:
-# %rpmcflags    = %optflags - %filterout - %filterout_c   - %filterout_ld
-# %rpmcxxflags  = %optflags - %filterout - %filterout_cxx - %filterout_ld
-# %rpmldflags   = %optldflags - %filterout_ld
-#
-# Regular expressions are supported, but to avoid some character be treated
-# as regular expression it must be escaped twice.
-
-%filter_out                                            \
-       for (i = 1; i in I; i++) {      A=0;    \
-               for (f in F) {                          \
-                       if (I[i] ~ "^" F[f] "$") A=1;   \
-               };                                                      \
-               if (!A) printf(I[i] FS);        \
-       }
-
-%rpmcflags %(awk 'BEGIN {
-       split("%{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags}",I);
-       split("%{?filterout} %{?filterout_c} %{?filterout_ld}",F);
-       %{filter_out}
-}')
-
-%rpmcxxflags %(awk 'BEGIN {
-       split("%{?debug:%debugcflags}%{!?debug:%optflags}%{?debuginfocflags}",I);
-       split("%{?filterout} %{?filterout_cxx} %{?filterout_ld}",F);
-       %{filter_out}
-}')
-
-%rpmldflags %(awk 'BEGIN {
-       split("%{?optldflags}",I);
-       split("%{?filterout_ld}",F)
-       %{filter_out}
-}')
-
-# rpmldflags with stripped -Wl, -- in the form flags have to be passed to 'ld'
-# but, don't use it, better use gcc as linker
-%ld_rpmldflags %(awk 'BEGIN {
-        split("%{rpmldflags}",F);
-        for (f in F) {
-                s = F[f];
-                if (s ~ /^-Wl,/) {
-                        s = substr(s,5);
-                        gsub(/,/," ",s);
-                };
-                printf(s FS);
-        };
-}')
-
-#-----------------------------------------------------------------
-%configure2_13 { \
- if [ -n "$LINGUAS" ]; then unset LINGUAS; fi; \
- LDFLAGS="${LDFLAGS:-%rpmldflags}" ; export LDFLAGS ; \
- CFLAGS="${CFLAGS:-%rpmcflags}" ; export CFLAGS ; \
- CXXFLAGS="${CXXFLAGS:-%rpmcxxflags}" ; export CXXFLAGS ; \
- FFLAGS="${FFLAGS:-%rpmcflags}" ; export FFLAGS ; \
- FCFLAGS="${FCFLAGS:-%rpmcflags}" ; export FCFLAGS ; \
- CPPFLAGS="${CPPFLAGS:-}" ; export CPPFLAGS ; \
- %{?__cc:CC="%{__cc}" ; export CC ; } \
- %{?__cxx:CXX="%{__cxx}" ; export CXX ; } \
- %{?configuredir:%{configuredir}}%{!?configuredir:.}/configure \
-       --host=%{_target_platform} \
-       --prefix=%{_prefix} \
-       --exec-prefix=%{_exec_prefix} \
-       --bindir=%{_bindir} \
-       --sbindir=%{_sbindir} \
-       --sysconfdir=%{_sysconfdir} \
-       --datadir=%{_datadir} \
-       --includedir=%{_includedir} \
-       --libdir=%{_libdir} \
-       --libexecdir=%{_libexecdir} \
-       --localstatedir=%{_localstatedir} \
-       --sharedstatedir=%{_sharedstatedir} \
-       --mandir=%{_mandir} \
-       --infodir=%{_infodir} \
-       --x-libraries=%{?_x_libraries}%{!?_x_libraries:%{_libdir}} \
-       %{dependencytracking} \
-}
-
-# override __cmake to add -j4 in your ~/.rpmmacros for parallel make
-%__cmake       /usr/bin/cmake
-%cmake { \
-CC="%{__cc}" \
-CXX="%{__cxx}" \
-CFLAGS="%{rpmcflags}" \
-CXXFLAGS="%{rpmcxxflags}" \
-%{__cmake} \
-}
-
-# override __scons to add -j4 in your ~/.rpmmacros for parallel make
-# TODO: find way to pass CC/CXX and CC/CXXFLAGS
-%__scons       /usr/bin/scons
-%scons { \
-%{__scons} \
-}
-
-# waf. see waf.spec
-# override __waf to add -j4 in your ~/.rpmmacros for parallel make
-%__waf /usr/bin/waf
-%waf { \
-CC="%{__cc}" \
-CXX="%{__cxx}" \
-CPP="%{__cpp}" \
-CFLAGS="%{rpmcflags}" \
-CXXFLAGS="%{rpmcxxflags}" \
-%{__waf} \
-}
-
-#----------------------------------------------------------------
-%global configure_cache 0
-%configure_cache_file  %{buildroot}.configure.cache
-
-%configure {./configure \
-       LDFLAGS="${LDFLAGS:-%rpmldflags}" \
-       CFLAGS="${CFLAGS:-%rpmcflags}" \
-       CXXFLAGS="${CXXFLAGS:-%rpmcxxflags}" \
-       FFLAGS="${FFLAGS:-%rpmcflags}" \
-       FCFLAGS="${FCFLAGS:-%rpmcflags}" \
-       CPPFLAGS="${CPPFLAGS:-}" \
-       %{?__cc:CC="%{__cc}"} \
-       %{?__cxx:CXX="%{__cxx}"} \
-       --host=%{_target_platform} \
-       --build=%{_target_platform} \
-       --prefix=%{_prefix} \
-       --exec-prefix=%{_exec_prefix} \
-       --bindir=%{_bindir} \
-       --sbindir=%{_sbindir} \
-       --sysconfdir=%{_sysconfdir} \
-       --datadir=%{_datadir} \
-       --includedir=%{_includedir} \
-       --libdir=%{_libdir} \
-       --libexecdir=%{_libexecdir} \
-       --localstatedir=%{_localstatedir} \
-       --sharedstatedir=%{_sharedstatedir} \
-       --mandir=%{_mandir} \
-       --infodir=%{_infodir} \
-       --x-libraries=%{?_x_libraries}%{!?_x_libraries:%{_libdir}} \
-       %{dependencytracking} \
-       %{?configure_cache:--cache-file=%{configure_cache_file:-%{buildroot}.configure.cache}} \
-}
-
-# ------------------------------------------------------------------------
-# Overloading of some basic macros
-%prep \
-%%prep\
-export LC_ALL=C\
-export LANG=C\
-unset LINGUAS ||:\
-unset LANGUAGE ||:\
-unset LC_MESSAGES ||:\
-unset DISPLAY ||:\
-%{nil}
-
-%build %%build\
-export LC_ALL=C\
-export LANG=C\
-unset LINGUAS ||:\
-unset LANGUAGE ||:\
-unset LC_MESSAGES ||:\
-unset DISPLAY ||:\
-%{nil}
-
-%install \
-%if 0%{?_enable_debug_packages}\
-%{?buildsubdir:%{debug_package}}\
-%endif\
-%%install\
-export LC_ALL=C\
-export LANG=C\
-unset LINGUAS ||:\
-unset LANGUAGE ||:\
-unset LC_MESSAGES ||:\
-unset DISPLAY ||:\
-%{nil}
-
-# Location of autoconf macros
-%_aclocaldir   %(aclocal --print-ac-dir)
-
-# Location of omf files
-%_omf_dest_dir %(scrollkeeper-config --omfdir)
-
-# Location of pkgconfig files
-%_pkgconfigdir /usr/%{_lib}/pkgconfig
-
-# Location of desktop files
-%_desktopdir   /usr/share/applications
-%_applnkdir    ERROR:_applnkdir_is_obsolete_use_desktopdir_instead
-
-# Location of pixmaps for applnk/desktop files
-%_pixmapsdir   /usr/share/pixmaps
-
-# Location of themable icons for applnk/desktop files
-%_iconsdir     /usr/share/icons
-
-# Location of fonts directories
-%_fontsdir     /usr/share/fonts
-
-# Location of Gtk and associated libraries documentation
-%_gtkdocdir    %{_defaultdocdir}/gtk-doc/html
-
-# Location of KDE documentation
-%_kdedocdir    %{_defaultdocdir}/kde/HTML
-
-# unsermake script
-%__unsermake /usr/share/unsermake/unsermake
-
-# Current date
-%date          %(LC_ALL="C" date +"%a %b %d %Y")
-
-# tmp directory
-%tmpdir                %(echo "${TMPDIR:-/tmp}")
-
-# Example files, programs, scripts...
-%_examplesdir  /usr/src/examples
-
-# Alternative kernel type/version
-%_alt_kernel   %{nil}%{?alt_kernel:-%{?alt_kernel}}
-
-# The directory holding Linux kernel sources
-%_kernelsrcdir /usr/src/linux%{_alt_kernel}
-
-# If non-empty "debug" macro defined, add "dbg" suffix to release number
-%_rpmfilename          %%{NAME}-%%{VERSION}-%%{RELEASE}%{?debug:dbg}.%%{ARCH}.rpm
-
-# Requires name = version-release
-%requires_releq()              %(echo '%*' | LC_ALL="C" xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}-%%{release}\\n' | sed -e 's/ (none):/ /' | grep -v "is not")
-
-%releq_kernel()                %((LC_ALL="C" rpm -qf --qf '%%{name} = %%{epoch}:%%{version}-%%{release}\\n' %{_kernelsrcdir}/include/linux/version.h 2>/dev/null || echo ERROR) | sed -e 's/ (none):/ /' | sed -e 's:-headers::' | grep -vE "(is not|no such)")
-%requires_releq_kernel(s:)     Requires%{-s:(%{-s*})}: %releq_kernel
-
-%requires_eq()         %(echo '%*' | LC_ALL="C" xargs -r rpm -q --qf 'Requires: %%{name} = %%{epoch}:%%{version}\\n' | sed -e 's/ (none):/ /' -e 's/ 0:/ /' | grep -v "is not")
-%requires_eq_to() %(LC_ALL="C" rpm -q --qf 'Requires: %1 = %%{epoch}:%%{version}\\n' %2 | sed -e 's/ (none):/ /' | grep -v "is not")
-
-%apache_modules_api %(awk '/#define MODULE_MAGIC_NUMBER_MAJOR/ {print $3}' /usr/include/apache/ap_mmn.h 2>/dev/null || echo ERROR)
-
-# kernel version-release handling
-%__kernel_ver  %( VER_H=%{_kernelsrcdir}/include/linux/utsrelease.h; [ -f $VER_H ] || VER_H=%{_kernelsrcdir}/include/linux/version.h; [ -f $VER_H ] && (grep UTS_RELEASE $VER_H 2>/dev/null | head -n 1 | cut -d'"' -f2) || (awk '/^VERSION/ { ver = $0; gsub(/VERSION.*=/, NIL, ver); } /^PATCHLEVEL/ { plev = $0; gsub(/PATCHLEVEL.*=/, NIL, plev); } /^SUBLEVEL/ { slev = $0; gsub(/SUBLEVEL.*=/, NIL, slev); } /^EXTRAVERSION/ { ever = $0; gsub(/EXTRAVERSION.*=/, NIL, ever); gsub(/ /, NIL, ever); } END { printf("%d.%d.%d%s", ver, plev, slev, ever); }' %{_kernelsrcdir}/Makefile 2> /dev/null))
-%__kernel_rel  %(LC_ALL="C" rpm -qf %{_kernelsrcdir}/include/linux/fs.h 2>/dev/null --qf "%{RELEASE}" | grep -v "is not")
-%__kernel_rpmvr        %(LC_ALL="C" rpm -qf %{_kernelsrcdir}/include/linux/fs.h 2>/dev/null --qf "%{VERSION}-%{RELEASE}" | grep -v "is not")
-%_kernel_ver   %{__kernel_ver}%{?with_dist_kernel:%(echo %{__kernel_ver} | grep -q -e - || echo -%{__kernel_rel})}
-%_kernel_ver_str %(echo %{!?_without_dist_kernel:%{__kernel_rpmvr}}%{?_without_dist_kernel:%{__kernel_ver}} | sed -e 's/-/_/g')
-
-# sgml macros
-%xmlcat_add()          /usr/bin/xmlcatalog --noout --add nextCatalog \"\" %1 /etc/xml/catalog ;
-%xmlcat_del()          /usr/bin/xmlcatalog --noout --del %1 /etc/xml/catalog ;
-%xmlcat_add_rewrite    /usr/bin/xmlcatalog --noout --add rewriteSystem
-%xmlcat_create()       /usr/bin/xmlcatalog --noout --create %1 ;
-%sgmlcat_add()         /usr/bin/install-catalog --add %1 %2 > /dev/null ;
-%sgmlcat_del()         /usr/bin/install-catalog --remove %1 %2 > /dev/null ;
-%docbook_sgmlcat_fix() { for l in \
-'' \
-'  -- default decl --' \
-'DTDDECL "-//OASIS//DTD DocBook XML V%2//EN" "../../xml.dcl"' \
-'  -- hacks for opensp --' \
-'SYSTEM "file://%{_datadir}/sgml/docbook/xml-dtd-%2/docbookx.dtd" "%{_datadir}/sgml/docbook/xml-dtd-%2/docbookx.dtd"' \
-'SYSTEM "http://www.oasis-open.org/docbook/xml/%2/docbookx.dtd"                  "%{_datadir}/sgml/docbook/xml-dtd-%2/docbookx.dtd"' \
-'' \
-; do echo $l; done >> %1 \
-}
-
-# vim - "
-
-# minimum file size needed for compressed documents.
-# just smaller files than this get larger when compressed.
-# some stats:
-# - 0 byte file compressed was 25 bytes .gz
-# - 39 byte file was compressed as 57
-# - with test/test.spec@man 158 byte file was compressed also 158
-%_min_compress_bytes   159
-
-#-----------------------------------------------------------------
-# find and gzip all files in %{_mandir} and %{infodir}
-#
-# Requires: xargs, find
-#
-#%no_install_post_compress_docs        1
-%__spec_install_post_compress_docs { \
-%{!?no_install_post_compress_docs:__spec_install_post_compress_docs() { \
-       for i in /usr/share/man /usr/X11R6/man /usr/share/info; do \
-               if [ -d "$RPM_BUILD_ROOT$i" ]; then \
-                       echo "Compress $(basename $i) pages: $i"; \
-                       find "$RPM_BUILD_ROOT$i" -name '*.bz2' -print | xargs -r %{__bzip2} -df; \
-                       find "$RPM_BUILD_ROOT$i" -name '*.gz' -print | xargs -r %{__gzip} -dnf; \
-                       find "$RPM_BUILD_ROOT$i" -type f -size +%{_min_compress_bytes}c -print | xargs -r %{__gzip} -9nf; \
-               fi; \
-       done; \
-}; __spec_install_post_compress_docs } }
-
-#-----------------------------------------------------------------
-# Strip executable binaries and shared object files
-#
-# Requires: find, awk, strip, cut, xargs
-#
-#%no_install_post_strip        1
-%__spec_install_post_strip {%{!?debug: \
-%{!?no_install_post_strip:__spec_install_post_strip() { \
-if [ -d "$RPM_BUILD_ROOT" ]; then \
-       if [ -d $RPM_BUILD_ROOT/lib/modules ]; then \
-               modulelist=$(find $RPM_BUILD_ROOT/lib/modules -name '*o' -type f -print); \
-               printf "Stripping %d kernel modules..." $(echo "$modulelist" | wc -l); \
-               echo "$modulelist" | xargs -l512 chmod u+w; \
-               echo "$modulelist" | xargs -l512 %{__strip} --strip-unneeded --remove-section=.comment --remove-section=.note.GNU-stack; \
-               echo "DONE"; \
-       fi; \
-       filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*" ! -regex ".*/usr/lib[0-9]*/debug/.*\.debug" ! -regex ".*%{_docdir}/.*" ! -regex ".*%{_includedir}/.*" %{?_noautostrip:! -regex "%{_noautostrip}"}`; \
-       # vim - " \
-       if [ -z "$filelist" ]; then \
-               return; \
-       fi; \
-       filetypes=`echo "$filelist" | xargs -r -d'\\n' file`; \
-       elfexelist=`echo "$filetypes" | awk -F: '/ELF.*executable/ {print $1}'`; \
-       elfsharedlist=`echo "$filetypes" | awk -F: '/LF.*shared object/ {print $1}'`; \
-       archiveslist=`echo "$filetypes" | awk -F '/current ar archive/ {print $1}'`; \
-       if [ -n "$elfexelist" ]; then \
-               printf "Stripping %d ELF executables..." $(echo "$elfexelist" | wc -l); \
-               chmod u+w $elfexelist; \
-               %{__strip} --remove-section=.note --remove-section=.comment $elfexelist; \
-               echo "DONE"; \
-       fi; \
-       if [ -n "$elfsharedlist" ]; then \
-               printf "Stripping %d ELF shared libraries..." $(echo "$elfsharedlist" | wc -l); \
-               chmod u+w $elfsharedlist; \
-               %{__strip} --strip-unneeded --remove-section=.note --remove-section=.comment $elfsharedlist; \
-               echo "DONE"; \
-       fi; \
-       if [ -n "$archiveslist" ]; then \
-               printf "Stripping %d ar archives..." $(echo "$elfsharedlist" | wc -l); \
-               chmod u+w $archiveslist; \
-               %{__strip} --strip-debug --remove-section=.note --remove-section=.comment $archiveslist; \
-               echo "DONE"; \
-       fi; \
-fi; }; __spec_install_post_strip } } }
-
-#-----------------------------------------------------------------
-# remove all RPATH from executable binaries and shared object files
-#
-# Requires: find, awk, cut, xargs, chrpath, uname
-#
-#%no_install_post_chrpath      1
-%__spec_install_post_chrpath {%{!?debug: \
-%{!?no_install_post_chrpath: __spec_install_post_chrpath() { \
-if [ -d "$RPM_BUILD_ROOT" ]; then \
-       files=`find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*" ! -regex ".*/usr/lib[0-9]*/debug/.*" ! -regex ".*%{_docdir}/.*" ! -regex ".*%{_includedir}/.*"  %{?_noautochrpath:! -regex "%{_noautochrpath}"}`; \
-       if [ -n "$files" ]; then \
-               objs=`echo "$files" | xargs -r -d'\\n' file | awk -F: '/ELF.*(executable.*dynamically linked|shared object)/ {print $1}'`; \
-       fi
-       #"
-       if [ -n "$objs" ]; then \
-               printf "Remove RPATH from %d executable binaries and shared object files.\n" $(echo "$objs" | wc -l); \
-               echo "$objs" | \
-               while read file; do \
-                       rpath= ; \
-                       chmod u+w "$file"; \
-                       for dir in `chrpath -l "$file" | \
-                                       awk '/RPATH=/ { gsub(/.*RPATH=/,""); gsub(/:/," "); print $0 }'` ; do \
-                                       case $dir in \
-                                       /home/* | /tmp/* | /usr/lib | /usr/lib64 | /lib | /lib64 | /usr/local/lib | /usr/local/lib64 | /usr/X11R6/lib | /usr/X11R6/lib64 ) \
-                                               echo "remove-rpath: $dir in $file"; \
-                                               ;; \
-                                       * ) \
-                                               if [ "$rpath" = "" ] ; then rpath="$dir" ; \
-                                               else rpath="$rpath:$dir" ; fi ; \
-                                               ;; \
-                                       esac ; \
-                       done ; \
-                       if [ "$rpath" = "" ] ; then chrpath -d "$file" > /dev/null ; \
-                       else chrpath -r "$rpath" "$file" > /dev/null ; fi ; \
-               done; \
-       fi; \
-fi; }; __spec_install_post_chrpath } } }
-
-#-----------------------------------------------------------------
-# Find and gzip all kernel modules
-#
-# Requires: find
-#
-#%no_install_post_compress_modules     1
-%__spec_install_post_compress_modules { \
-%{!?no_install_post_compress_modules: __spec_install_post_compress_modules() { \
-       if [ -d $RPM_BUILD_ROOT/lib/modules ]; then \
-               echo "Compress kernel modules"; \
-               q=$(find $RPM_BUILD_ROOT/lib/modules -name '*o' -type f -print); \
-               echo "$q" | xargs -r %{__gzip} -9nf; \
-               printf "%d modules compressed\n" $(echo "$q" | wc -l); \
-               find $RPM_BUILD_ROOT/lib/modules -name '*o' -type l -printf "%p %l\n" | \
-               while read a b; do ln -sf $b.gz $a.gz; rm -f $a; done; \
-       fi; \
-}; __spec_install_post_compress_modules } }
-
-# Remove common Perl files we don't package
-%__spec_install_post_perl_clean {\
-%{!?no_install_post_perl_clean: \
-%{?pdir:rm -f $RPM_BUILD_ROOT{%{perl_archlib}/perllocal.pod,%{perl_vendorarch}/auto/%{pdir}%{?pnam:/%(echo %{pnam} | tr - /)}/.packlist}} \
-} }
-
-#-----------------------------------------------------------------
-# Update GConf2 schemas
-#
-# Requires: GConf2
-#
-%gconf_schema_install() \
-       umask 022; \
-       GCONF_CONFIG_SOURCE="xml:readwrite:/etc/gconf/gconf.xml.defaults" /usr/bin/gconftool-2 --makefile-install-rule /etc/gconf/schemas/%{?1}%{!?1:*.schemas} > /dev/null \
-       %{nil}
-
-%gconf_schema_uninstall() \
-if [ $1 = 0 ]; then \
-       umask 022; \
-       GCONF_CONFIG_SOURCE="xml:readwrite:/etc/gconf/gconf.xml.defaults" /usr/bin/gconftool-2 --makefile-uninstall-rule /etc/gconf/schemas/%{?1} > /dev/null \
-fi \
-%{nil}
-
-#-----------------------------------------------------------------
-# Update desktop MIME database
-# requires: desktop-file-utils
-#
-%update_desktop_database_post() {{ \
-       umask 022; \
-       /usr/bin/update-desktop-database -q; \
-}}
-
-%update_desktop_database_postun() {{ \
-if [ $1 = 0 ]; then \
-       umask 022; \
-       /usr/bin/update-desktop-database -q; \
-fi \
-}}
-
-#-----------------------------------------------------------------
-# Update shared MIME info database
-# requires: shared-mime-info
-#
-%update_mime_database() {{ \
-       umask 022; \
-       /usr/bin/update-mime-database %{_datadir}/mime; \
-}}
-
-#-----------------------------------------------------------------
-# Update icon cache
-# requires: gtk+
-#
-%update_icon_cache() {{ \
-       umask 022; \
-       /usr/bin/gtk-update-icon-cache -qf %{_datadir}/icons/%1; \
-}}
-
-#-----------------------------------------------------------------
-# Update scrollkeeper database
-# requires: scrollkeeper
-#
-%scrollkeeper_update_post() \
-       /usr/bin/scrollkeeper-update -q; \
-       %{nil}
-
-%scrollkeeper_update_postun() \
-if [ $1 = 0 ]; then \
-       /usr/bin/scrollkeeper-update -q; \
-fi \
-%{nil}
-
-#-----------------------------------------------------------------
-# post %install sequence:
-# - autodeps exceptions
-# - compress all man and info pages,
-# - strip all ELF executables and ELF shared objects if not %debug.
-# - compress kernel modules if any
-
-###################################################################
-# Requires/Provides automation
-# exceptions system by Jacek Konieczny <jajcus@pld.org.pl>
-#
-%__noautoreqfiles      %(sed -e s'/#.*//' /etc/rpm/noautoreqfiles)%{?_noautoreqfiles: %{_noautoreqfiles}}
-%__noautoprovfiles     %(sed -e s'/#.*//' /etc/rpm/noautoprovfiles)%{?_noautoprovfiles: %{_noautoprovfiles}}
-%__noautoreq           %(sed -e s'/#.*//' /etc/rpm/noautoreq)%{?_noautoreq: %{_noautoreq}}
-%__noautoreqdep                %(sed -e s'/#.*//' /etc/rpm/noautoreqdep)%{?_noautoreqdep: %{_noautoreqdep}}
-%__noautoprov          %(sed -e s'/#.*//' /etc/rpm/noautoprov)%{?_noautoprov: %{_noautoprov}}
-#%_noautocompressdoc   %{nil}
-#
-%_missing_doc_files_terminate_build    1%{nil}
-%_unpackaged_files_terminate_build     %{nil}
-# (X)emacs support
-%___emacs_lispdir_helper  -batch -q -eval '(while load-path (princ (concat (car load-path) "\\n")) (setq load-path (cdr load-path)))' 2> /dev/null|sed -n '/\\(.*\\/x\\?emacs\\/site-lisp\\)\\/\\?$/{s,,\\1,p;q;}'
-%_emacs_lispdir %(emacs %___emacs_lispdir_helper)
-%_xemacs_lispdir %(xemacs %___emacs_lispdir_helper)
-
-%__php_provides        %{nil}
-%__php_requires %{nil}
-%__perl_provides %{nil}
-%__perl_requires %{nil}
-%__mono_provides %{nil}
-%__mono_requires %{nil}
-
-# Perl specific macro definitions.
-%perl_privlib          %(eval "`%{__perl} -V:installprivlib`"; echo $installprivlib)
-%perl_archlib          %(eval "`%{__perl} -V:installarchlib`"; echo $installarchlib)
-%perl_vendorlib                %(eval "`%{__perl} -V:installvendorlib`"; echo $installvendorlib)
-%perl_vendorarch       %(eval "`%{__perl} -V:installvendorarch`"; echo $installvendorarch)
-%perl_sitelib          %(eval "`%{__perl} -V:installsitelib`"; echo $installsitelib)
-%perl_sitearch         %(eval "`%{__perl} -V:installsitearch`"; echo $installsitearch)
-
-# Ruby
-%ruby_archdir          %(ruby -r rbconfig -e 'print Config::CONFIG["archdir"]' 2>/dev/null || echo ERROR)
-%ruby_ridir                    %(ruby -r rbconfig -e 'include Config; print File.join(CONFIG["datadir"], "ri", CONFIG["ruby_version"], "system")' 2>/dev/null || echo ERROR)
-%ruby_rubylibdir       %(ruby -r rbconfig -e 'print Config::CONFIG["rubylibdir"]' 2>/dev/null || echo ERROR)
-%ruby_sitearchdir      %(ruby -r rbconfig -e 'print Config::CONFIG["sitearchdir"]' 2>/dev/null || echo ERROR)
-%ruby_sitelibdir       %(ruby -r rbconfig -e 'print Config::CONFIG["sitelibdir"]' 2>/dev/null || echo ERROR)
-%ruby_version          %(ruby -r rbconfig -e 'print Config::CONFIG["ruby_version"]' 2>/dev/null || echo ERROR)
-%ruby_ver_requires_eq  Requires:       ruby(ver) = %ruby_version
-%ruby_mod_ver_requires_eq      Requires:       ruby-modules(ver) = %ruby_version
-
-%php_pear_dir          /usr/share/pear
-%php_extensiondir      %(php-config --extension-dir 2>/dev/null || echo ERROR)
-%php_sysconfdir                %(php-config --sysconfdir 2>/dev/null || echo ERROR)
-
-# directory where php includes are installed on system.
-%__php_includedir              /usr/include/php
-# extract php/zend api versions
-%php_major_version             %(awk '/#define PHP_MAJOR_VERSION/{print $3}' %{__php_includedir}/main/php_version.h 2>/dev/null || echo ERROR)
-%php_api_version               %(awk '/#define PHP_API_VERSION/{print $3}' %{__php_includedir}/main/php.h 2>/dev/null || echo ERROR)
-%php_pdo_api_version   %(awk '/#define PDO_DRIVER_API/{print $3}' %{__php_includedir}/ext/pdo/php_pdo_driver.h 2>/dev/null || echo ERROR)
-%php_debug                             %(awk '/#define ZEND_DEBUG/{print $3}' %{__php_includedir}/main/php_config.h 2>/dev/null || echo ERROR)
-%zend_module_api               %(awk '/#define ZEND_MODULE_API_NO/{print $3}' %{__php_includedir}/Zend/zend_modules.h 2>/dev/null || echo ERROR)
-%zend_extension_api            %(awk '/#define ZEND_EXTENSION_API_NO/{print $3}' %{__php_includedir}/Zend/zend_extensions.h 2>/dev/null || echo ERROR)
-%zend_zts                              %(Z=$(grep -sc '^#define ZTS 1' %{__php_includedir}/main/php_config.h); echo ${Z:-ERROR})
-
-# helper macro
-%__php_api_requires(v:) Requires: php%{-v*}(%{expand:%1}) = %{expand:%{%{!?2:%{1}}%{?2}}}
-
-# macros for public use
-# for php extensions (php-pecl)
-%requires_php_extension %{__php_api_requires modules_api php_api_version} \
-%{__php_api_requires zend_module_api} \
-%{__php_api_requires -v %php_major_version debug php_debug} \
-%{__php_api_requires -v %php_major_version thread-safety zend_zts}
-
-# for zend extensions
-%requires_zend_extension %{__php_api_requires zend_module_api} \
-%{__php_api_requires zend_extension_api} \
-%{__php_api_requires -v %php_major_version debug php_debug} \
-%{__php_api_requires -v %php_major_version thread-safety zend_zts}
-
-# for php pdo modules (php-pecl-PDO_*)
-%requires_php_pdo_module %{__php_api_requires PDO_API php_pdo_api_version}
-
-# for using PHP post scripts. for PHP >= 5.0
-%php_webserver_restart \
-[ ! -f /etc/apache/conf.d/??_mod_php.conf ] || %service -q apache restart \
-[ ! -f /etc/httpd/conf.d/??_mod_php.conf ] || %service -q httpd restart \
-if [ -f /etc/rc.d/init.d/php-fcgi ]; then \
-       PHP_FCGI_BINARY=; . /etc/sysconfig/php-fcgi 2>/dev/null \
-       if [[ ${PHP_FCGI_BINARY:-php.fcgi} = *php.fcgi* ]]; then \
-               %service -q php-fcgi restart \
-       fi \
-fi \
-%{nil}
-
-# for using php post scripts. for PHP >= 4.0 && PHP < 5.0
-%php4_webserver_restart \
-[ ! -f /etc/apache/conf.d/??_mod_php4.conf ] || %service -q apache restart \
-[ ! -f /etc/httpd/conf.d/??_mod_php4.conf ] || %service -q httpd restart \
-if [ -f /etc/rc.d/init.d/php-fcgi ]; then \
-       PHP_FCGI_BINARY=; . /etc/sysconfig/php-fcgi 2>/dev/null \
-       if [[ ${PHP_FCGI_BINARY:-php.fcgi} = *php4.fcgi* ]]; then \
-               %service -q php-fcgi restart \
-       fi \
-fi \
-%{nil}
-
-# Python specific macro definitions.
-# python main version
-%py_ver                        %(python -c "import sys; print sys.version[:3]")
-
-# directories
-%py_prefix             %(python -c "import sys; print sys.prefix")
-%py_libdir             %{py_prefix}/%{_lib}/python%{py_ver}
-%py_scriptdir  %{py_prefix}/share/python%{py_ver}
-%py_incdir             /usr/include/python%{py_ver}
-%py_sitedir            %{py_libdir}/site-packages
-%py_sitescriptdir %{py_scriptdir}/site-packages
-%py_dyndir             %{py_libdir}/lib-dynload
-
-# pure python modules compilation
-%py_comp               python -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])"
-
-%py_ocomp              python -O -c "import compileall; import sys; compileall.compile_dir(sys.argv[1], ddir=sys.argv[1][len('$RPM_BUILD_ROOT'):])"
-
-# Software written in Python language require Python with main version
-%pyrequires_eq() Requires:     %1
-
-# Hardlink binary identical .pyc and .pyo files
-# (idea by glen <at> pld-linux <dot> org)
-%__spec_install_post_py_hardlink {\
-%{!?no_install_post_py_hardlink: __spec_install_post_py_hardlink() { \
-[ ! -d "$RPM_BUILD_ROOT" ] || find "$RPM_BUILD_ROOT" -name '*.pyc' | while read a; do \
-       b="$(echo $a|sed -e 's/.pyc$/.pyo/')"; \
-       if cmp -s "$a" "$b"; then \
-               ln -f "$a" "$b"; \
-       fi; \
-done \
-}; __spec_install_post_py_hardlink } }
-
-# remove python sources, so that check-files won't complain
-# (idea by glen <at> pld-linux <dot> org)
-%py_postclean() \
-for d in %{py_sitescriptdir} %{py_sitedir} %*; do \
- [ ! -d "$RPM_BUILD_ROOT$d" ] || find "$RPM_BUILD_ROOT$d" -name '*.py' -print0 | xargs -0r -l512 rm;\
-done \
-%{nil}
-
-# depmod macro
-%depmod() { \
-umask 022; \
-if [ -e /boot/System.map-%1 ]; then \
-       /sbin/depmod -a -F /boot/System.map-%1 %1; \
-else \
-       if [ -e /boot/System.map ]; then \
-               /sbin/depmod -a -F /boot/System.map %1; \
-       else \
-               /sbin/depmod -a %1; \
-       fi \
-fi; \
-}
-
-# XMMS specific macros
-%xmms_prefix                   %(xmms-config --prefix 2>/dev/null)
-%xmms_exec_prefix              %(xmms-config --exec-prefix 2>/dev/null)
-%xmms_version                  %(xmms-config --version 2>/dev/null)
-%xmms_datadir                  %(xmms-config --data-dir 2>/dev/null)
-%xmms_plugindir                        %(xmms-config --plugin-dir 2>/dev/null)
-%xmms_visualization_plugindir  %(xmms-config --visualization-plugin-dir 2>/dev/null)
-%xmms_input_plugindir          %(xmms-config --input-plugin-dir 2>/dev/null)
-%xmms_output_plugindir         %(xmms-config --output-plugin-dir 2>/dev/null)
-%xmms_effect_plugindir         %(xmms-config --effect-plugin-dir 2>/dev/null)
-%xmms_general_plugindir                %(xmms-config --general-plugin-dir 2>/dev/null)
-
-%_target_base_arch     %(echo %{_target_cpu} | sed 's/i.86/i386/;s/athlon/i386/;s/pentium./i386/;s/amd64/x86_64/;s/ia32e/x86_64/')
-
-# user/group checking macros
-#
-# Usage:
-#      %userremove myuser
-#
-%userremove    /usr/lib/rpm/user_group.sh user del
-%groupremove   /usr/lib/rpm/user_group.sh group del
-#
-# Usage:
-#      if %usertestrm myuser; then
-#              /usr/sbin/userdel -r myuser
-# Note:
-#      use these macros only if you need to call userdel/groupdel with
-#      a non-standard option or take an extra action; otherwise use the
-#      %userremove/%groupremove macros
-#
-%usertestrm    /usr/lib/rpm/user_group.sh user testrm
-%grouptestrm   /usr/lib/rpm/user_group.sh group testrm
-# user group membership management macros
-#
-# Usage:
-#      %addusertogroup myuser agroup
-#
-%addusertogroup        /usr/lib/rpm/user_group.sh user addtogroup
-
-# banner support (useful in {pre,post}{,un} and triggers)
-#
-# Usage:
-#      %banner name [-a] [-e] [-n] [-tn] <<EOF
-# the banner text, the banner text
-# the banner text, and following line
-#EOF
-# You can use any form of here-document, <<'EOF' <<-EOT will do.
-# NOTE: if your use "<<-EOF", then You can actually indent inside here-document.
-#
-# -a   - append to the banner
-# -e   - send to stderr instead of stdout
-# -n   - no show banner (overrides -t)
-# -t   - show only, if RPM_SCRIPTVERBOSITY >= n; default n=5
-%banner(aent:) \
-RPM_SCRIPTVERBOSITY=5 \
-[ -r /etc/sysconfig/rpm ] && . /etc/sysconfig/rpm \
-if [ -x /usr/bin/banner.sh ]; then \
-       CMD="/usr/bin/banner.sh %{-e:--stderr} %{!-n:$([ $RPM_SCRIPTVERBOSITY -ge %{-t:%{-t*}}%{!-t:5} ] && echo -s)} %{!-a:-m}%{-a:-M} %1" \
-else \
-       CMD="cat%{-e: >&2}" \
-fi \
-eval $CMD %2%{?3: %3} \
-%nil
-
-# useradd/groupadd macros
-# Author: Elan Ruusamäe <glen@pld-linux.org>
-#
-# Usage:
-#   %useradd [-P package] [-u uid] [-d home_dir] [-s shell] [-c comment]
-#   [-g initial_group] [-G group[,...]] login
-#
-#  -u uid. REQUIRED
-#  -g gid/group. REQUIRED
-#  -s defaults to /bin/false
-#  -d defaults to /usr/share/empty
-#  -c No default
-#  -r is accepted but ignored (it's always set)
-#  -k skeleton dir. defaults to /usr/share/empty
-# rpm specific flags
-#  -P package name. defaults to %{name}
-#
-%useradd(c:d:e:f:g:G:Mmk:op:s:u:rP:) \
-%{!-u:%{error:useradd: Required argument -u missing}} \
-%{!-g:%{error:useradd: Required argument -g missing}} \
-%{!?1:%{error:useradd: Required parameter login missing}} \
-if [ -n "`/bin/id -u %{expand:%{%{#}}} 2>/dev/null`" ]; then \
-       if [ "`/bin/id -u %{expand:%{%{#}}}`" != "%{-u*}" ]; then \
-               echo "Error: user %{expand:%{%{#}}} doesn't have uid=%{-u*}. Correct this before installing %{-P*}%{!?-P:%{name}}." 1>&2 \
-               exit 1 \
-       fi \
-else \
-       echo "Adding user %{expand:%{%{#}}} UID=%{-u*}." \
-       /usr/sbin/useradd \\\
-               %{-m:-m -k %{-k*}%{!-k:/usr/share/empty}} \\\
-               -u %{-u*} \\\
-               -r \\\
-               -d %{-d*}%{!-d:/usr/share/empty} \\\
-               -s %{-s*}%{!-s:/bin/false} \\\
-               %{-c:-c "%(set -- %{-c*} %{*}; echo $1)"}\\\
-               -g %{-g*} \\\
-               %{-M} \\\
-               %{-G:-G %{-G*}} \\\
-               %{expand:%{%{#}}} 1>&2 || exit $? \
-       [ ! -x /usr/sbin/nscd ] || /usr/sbin/nscd -i passwd || : \
-fi;
-
-# Usage:
-#   %groupadd [-P package] [-g gid] group
-#
-# -g gid. REQUIRED
-#
-# Sample:
-#   %groupadd -P %{name}-base -g %{gid} %{name}
-
-%groupadd(g:P:rfo)     \
-%{!-g:%{error:groupadd: Required argument -g missing}} \
-%{!?1:%{error:groupadd: Required parameter group missing}} \
-if [ -n "`/usr/bin/getgid %{1}`" ]; then \
-       if [ "`/usr/bin/getgid %{1}`" != "%{-g*}" ]; then \
-               echo "Error: group %{1} doesn't have gid=%{-g*}. Correct this before installing %{-P*}%{!?-P:%{name}}." 1>&2 \
-               exit 1 \
-       fi \
-else \
-       echo "Adding group %{1} GID=%{-g*}." \
-       /usr/sbin/groupadd -g %{-g*} -r %{1} 1>&2 || exit $? \
-       [ ! -x /usr/sbin/nscd ] || /usr/sbin/nscd -i group || : \
-fi;
-
-# apache_config_{install/uninstall} macros *DEPRECATED*
-# Author: Elan Ruusamäe <glen@pld-linux.org>
-#
-# You should use webapp macros instead. these are here until single piece of
-# them is gone from specs ;)
-#
-# The config is installed/removed inside trigger, this means that you can any
-# time install apache1 or apache package and the configuration file is updated.
-# if you don't need the config for various reason for specific apache, just
-# remove the symlink from apache config directory. the trigger will not put the
-# config again to that version of apache. In other words the config is linked
-# to apache config directory on first install of PACKAGE or apache.
-#
-# should be called in trigger body:
-#  %triggerin -- apache1 >= 1.3.33-2
-#  %apache_config_install -v 1
-#
-# Add package's apache config to apache config.
-#
-# Usage:
-#   %apache_config_install -v {1|2} -c %{_sysconfdir}/apache-%{name}.conf -n 99
-#
-#  -v REQUIRED: specify apache version. can be 1 or 2.
-#  -c OPTIONAL: specify full path to PACKAGE's config. Defaults to %{_sysconfdir}/apache-%{name}.conf.
-#  -n OPTIONAL: specify config "slot". defaults to 99
-#  -f OPTIONAL: force symlink creation regardless if package was upraded. useful in triggers
-#
-# Internal macros. don't use ;).
-# expands apache config dir by apache version at build time.
-%__apache_confdir() %(if [ %{1} = 1 ]; then echo /etc/apache/conf.d; elif [ %{1} = 2 ]; then echo /etc/httpd/httpd.conf; else echo >&2 Unknown apache version specified; fi)
-# expands apache service name by apache version at build time.
-%__apache_svcname() %(if [ %{1} = 1 ]; then echo apache; elif [ %{1} = 2 ]; then echo httpd; else echo >&2 Unknown apache version specified; fi)
-
-%apache_config_install(fv:c:n:) \
-%{!-v:%{error:apache_config_install: Required argument -v missing}} \
-%{?debug:set -x; echo "apache_config_install:%{-v*} %{name}-%{version}-%{release} 1:[$1]; 2:[$2]"} \
-if [ -n "%{-f:1}" ] || ([ "$1" = "1" ] && [ "$2" = "1" ]) && [ -d %{__apache_confdir %{-v*}} ]; then\
-       ln -sf %{-c*}%{!-c:%{_sysconfdir}/apache-%{name}.conf} %{__apache_confdir %{-v*}}/%{-n*}%{!-n:99}_%{name}.conf\
-fi\
-# reload apache if the config symlink is there\
-if [ -L %{__apache_confdir %{-v*}}/%{-n*}%{!-n:99}_%{name}.conf ]; then\
-       # additionally don't reload if target package (the webserver) is upgraded, as webserver is restarted anyway in %post \
-       if [ "$2" != "2" ] && [ -f /var/lock/subsys/%{__apache_svcname %{-v*}} ]; then\
-               /etc/rc.d/init.d/%{__apache_svcname %{-v*}} reload 1>&2\
-       fi\
-fi\
-%{nil}
-
-# Remove package's apache config from apache config.
-#
-# Usage:
-#   %apache_config_uninstall -v {1|2} -n 99
-#
-#  -v REQUIRED: specify apache version. can be 1 or 2.
-#  -n OPTIONAL: specify config "slot". defaults to 99
-%apache_config_uninstall(v:n:) \
-%{!-v:%{error:apache_config_uninstall: Required argument -v missing}} \
-%{?debug:set -x; echo "apache_config_uninstall:%{-v*} %{name}-%{version}-%{release}: 1:[$1]; 2:[$2]"} \
-# remove link if either of the packages are gone \
-if [ "$1" = "0" ] || [ "$2" = "0" ]; then \
-       if [ -L %{__apache_confdir %{-v*}}/%{-n*}%{!-n:99}_%{name}.conf ]; then \
-               rm -f %{__apache_confdir %{-v*}}/%{-n*}%{!-n:99}_%{name}.conf \
-               if [ -f /var/lock/subsys/%{__apache_svcname %{-v*}} ]; then \
-                       /etc/rc.d/init.d/%{__apache_svcname %{-v*}} reload 1>&2 \
-               fi \
-       fi \
-fi \
-%{nil}
-
-# webapp macros
-# Author: Elan Ruusamäe <glen@pld-linux.org>
-#
-# The config is installed/removed inside trigger, this means that you can any
-# time install apache1/apache/lighttpd package and the configuration file is
-# updated. if you don't need the config for various reason for specific
-# webserver, just remove the symlink from config directory using webapp
-# program. the trigger will not recreate the symlink on upgrades. In other
-# words the config is linked to webserver config directory on first install of
-# PACKAGE or WEBSERVER.
-#
-# Add package's webserver config to webserver webapps dir.
-# Usage:
-#   %webapp_register WEBSERVER WEBAPP
-#
-%webapp_register() \
-%{?debug:set -x; echo "webapp_register: %{name}-%{version}-%{release} 1:[$1]; 2:[$2]"} \
-if [ "$1" = "1" ] && [ "$2" = "1" ]; then\
-       /usr/sbin/webapp register %1 %2\
-fi\
-# reload webserver if the config symlink is there and skip reload if webserver is upgraded\
-if [ -L /etc/%1/webapps.d/%(echo "%2" | tr '/' '-').conf ] && [ "$2" -lt "2" ]; then\
-       %{expand:%service -q %%1 reload}\
-fi\
-%{nil}
-
-# Remove package's config from webserver webapps dir.
-# Usage:
-#   %webapp_register [-f] WEBSERVER WEBAPP
-%webapp_unregister(f) \
-%{?debug:set -x; echo "webapp_unregister: %{name}-%{version}-%{release}: 1:[$1]; 2:[$2]"} \
-# remove link if either of the packages are gone \
-if [ -n "%{-f:1}" ] || [ "$1" = "0" ] || [ "$2" = "0" ] && [ -L /etc/%1/webapps.d/%(echo "%2" | tr '/' '-').conf ]; then \
-       /usr/sbin/webapp unregister %1 %2\
-       %{expand:%service -q %%1 reload}\
-fi \
-%{nil}
-
-# see browser-plugins.spec / template-browser-plugin.spec
-# Author: Elan Ruusamäe <glen@pld-linux.org>
-%nsplugin_install(d:f) { \
-# create link if it's first install of either of the packages \
-if [ -n "%{-f:1}" ] || ([ "$1" = "1" ] && [ "$2" = "1" ] && [ -d %{-d*} ]); then \
-( \
-%( \
-       for file in %{*}; do \
-               echo echo Installing $file to %{-d*}; \
-               echo "ln -sf %{_libdir}/browser-plugins/$file %{-d*};"; \
-       done ) \
-) | ( %banner -t 5 -e %{name}-in ); fi; \
-}
-
-%nsplugin_uninstall(d:) { \
-# remove link if either of the packages are gone \
-if [ "$1" = "0" ] || [ "$2" = "0" ]; then \
-( \
-%( \
-       for file in %{*}; do \
-               echo echo Removing $file from %{-d*}; \
-               echo "rm -f %{-d*}/$file;"; \
-       done ) \
-) | ( %banner -t 5 -e %{name}-un ); fi; \
-}
-
-# service macro.
-# Author: Elan Ruusamäe <glen@pld-linux.org>
-#
-# calls usual service restart on package %post, but skips the restart if
-# administrator has disabled automatic service restarts in either global
-# /etc/sysconfig/rpm or per service /etc/sysconfig/SERVICE file.
-#
-# Usage:
-#   %service [-q] SERVICE ACTION ["SERVICE NICE DESCRIPTION"]
-#
-#  -q be silent when service isn't started (for scriplets restaring other package's services)
-#
-%service(q) {{%(export quiet=%{-q:1}; /usr/lib/rpm/service_generator.sh %{*}) };}
-
-
-# Java macros. based on jpackage macros.java
-#
-# Root directory where all Java VMs/SDK/JREs are installed.
-%_jvmdir               %{_libdir}/jvm
-
-# Root directory where all Java VMs/SDK/JREs expose their jars
-%_jvmjardir            %{_libdir}/jvm-exports
-
-# Root directory for all Java VM/SDK/JRE's private things.
-%_jvmprivdir   %{_libdir}/jvm-private
-
-# Root directory for all architecture dependent parts of Java VM/SDK/JRE's
-%_jvmlibdir            %{_libdir}/jvm
-
-# Root directory for all architecture independent parts of Java VM/SDK/JRE's
-%_jvmdatadir   %{_datadir}/jvm
-
-# Root directory for all configurations parts of Java VM/SDK/JRE's
-%_jvmsysconfdir        %{_sysconfdir}/jvm
-
-# Root directory for all common architecture dependent parts of Java VM/SDK/JRE's
-%_jvmcommonlibdir      %{_libdir}/jvm-common
-
-# Root directory for all common architecture independent parts of Java VM/SDK/JRE's
-%_jvmcommondatadir     %{_datadir}/jvm-common
-
-# Root directory for all common configurations parts of Java VM/SDK/JRE's
-%_jvmcommonsysconfdir  %{_sysconfdir}/jvm-common
-
-# Directory where arch-specific (JNI) version-independent jars are installed.
-%_jnidir               %{_libdir}/java
-
-
-%java_home             %([ -f %{_javadir}-utils/java-functions ] || { echo ERROR; exit 0; }; unset JAVA_HOME; . %{_javadir}-utils/java-functions; set_jvm; echo ${JAVA_HOME:-ERROR})
-
-%ant                   JAVA_HOME=%{java_home} ant
-%jar                   %{java_home}/bin/jar
-%java                  %([ -f %{_javadir}-utils/java-functions ] || { echo ERROR; exit 0; }; unset JAVACMD; . %{_javadir}-utils/java-functions; set_javacmd; echo $JAVACMD)
-%javac                 %{java_home}/bin/javac
-%javadoc               %{java_home}/bin/javadoc
-
-%add_jvm_extension     JAVA_LIBDIR=%{buildroot}/%{_javadir}    %{_bindir}/jvmjar -l
-
-%jpackage_script() \
-install -d $RPM_BUILD_ROOT%{_bindir}\
-cat > $RPM_BUILD_ROOT%{_bindir}/%5 << 'EOF' \
-#!/bin/sh\
-#\
-# %{name} script\
-# JPackage Project <http://www.jpackage.org/>\
-\
-# Source functions library\
-. %{_javadir}-utils/java-functions\
-\
-# Source system prefs\
-if [ -f %{_sysconfdir}/java/%{name}.conf ]; then\
-    . %{_sysconfdir}/java/%{name}.conf\
-fi\
-\
-# Source user prefs\
-if [ -f $HOME/.%{name}rc ]; then\
-    . $HOME/.%{name}rc\
-fi\
-\
-# Configuration\
-MAIN_CLASS=%1\
-BASE_FLAGS=%2\
-BASE_OPTIONS=%3\
-BASE_JARS="%(echo %4 | tr ':' ' ')"\
-\
-# Set parameters\
-set_jvm\
-set_classpath $BASE_JARS\
-set_flags $BASE_FLAGS\
-set_options $BASE_OPTIONS\
-\
-# Let's start\
-run "$@"\
-EOF
-
-# PEAR install macros
-# Author: Elan Ruusamäe <glen@pld-linux.org>
-#
-# Usage:
-#      %%pear_package_setup [-a #] [-n FMT]
-#
-# -a #   - also unpack SOURCE#. for PEAR bootstrapping
-# -n FMT - create builddir with FMT, instead of default %%{_pearname}-%%{version}
-# -z     - unpack pear package and let pear use package.xml (not tarball) for install. for PEAR bootstrapping
-#
-# unpack PEAR package to %%{_builddir}/FMT. package is extracted with already
-# destination hierarchy. you should copy the tree to buildroot after
-# patching/reorganizing with %%pear_package_install.
-#
-# additionally BUILDROOT is stripped from files and files are converted to UNIX
-# line endings.
-#
-# the pear install process output is recorded to install.log, you should put it
-# to %%doc for later debug or just for information.
-#
-# additionally additional-packages.txt is produced if it was detected that the
-# package has optional dependencies. the file format is suitable of displaying
-# in %%post of a package. you should put this file to %%doc. noautocompressdoc is
-# automatically added for this file.
-
-
-# records install.log and transforms PEAR names to PLD Linux rpm package names.
-%__pear_install_log \
-tee install.log \
-# make post message of optional packages \
-grep 'can optionally use' install.log | sed -e 's,package "pear/,package "php-pear-,g;s,^pear/,php-pear-,' > optional-packages.txt \
-if [ -s optional-packages.txt ]; then \
-       awk -F'"' '/use package/{print $2}' optional-packages.txt | sed -e "s,_,/,g;s,php-pear-, 'pear(,;s,$,.*)'," | tr -d '\\\n' > _noautoreq \
-else \
-       rm -f optional-packages.txt \
-fi \
-%{nil}
-
-# command invoking pear cli
-%__pear /usr/bin/pear
-
-# The main macro.
-# using this macro will append optional-packages.txt to the nocompressdoc list
-# as it's displayed to user after package install. and adding additional gzip
-# dep is just waste ;)
-%pear_package_setup(a:n:zD) \
-%define srcdir %{-n*}%{!-n:%{_pearname}-%{version}} \
-%define builddir %{_builddir}/%{srcdir} \
-%setup -q -c -T %{-D:-D} -n %{srcdir} \
-%{-z:tar zxf %{S:0}; %{-a:tar zxf %{S:%{-a*}}}} \
-%{-z:_P=package2.xml; [ -f $_P ] || _P=package.xml; _N=%{srcdir}; mv $_P $_N; cd $_N} \
-%__pear \\\
-       -c pearrc \\\
-       -d doc_dir=/docs \\\
-       -d php_dir=%{php_pear_dir} \\\
-       -d bin_dir=%{_bindir} \\\
-       -d data_dir=%{php_pear_dir}/data \\\
-       -d test_dir=%{php_pear_dir}/tests \\\
-       install \\\
-       --packagingroot=%{builddir} \\\
-       --offline \\\
-       --nodeps \\\
-       %{-f:--force} \\\
-       %{!-z:%{S:%{-a*}%{!-a:0}}}%{-z:$_P} > .install.log || { c=$?; cat .install.log; exit $c; } \
-%{-z:cd ..} \
-cat %{-z:$_N/}.install.log | %__pear_install_log \
-\
-# undos sources \
-find . -type f -print0 | xargs -0 sed -i -e 's,\\r$,,' \
-%{!?_noautocompressdoc:%global _noautocompressdoc %{nil}}%{expand:%%global _noautocompressdoc %{_noautocompressdoc} optional-packages.txt} \
-%{!?_noautoprov:%global _noautoprov %{nil}}%{expand:%%global _noautoprov %{_noautoprov} 'pear(tests/.*)'} \
-%{nil}
-
-# Copies exctracted PEAR package structure and PEAR registry to buildroot.
-# Author: Elan Ruusamäe <glen@pld-linux.org>
-%pear_package_install() \
-cp -a ./%{php_pear_dir}/{.registry,*} $RPM_BUILD_ROOT%{php_pear_dir} \
-find $RPM_BUILD_ROOT%{php_pear_dir} '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v \
-# help the developer out a little: \
-if [ -f _noautoreq ]; then \
-       echo "AutoReqdep detected:" \
-       echo "_noautoreq $(cat _noautoreq)" \
-fi \
-%{nil}
-
-
-# Register OpenLDAP schema.
-# Author: Elan Ruusamäe <glen@pld-linux.org>
-#
-# Usage:
-#   %%openldap_schema_register [-d core,nis] %{schemadir}/horde.schema
-#
-#  -d specify dependant schemas, separated by comma
-#
-%openldap_schema_register(d:) \
-for schema in %*; do \
-       if ! grep -q "$schema" /etc/openldap/slapd.conf; then \
-               %{__sed} -i -e " \
-                       /^include.*local.schema/{ \
-                               iinclude\\t     $schema\
-                       } \
-               " /etc/openldap/slapd.conf \
-       fi \
-done \
-# enable dependant schemas \
-if [ "%{-d*}" ]; then \
-       %{__sed} -i -e ' \
-       /^#include.*\\(%(echo '%{-d*}' | %{__sed} -e 's/,/\\\\|/g')\\)\\.schema/{ \
-               s/^#// \
-       }' /etc/openldap/slapd.conf \
-fi \
-%{nil}
-
-# Unregister OpenLDAP schema.
-# Author: Elan Ruusamäe <glen@pld-linux.org>
-#
-# Usage:
-#   %%openldap_schema_unregister %{schemadir}/horde.schema
-#
-%openldap_schema_unregister() \
-for schema in %*; do \
-       if grep -q "$schema" /etc/openldap/slapd.conf; then \
-               %{__sed} -i -e " \
-               /^include.*$(echo "$schema" | %{__sed} -e 's,/,\\\\/,g')/d \
-               # for symmetry it would be nice if we disable enabled schemas in post, \
-               # but we really can not do that, it would break something else. \
-               " /etc/openldap/slapd.conf \
-       fi \
-done \
-%{nil}
-
-%env_update [ ! -x /sbin/env-update ] || /sbin/env-update -u || :
-
-
-# Build modules for kernels 2.6
-# Author: Przemyslaw Iskra <sparky@pld-linux.org>
-#
-# Usage:
-#      %build_kernel_modules -m <modules> -C <directory>
-#
-#  remember that proper Makefile is still required
-# Options:
-#  -m <modules> (required) -- comma-separated list of modules to save,
-#              without .ko extension, may be placed in subdirectory
-#  -C <directory> -- change to <directory> before doing anything
-#  -p <arg>, -P <arg> -- arguments passeed to make scripts
-#  -c -- do not execute make clean
-#  <additional arguments> -- all additional arguments will be passed to
-#              make modules
-#
-# Additional patching supported via here document. Try:
-#      %build_kernel_modules -m module <<'EOF'
-#      your patch script here
-#      EOF
-# Don't use it unless patching depends on config options.
-
-# Developer note: don't touch it unless you know how to handle '\'.
-# - \ in script expands to nothing
-# - \\\ in script expands to \
-# - \\\ inside definition expands to nothing
-# - \\\\\\\ inside definition expands to \
-# - in last line \ has to touch arguments so arguments passing
-#   in new lines (using \) will be supported
-
-%build_kernel_modules(p:P:m:C:c)                                                                       \
-%{!?-m:%{error:%{0}: Required module name/list missing} exit 1}                \
-                                                                                                                                       \
-%define Opts                                                                                                           \\\\\\\
-%if "%{_target_base_arch}" != "%{_arch}"                                                       \\\
-       %if "%{_arch}" == "x86_64" && "%{_target_base_arch}" == "i386"  \\\
-       CC="%{__cc}" CPP="%{__cpp}" ARCH=%{_target_base_arch}                   \\\
-       %else                                                                                                                   \\\
-       ARCH=%{_target_base_arch} CROSS_COMPILE=%{_target_cpu}-pld-linux- \\\
-       %endif                                                                                                                  \\\
-%else                                                                                                                          \\\
-       CC="%{__cc}" CPP="%{__cpp}"                                                                             \\\
-%endif                                                                                                                         \
-%define        MakeOpts HOSTCC="%{__cc}" SYSSRC=%{_kernelsrcdir} SYSOUT=$PWD/o \\\\\\\
-               O=$PWD/o %{?with_verbose:V=1} %{Opts}                                           \
-                                                                                                                                       \
-%{?-C:cd %{-C*}}                                                                                                       \
-compile() {                                                                                                                    \
-       L="<"; [[ '%{*}' != *$L$L* ]] || PATCH_SH="set -x -e;$(cat)"    \
-       set -e -x                                                                                                               \
-                                                                                                                                       \
-for cfg in %{?with_dist_kernel:dist}%{!?with_dist_kernel:nondist}; do \
-       [ -r "%{_kernelsrcdir}/config-$cfg" ] || exit 1                                 \
-                                                                                                                                       \
-       rm -rf o                                                                                                                \
-       install -d o/include/linux                                                                              \
-       ln -sf %{_kernelsrcdir}/config-$cfg o/.config                                   \
-       ln -sf %{_kernelsrcdir}/Module.symvers-$cfg o/Module.symvers    \
-       ln -sf %{_kernelsrcdir}/include/linux/autoconf-$cfg.h o/include/linux/autoconf.h \
-%ifarch ppc ppc64                                                                                                      \
-       install -d o/include/asm                                                                                \
-       [ ! -d %{_kernelsrcdir}/include/asm-%{_target_base_arch} ] || ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch}/* o/include/asm \
-       [ ! -d %{_kernelsrcdir}/include/asm-powerpc ] || ln -snf %{_kernelsrcdir}/include/asm-powerpc/* o/include/asm   \
-%else                                                                                                                          \
-       ln -sf %{_kernelsrcdir}/include/asm-%{_target_base_arch} o/include/asm \
-%endif                                                                                                                         \
-                                                                                                                                       \
-       set +x                                                                                                                  \
-       [ -z "$PATCH_SH" ] || echo "$PATCH_SH" | %__spec_build_shell    \
-       set -x                                                                                                                  \
-                                                                                                                                       \
-       %if %{with dist_kernel}                                                                                 \
-               %{__make} -j1 -C %{_kernelsrcdir} prepare scripts                       \\\
-                       %{-p*} %{-P*}                                                                                   \\\
-                       %{MakeOpts}                                                                                             \
-       %else                                                                                                                   \
-               install -d o/include/config                                                                     \
-               touch o/include/config/MARKER                                                           \
-               ln -sf %{_kernelsrcdir}/scripts o/scripts                                       \
-       %endif                                                                                                                  \
-                                                                                                                                       \
-       %{!?-c:%{__make} -C %{_kernelsrcdir} clean                                              \\\
-               RCS_FIND_IGNORE="-name '*.ko' -o"                                                       \\\
-               M=$PWD %{MakeOpts}}                                                                                     \
-       %{__make} -C %{_kernelsrcdir} modules                                                   \\\
-               ${1+"$@"}                                                                                                       \\\
-               M=$PWD %{MakeOpts}                                                                                      \
-                                                                                                                                       \
-       for MODULE in {%{-m*},}; do                                                                             \
-               [ -z "${MODULE}" ] || mv ${MODULE}{,-$cfg}.ko                           \
-       done                                                                                                                    \
-done                                                                                                                           \
-%{?-C:cd -}                                                                                                                    \
-}                                                                                                                                      \
-compile %{*}\
-%{nil}
-
-
-# Install kernel modules built by %build_kernel_modules
-# Author: Przemyslaw Iskra <sparky@pld-linux.org>
-#
-# Usage:
-#      %install_kernel_modules -m <modules> -d <directory>
-#
-# Options:
-#  -m <modules> (required) -- comma-separated list of modules to install,
-#              without .ko extension, may be placed in subdirectory
-#  -d <directory> (required) -- in what subdirectory modules should be
-#              installed (eg. misc, kernel/drivers/net)
-#  -s <suffix> -- suffix to use when installing modules, useful when module
-#              with same name exists in kernel already
-#  -n <file> -- name of modprobe config file to use (without .conf extension)
-#              for definig aliases, only useful with -s
-
-%install_kernel_modules(m:d:s:n:)                                                                      \
-%{!?-m:%{error:%{0}: Required module name (-m) missing}exit 1}         \
-%{!?-d:%{error:%{0}: Required module directory missing}exit 1}         \
-%{?-n:%{!?-s:%{error:%{0}: Modprobe .conf file requires module suffix}exit 1}} \
-                                                                                                                                       \
-%define KernelD $RPM_BUILD_ROOT/lib/modules/%{_kernel_ver}                     \
-%define ModprobeD $RPM_BUILD_ROOT%{_sysconfdir}/modprobe.d/%{_kernel_ver} \
-                                                                                                                                       \
-install -d %{KernelD}/%{-d*}                                                                   \
-%{?-s:install -d %{ModprobeD}}                                                         \
-                                                                                                                                       \
-for MODULE in {%{-m*},}; do                                                                                    \
-       [ -n "${MODULE}" ] || continue                                                                  \
-       MNAME=${MODULE##*/}                                                                                             \
-       %if %{without dist_kernel}                                                                              \
-               install ${MODULE}-nondist.ko                                                            \\\
-                       %{KernelD}/%{-d*}/${MNAME}%{-s:-%{-s*}}.ko                              \
-               %{?-s:echo "alias ${MNAME} ${MNAME}-%{-s*}"                                     \\\
-                       >> %{ModprobeD}/%{-n*}.conf}                                                    \
-       %else                                                                                                                   \
-               install ${MODULE}-dist.ko                                                                               \\\
-                       %{KernelD}/%{-d*}/${MNAME}%{-s:-%{-s*}}.ko                              \
-               %{?-s:echo "alias ${MNAME} ${MNAME}-%{-s*}"                                     \\\
-                       >> %{ModprobeD}/%{-n*}.conf}                                                    \
-       %endif                                                                                                                  \
-done                                                                                                                           \
-%{nil}
-
-# patchset macros
-# Author: Elan Ruusamäe <glen@pld-linux.org>
-#
-# Usage:
-#   %patchset_source -f <seq(1) format> <start> [<end>]
-#   %patchset_patch <start> [<end>]
-#
-# If <end> is omited, it is assumed to be <start>.
-#
-# For example in preamble:
-#  %patchset_source -f ftp://ftp.vim.org/pub/editors/vim/patches/7.0/7.0.%03g 33 44
-# and in %prep:
-#  %patchset_patch 33 44
-
-# generate SourceX urls from range START STOP
-# Format can be SINGLE format char of %e, %f, %g, see seq(1)
-# The sources start from 10000
-%patchset_source(f:b:) %(
-       base=%{-b*}%{!-b*:10000};
-       start=$(expr $base + %1);
-       end=$(expr $base + %{?2}%{!?2:%{1}});
-       # we need to call seq twice as it doesn't allow two formats
-       seq -f 'Patch%g:' $start $end > %{tmpdir}/__ps1;
-       seq -f '%{-f*}' %1 %{?2}%{!?2:%{1}} > %{tmpdir}/__ps2;
-       paste %{tmpdir}/__ps{1,2};
-       rm -f %{tmpdir}/__ps{1,2};
-) \
-%{nil}
-
-# apply sources from %patchset_source
-# -p specify -pX for %patch line
-# -b base offset: defaults to 10000
-%patchset_patch(f:p:b:) %(
-       base=%{-b*}%{!-b*:10000};
-       start=$(expr $base + %1);
-       end=$(expr $base + %{?2}%{!?2:%{1}});
-       echo ": patchset_patch %1%{?2: to %2}";
-       seq -f 'patch%g %{-p*:-p%{-p*}}' $start $end | sed -e s,^,%%,;
-) \
-%{nil}
-
-# browser plugins v2
-# Author: Elan Ruusamäe <glen@pld-linux.org>
-#
-# Usage:
-#      %browser_plugins_add_browser <name> -p <plugindir>
-#
-#  <name> (required) -- name of the browser. usually %{name}.
-#  -p <plugindir> (required) -- in what directory browser searches for its plugins.
-#  -b -- default blacklists
-#  -a <arch> override arch
-#
-# Example:
-#   %browser_plugins_add_browser %{name} -p %{_firefoxdir}/plugins
-
-%_browserpluginsconfdir                /etc/browser-plugins
-%_browserpluginsdir                    %{_libdir}/browser-plugins
-%update_browser_plugins                /usr/sbin/update-browser-plugins || :
-
-%browser_plugins_add_browser(p:b:a:) \
-       browser=%1.%{!-a:%{_target_base_arch}}%{-a*} \
-       install -d $RPM_BUILD_ROOT%{_browserpluginsconfdir}/{blacklist,browsers}.d \
-       ln -s %{-p*} $RPM_BUILD_ROOT%{_browserpluginsconfdir}/browsers.d/$browser \
-       blacklist_file=$RPM_BUILD_ROOT%{_browserpluginsconfdir}/blacklist.d/$browser.blacklist \
-       echo '# This file format is shell globs at base dir of plugindir' > $blacklist_file \
-       %{-b:cat >> $blacklist_file %{-b*}} \
-%{nil}
-
-# vim:ts=4 sw=4 noet syn=spec
diff --git a/rpm.platform b/rpm.platform
deleted file mode 100644 (file)
index 36d574a..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# PLD rpm macros
-
-%__id          @__ID@
-%__id_u                %{__id} -u
-%__chown_Rhf           @__CHOWN_RHF@
-%__chgrp_Rhf           @__CHGRP_RHF@
-
-%_fixowner       [ `%{__id_u}` = '0' ] && %{__chown_Rhf} root:@ROOT_GROUP@
-%_fixgroup       true
-%_fixperms       %{__chmod} -Rf @FIXPERMS@
-
-%_exec_prefix    %{_prefix}
-%_bindir         %{_exec_prefix}/bin
-%_sbindir        %{_exec_prefix}/sbin
-%_datadir        %{_prefix}/share
-%_sharedstatedir /var/lib
-%_lib            @LIB@
-%_libdir         %{_exec_prefix}/%{_lib}
-%_libexecdir     %{_exec_prefix}/%{_lib}
-%_includedir     %{_prefix}/include
-%_oldincludedir  /usr/include
-%_sysconfdir     /etc
-%_localstatedir  /var
-%_infodir        /usr/share/info
-%_mandir         %{_prefix}/share/man
-%_defaultdocdir  /usr/share/doc
-
-%__os_install_post \
-%{__spec_install_post_strip}\
-%{__spec_install_post_chrpath}\
-%{__spec_install_post_compress_docs}\
-%{__spec_install_post_compress_modules}\
-%{__spec_install_post_py_hardlink}\
-%{__spec_install_post_perl_clean}\
-%{__arch_install_post}\
-%{nil}
-
index 05d891ab1522bd27e918f4eccc312d5269cdd4ee..e7c61cd98f09bcafe5356bb5fc70160481ab13a2 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -11,7 +11,7 @@
 # Conditional build:
 %bcond_with    static          # build static rpm+rpmi
 %bcond_without apidocs         # don't generate documentation with doxygen
-%bcond_with    autoreqdep      # autogenerate package name deps in addition to sonames/perl(X)
+%bcond_without autoreqdep      # autogenerate package name deps in addition to sonames/perl(X)
 %bcond_without python          # don't build python bindings
 %bcond_without selinux         # build without selinux support
 %bcond_without system_libmagic # don't use system libmagic
@@ -22,7 +22,7 @@
 # force_cpp            - force using __cpp other than "%{_target_cpu}-pld-linux-gcc -E"
 
 # versions of required libraries
-%define        reqdb_ver       4.5.20
+%define        reqdb_ver       4.5.20-6
 %define        reqpopt_ver     1.10.8
 %define        beecrypt_ver    2:4.1.2-4
 %define        sover   4.4
@@ -35,19 +35,19 @@ Summary(ru.UTF-8):  Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
 Version:       4.4.9
-Release:       0.2
-License:       GPL
+Release:       70
+License:       LGPL
 Group:         Base
-Source0:       ftp://jbj.org/pub/rpm-4.4.x/%{name}-%{version}.tar.gz
+Source0:       http://rpm5.org/files/rpm/rpm-4.4/%{name}-%{version}.tar.gz
 # Source0-md5: 210b768006e7d88dd8a3bcd498ea27f6
 Source1:       %{name}.groups
 Source2:       %{name}.platform
 Source3:       %{name}-install-tree
 Source4:       %{name}-find-spec-bcond
-Source5:       %{name}-find-lang
+Source5:       %{name}-hrmib-cache
 Source6:       %{name}-groups-po.awk
 Source7:       %{name}-compress-doc
-Source8:       %{name}-check-files
+Source8:       RPM-GPG-KEY
 Source9:       %{name}-php-provides
 Source10:      %{name}-php-requires
 Source11:      %{name}.sysinfo
@@ -56,11 +56,12 @@ Source13:   %{name}-user_group.sh
 Source14:      %{name}.sysconfig
 Source15:      %{name}-macros.java
 Source16:      %{name}-java-requires
-Source30:      builder
-Source31:      adapter.awk
-Source32:      pldnotify.awk
 # http://svn.pld-linux.org/banner.sh/
-Source33:      banner.sh
+Source17:      banner.sh
+Patch1067:     %{name}-disable-features.patch
+Patch1069:     %{name}-parentdirs.patch
+Patch1070:     %{name}-rpmrc-ac.patch
+
 Patch0:                %{name}-pl.po.patch
 Patch1:                %{name}-rpmrc.patch
 Patch2:                %{name}-arch.patch
@@ -79,18 +80,19 @@ Patch14:    %{name}-etc_dir.patch
 Patch15:       %{name}-system_libs-more.patch
 Patch16:       %{name}-php-deps.patch
 Patch17:       %{name}-ldconfig-always.patch
-Patch18:       %{name}-perl_req.patch
+Patch18:       %{name}-macros-ac.patch
 Patch19:       %{name}-link.patch
 Patch20:       %{name}-magic-usesystem.patch
 Patch21:       %{name}-dontneedutils.patch
 Patch22:       %{name}-provides-dont-obsolete.patch
 Patch23:       %{name}-pkgconfigdeps.patch
 Patch24:       %{name}-po.patch
-
+Patch25:       %{name}-rpm2cpio-payload.patch
 Patch26:       %{name}-notsc.patch
 Patch27:       %{name}-hack-norpmlibdep.patch
 Patch28:       %{name}-makefile-no_myLDADD_deps.patch
-
+Patch29:       %{name}-macros-dbhash.patch
+Patch30:       %{name}-rpm5-patchset-8784.patch
 Patch31:       %{name}-missing-prototypes.patch
 Patch32:       %{name}-pld-autodep.patch
 Patch33:       %{name}-arch-x86_64.patch
@@ -98,27 +100,42 @@ Patch34:   %{name}-epoch0.patch
 Patch35:       %{name}-perl_req-INC_dirs.patch
 Patch36:       %{name}-debuginfo.patch
 Patch37:       %{name}-doxygen_hack.patch
-
+Patch38:       %{name}-rpm5-patchset-8021.patch
+Patch39:       %{name}-popt-coreutils.patch
 Patch41:       %{name}-reduce-stack-usage.patch
 Patch42:       %{name}-old-fileconflicts-behaviour.patch
-
+Patch43:       %{name}-rpm5-patchset-8637.patch
 Patch44:       %{name}-no-neon.patch
 Patch45:       %{name}-no-sqlite.patch
 Patch46:       %{name}-mono.patch
 Patch47:       %{name}-javadeps.patch
-
+Patch48:       %{name}-nopie.patch
 Patch49:       %{name}-p4.patch
 Patch50:       %{name}-macros.patch
 Patch51:       %{name}-cleanlibdirs.patch
 Patch52:       %{name}-morearchs.patch
-
+Patch53:       %{name}-chroot-hack.patch
 Patch55:       %{name}-truncate-cvslog.patch
-
+Patch56:       %{name}-rpm5-patchset-8413.patch
 Patch57:       %{name}-as_needed-fix.patch
 Patch58:       %{name}-repackage-wo-lzma.patch
 Patch59:       %{name}-libtool-deps.patch
 Patch60:       %{name}-obsolete-rpmrc.patch
-URL:           http://wraptastic.org/
+Patch61:       %{name}-rpmdb.patch
+Patch62:       %{name}-lzma-size_t.patch
+Patch63:       %{name}-tar_as_secondary_source.patch
+Patch64:       %{name}-man_pl.patch
+Patch65:       %{name}-lzma-tukaani.patch
+Patch66:       %{name}-v3-support.patch
+Patch67:       %{name}-cleanbody.patch
+Patch68:       %{name}-rpm5-patchset-9486.patch
+Patch69:       %{name}-popt-aliases.patch
+Patch70:       %{name}-lualeak.patch
+#Patch71:      %{name}-rpm5-patchset-10061.patch
+Patch72:       %{name}-rpm5-patchset-7657.patch
+Patch73:       %{name}-namespace-probe.patch
+Patch74:       %{name}-mktemperror.patch
+URL:           http://rpm5.org/
 BuildRequires: autoconf >= 2.57
 BuildRequires: automake >= 1.4
 BuildRequires: beecrypt-devel >= %{beecrypt_ver}
@@ -137,8 +154,8 @@ BuildRequires:      neon-devel >= 0.25.5
 %endif
 BuildRequires: patch >= 2.2
 BuildRequires: popt-devel >= %{reqpopt_ver}
-%{?with_python:BuildRequires:  python-devel >= 1:2.5}
-BuildRequires: python-modules >= 1:2.5
+%{?with_python:BuildRequires:  python-devel >= 1:2.3}
+BuildRequires: python-modules >= 1:2.3
 BuildRequires: rpm-perlprov
 %{?with_python:BuildRequires:  rpm-pythonprov}
 BuildRequires: zlib-devel
@@ -164,10 +181,10 @@ Requires: %{name}-base = %{version}-%{release}
 Requires:      %{name}-lib = %{version}-%{release}
 Requires:      beecrypt >= %{beecrypt_ver}
 Requires:      popt >= %{reqpopt_ver}
+Obsoletes:     rpm-getdeps
 %{!?with_static:Obsoletes:     rpm-utils-static}
 Conflicts:     glibc < 2.2.92
-# ABI changes in rpm, new poldek needed
-Conflicts:     poldek < 0.20.1-0.20070108.1.4
+Conflicts:     poldek < 0.21-0.20070703.00.11
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 %define                _binary_payload         w9.gzdio
@@ -175,6 +192,7 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
 # don't require very fresh rpm.macros to build
 %define                __gettextize gettextize --copy --force --intl ; cp -f po/Makevars{.template,}
+%define                find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT
 %define                ix86    i386 i486 i586 i686 athlon pentium3 pentium4
 %define                ppc     ppc ppc7400 ppc7450
 %define                x8664   amd64 ia32e x86_64
@@ -185,6 +203,7 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                __newcpp %{?force_cpp}%{!?force_cpp:%{_target_cpu}-pld-linux-gcc -E}
 
 %define                _rpmlibdir /usr/lib/rpm
+%define                _noautocompressdoc      RPM-GPG-KEY
 
 %define                specflags       -fno-strict-aliasing
 
@@ -242,6 +261,7 @@ Summary:    RPM base package - scripts used by rpm packages themselves
 Summary(pl.UTF-8):     Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
 Group:         Base
 Requires:      filesystem
+Obsoletes:     rpm-scripts
 Obsoletes:     vserver-rpm
 
 %description base
@@ -263,13 +283,16 @@ Summary(pl.UTF-8):        Biblioteki RPM-a
 Group:         Libraries
 Requires:      beecrypt >= %{beecrypt_ver}
 Requires:      db >= %{reqdb_ver}
+Requires:      zlib >= 1.2.3
 %{?with_selinux:Requires:      libselinux >= 1.18}
 %{?with_system_libmagic:Requires:      libmagic >= 1.15-2}
 Requires:      popt >= %{reqpopt_ver}
+%{?with_suggest_tags:Suggests: lzma >= 1:4.42.0}
 Obsoletes:     rpm-libs
+# avoid installing with incompatible (non-tukaani) lzma
+Conflicts:     lzma < 1:4.42.0
 # avoid SEGV caused by mixed db versions
 Conflicts:     poldek < 0.18.1-16
-%{?with_suggest_tags:Suggests: lzma}
 
 %description lib
 RPMs library.
@@ -387,6 +410,7 @@ Summary(pl.UTF-8):  Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
 Group:         Applications/File
 Requires:      %{name} = %{version}-%{release}
 Requires:      popt >= %{reqpopt_ver}
+Conflicts:     filesystem-debuginfo < 2.0-7
 
 %description utils
 Additional utilities for managing RPM packages and database.
@@ -441,13 +465,11 @@ Summary(pt_BR.UTF-8):     Scripts e programas executáveis usados para construir pac
 Summary(ru.UTF-8):     Скрипты и утилиты, необходимые для сборки пакетов
 Summary(uk.UTF-8):     Скрипти та утиліти, необхідні для побудови пакетів
 Group:         Applications/File
-Requires(pre): findutils
-Requires:      %{name}-build-macros >= 1.314
+Requires(pretrans):    findutils
+Requires:      %{name}-build-macros >= 1.433-2
 Requires:      %{name}-utils = %{version}-%{release}
 Requires:      /bin/id
 Requires:      awk
-# we need fixed binutils for -feliminate-dwarf2-dups
-Requires:      binutils >= 3:2.17.50.0.3-2
 Requires:      bzip2
 Requires:      chrpath >= 0.10-4
 Requires:      cpio
@@ -456,7 +478,11 @@ Requires:  elfutils
 Requires:      file >= 4.17
 Requires:      fileutils
 Requires:      findutils
-Requires:      gcc >= 5:3.4
+%ifarch athlon
+Requires:      gcc >= 3.0.3
+%else
+Requires:      gcc
+%endif
 Requires:      glibc-devel
 Requires:      grep
 Requires:      gzip
@@ -495,40 +521,6 @@ construir pacotes usando o RPM.
 Різноманітні допоміжні скрипти та утиліти, які використовуються для
 побудови RPM'ів.
 
-%package build-tools
-Summary:       Scripts for managing .spec files and building RPM packages
-Summary(de.UTF-8):     Scripts fürs Bauen binärer RPM-Pakete
-Summary(pl.UTF-8):     Skrypty pomocnicze do zarządznia plikami .spec i budowania RPM-ów
-Summary(pt_BR.UTF-8):  Scripts e programas executáveis usados para construir pacotes
-Summary(ru.UTF-8):     Скрипты и утилиты, необходимые для сборки пакетов
-Summary(uk.UTF-8):     Скрипти та утиліти, необхідні для побудови пакетів
-Group:         Applications/File
-Requires:      %{name}-build = %{version}-%{release}
-# these are optional
-#Requires:     cvs
-Requires:      wget
-
-%description build-tools
-Scripts for managing .spec files and building RPM packages.
-
-%description build-tools -l de.UTF-8
-Scripts fürs Bauen RPM-Pakete.
-
-%description build-tools -l pl.UTF-8
-Skrypty pomocnicze do zarządzania plikami .spec i do budowania RPM-ów.
-
-%description build-tools -l pt_BR.UTF-8
-Este pacote contém scripts e programas executáveis que são usados para
-construir pacotes usando o RPM.
-
-%description build-tools -l ru.UTF-8
-Различные вспомогательные скрипты и исполняемые программы, которые
-используются для сборки RPM'ов.
-
-%description build-tools -l uk.UTF-8
-Різноманітні допоміжні скрипти та утиліти, які використовуються для
-побудови RPM'ів.
-
 %package javaprov
 Summary:       Additional utilities for checking Java provides/requires in RPM packages
 Summary(pl.UTF-8):     Dodatkowe narzędzia do sprawdzania zależności kodu w Javie w pakietach RPM
@@ -663,7 +655,6 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch15 -p1
 %patch16 -p1
 %patch17 -p1
-%patch18 -p1
 sed -e 's/^/@pld@/' %{SOURCE2} >>platform.in
 #cp -f platform.in macros.pld.in # what for?
 echo '%%define __perl_provides %%{__perl} /usr/lib/rpm/perl.prov' > macros.perl
@@ -673,7 +664,6 @@ echo '%%define      __php_provides  /usr/lib/rpm/php.prov' > macros.php
 echo '%%define __php_requires  /usr/lib/rpm/php.req' >> macros.php
 echo '%%define __mono_provides /usr/lib/rpm/mono-find-provides' > macros.mono
 echo '%%define __mono_requires /usr/lib/rpm/mono-find-requires' >> macros.mono
-install %{SOURCE5} scripts/find-lang.sh
 install %{SOURCE9} scripts/php.prov.in
 install %{SOURCE10} scripts/php.req.in
 install %{SOURCE12} scripts/perl.prov
@@ -683,9 +673,12 @@ install %{SOURCE12} scripts/perl.prov
 %patch22 -p1
 %patch23 -p1
 %patch24 -p1
+%patch25 -p1
 %patch26 -p1
 %patch27 -p1
 %patch28 -p1
+%patch29 -p1
+%patch30 -p1
 %patch31 -p1
 %patch32 -p1
 %patch33 -p1
@@ -693,31 +686,53 @@ install %{SOURCE12} scripts/perl.prov
 %patch35 -p0
 %patch36 -p1
 %patch37 -p1
+%patch38 -p1
+%patch39 -p1
 %patch41 -p1
 %patch42 -p1
+%patch43 -p1
 %{!?with_neon:%patch44 -p1}
 %patch45 -p1
 %patch46 -p1
 %patch47 -p1
+%patch48 -p1
 %patch49 -p1
 %patch50 -p1
 %patch51 -p1
 #%patch52 -p1
+%patch53 -p1
 %patch55 -p1
+%patch56 -p1
 %patch57 -p1
 %patch58 -p1
 %patch59 -p1
 %patch60 -p1
-
-cd scripts
-mv -f perl.req perl.req.in
-mv -f perl.prov perl.prov.in
-cd ..
-
+%patch18 -p1
+%patch61 -p1
+%patch62 -p1
+%patch63 -p1
+%patch64 -p1
+%patch65 -p1
+%patch66 -p1
+%patch67 -p1
+%patch68 -p1
+%patch69 -p1
+%patch70 -p1
+#%patch71 -p0
+%patch72 -p0
+%patch73 -p1
+%patch74 -p1
+
+mv -f scripts/{perl.req,perl.req.in}
+mv -f scripts/{perl.prov,perl.prov.in}
 mv -f po/{no,nb}.po
 mv -f po/{sr,sr@Latn}.po
-
 rm -rf sqlite zlib db db3 popt rpmdb/db.h
+cp %{SOURCE8} RPM-GPG-KEY
+
+%patch1067 -p1
+%patch1069 -p1
+%patch1070 -p1
 
 # generate Group translations to *.po
 awk -f %{SOURCE6} %{SOURCE1}
@@ -763,7 +778,7 @@ sed -i -e 's|@host@|%{_target_cpu}-%{_target_vendor}-linux-gnu|' -e 's|@host_cpu
        --enable-shared \
        --enable-static \
        %{!?with_apidocs:--without-apidocs} \
-       %{?with_python:--with-python=2.5} \
+       %{?with_python:--with-python=%{py_ver}} \
        %{!?with_python:--without-python} \
        %{!?with_selinux:--without-selinux} \
        --without-db
@@ -781,7 +796,7 @@ sed -i -e 's|@host@|%{_target_cpu}-%{_target_vendor}-linux-gnu|' -e 's|@host_cpu
 
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/banner}
+install -d $RPM_BUILD_ROOT{/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/banner,/var/cache/hrmib}
 
 %{__make} install \
        DESTDIR=$RPM_BUILD_ROOT \
@@ -789,16 +804,92 @@ install -d $RPM_BUILD_ROOT{/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/b
        pylibdir=%{py_libdir} \
        pkgbindir="%{_bindir}"
 
-echo "%{_target_cpu}-%{_target_vendor}-linux-gnu" > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
+cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
+# first platform file entry can't contain regexps
+%{_target_cpu}-%{_target_vendor}-linux
 
-%ifarch %{ppc}
-#sed -e '/_target_platform/s/[%]{_target_cpu}/ppc/' \
-#      -i $RPM_BUILD_ROOT%{_rpmlibdir}/ppc74[05]0-linux/macros
+%ifarch x86_64
+# x86_64 things
+amd64-[^-]*-linux(-gnu)?
+x86_64-[^-]*-linux(-gnu)?
+%endif
+%ifarch amd64
+amd64-[^-]*-linux(-gnu)?
+x86_64-[^-]*-linux(-gnu)?
+%endif
+%ifarch ia32e
+ia32e-[^-]*-linux(-gnu)?
+x86_64-[^-]*-linux(-gnu)?
+%endif
+
+%ifarch athlon %{x8664}
+# x86 things
+athlon-[^-]*-linux(-gnu)?
+%endif
+%ifarch pentium4 athlon %{x8664}
+pentium4-[^-]*-linux(-gnu)?
+%endif
+%ifarch pentium3 pentium4 athlon %{x8664}
+pentium3-[^-]*-linux(-gnu)?
+%endif
+%ifarch i686 pentium3 pentium4 athlon %{x8664}
+i686-[^-]*-linux(-gnu)?
+%endif
+%ifarch i586 i686 pentium3 pentium4 athlon %{x8664}
+i586-[^-]*-linux(-gnu)?
+%endif
+%ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664}
+i486-[^-]*-linux(-gnu)?
+%endif
+%ifarch %{ix86} %{x8664}
+i386-[^-]*-linux(-gnu)?
+%endif
+
+%ifarch alpha
+alpha-[^-]*-linux(-gnu)?
+%endif
+
+%ifarch ia64
+ia64-[^-]*-linux(-gnu)?
+%endif
+
+%ifarch ppc64
+powerpc64-[^-]*-linux(-gnu)?
+ppc64-[^-]*-linux(-gnu)?
+%endif
+%ifarch ppc ppc64
+powerpc-[^-]*-linux(-gnu)?
+ppc-[^-]*-linux(-gnu)?
 %endif
 
+%ifarch s390x
+s390x-[^-]*-linux(-gnu)?
+%endif
+%ifarch s390 s390x
+s390-[^-]*-linux(-gnu)?
+%endif
+
+%ifarch sparc64
+sparc64-[^-]*-linux(-gnu)?
+sparcv8-[^-]*-linux(-gnu)?
+sparcv9-[^-]*-linux(-gnu)?
+%endif
+%ifarch sparcv9
+sparcv8-[^-]*-linux(-gnu)?
+sparcv9-[^-]*-linux(-gnu)?
+%endif
+%ifarch sparc sparcv9 sparc64
+sparc-[^-]*-linux(-gnu)?
+%endif
+
+# noarch
+noarch-[^-]*-.*
+EOF
+
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/vpkg-provides*
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{prov,req}.pl
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{provides,requires}.perl
+rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
 
 # not installed since 4.4.8 (-tools-perl subpackage)
 install scripts/rpmdiff scripts/rpmdiff.cgi $RPM_BUILD_ROOT%{_rpmlibdir}
@@ -813,19 +904,21 @@ install %{SOURCE1} doc/manual/groups
 install %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree
 install %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond
 install %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc
-install %{SOURCE8} $RPM_BUILD_ROOT%{_rpmlibdir}/check-files
 install %{SOURCE13} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
 install %{SOURCE16} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires
-install scripts/find-php*      $RPM_BUILD_ROOT%{_rpmlibdir}
 install scripts/php.{prov,req} $RPM_BUILD_ROOT%{_rpmlibdir}
+install %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
 install %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/rpm
 
-install %{SOURCE30} $RPM_BUILD_ROOT%{_bindir}/builder
-install %{SOURCE31} $RPM_BUILD_ROOT%{_bindir}/adapter.awk
-install %{SOURCE32} $RPM_BUILD_ROOT%{_bindir}/pldnotify.awk
-install %{SOURCE33} $RPM_BUILD_ROOT%{_bindir}/banner.sh
+install %{SOURCE17} $RPM_BUILD_ROOT%{_bindir}/banner.sh
 
-install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo
+install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo
+touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname
+touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Dirnames
+install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Filelinktos
+touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Obsoletename
+touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Providename
+touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Requirename
 
 # obsolete but still installed
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/rpmrc
@@ -843,6 +936,10 @@ cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros <<EOF
 
 # If non-zero, all erasures will be automagically repackaged.
 #%%_repackage_all_erasures    1
+
+# Boolean (i.e. 1 == "yes", 0 == "no") that controls whether files
+# marked as %doc should be installed.
+#%%_excludedocs   1
 EOF
 
 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles <<EOF
@@ -916,6 +1013,8 @@ cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqdep <<EOF
 ^libxkbui.so
 # -- fam / gamin
 ^libfam.so.0
+# -- mdns-bonjour: mDNSResponder-libs / avahi-compat-libdns_sd
+^libdns_sd.so.1
 EOF
 cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc <<EOF
 # global list of file masks not to be compressed in DOCDIR
@@ -950,6 +1049,18 @@ rm -f $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd}
 # manuals for utils dropped in 4.4.8 (?)
 #rm -f $RPM_BUILD_ROOT%{_mandir}/{,*/}/man8/{rpmcache,rpmgraph}.8
 
+# unpackaged in 4.4.9, reasons unknown
+rm $RPM_BUILD_ROOT%{_bindir}/rpm{db,e,i,query,sign,u,verify}
+rm $RPM_BUILD_ROOT%{_rpmlibdir}/rpm{d,e,i,k,q,u,v}
+rm $RPM_BUILD_ROOT%{_rpmlibdir}/symclash.{sh,py}
+rm $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod
+rm $RPM_BUILD_ROOT%{perl_sitearch}/RPM.pm
+rm $RPM_BUILD_ROOT%{perl_sitearch}/auto/RPM/.packlist
+rm $RPM_BUILD_ROOT%{perl_sitearch}/auto/RPM/RPM.bs
+rm $RPM_BUILD_ROOT%{perl_sitearch}/auto/RPM/RPM.so
+rm $RPM_BUILD_ROOT%{_prefix}/local/man/man3/RPM.3pm
+rm $RPM_BUILD_ROOT%{_mandir}/{,ja,pl}/man8/rpm{cache,graph}.8
+
 %find_lang %{name}
 
 rm -rf manual
@@ -959,15 +1070,55 @@ rm -f manual/Makefile*
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%triggerpostun lib -- %{name}-lib < %{version}
+echo >&2 "rpm-lib upgrade: Removing /var/lib/rpm/__db* from older rpmdb version"
+rm -f /var/lib/rpm/__db*
+if [ -d /vservers ]; then
+       echo >&2 "rpm-lib upgrade: Removing vservers apps/pkgmgmt/base/rpm/state/__* from older rpmdb version"
+       rm -f /etc/vservers/*/apps/pkgmgmt/base/rpm/state/__*
+fi
+echo >&2 "You should rebuild your rpmdb: rpm --rebuilddb to avoid random rpmdb errors"
+# TODO: poldek should abort if it can't reopen rpmdb after rpm exec:
+#Installing set #3
+#rpmdb: Program version 4.2 doesn't match environment version
+#error: db4 error(22) from dbenv->open: Invalid argument
+#error: cannot open Packages index using db3 - Invalid argument (22)
+#error: //var/lib/rpm: open rpm database failed
+#Processing dependencies...
+#There are more than one package which provide "/bin/sh":
+# if poldek is running, kill it so it will not attempt to fill whole rpmdb
+p=$(/sbin/pidof poldek)
+if [ "$p" ]; then
+       echo >&2 "Killing poldek ($p), don't panic :)"
+       kill $p
+fi
+
+%triggerpostun lib -- db4.5 < %{reqdb_ver}
+echo >&2 "db4.5 upgrade: Removing /var/lib/rpm/__db* from older rpmdb version"
+rm -f /var/lib/rpm/__db*
+if [ -d /vservers ]; then
+       echo >&2 "db4.5 upgrade: Removing vservers apps/pkgmgmt/base/rpm/state/__* from older rpmdb version"
+       rm -f /etc/vservers/*/apps/pkgmgmt/base/rpm/state/__*
+fi
+echo >&2 "You should rebuild your rpmdb: rpm --rebuilddb to avoid random rpmdb errors"
+if [ "$p" ]; then
+       echo >&2 "Killing poldek ($p), don't panic :)"
+       kill $p
+fi
+
+%triggerpostun -- %{name} < 4.4.9-44
+%{_rpmlibdir}/hrmib-cache
+
 %post  lib -p /sbin/ldconfig
 %postun lib -p /sbin/ldconfig
 
-%pre build
+%pretrans build
 find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %files -f %{name}.lang
 %defattr(644,root,root,755)
 %doc CHANGES CREDITS README wdj/JBJ-GPG-KEY manual/*
+%doc RPM-GPG-KEY
 
 %attr(755,root,root) /bin/rpm
 #%attr(755,root,root) %{_bindir}/rpmdb
@@ -977,8 +1128,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %dir %{_sysconfdir}/rpm
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
+%dir %{_sysconfdir}/rpm/sysinfo
 # these are ok to be replaced
-%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo
+%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo/*
 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
 
 
@@ -995,6 +1147,10 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %dir /var/lock/rpm
 /var/lock/rpm/transaction
 
+# exported package NVRA (stamped with install tid)
+# net-snmp hrSWInstalledName queries, bash-completions
+%dir /var/cache/hrmib
+
 #%attr(755,root,root) %{_rpmlibdir}/rpmd
 #%{!?with_static:%attr(755,root,root) %{_rpmlibdir}/rpm[eiu]}
 #%attr(755,root,root) %{_rpmlibdir}/rpmk
@@ -1003,6 +1159,8 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %{_rpmlibdir}/rpmpopt*
 %{_rpmlibdir}/macros
 
+%attr(755,root,root) %{_rpmlibdir}/hrmib-cache
+
 %files base
 %defattr(644,root,root,755)
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
@@ -1013,13 +1171,13 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 
 %files lib
 %defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/librpm*-*.so
-%attr(755,root,root) %{_libdir}/librpm*-*.so
+%attr(755,root,root) /%{_lib}/librpm-%{sover}.so
+%attr(755,root,root) /%{_lib}/librpmdb-%{sover}.so
+%attr(755,root,root) /%{_lib}/librpmio-%{sover}.so
+%attr(755,root,root) %{_libdir}/librpmbuild-%{sover}.so
 
 %files devel
 %defattr(644,root,root,755)
-%{_includedir}/rpm
-%{_libdir}/librpm*.la
 %attr(755,root,root) %{_libdir}/librpm.so
 %attr(755,root,root) %{_libdir}/librpm-%{sover}.so
 %attr(755,root,root) %{_libdir}/librpmio.so
@@ -1027,10 +1185,18 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_libdir}/librpmdb.so
 %attr(755,root,root) %{_libdir}/librpmdb-%{sover}.so
 %attr(755,root,root) %{_libdir}/librpmbuild.so
+%{_libdir}/librpm.la
+%{_libdir}/librpmbuild.la
+%{_libdir}/librpmdb.la
+%{_libdir}/librpmio.la
+%{_includedir}/rpm
 
 %files static
 %defattr(644,root,root,755)
-%{_libdir}/librpm*.a
+%{_libdir}/librpm.a
+%{_libdir}/librpmbuild.a
+%{_libdir}/librpmdb.a
+%{_libdir}/librpmio.a
 
 %files utils
 %defattr(644,root,root,755)
@@ -1076,7 +1242,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_rpmlibdir}/config.*
 %attr(755,root,root) %{_rpmlibdir}/cross-build
 %attr(755,root,root) %{_rpmlibdir}/find-spec-bcond
-%attr(755,root,root) %{_rpmlibdir}/find-lang.sh
 %attr(755,root,root) %{_rpmlibdir}/getpo.sh
 %attr(755,root,root) %{_rpmlibdir}/install-build-tree
 %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs
@@ -1109,6 +1274,8 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %{_rpmlibdir}/sparc*
 %endif
 %ifarch %{x8664}
+%{_rpmlibdir}/amd64*
+%{_rpmlibdir}/ia32e*
 %{_rpmlibdir}/x86_64*
 %endif
 # must be here for "Requires: rpm-*prov" to work
@@ -1133,12 +1300,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %lang(pl) %{_mandir}/pl/man1/gendiff.1*
 %lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
 
-%files build-tools
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/builder
-%attr(755,root,root) %{_bindir}/adapter.awk
-%attr(755,root,root) %{_bindir}/pldnotify.awk
-
 %files javaprov
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_rpmlibdir}/java-find-requires
@@ -1163,7 +1324,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %files php-pearprov
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_rpmlibdir}/php*
-%attr(755,root,root) %{_rpmlibdir}/find-php*
 
 %if %{with python}
 %files -n python-rpm
diff --git a/rpm.sysconfig b/rpm.sysconfig
deleted file mode 100644 (file)
index 1ad0c52..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# This file is intended for setting rpm options that cannot be set as macros
-#
-# NOTE:
-#      At this moment only few packages use this features.
-
-# How verbose the .rpm scripts/triggers should be?
-RPM_SCRIPTVERBOSITY=5
-
-# Should unused users be removed at package deinstallation?
-RPM_USERDEL=yes
-
-# Should automatic restarts from rpm upgrades be skipped?
-# You can also disable this per service, if service supports it from
-# /etc/sysconfig/SERVICE
-#RPM_SKIP_AUTO_RESTART=yes
index 35d4909c6e920f1f156d358bd46bace7d6b886a5..71bed23d0e3fcea56b50dd982f6f9591f05619f3 100644 (file)
@@ -1,5 +1,4 @@
-Filelinktos:
-       /proc/self/fd
-       /dev/fd/0
-       /dev/fd/1
-       /dev/fd/2
+/proc/self/fd
+/dev/fd/0
+/dev/fd/1
+/dev/fd/2
This page took 0.517263 seconds and 4 git commands to generate.