Sprout from master 2008-02-01 16:41:08 UTC Elan Ruusamäe <glen@pld-linux.org> '- revert filezilla related hack'
Cherrypick from master 2008-03-24 20:25:57 UTC Elan Ruusamäe <glen@pld-linux.org> '- add --what-provides, --what-requires':
rpm-popt-downgrade.patch -> 1.2
Cherrypick from master 2008-11-18 13:34:55 UTC Elan Ruusamäe <glen@pld-linux.org> '- add Libraries/Java':
rpm.groups -> 1.91
Cherrypick from master 2010-11-12 15:40:47 UTC Elan Ruusamäe <glen@pld-linux.org> '- do not output tag, wasn't needed before':
rpm-java-requires -> 1.10
Cherrypick from rpm-4_4_9 2008-01-01 22:49:58 UTC tommat <tommat@pld-linux.org> '- updated':
rpm-sparc64.patch -> 1.1.2.1
Cherrypick from rpm-4_4_9 2008-04-07 18:57:18 UTC Elan Ruusamäe <glen@pld-linux.org> '- jbj: fix: reverse arrows on erasure dependency graph.':
rpm-rpm5-patchset-10061.patch -> 1.1.2.1
Delete:
RPM-GPG-KEY
adapter.awk
banner.sh
builder
db-rpm-robustness.patch
patch.4.5.20.1
patch.4.5.20.2
perl.prov
pldnotify.awk
rpm-bug-146549.patch
rpm-compress-doc
rpm-compress-doc.patch
rpm-cpuinfo.patch
rpm-debuginfo.patch
rpm-dontneedutils.patch
rpm-doxygen_hack.patch
rpm-epoch0.patch
rpm-error-fatal.patch
rpm-etc_dir.patch
rpm-find-spec-bcond
rpm-gettext-in-header.patch
rpm-groups-po.awk
rpm-hack-norpmlibdep.patch
rpm-install-tree
rpm-javadeps.patch
rpm-libtool-deps.patch
rpm-lzma-size_t.patch
rpm-macros-amd64
rpm-macros-athlon
rpm-macros-i386
rpm-macros-i486
rpm-macros-i586
rpm-macros-i686
rpm-macros-ia32e
rpm-macros-noarch
rpm-macros-pentium3
rpm-macros-pentium4
rpm-macros-ppc
rpm-macros-x86_64
rpm-macros.java
rpm-macros.patch
rpm-man_pl.patch
rpm-mono.patch
rpm-morearchs.patch
rpm-noexpand.patch
rpm-notsc.patch
rpm-old-fileconflicts-behaviour.patch
rpm-perl-macros.patch
rpm-perl-req-perlfile.patch
rpm-perl_req-INC_dirs.patch
rpm-php-deps.patch
rpm-php-macros.patch
rpm-php-provides
rpm-php-requires
rpm-pkgconfigdeps.patch
rpm-pl.po.patch
rpm-pld-autodep.patch
rpm-pld.macros
rpm-po.patch
rpm-provides-dont-obsolete.patch
rpm-repackage-wo-lzma.patch
rpm-rpm2cpio-payload.patch
rpm-rpm5-patchset-8413.patch
rpm-rpm5-patchset-8637.patch
rpm-rpm5-patchset-8784.patch
rpm-rpmpopt.patch
rpm-rpmrc-resurrect.patch
rpm-scripts-closefds.patch
rpm-tar_as_secondary_source.patch
rpm-truncate-cvslog.patch
rpm-user_group.sh
rpm-v3-support.patch
rpm.macros
rpm.platform
rpm.spec
rpm.sysconfig
rpm.sysinfo
+++ /dev/null
-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-----
-
+++ /dev/null
-#!/usr/bin/gawk -f
-#
-# This is adapter v0.28. Adapter adapts .spec files for PLD Linux.
-# $Id$
-#
-# Copyright (C) 1999-2007 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>
-# Jakub Bogusz <qboosh@pld-linux.org>
-# 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 = "(R|BR|Summary|Name|Version|Release|Epoch|License|Group|URL|BuildArch|BuildRoot|Obsoletes|Conflicts|Provides|ExclusiveArch|ExcludeArch|Pre[Rr]eq|(Build)?Requires|Suggests)"
-
- 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 %_kdedocdir" | getline kdedocdir
- "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(/^Suggests/, "X1Suggests", s);
- gsub(/^Provides/, "X2Provides", s);
- gsub(/^Obsoletes/, "X3Obsoletes", s);
- gsub(/^Conflicts/, "X4Conflicts", s);
- gsub(/^BuildArch/, "X5BuildArch", 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("automake -a -c", "%{__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}");
- sub(/^libtoolize$/, "%{__libtoolize}");
-
- # 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/) {
- # stop changelog if "real" changelog starts
- if (boc == 0 && /^\* /) {
- boc = -1
- }
- if (boc == -1) {
- next;
- }
- 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_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\.$/ && !/Inc\.$/) {
- 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)
- sub(/^System$/, "Base", group)
- sub(/^Applications\/Productivity$/, "X11/Applications", group)
- sub(/^Database$/, "Applications/Databases", group)
- sub(/^Development\/Code Generators$/, "Development", group)
- sub(/^Emulators$/, "Applications/Emulators", group)
- sub(/^System\/Libraries$/, "Libraries", 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(/^jakarta-ant$/, "ant", $2);
- sub(/^xerces-j2$/, "xerces-j", $2);
- sub(/^ldapjdk$/, "ldapsdk", $2);
- sub(/^saxon-scripts$/, "saxon", $2);
- sub(/^xalan-j2$/, "xalan-j", $2);
- sub(/^xerces-j2$/, "xerces-j", $2);
-
- replace_php_virtual_deps();
- }
-
- if (field ~ /^requires:/) {
- replace_php_virtual_deps();
- }
-
-
- # obsolete/unwanted tags
- if (field ~ /vendor:|packager:|distribution:|docdir:|prefix:|icon:|author:|author-email:|metadata-version:/) {
- next
- }
-
- 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)
-
- sub("^ftp://ftp\.gnome\.org/", "http://ftp.gnome.org/", $2)
- sub("^http://ftp\.gnome\.org/pub/gnome/", "http://ftp.gnome.org/pub/GNOME/", $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);
- }
- if ($1 == "BR:" ) {
- $1 = "BuildRequires:"
- }
- if ($1 == "R:" ) {
- $1 = "Requires:"
- }
- 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(libdir, "%{_libdir}")
-
- 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;
- if ($c ~ sysconfdir "/ppp")
- continue;
- if ($c ~ sysconfdir "/dbus-1")
- continue;
- gsub(sysconfdir, "%{_sysconfdir}", $c)
- }
-
- gsub(kdedocdir, "%{_kdedocdir}")
- 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);
- $0 = fixedsub("%__install", "install", $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.300");
- }
-
-}
-
-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")
- gsub("%{_sysconfdir}/dbus-1", "/etc/dbus-1")
-
- # /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 leading whitespace
- gsub(/^ +/, "");
-
- # kill default attrs
- gsub(/%dir %attr\(755,root,root\)/, "%dir");
- gsub(/%attr\(755,root,root\) %dir/, "%dir");
- if (!/%dir/) {
- gsub(/%attr\(644,root,root\) /, "");
- }
-
- # sort %verify attrs
- if (match($0, /%verify\(not([^)]+)\)/)) {
- 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-[a-z]/ && pkg !~ /^php-(pear|common|cli|devel|fcgi|cgi|dirs|program|pecl-)/) {
-# sub(/^php-/, "php(", pkg);
-# sub(/$/, ") # verify this correctness -- it may be wanted to use specific not virtual dep", pkg);
-# $2 = pkg
-# }
-
- if (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
+++ /dev/null
-#!/bin/sh
-#
-# bug reports send to pzurowski@pld-linux.org or pld-devel-* lists
-#
-# 2004, GPL 2+
-#
-# >> PLACE STANDARD GPL DISCLAIMER H E R E . <<
-#
-CONFIG=/etc/sysconfig/banner
-
-####################################################### CONFIG ########
-
-# default paramaters
-##########################
-
-BANNERDIR="/var/lib/banner/"
-# egrep regexp
-EXCLUDEFILES="(rpmnew$|rpmsave$|~$)"
-STDOUT="1" # stdout by default
-#STDOUT="2" # stderr by default
-
-# config paramaeters
-##########################
-
-if [ -r $CONFIG ]; then
- . $CONFIG
-fi
-
-
-# override parameters
-##########################
-
-ALL_BANNERS=0
-BANNERS=""
-NOBANNERS=""
-BANNER_LIST=""
-CHOOSE_NEWER="no"
-CHOOSE_OLDER="no"
-EXCLUDE_FLAG=0
-NEED_BANNER_LIST=0
-NEED_MTIME_CHECK=0
-NEW_APPEND=0
-NEW_BANNER=""
-NEW_SHOW=0
-
-case $STDOUT in
- [1-9]) ;;
- *) STDOUT="1" ;;
-esac
-
-#################################################### FUNCTIONS ########
-
-Usage()
-{
- cat << EOF
-Usage: $(basename $0) [opitions] [banners]
-EOF
-}
-Help()
-{
- Usage
- cat << EOF
--a
---all - all banners
---delete - delete wanted banners
--e
---exclude - exclude following banners (useful with -a)
--h
---help - show this help
--i
---include - cancel effect of -e (EXCLUDED banners will remain excluded)
--m
---make - make a brand-new banner named as following parameter [1] (from stdin)
--M - same as above, but append if file exists
--n
---names - show names of the banners
---newer - all choosen banners should be newer than following parameter in seconds
---older - all choosen banners should be older than following parameter in seconds
--s
---show - show wanted banners
---stderr - send banner to stderr instead of stdout (or other)
---stdout - send banner to stdout instead of stderr (or other)
--u
---usage - show short help
-
-[1] - if there will be no slash ('/') in name then config dir will be used,
- else -- specified.
-EOF
-}
-Unknown_para()
-{
- cat << EOF
-Unknown parameter $1
-EOF
- Help
-}
-
-check_banners_mtime()
-{
- BANNERS="$1"
- OLDER="$2"
- NEWER="$3"
- DATE=$(date +%s)
- for BANNER in $BANNERS;do
- STAT=$(stat -c %Y "$BANNERDIR/$BANNER")
- if [ $OLDER != "no" -a $(( $DATE - $STAT )) -lt $OLDER ]; then
- BANNER=""
- fi
- if [ $NEWER != "no" -a $(( $DATE - $STAT )) -gt $NEWER ]; then
- BANNER=""
- fi
- echo $BANNER
- done
-}
-delete_banners()
-{
- BANNERS="$1"
- rm -rf $(get_banner_location_list "$BANNER")
-}
-get_all_banner_list()
-{
- ls "$BANNERDIR" | grep -E -v "$EXCLUDEFILES"
-}
-get_banner_list()
-{
- BANNERS="$1"
- NOBANNERS="$2"
- for BANNER in $BANNERS; do
- if [ -r "$BANNERDIR/$BANNER" ];then
- echo $NOBANNERS | grep -q $BANNER || echo $BANNER
- fi
- done
-}
-get_banner_location_list()
-{
- BANNERS="$1"
- for BANNER in $BANNERS; do
- echo "$BANNERDIR/$BANNER"
- done
-}
-make_banner()
-{
- BANNER="$1"
- SHOW="$2"
- if [ ! -d "${BANNER%/*}" ]; then
- mkdir -p "${BANNER%/*}"
- fi
- data=$(cat)
- if [ $NEW_APPEND -eq 0 ]; then
- echo "$data" > $BANNER
- else
- echo "$data" >> $BANNER
- fi
- if [ $SHOW -eq 1 ];then
- echo "$data"
- fi
-}
-show_banner()
-{
- cat $BANNERDIR/$1 >&$STDOUT
-}
-show_banners()
-{
- for BANNER in $*; do
- show_banner $BANNER
- done
-}
-######################################################## MAIN ########
-while [ ! -z $1 ]; do
- case $1 in
- -a|--all)
- ALL_BANNERS=1
- ;;
- --delete)
- NEED_BANNER_LIST=1
- ACTION="delete"
- ;;
- -e|--exclude)
- EXCLUDE_FLAG=1
- ;;
- -h|--help)
- Help
- exit 0
- ;;
- -i|--include)
- EXCLUDE_FLAG=0
- ;;
- -m|--make|-M)
- NEED_BANNER_LIST=0
- if [[ $2 != */* ]]; then
- NEW_BANNER="$BANNERDIR/${2##*/}"
- else
- NEW_BANNER="$2"
- fi
- ACTION="make"
- if [ "$1" == "-M" ];then
- NEW_APPEND=1
- else
- NEW_APPEND=0
- fi
- if [ -z "$NEW_BANNER" ];then
- Help
- exit 2
- fi
- shift
- ;;
- -n|--names)
- NEED_BANNER_LIST=1
- ACTION="names"
- ;;
- --newer)
- NEED_MTIME_CHECK=1
- CHOOSE_NEWER="$2"
- if [ -z "$CHOOSE_NEWER" ];then
- Help
- exit 2
- fi
- shift
- ;;
- --older)
- NEED_MTIME_CHECK=1
- CHOOSE_OLDER="$2"
- if [ -z "$CHOOSE_OLDER" ];then
- Help
- exit 2
- fi
- shift
- ;;
- -s|--show)
- NEED_BANNER_LIST=1
- NEW_SHOW=1
- ACTION="show"
- ;;
- --stdout)
- STDOUT="1"
- ;;
- --stderr)
- STDOUT="2"
- ;;
- -u|--usage)
- Usage
- exit 0
- ;;
- -*)
- Unknown_para "$1"
- exit 1
- ;;
- *)
- if [ $EXCLUDE_FLAG -eq 0 ];then
- BANNERS="$BANNERS ${1##*/}"
- else
- NOBANNERS="$NOBANNERS ${1##*/}"
- fi
- ;;
- esac
- shift
-done
-
-if [ $ALL_BANNERS -ne 0 ]; then
- BANNERS=`get_all_banner_list`
-fi
-if [ $NEED_BANNER_LIST -ne 0 ];then
- BANNER_LIST=`get_banner_list "$BANNERS" "$NOBANNERS"`
-fi
-if [ $NEED_MTIME_CHECK -ne 0 ];then
- BANNER_LIST=`check_banners_mtime "$BANNER_LIST" "$CHOOSE_OLDER" "$CHOOSE_NEWER"`
-fi
-
-case $ACTION in
- "delete")
- delete_banners $BANNER_LIST;
- ;;
- "make")
- make_banner $NEW_BANNER $NEW_SHOW;
- ;;
- "names")
- echo $BANNER_LIST;
- ;;
- "show")
- show_banners $BANNER_LIST;
- ;;
-esac
-
-
-
+++ /dev/null
-#!/bin/ksh
-#
-# This program is free software, distributed under the terms of
-# the GNU General Public License Version 2.
-#
-# -----------
-# 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.20/$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=""
-PREFMIRRORS=""
-UPDATE=""
-ADD5=""
-NO5=""
-ALWAYS_CVSUP=${ALWAYS_CVSUP:-"yes"}
-CVSROOT=""
-GREEDSRC=""
-
-# 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}] [--use-greed-sources]
-[-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
--pm, --prefer-mirrors - prefer mirrors (if any) over distfiles for SOURCES
---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
---use-greed-sources
- - try download source from tag head if don't find it in
- current tag
--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
-%requires_xorg_xserver_extension %{nil}
-%requires_xorg_xserver_xinput %{nil}
-%requires_xorg_xserver_font %{nil}
-%requires_xorg_xserver_videodrv %{nil}
-%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 >&2 "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
- local extra
- if [ "$ASSUMED_NAME" ]; then
- extra="--define 'name $ASSUMED_NAME'"
- fi
- SOURCE_DIR="`eval $RPM $RPMOPTS $extra --eval '%{_sourcedir}'`"
- SPECS_DIR="`eval $RPM $RPMOPTS $extra --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"
-
- # optionally prefer mirror over distfiles if there's mirror
- # TODO: build url list and then try each url from the list
- if [ -n "$PREFMIRRORS" ] && [ -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
- if [ -n "GREEDSRC" ]; then
- get_greed_sources $i
- else
- Exit_error err_no_source_in_repo $i
- fi
- 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"
- elif [ -n "GREEDSRC" ]; then
- get_greed_sources $i
- 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"
- printf "Tagging %d files\n" $(echo $tag_files | wc -w)
- cvs $OPTIONS $TAGVER $tag_files || exit
- fi
- if [ -n "$TAG" ]; then
- update_shell_title "tag sources: $TAG"
-
- while [ "$tag_files" ]; do
- local chunk=$(echo $tag_files | tr ' ' '\n' | head -n 100)
- printf "Tagging %d files\n" $(echo $chunk | wc -w)
- cvs $OPTIONS $TAG $chunk || exit
- tag_files=$(echo $tag_files | tr ' ' '\n' | tail +101)
- done
- 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"
- elif [ -n "GREEDSRC" ]; then
- get_greed_sources $i
- 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"
-}
-
-get_greed_sources() {
- CVSROOT=":pserver:cvs@$CVS_SERVER:/cvsroot"
- if [ -n "BE_VERBOSE" ]; then
- echo "Try greed download: $1 from: $CVSROOT"
- fi
- cvs -d $CVSROOT get SOURCES/$1
- if [ $? != 0 ]; then
- Exit_error err_no_source_in_repo $1
- fi
-
-}
-
-#---------------------------------------------
-# 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 -B"; 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;;
- -pm | --prefer-mirrors )
- PREFMIRRORS="yes"
- 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 ;;
- --use-greed-sources )
- GREEDSRC="1"
- 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="$(basename ${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
+++ /dev/null
-; http://rpm5.org/cvs/chngview?cn=6633
-Index: db/mutex/mut_pthread.c
-RCS File: /v/rpm/cvs/db/mutex/mut_pthread.c,v
-rcsdiff -q -kk '-r1.3.2.3' '-r1.3.2.4' -u '/v/rpm/cvs/db/mutex/mut_pthread.c,v' 2>/dev/null
---- db/mutex/mut_pthread.c 2006/10/01 22:31:46 1.3.2.3
-+++ db/mutex/mut_pthread.c 2006/12/02 16:57:37 1.3.2.4
-@@ -71,7 +71,13 @@
- pthread_mutexattr_t mutexattr, *mutexattrp = NULL;
-
- if (!LF_ISSET(DB_MUTEX_PROCESS_ONLY)) {
-+#if defined(EOWNERDEAD)
- RET_SET((pthread_mutexattr_init(&mutexattr)), ret);
-+ if (ret == 0) {
-+ RET_SET((pthread_mutexattr_setrobust_np(
-+ &mutexattr, PTHREAD_MUTEX_ROBUST_NP)), ret);
-+ }
-+#endif
- #ifndef HAVE_MUTEX_THREAD_ONLY
- if (ret == 0)
- RET_SET((pthread_mutexattr_setpshared(
-@@ -196,6 +202,12 @@
- #endif
-
- RET_SET((pthread_mutex_lock(&mutexp->mutex)), ret);
-+#if defined(EOWNERDEAD)
-+ if (ret == EOWNERDEAD) {
-+ RET_SET((pthread_mutex_consistent_np(&mutexp->mutex)), ret);
-+ ret = 0;
-+ }
-+#endif
- if (ret != 0)
- goto err;
-
-@@ -306,6 +318,12 @@
- #endif
- if (F_ISSET(mutexp, DB_MUTEX_SELF_BLOCK)) {
- RET_SET((pthread_mutex_lock(&mutexp->mutex)), ret);
-+#if defined(EOWNERDEAD)
-+ if (ret == EOWNERDEAD) {
-+ RET_SET((pthread_mutex_consistent_np(&mutexp->mutex)), ret);
-+ ret = 0;
-+ }
-+#endif
- if (ret != 0)
- goto err;
-
-
+++ /dev/null
-*** 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;
+++ /dev/null
-*** 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);
- }
-
+++ /dev/null
-#!/usr/bin/perl
-use strict;
-
-# perl.prov - find information about perl modules for RPM
-# $Id$
-
-# It's questionable if we should provide perl(Foo::Bar) for modules
-# from outside @INC (possibly shipped with some applications).
-# I think we should not, and provide them only for the perl.req script,
-# while it scans files in that particular application.
-
-
-# check if we are called directly
-if ($0 =~ m#(?:^|/)perl.prov$#) {
- my $prov = new RPM::PerlReq;
- # process @ARGV or STDIN
- foreach ( @ARGV ? @ARGV : <> ) {
- chomp;
- next if -l || !-f _; # skip non-files and symlinks
- next if m#/usr/(?:share/doc|src)/#; # lot of false alarms; warning: we omit ^ here
- next if !m#\.p[ml]$#; # we only care about *.pm and *.pl files
- $prov->process_file($_);
- }
- $prov->print_result;
-}
-
-
-package RPM::PerlReq;
-use Safe;
-
-sub new {
- my $class = shift;
- my $self = {
- inc => [
- sort { length $b cmp length $a } grep m#^/#,
- map { y#/#/#s; s#/$##; $_ } @INC
- ],
- provide => {},
- safe => Safe->new,
- @_,
- };
- bless $self, $class;
-}
-
-# print out what we found
-sub print_result {
- my $self = shift;
- for (sort keys %{ $self->{provide} }) {
- print "perl($_)"
- . (length $self->{provide}->{$_} ? " = $self->{provide}->{$_}" : '')
- . "\n";
- }
-}
-
-sub process_file {
- my $self = shift;
- my $file = shift;
- my ( $package, $version );
-
- # if the file lives under @INC, we can
- # obtain the package name from it's path
- for (@{ $self->{inc} }) {
- if ($file =~ m#\Q$_\E/(.+)$#) { # we can't use ^ here
- $package = $1;
-
- if ($package !~ s/\.pm$//) { # it's a *.pl
- # $package =~ m#([^/]+)$#;
- # $provide{$1} = '';
- return 1;
- }
-
- $package =~ s#/#::#g;
- last;
- }
- }
-
- # it can be a *.pl oustide @INC
- return if /\.pl$/;
-
- local *FILE;
- open FILE, $file or die "$0: cannot open file `$file': $!";
-
- while (<FILE>) {
-
- # skip the documentation
- next
- if m/^=(?:head1|head2|pod|item|begin|for|over)\b/
- ... ( m/^=(?:cut|end)\b/ || $. == 1 );
-
- # skip the data section
- last if m/^__(?:DATA|END)__$/;
-
- # search for the package name
- if (
- !defined $package
- && ( my ($pack) = m/^\s*(?:\{\s*)?package\s+([_:a-zA-Z0-9]+?):*\s*;/ )
- && $1 ne 'main'
- && match_the_path( $file, $1 )
- )
- {
- $package = $pack;
- }
-
- if ( !defined $version && /([\$*])(([\w\:\']*)\bVERSION)\b.*\=/ ) {
- ( $version = $self->{safe}->reval($_) ) =~ s/^\s+|alpha|beta|\s+$//g;
- if ( defined $version
- && length $version
- && $version =~ /[^\d\._abcdefgh]/ )
- {
- warn "$0: weird version number in $file: [$version]\n";
- $version = '';
- }
- }
- }
-
- unless ( defined $package ) {
- warn "$0: weird, cannot determine the package name for `$file'\n";
- return 0;
- }
-
- $self->{provide}->{$package} = $version;
-
- close FILE or die "$0: cannot close file `$file': $!";
-
- 1;
-}
-
-
-# Returns C<true> if the package name matches the path,
-# so you can use() it. C<false> otherwise.
-sub match_the_path {
- my ( $file, $pack ) = @_;
- $pack =~ s#::#/#g;
- $file =~ /\Q$pack\E(?:\.pm)?$/;
-}
-
-
-1;
-
-# vim: ts=4 sw=4 noet noai nosi cin
+++ /dev/null
-#!/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)
-}
+++ /dev/null
-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
+++ /dev/null
-#!/bin/sh
-#
-# Compress documentation files found in $DOCDIR. Omit some files we don't
-# want to get compressed.
-#
-# /etc/rpm/noautocompressdoc and --noautocompressdoc= option can contain
-# whitespace delimated list of patters to omit.
-#
-
-#set -x
-
-COMPRESS_CMD="gzip -9nf"
-EXCLUDE_SUFFIXES="htm html jpg jpeg png gif pdf css dia js abw HTM JPG PNG GIF PDF CSS JS"
-EXCLUDE_MASKS=
-RECOMPRESS_BZIP2=yes
-
-nocompressdoc=''
-while [ $# -gt 0 ]; do
- case "$1" in
- --noautocompressdoc=*)
- EXCLUDE_MASKS=`echo "${1#--noautocompressdoc=}" | sed -e 's/^ *//;s/ *$//;s/ \+/|/g'`
- esac
- shift
-done
-
-if [ -r /etc/rpm/noautocompressdoc ]; then
- exclude=$(cat /etc/rpm/noautocompressdoc | grep -v '^#' | xargs echo | sed -e 's/^ *//;s/ *$//;s/ \+/|/g')
- if [ -n "${exclude}" ]; then
- if [ -n "${EXCLUDE_MASKS}" ]; then
- EXCLUDE_MASKS="${EXCLUDE_MASKS}|${exclude}"
- else
- EXCLUDE_MASKS="${exclude}"
- fi
- fi
-fi
-
-if [ "$DOCDIR" = "" ] ; then
- echo '$DOCDIR not set; exiting.'
- exit 1
-fi
-
-cd $DOCDIR
-
-echo "Compressing documentation in $DOCDIR..."
-
-if test "$EXCLUDE_MASKS" ; then
- echo "Excluding pattern '$EXCLUDE_MASKS'"
-fi
-
-FIND_CMD="find . -type f "
-for SUF in $EXCLUDE_SUFFIXES ; do
- FIND_CMD="$FIND_CMD -a -not -name '*.$SUF'"
-done
-
-eval $FIND_CMD | while read FILENAME ; do
- if test -n "$EXCLUDE_MASKS" ; then
- if eval "case \$(basename \"$FILENAME\") in
- $EXCLUDE_MASKS ) true ;;
- * ) false ;;
- esac" ; then
- continue
- fi
- fi
- case "$FILENAME" in
- *.gz | *.Z)
- gzip -d "$FILENAME"
- FILENAME=$(echo "$FILENAME" | sed -e 's/\.gz$//; s/\.Z$//')
- ;;
- *.bz2)
- if [ "$RECOMPRESS_BZIP2" = yes ] ; then
- bzip2 -d "$FILENAME"
- FILENAME=$(echo "$FILENAME" | sed -e 's/\.bz2$//')
- else
- continue
- fi
- ;;
- esac
-
- $COMPRESS_CMD "$FILENAME"
-
- echo -n "$FILENAME "
-done
-
-echo
-echo "Documentation compressed."
+++ /dev/null
---- rpm-4.4.8/build/files.c.orig 2007-02-01 23:21:51.000000000 +0100
-+++ rpm-4.4.8/build/files.c 2007-04-08 16:10:27.849202243 +0200
-@@ -1044,6 +1044,16 @@
- appendStringBuf(pkg->specialDoc, "cp -pr ");
- appendStringBuf(pkg->specialDoc, specialDocBuf);
- appendLineStringBuf(pkg->specialDoc, " \"$DOCDIR\"");
-+
-+ {
-+ char *compress_doc;
-+
-+ compress_doc = rpmExpand("%{__compress_doc}", NULL);
-+ if (compress_doc && *compress_doc != '%')
-+ appendLineStringBuf(pkg->specialDoc, compress_doc);
-+ if (compress_doc)
-+ free(compress_doc);
-+ }
- }
- }
-
-diff -ur rpm-4.0.4/macros.in rpm-4.0.4-/macros.in
---- rpm-4.0.4/macros.in Fri May 17 11:18:12 2002
-+++ rpm-4.0.4-/macros.in Fri May 17 11:17:44 2002
-@@ -1208,6 +1208,9 @@
- #%__spec_triggerin_pre %{nil}
- #%__spec_triggerin_post %{nil}
-
-+# Executed at after copying %doc to DOCDIR, with $DOCDIR set
-+%__compress_doc @prefix@/lib/rpm/compress-doc%{?_noautocompressdoc: --noautocompressdoc='%{_noautocompressdoc}'}
-+
- #==============================================================================
- # ---- configure macros.
- # Macro(s) slavishly copied from autoconf's config.status.
-
+++ /dev/null
---- 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() and uname() deps */
-+ if (!strncmp(Name, "cpuinfo(", sizeof("cpuinfo(")-1) || !strncmp(Name, "uname(", sizeof("uname(")-1))
-+ goto exit;
-+
- /* Search added packages for the dependency. */
- if (rpmalSatisfiesDepend(ts->addedPackages, dep, NULL) != NULL) {
- /*
+++ /dev/null
-diff -ur rpm.org/macros.in rpm/macros.in
---- rpm.org/macros.in 2007-10-02 20:31:56.905775000 +0200
-+++ rpm/macros.in 2007-10-02 20:35:30.122401828 +0200
-@@ -195,15 +195,20 @@
- %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}\
- Group: Development/Debug\
- AutoReqProv: 0\
--%description debug\
-+%description debuginfo\
- This package provides debug information for package %{name}.\
- 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_PL.UTF-8\
-+Ten pakiet dostarcza informacje dla debuggera dla pakietu %{name}.\
-+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}
-@@ -1123,7 +1128,7 @@
- %{?buildroot:%{__rm} -rf '%{buildroot}'}
- %__spec_install_body %{___build_body}
- %__spec_install_post\
--%{?__debug_package:%{__debug_install_post}}\
-+%{expand:%%define __sip_%{?_enable_debug_packages} 1}%{?__sip_1:%{?__debug_package:%{__debug_install_post}}}%{expand:%%undefine __sip_%{?_enable_debug_packages}}\
- %{__arch_install_post}\
- %{__os_install_post}\
- %{nil}
-diff -ur rpm.org/scripts/find-debuginfo.sh rpm/scripts/find-debuginfo.sh
---- rpm.org/scripts/find-debuginfo.sh 2007-09-06 09:36:38.000000000 +0200
-+++ rpm/scripts/find-debuginfo.sh 2007-10-02 20:38:57.745519759 +0200
-@@ -92,7 +92,8 @@
- $strip_g && case "$(file -bi "$2")" in
- application/x-sharedlib,*) g=-g ;;
- esac
-- eu-strip --remove-comment $g -f "$1" "$2" || exit
-+ objcopy --only-keep-debug --remove-section .comment "$2" "$1" || exit
-+ objcopy --add-gnu-debuglink="$1" "$2" || exit
- }
-
- # Make a relative symlink to $1 called $3$2
+++ /dev/null
---- 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
+++ /dev/null
---- rpm-4.4.9/Doxyfile.in.orig 2007-05-13 05:20:43.000000000 +0200
-+++ rpm-4.4.9/Doxyfile.in 2007-05-22 17:41:12.107028314 +0200
-@@ -504,7 +504,6 @@
- @top_srcdir@/doc/manual/spec \
- @top_srcdir@/doc/manual/triggers \
- @top_srcdir@/doc/manual/tsort \
-- @top_srcdir@/file/src/tar.h \
- @top_srcdir@/lib/cpio.c \
- @top_srcdir@/lib/cpio.h \
- @top_srcdir@/lib/depends.c \
+++ /dev/null
---- rpm-4.3.orig/build/parsePreamble.c 2003-11-16 13:47:23.000000000 +0100
-+++ rpm-4.3/build/parsePreamble.c 2004-02-29 15:40:58.466804704 +0100
-@@ -942,6 +943,12 @@
- headerCopyTags(spec->packages->header, pkg->header,
- (uint32_t *)copyTagsDuringParse);
-
-+ if (headerGetEntry(pkg->header, RPMTAG_EPOCH, NULL, NULL, NULL) == 0) {
-+ int num = 0;
-+ headerAddEntry(pkg->header, RPMTAG_EPOCH, RPM_UINT32_TYPE, &num, 1);
-+ addMacro(spec->macros, "epoch", NULL, "0", RMIL_SPEC);
-+ }
-+
- if (checkForRequired(pkg->header, NVR) != RPMRC_OK)
- return RPMRC_FAIL;
-
+++ /dev/null
-+---------------------------------------------------------------------------
-| 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
+++ /dev/null
-diff -Nru rpm-4.1/lib/rpmrc.c rpm-4.1.new/lib/rpmrc.c
---- rpm-4.1/lib/rpmrc.c Tue Aug 20 16:53:44 2002
-+++ rpm-4.1.new/lib/rpmrc.c Tue Mar 11 18:41:48 2003
-@@ -1820,23 +1820,37 @@
- /* Expand ~/ to $HOME/ */
- fn[0] = '\0';
- if (r[0] == '~' && r[1] == '/') {
-+ const char * etc_dir = getenv("HOME_ETC");
- const char * home = getenv("HOME");
-- if (home == NULL) {
-- /* XXX Only /usr/lib/rpm/rpmrc must exist in default rcfiles list */
-- if (rcfiles == rpmRcfiles && myrcfiles != r)
-- continue;
-- rpmError(RPMERR_RPMRC, _("Cannot expand %s\n"), r);
-- rc = 1;
-- break;
-- }
-- if (strlen(home) > (sizeof(fn) - strlen(r))) {
-- rpmError(RPMERR_RPMRC, _("Cannot read %s, HOME is too large.\n"),
-- r);
-- rc = 1;
-- break;
-+ if (etc_dir) {
-+ if (strlen(etc_dir) > (sizeof(fn) - strlen(r))) {
-+ rpmError(RPMERR_RPMRC, _("Cannot read %s, HOME_ETC is too large.\n"),r);
-+ rc = 1;
-+ break;
-+ }
-+ strcpy(fn, etc_dir);
-+ strncat(fn, "/", sizeof(fn) - strlen(fn));
-+ r+=2;
-+ } else {
-+ if (home == NULL) {
-+ /* XXX Only /usr/lib/rpm/rpmrc must exist in default rcfiles list */
-+ if (rcfiles == rpmRcfiles && myrcfiles != r)
-+ continue;
-+ rpmError(RPMERR_RPMRC, _("Cannot expand %s\n"), r);
-+ rc = 1;
-+ break;
-+ }
-+ if (strlen(home) > (sizeof(fn) - strlen(r))) {
-+ rpmError(RPMERR_RPMRC, _("Cannot read %s, HOME is too large.\n"),
-+ r);
-+ rc = 1;
-+ break;
-+ }
-+ strcpy(fn, home);
-+ r++;
- }
-- strcpy(fn, home);
-- r++;
-+
-+
- }
- strncat(fn, r, sizeof(fn) - (strlen(fn) + 1));
- fn[sizeof(fn)-1] = '\0';
---- rpm-4.4.8/po/pl.po.orig 2007-04-08 16:11:42.125435004 +0200
-+++ rpm-4.4.8/po/pl.po 2007-04-08 16:25:11.343549717 +0200
-@@ -3251,6 +3251,10 @@
- msgid "Cannot expand %s\n"
- msgstr "Nie mo¿na rozwin±æ %s\n"
-
-+#: lib/rpmrc.c:1935
-+msgid "Cannot read %s, HOME_ETC is too large.\n"
-+msgstr "Nie mo¿na odczytaæ %s, HOME_ETC jest zbyt du¿e.\n"
-+
- #: lib/rpmrc.c:1924
- #, c-format
- msgid "Cannot read %s, HOME is too large.\n"
+++ /dev/null
-#!/bin/sh
-# Display bcond (_with_*, _without_*) macros from given spec
-# $Id$
-
-if [ "$#" = 0 ]; then
- echo "Usage: $0 SPEC"
- exit 1
-fi
-
-SPEC=$1
-if [ $SPEC = "--" ]; then
- if [ "$#" -lt 2 ]; then
- echo "Usage: rpm --bcond SPEC"
- exit 1
- fi
- SPEC=$2
-fi
-
-if [ ! -f $SPEC ]; then
- echo "rpm: $SPEC: no such file"
- exit 1
-fi
-
-bconds=`awk -F"\n" 'BEGIN { chlog=0 }
- /^%changelog/ { chlog=1 }
- /_with(out)?_[_a-zA-Z0-9]+/ && chlog == 0 {
- match($0, /_with(out)?_[_a-zA-Z0-9]+/);
- print substr($0, RSTART, RLENGTH)
- }
- /^%bcond_with/ && chlog == 0 {
- match($0, /bcond_with(out)?[ \t]+[_a-zA-Z0-9]+/);
- bcond = substr($0, RSTART +5 , RLENGTH -5);
- gsub(/[ \t]+/,"_",bcond);
- print bcond
- }' $SPEC | sort -u`
-
-for c in $bconds; do
- echo -n "$c"
-
- if ! echo `rpm --eval "%$c"` | grep $c >/dev/null; then
- echo " (on)"
- else
- echo ""
- fi
-done
-
-
-for bcond in $bconds; do
- isset=`awk -F"\n" "BEGIN { val=0 }
- /^%define[\t ]+$bcond/ {
- if (match(\\$0, /$bcond[\t ]+0[\t ]*$/)) {
- val = 0
- } else if (match(\\$0, /$bcond[\t ]+1[\t ]*$/)) {
- val = 1
- } else {
- print \"couldn't determine $bcond value from \", \\$0
- }
- } END { print val }" $SPEC`;
-
- if [ x"$isset" = x"1" ]; then
- echo "WARN: $bcond defined in spec";
- fi
-done
-
+++ /dev/null
---- rpm-4.1/rpmdb/header.c.wiget2 Thu Sep 19 00:47:29 2002
-+++ rpm-4.1/rpmdb/header.c Thu Sep 19 00:52:10 2002
-@@ -1645,7 +1645,8 @@
- }
- /*@=boundsread@*/
-
-- return entry->data;
-+/* when everything fail, try gettext */
-+ return ((entry->data != NULL) && *(char*)(entry->data)) ? _(entry->data) : entry->data;
- }
-
- /**
+++ /dev/null
-#!/bin/awk -f
-
-BEGIN {
- group = "NONE"
-}
-
-/^[A-Z].*/ {
- group = $0
-}
-
-/^[ \t]*\[.+\]:/ {
- if(group != "NONE") {
- locale = $1
- gsub(/[\[\]:]/,"",locale)
- printf "msgid \"%s\"\n",group >> "po/"locale".po"
- gsub(/^.*:[ \t]*/,"")
- gsub(/[ \t]*$/,"")
- printf "msgstr \"%s\"\n\n",$0 >> "po/"locale".po"
- }
-}
+++ /dev/null
---- rpm-4.3/build/files.c.orig 2003-11-24 19:10:54.000000000 +0100
-+++ rpm-4.3/build/files.c 2003-11-24 19:20:05.827568008 +0100
-@@ -2119,7 +2119,7 @@
- goto exit;
-
- /* Verify that file attributes scope over hardlinks correctly. */
-- if (checkHardLinks(&fl))
-+ if (checkHardLinks(&fl) && !rpmExpandNumeric("%{_hack_dontneed_PartialHardlinkSets}"))
- (void) rpmlibNeedsFeature(pkg->header,
- "PartialHardlinkSets", "4.0.4-1");
-
+++ /dev/null
-#!/bin/sh
-
-install -d `rpm --eval "%{_rpmdir} %{_specdir} %{_sourcedir} %{_srcrpmdir} %{_builddir}"`
export PATH="/sbin:/usr/sbin:/bin:/usr/bin"
+# Enable debug: JAVADEPS_DEBUG=true
+: ${JAVADEPS_DEBUG=false}
+
+# save $- state, to enable in functions
+debug=$-
+
javaclassversion() {
- [ $# -gt 0 ] || return
+ set -$debug
+ local mode=$1; shift
+ [ $# -gt 0 ] || return 1
+ $JAVADEPS_DEBUG && echo >&2 ">> javaclassversion($mode): $*"
+
+ # process only requires
+ [ "$mode" = requires ] || return $ret
- local ver
- classver=$(echo "$@" | xargs -r file | grep -o 'compiled Java class data, version [0-9.]*' | awk '{print $NF}' | sort -u)
- [ "$classver" ] || return
+ local classver=$(echo "$@" | xargs -r file | grep -o 'compiled Java class data, version [0-9.]*' | awk '{print $NF}' | sort -u)
+ if [ -z "$classver" ]; then
+ return 1
+ fi
+
+ local v
for v in $classver; do
echo "java(ClassDataVersion) >= $v"
done
+ return 0
}
javajarversion() {
- local jar="$1"
+ set -$debug
+ local mode=$1; shift
+ local jar=$1
+ local tmp ret=0
+ $JAVADEPS_DEBUG && echo >&2 ">> javajarversion($mode): $jar"
# check only files, symlinks could point outside buildroot
- [ -f "$jar" -a ! -L "$jar" ] || return
-
-# echo >&2 "find java requires: ${jar#$RPM_BUILD_ROOT}"
+ [ -f "$jar" -a ! -L "$jar" ] || return $ret
tmp=$(mktemp -d)
unzip -q -d $tmp $jar >&2
- javaclassversion $(find $tmp -type f -name '*.class')
+ # workaround for .jar files with stupid permissions
+ chmod -R u+rwX $tmp
+
+ # find .jar and .class files
+ find_javadeps $mode $(find $tmp -type f -regextype posix-extended -regex '^.+\.(class|jar)$') || ret=1
rm -rf $tmp
+ return $ret
}
-FILES=$(cat -)
+find_javadeps() {
+ set -$debug
+ local mode=$1; shift
+ local ret=0
-find_requires() {
- for file in $FILES; do
+ $JAVADEPS_DEBUG && echo >&2 ">> find_javadeps($mode): $*"
+ for file in $@; do
case $file in
*.jar)
- javajarversion "$file"
+ javajarversion $mode "$file" || ret=1
;;
*.class)
- javaclassversion "$file"
+ javaclassversion $mode "$file" || {
+ echo >&2 "ERROR: Class version could not be extracted from $file"
+ ret=1
+ }
+ ;;
+ *)
+ $JAVADEPS_DEBUG && echo >&2 ">> find_javadeps($mode): no handle: $file"
;;
esac
done
+ return $ret
}
-find_requires | sort -u
+ret=0
+# default mode to requires for backward compat
+mode=requires
+case $1 in
+-P|--provides)
+ mode=provides
+ shift
+ ;;
+-R|--requires)
+ mode=requires
+ shift
+ ;;
+esac
+
+t=$(mktemp)
+find_javadeps $mode $(cat -) > $t || ret=1
+sort -u $t
+rm -f $t
+
+exit $ret
+++ /dev/null
---- 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
-@@ -875,7 +875,14 @@
- if (is_executable)
- if (fc->findreq)
- xx = rpmfcHelper(fc, 'R', "mono", 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 %{_rpmhome}/rpmdeps {--provides|--requires}.
--%__java_provides %{_rpmhome}/javadeps.sh --provides
--%__java_requires %{_rpmhome}/javadeps.sh --requires
-+%__java_provides %{nil}
-+%__java_requires %{nil}
-
- #------------------------------------------------------------------------
- # libtool(...) configuration.
+++ /dev/null
---- 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
+++ /dev/null
---- 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
+++ /dev/null
-# Per-platform rpm configuration file.
-
-#==============================================================================
-# ---- per-platform macros.
-#
-%_arch x86_64
-%_vendor pld
-%_os linux
-%_gnu -gnu
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-%optflags -O2 -fno-strict-aliasing -fwrapv -march=x86-64%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_x86_64: %{specflags_x86_64}}}
-
-#==============================================================================
-# ---- configure macros.
-#
-%_prefix /usr
-%_exec_prefix /usr
-%_bindir /usr/bin
-%_sbindir /usr/sbin
-%_libexecdir /usr/lib64
-%_datadir /usr/share
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-%_lib lib64
-%_libdir /usr/lib64
-%_includedir /usr/include
-%_oldincludedir /usr/include
-%_infodir /usr/share/info
-%_mandir /usr/share/man
-%_initrddir /etc/rc.d/init.d
-
-#---------------------------------------------------------------------
-# Multilibs
-%_multilibno 2
-%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
-
+++ /dev/null
-# Per-platform rpm configuration file.
-
-#==============================================================================
-# ---- per-platform macros.
-#
-%_arch i386
-%_vendor pld
-%_os linux
-%_gnu -gnu
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-%optflags -O2 -fno-strict-aliasing -fwrapv -march=athlon%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_athlon: %{specflags_athlon}}}
-
-#==============================================================================
-# ---- configure macros.
-#
-%_prefix /usr
-%_exec_prefix /usr
-%_bindir /usr/bin
-%_sbindir /usr/sbin
-%_libexecdir /usr/lib
-%_datadir /usr/share
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-%_lib lib
-%_libdir /usr/%{_lib}
-%_includedir /usr/include
-%_oldincludedir /usr/include
-%_infodir /usr/share/info
-%_mandir /usr/share/man
-%_initrddir /etc/rc.d/init.d
-
-#---------------------------------------------------------------------
-# Multilibs
-%_multilibno 1
-%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
-
+++ /dev/null
-# Per-platform rpm configuration file.
-
-#==============================================================================
-# ---- per-platform macros.
-#
-%_arch i386
-%_vendor pld
-%_os linux
-%_gnu -gnu
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-%optflags -O2 -fno-strict-aliasing -fwrapv -march=i386%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i386: %{specflags_i386}}}
-
-#==============================================================================
-# ---- configure macros.
-#
-%_prefix /usr
-%_exec_prefix /usr
-%_bindir /usr/bin
-%_sbindir /usr/sbin
-%_libexecdir /usr/lib
-%_datadir /usr/share
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-%_lib lib
-%_libdir /usr/%{_lib}
-%_includedir /usr/include
-%_oldincludedir /usr/include
-%_infodir /usr/share/info
-%_mandir /usr/share/man
-%_initrddir /etc/rc.d/init.d
-
-#---------------------------------------------------------------------
-# Multilibs
-%_multilibno 1
-%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
-
+++ /dev/null
-# Per-platform rpm configuration file.
-
-#==============================================================================
-# ---- per-platform macros.
-#
-%_arch i486
-%_vendor pld
-%_os linux
-%_gnu -gnu
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-%optflags -O2 -fno-strict-aliasing -fwrapv -march=i486%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i486: %{specflags_i486}}}
-
-#==============================================================================
-# ---- configure macros.
-#
-%_prefix /usr
-%_exec_prefix /usr
-%_bindir /usr/bin
-%_sbindir /usr/sbin
-%_libexecdir /usr/lib
-%_datadir /usr/share
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-%_lib lib
-%_libdir /usr/%{_lib}
-%_includedir /usr/include
-%_oldincludedir /usr/include
-%_infodir /usr/share/info
-%_mandir /usr/share/man
-%_initrddir /etc/rc.d/init.d
-
-#---------------------------------------------------------------------
-# Multilibs
-%_multilibno 1
-%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
-
+++ /dev/null
-# Per-platform rpm configuration file.
-
-#==============================================================================
-# ---- per-platform macros.
-#
-%_arch i586
-%_vendor pld
-%_os linux
-%_gnu -gnu
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-%optflags -O2 -fno-strict-aliasing -fwrapv -march=i586%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i586: %{specflags_i586}}}
-
-#==============================================================================
-# ---- configure macros.
-#
-%_prefix /usr
-%_exec_prefix /usr
-%_bindir /usr/bin
-%_sbindir /usr/sbin
-%_libexecdir /usr/lib
-%_datadir /usr/share
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-%_lib lib
-%_libdir /usr/%{_lib}
-%_includedir /usr/include
-%_oldincludedir /usr/include
-%_infodir /usr/share/info
-%_mandir /usr/share/man
-%_initrddir /etc/rc.d/init.d
-
-#---------------------------------------------------------------------
-# Multilibs
-%_multilibno 1
-%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
-
+++ /dev/null
-# Per-platform rpm configuration file.
-
-#==============================================================================
-# ---- per-platform macros.
-#
-%_arch i686
-%_vendor pld
-%_os linux
-%_gnu -gnu
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-%optflags -O2 -fno-strict-aliasing -fwrapv -march=i686 -mtune=pentium4%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_i686: %{specflags_i686}}}
-
-#==============================================================================
-# ---- configure macros.
-#
-%_prefix /usr
-%_exec_prefix /usr
-%_bindir /usr/bin
-%_sbindir /usr/sbin
-%_libexecdir /usr/lib
-%_datadir /usr/share
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-%_lib lib
-%_libdir /usr/%{_lib}
-%_includedir /usr/include
-%_oldincludedir /usr/include
-%_infodir /usr/share/info
-%_mandir /usr/share/man
-%_initrddir /etc/rc.d/init.d
-
-#---------------------------------------------------------------------
-# Multilibs
-%_multilibno 1
-%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
-
+++ /dev/null
-# Per-platform rpm configuration file.
-
-#==============================================================================
-# ---- per-platform macros.
-#
-%_arch ia32e
-%_vendor pld
-%_os linux
-%_gnu -gnu
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-%optflags -O2 -fno-strict-aliasing -fwrapv -march=x86-64%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32e: %{specflags_ia32e}}}
-
-#==============================================================================
-# ---- configure macros.
-#
-%_prefix /usr
-%_exec_prefix /usr
-%_bindir /usr/bin
-%_sbindir /usr/sbin
-%_libexecdir /usr/lib64
-%_datadir /usr/share
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-%_lib lib64
-%_libdir /usr/lib64
-%_includedir /usr/include
-%_oldincludedir /usr/include
-%_infodir /usr/share/info
-%_mandir /usr/share/man
-%_initrddir /etc/rc.d/init.d
-
-#---------------------------------------------------------------------
-# Multilibs
-%_multilibno 2
-%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
-
+++ /dev/null
-# Per-platform rpm configuration file.
-
-#==============================================================================
-# ---- per-platform macros.
-#
-%_arch noarch
-%_vendor pld
-%_os linux
-%_gnu -gnu
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-
-#==============================================================================
-# ---- configure macros.
-#
-%_prefix /usr
-%_exec_prefix /usr
-%_bindir /usr/bin
-%_sbindir /usr/sbin
-%_libexecdir /usr/lib64
-%_datadir /usr/share
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-%_lib lib64
-%_libdir /usr/lib64
-%_includedir /usr/include
-%_oldincludedir /usr/include
-%_infodir /usr/share/info
-%_mandir /usr/share/man
-%_initrddir /etc/rc.d/init.d
-
-# Multilibs
-%_multilibno 2
-%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
+++ /dev/null
-# Per-platform rpm configuration file.
-
-#==============================================================================
-# ---- per-platform macros.
-#
-%_arch pentium3
-%_vendor pld
-%_os linux
-%_gnu -gnu
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-%optflags -O2 -fno-strict-aliasing -fwrapv -march=pentium3%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_pentium3: %{specflags_pentium3}}}
-
-#==============================================================================
-# ---- configure macros.
-#
-%_prefix /usr
-%_exec_prefix /usr
-%_bindir /usr/bin
-%_sbindir /usr/sbin
-%_libexecdir /usr/lib
-%_datadir /usr/share
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-%_lib lib
-%_libdir /usr/%{_lib}
-%_includedir /usr/include
-%_oldincludedir /usr/include
-%_infodir /usr/share/info
-%_mandir /usr/share/man
-%_initrddir /etc/rc.d/init.d
-
-#---------------------------------------------------------------------
-# Multilibs
-%_multilibno 1
-%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
-
+++ /dev/null
-# Per-platform rpm configuration file.
-
-#==============================================================================
-# ---- per-platform macros.
-#
-%_arch pentium4
-%_vendor pld
-%_os linux
-%_gnu -gnu
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-%optflags -O2 -fno-strict-aliasing -fwrapv -march=pentium4%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ia32: %{specflags_ia32}}%{?specflags_pentium4: %{specflags_pentium4}}}
-
-#==============================================================================
-# ---- configure macros.
-#
-%_prefix /usr
-%_exec_prefix /usr
-%_bindir /usr/bin
-%_sbindir /usr/sbin
-%_libexecdir /usr/lib
-%_datadir /usr/share
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-%_lib lib
-%_libdir /usr/%{_lib}
-%_includedir /usr/include
-%_oldincludedir /usr/include
-%_infodir /usr/share/info
-%_mandir /usr/share/man
-%_initrddir /etc/rc.d/init.d
-
-#---------------------------------------------------------------------
-# Multilibs
-%_multilibno 1
-%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
-
+++ /dev/null
-# Per-platform rpm configuration file.
-
-#==============================================================================
-# ---- per-platform macros.
-#
-%_arch ppc
-%_vendor pld
-%_os linux
-%_gnu -gnu
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-%optflags -O2 -fno-strict-aliasing -fwrapv -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc: %{specflags_ppc}}}
-
-#==============================================================================
-# ---- configure macros.
-#
-%_prefix /usr
-%_exec_prefix /usr
-%_bindir /usr/bin
-%_sbindir /usr/sbin
-%_libexecdir /usr/lib
-%_datadir /usr/share
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-%_lib lib
-%_libdir /usr/%{_lib}
-%_includedir /usr/include
-%_oldincludedir /usr/include
-%_infodir /usr/share/info
-%_mandir /usr/share/man
-%_initrddir /etc/rc.d/init.d
-
-#---------------------------------------------------------------------
-# Multilibs
-%_multilibno 1
-%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
+++ /dev/null
-# Per-platform rpm configuration file.
-
-#==============================================================================
-# ---- per-platform macros.
-#
-%_arch amd64
-%_vendor pld
-%_os linux
-%_gnu -gnu
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
-%optflags -O2 -fno-strict-aliasing -fwrapv -march=x86-64%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_amd64: %{specflags_amd64}}}
-
-#==============================================================================
-# ---- configure macros.
-#
-%_prefix /usr
-%_exec_prefix /usr
-%_bindir /usr/bin
-%_sbindir /usr/sbin
-%_libexecdir /usr/lib64
-%_datadir /usr/share
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-%_lib lib64
-%_libdir /usr/lib64
-%_includedir /usr/include
-%_oldincludedir /usr/include
-%_infodir /usr/share/info
-%_mandir /usr/share/man
-%_initrddir /etc/rc.d/init.d
-
-#---------------------------------------------------------------------
-# Multilibs
-%_multilibno 2
-%_multilibpatt (/%{_lib}|/usr/%{_lib}(|/gconv)|/usr/local/%{_lib}|/usr/X11R6/%{_lib}|/opt/%{_lib})/[^/]*\\.([oa]|la|so[0-9.]*)$
-
+++ /dev/null
-%define __java_provides %{nil}
-%define __java_requires env RPM_BUILD_ROOT=%{buildroot} /usr/lib/rpm/java-find-requires
+++ /dev/null
-diff -urN rpm.org/macros.in rpm/macros.in
---- rpm.org/macros.in 2007-10-02 20:46:56.430390000 +0200
-+++ rpm/macros.in 2007-10-02 20:49:01.480941544 +0200
-@@ -213,7 +213,7 @@
- %endif\
- %{nil}
-
--%_defaultdocdir %{_usr}/doc
-+%_defaultdocdir %{_usr}/share/doc
-
- # The path to the pgp executable (legacy, use %{__pgp} instead).
- %_pgpbin %{__pgp}
-@@ -242,12 +242,12 @@
- # The directory where newly built source packages will be written.
- %_srcrpmdir %{_topdir}/SRPMS
-
--# Directory where temporaray files can be created.
--%_tmppath %{_var}/tmp
-+# Directory where temporary files can be created.
-+%_tmppath %(echo "${TMPDIR:-/tmp}")
- %tmpdir %{_tmppath}
-
- # Path to top of build area.
--%_topdir @PKGSRCDIR_MACRO@
-+%_topdir %(echo $HOME)/rpm
-
- #==============================================================================
- # ---- Optional rpmrc macros.
-@@ -257,7 +257,7 @@
- # Configurable build root path, same as BuildRoot: in a specfile.
- # (Note: the configured macro value will override the spec file value).
- #
--%buildroot %{_tmppath}/%{name}-root
-+%buildroot %{_tmppath}/%{name}-%{version}-root-%(id -u -n)
-
- # The sub-directory (relative to %{_builddir}) where sources are compiled.
- # This macro is set after processing %setup, either explicitly from the
-@@ -356,8 +356,8 @@
- # "w9.bzdio" bzip2 level 9.
- # "w9.lzdio" lzma level 9.
- #
--#%_source_payload w9.gzdio
--#%_binary_payload w9.gzdio
-+%_source_payload w9.gzdio
-+%_binary_payload w9.lzdio
-
- # Archive formats to use for source/binary package payloads.
- # "cpio" cpio archive (default)
-@@ -522,7 +522,7 @@
-
- #
- # Path to magic file used for file classification.
--%_rpmfc_magic_path %{_rpmhome}/magic
-+%_rpmfc_magic_path /usr/share/file/magic
-
- #==============================================================================
- # ---- Database configuration macros.
-@@ -1224,17 +1224,17 @@
- %_exec_prefix %{_prefix}
- %_bindir %{_exec_prefix}/bin
- %_sbindir %{_exec_prefix}/sbin
--%_libexecdir %{_exec_prefix}/libexec
-+%_libexecdir %{_exec_prefix}/lib
- %_datadir %{_prefix}/share
--%_sysconfdir %{_prefix}/etc
--%_sharedstatedir %{_prefix}/com
--%_localstatedir %{_prefix}/var
-+%_sysconfdir /etc
-+%_sharedstatedir /var/lib
-+%_localstatedir /var
- %_lib lib
- %_libdir %{_exec_prefix}/%{_lib}
- %_includedir %{_prefix}/include
- %_oldincludedir /usr/include
--%_infodir %{_prefix}/info
--%_mandir %{_prefix}/man
-+%_infodir %{_prefix}/share/info
-+%_mandir %{_prefix}/share/man
- %_localedir %{_datadir}/locale
-
- #==============================================================================
-@@ -1535,7 +1535,33 @@
- # helpers are also used by %{_rpmhome}/rpmdeps {--provides|--requires}.
- #%__executable_provides %{_rpmhome}/executabledeps.sh --provides
- #%__executable_requires %{_rpmhome}/executabledeps.sh --requires
--%__scriptlet_requires /bin/bash --rpm-requires
-+#%__scriptlet_requires /bin/bash --rpm-requires
-
-+# PLD rpm macros
-+%_enable_debug_packages 1
-+
-+# provides don't obsolete
-+%_upgrade_tag name
-+
-+#-----------------------------------------------------------------
-+# CFLAGS and LDFLAGS used to build
-+
-+%debuginfocflags %{expand:%%define __dic_%{?_enable_debug_packages} 1}%{?__dic_1: -gdwarf-2 -g2}%{expand:%%undefine __dic_%{?_enable_debug_packages}}
-+# -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}
-+%rpmcxxflags %{rpmcflags}
-+%rpmldflags %{!?no_build_with_as_needed:-Wl,--as-needed}
-+
-+# arch macros
-+%ix86 i386 i486 i586 i686 pentium3 pentium4 athlon
-+%x8664 x86_64 amd64 ia32e
-+%ppc ppc ppc7400 ppc7450
-+
- # \endverbatim
- #*/
+++ /dev/null
---- 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"
+++ /dev/null
---- 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}
-
- #------------------------------------------------------------------------
- # executable(...) configuration.
+++ /dev/null
-diff -ur rpm-4.4.4/Makefile.am rpm-4.4.4.morearchs/Makefile.am
---- rpm-4.4.4/Makefile.am 2006-02-11 15:01:38.000000000 +0000
-+++ rpm-4.4.4.morearchs/Makefile.am 2006-02-11 18:06:51.000000000 +0000
-@@ -188,6 +188,8 @@
- powerpc*) $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc ;\
- $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppciseries ;\
- $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppcpseries ;\
-+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc7400 ;\
-+ $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc7450 ;\
- $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc64 ;\
- $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc64iseries ;\
- $(mkinstalldirs) $(DESTDIR)$(pkgsrcdir)/RPMS/ppc64pseries ;;\
-diff -ur rpm-4.4.4/installplatform rpm-4.4.4.morearchs/installplatform
---- rpm-4.4.4/installplatform 2005-10-25 21:19:24.000000000 +0000
-+++ rpm-4.4.4.morearchs/installplatform 2006-02-11 18:02:55.000000000 +0000
-@@ -33,7 +33,7 @@
- i[3456]86|pentium[34]|athlon) SUBSTS='s_i386_i386_ s_i386_i486_ s_i386_i586_ s_i386_i686_ s_i386_pentium3_ s_i386_pentium4_ s_i386_athlon_' ;;
- alpha*) SUBSTS='s_alpha_alpha_ s_alpha_alphaev5_ s_alpha_alphaev56_ s_alpha_alphapca56_ s_alpha_alphaev6_ s_alpha_alphaev67_' ;;
- sparc*) SUBSTS='s_sparc\(64\|v9\)_sparc_ s_sparc64_sparcv9_;s_sparc\([^v]\|$\)_sparcv9\1_ s_sparcv9_sparc64_;s_sparc\([^6]\|$\)_sparc64\1_' ;;
-- powerpc*|ppc*) SUBSTS='s_ppc64_ppc_ s_ppc\([^6ip]\|$\)_ppc64\1_ s_ppc\([^6ip]\|$\)_ppciseries_ s_ppc\([^6ip]\|$\)_ppcpseries_ s_ppc\([^6ip]\|$\)_ppc64iseries_ s_ppc\([^6ip]\|$\)_ppc64pseries_' ;;
-+ powerpc*|ppc*) SUBSTS='s_ppc64_ppc_ s_ppc\([^6ip]\|$\)_ppc64\1_ s_ppc\([^6ip]\|$\)_ppciseries_ s_ppc\([^6ip]\|$\)_ppcpseries_ s_ppc\([^6ip]\|$\)_ppc7400_ s_ppc\([^6ip]\|$\)_ppc7450_ s_ppc\([^6ip]\|$\)_ppc64iseries_ s_ppc\([^6ip]\|$\)_ppc64pseries_' ;;
- s390*) SUBSTS='s_s390x_s390_ s_s390\([^x]\|$\)_s390x\1_' ;;
- *) SUBSTS=y___ ;;
- esac
---- rpm-4.4.5/lib/rpmrc.c.orig 2006-02-28 22:01:56.462419250 +0100
-+++ rpm-4.4.5/lib/rpmrc.c 2006-02-28 22:09:36.415164500 +0100
-@@ -1331,10 +1331,18 @@
- switch (pvr) {
- /* IBM750FX, 7410, 7450, 7451, 7441, 7455, 7445 */
- case 0x7000:
-+ strcpy(un.machine, "ppc");
-+ break;
- case 0x8000:
- case 0x8001:
-+ case 0x8002:
-+ case 0x8003:
-+ /* 0x8000: 7450, 0x8001: 7455, 0x8002: 7457, 0x8003: 7447A */
-+ strcpy(un.machine, "ppc7450");
-+ break;
- case 0x800c:
-- strcpy(un.machine, "ppc");
-+ case 0x000c:
-+ strcpy(un.machine, "ppc7400");
- break;
- case 0x36:
- case 0x37:
-diff -ur rpm-4.4.4/macros.in rpm-4.4.4.morearchs/macros.in
---- rpm-4.4.4/macros.in 2006-02-11 15:01:38.000000000 +0000
-+++ rpm-4.4.4.morearchs/macros.in 2006-02-11 18:17:36.000000000 +0000
-@@ -1244,6 +1244,7 @@
- # conditionals.
- #
- %ix86 i386 i486 i586 i686 pentium3 pentium4 athlon
-+%ppc ppc ppc7400 ppc7450
-
- #------------------------------------------------------------------------
- # Use in %install to generate locale specific file lists. For example,
-diff -ur rpm-4.4.4/rpmrc.in rpm-4.4.4.morearchs/rpmrc.in
---- rpm-4.4.4/rpmrc.in 2006-02-11 15:01:38.000000000 +0000
-+++ rpm-4.4.4.morearchs/rpmrc.in 2006-02-11 18:11:55.000000000 +0000
-@@ -42,6 +42,8 @@
- 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: ppc7400 -O2 -mcpu=7400 -fsigned-char%{!?nospecflags:%{?specflags: %{specflags}}%{?specflags_ppc: %{specflags_ppc}}}
-+optflags: ppc7450 -O2 -mcpu=7450 -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}}}
-@@ -110,6 +112,8 @@
- arch_canon: mips: mips 4
-
- arch_canon: ppc: ppc 5
-+arch_canon: ppc7400: ppc7400 5
-+arch_canon: ppc7450: ppc7450 5
- arch_canon: ppc8260: ppc8260 5
- arch_canon: ppc8560: ppc8560 5
- arch_canon: ppc32dy4: ppc32dy4 5
-@@ -212,7 +216,8 @@
- buildarchtranslate: sun4u: sparc64
- buildarchtranslate: sparc64: sparc64
-
--buildarchtranslate: osfmach3_ppc: ppc
-+buildarchtranslate: ppc7400: ppc7400
-+buildarchtranslate: ppc7450: ppc7450
- buildarchtranslate: powerpc: ppc
- buildarchtranslate: powerppc: ppc
- buildarchtranslate: ppc8260: ppc
-@@ -263,6 +268,8 @@
- arch_compat: osfmach3_i486: i486 osfmach3_i386
- arch_compat: osfmach3_i386: i486
-
-+arch_compat: ppc7450: ppc7400
-+arch_compat: ppc7400: ppc
- arch_compat: osfmach3_ppc: ppc
- arch_compat: powerpc: ppc
- arch_compat: powerppc: ppc
-@@ -375,6 +382,8 @@
-
- buildarch_compat: m68k: noarch
-
-+buildarch_compat: ppc7450: ppc7400
-+buildarch_compat: ppc7400: ppc
- buildarch_compat: ppc8260: noarch
- buildarch_compat: ppc8560: noarch
- buildarch_compat: ppc32dy4: noarch
+++ /dev/null
---- rpm-5.0.1.noexpand/build/parseChangelog.c 2008-01-31 01:18:18.506330692 +0200
-+++ rpm-5.0.1/build/parseChangelog.c 2008-01-31 01:20:45.467027848 +0200
-@@ -318,7 +318,7 @@
- line = xstrtolocale(line);
- appendStringBuf(sb, spec->line);
- line = _free(line);
-- if ((rc = readLine(spec, STRIP_COMMENTS)) > 0) {
-+ if ((rc = readLine(spec, STRIP_COMMENTS | STRIP_NOEXPAND)) > 0) {
- nextPart = PART_NONE;
- break;
- }
---- rpm-5.0.1.noexpand/build/parseSpec.c 2008-01-31 01:18:18.509664191 +0200
-+++ rpm-5.0.1/build/parseSpec.c 2008-01-31 01:20:45.073674806 +0200
-@@ -168,7 +168,7 @@
-
- /**
- */
--static int copyNextLineFromOFI(Spec spec, OFI_t * ofi)
-+static int copyNextLineFromOFI(Spec spec, OFI_t * ofi, int strip)
- /*@globals rpmGlobalMacroContext, h_errno,
- fileSystem @*/
- /*@modifies spec->nextline, spec->nextpeekc, spec->lbuf, spec->line,
-@@ -230,12 +230,16 @@
- /*@=mods@*/
-
- /* Don't expand macros (eg. %define) in false branch of %if clause */
-+ /* Also don't expand macros in %changelog where we set STRIP_NOEXPAND flag */
-+ /* (first line is ommited, so if there is e.g. %date macro, it will be expanded */
-+ if (!(strip & STRIP_NOEXPAND)) {
- if (spec->readStack->reading &&
- expandMacros(spec, spec->macros, spec->lbuf, spec->lbuf_len)) {
- rpmlog(RPMLOG_ERR, _("line %d: %s\n"),
- spec->lineNum, spec->lbuf);
- return RPMRC_FAIL;
- }
-+ }
- spec->nextline = spec->lbuf;
- }
- return 0;
-@@ -347,7 +351,7 @@
-
- /* Copy next file line into the spec line buffer */
-
-- if ((rc = copyNextLineFromOFI(spec, ofi)) != 0) {
-+ if ((rc = copyNextLineFromOFI(spec, ofi, strip)) != 0) {
- if (rc == RPMRC_FAIL)
- goto retry;
- return rc;
-@@ -360,6 +364,7 @@
- SKIPSPACE(s);
-
- match = -1;
-+ if (! (strip & STRIP_NOEXPAND)) {
- if (!spec->readStack->reading && !strncmp("%if", s, sizeof("%if")-1)) {
- match = 0;
- } else if (! strncmp("%ifarch", s, sizeof("%ifarch")-1)) {
-@@ -441,6 +446,7 @@
- ofi = spec->fileStack;
- goto retry;
- }
-+ }
-
- if (match != -1) {
- rl = xmalloc(sizeof(*rl));
---- rpm-5.0.1.noexpand/build/rpmbuild.h 2008-01-31 01:18:18.509664191 +0200
-+++ rpm-5.0.1/build/rpmbuild.h 2008-01-31 01:20:45.073674806 +0200
-@@ -83,6 +83,7 @@
- #define STRIP_NOTHING 0
- #define STRIP_TRAILINGSPACE (1 << 0)
- #define STRIP_COMMENTS (1 << 1)
-+#define STRIP_NOEXPAND (1 << 2)
-
- /*@unchecked@*/
- extern int _rpmbuildFlags;
+++ /dev/null
---- rpm-4.3/rpmio/rpmsw.c.orig 2003-04-10 20:09:13.000000000 +0200
-+++ rpm-4.3/rpmio/rpmsw.c 2003-11-17 21:55:44.649426712 +0100
-@@ -27,7 +27,7 @@
- /*@unchecked@*/
- static int rpmsw_initialized = 0;
-
--#if defined(__i386__)
-+#if 0 && defined(__i386__)
- /* Swiped from glibc-2.3.2 sysdeps/i386/i686/hp-timing.h */
-
- #define HP_TIMING_ZERO(Var) (Var) = (0)
+++ /dev/null
---- rpm/lib/poptI.c.orig 2007-07-24 16:36:47.000000000 +0200
-+++ rpm/lib/poptI.c 2007-10-02 15:11:29.213848100 +0200
-@@ -17,7 +17,7 @@
- /*@-fullinitblock@*/
- /*@unchecked@*/
- struct rpmQVKArguments_s rpmIArgs = {
-- .probFilter = (RPMPROB_FILTER_REPLACEOLDFILES | RPMPROB_FILTER_REPLACENEWFILES),
-+ .probFilter = 0,
- };
- /*@=fullinitblock@*/
-
-@@ -275,10 +275,6 @@
- N_("skip files with leading component <path> "),
- N_("<path>") },
-
-- { "fileconflicts", '\0', POPT_BIT_CLR, &rpmIArgs.probFilter,
-- (RPMPROB_FILTER_REPLACEOLDFILES | RPMPROB_FILTER_REPLACENEWFILES),
-- N_("detect file conflicts between packages"), NULL},
--
- { "freshen", 'F', POPT_BIT_SET, &rpmIArgs.installInterfaceFlags,
- (INSTALL_UPGRADE|INSTALL_FRESHEN|INSTALL_INSTALL),
- N_("upgrade package(s) if already installed"),
-
+++ /dev/null
-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
-@@ -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
-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
-@@ -1,4 +1,4 @@
--#!/usr/bin/perl
-+#!@__PERL@
-
- # RPM (and it's source code) is covered under two separate licenses.
-
-@@ -41,7 +41,11 @@
-
- if ("@ARGV") {
- foreach (@ARGV) {
-- process_file($_);
-+ if (m=/usr/(sbin|bin|lib|share|X11R6/(lib|bin))/=) {
-+ if (! m=(/(doc|man|info|usr/src)/|\.(so|ph|h|html|pod)$)=) {
-+ process_file($_);
-+ }
-+ }
- }
- } else {
-
-@@ -49,14 +53,22 @@
- # contents of the file.
-
- foreach (<>) {
-- process_file($_);
-+ 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 $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 {
-
- # I am not using rpm3.0 so I do not want spaces arround my
-@@ -219,7 +231,31 @@
- # will be included with the name sys/systeminfo.ph so only use the
- # basename of *.ph files
-
-- ($module =~ m/\.ph$/) && next;
-+ # ($module =~ m/\.ph$/) && ($module =~ s!.*/!!g );
-+
-+ # there is no need to generate dependencies for ph, pl or test files
-+ # so let's just skip them.
-+
-+ ($module =~ m/\.(ph|pl|t)$/) && next;
-+
-+ # skip all modules for platforms other than linux.
-+
-+ ($module =~ m/Mac|OS2|MSDOS|Win32|VMS|vmsish/) && next;
-+
-+ # if the module name starts in a dot it is not a module name.
-+
-+ ($module =~ m/^\./) && next;
-+
-+ # if the module ends with .pm strip it to leave only basename.
-+
-+ $module =~ s/\.pm$//;
-+
-+ $module =~ s/\//::/;
-+
-+ # trim off trailing parenthesis if any. Sometimes people pass
-+ # the module an empty list.
-+
-+ $module =~ s/\(\s*\)$//;
-
- $require{$module}=$version;
- $line{$module}=$_;
+++ /dev/null
---- 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$//;
+++ /dev/null
---- 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";
+++ /dev/null
---- 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");
- }
-
-
+++ /dev/null
---- 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
-@@ -1314,6 +1314,7 @@
- rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile
- scripts/Makefile scripts/macros.perl scripts/macros.php
- scripts/perl.req scripts/perl.prov
-+ scripts/php.req scripts/php.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
-
+++ /dev/null
-#!/usr/bin/perl
-#####################################################################
-# #
-# Small script to generate provides for php-pear/php-pecl #
-# #
-# Adam Go³êbiowski <adamg@pld-linux.org> #
-# #
-# Somehow based on previous work by: #
-# Pawe³ Go³aszewski <blues@pld-linux.org> #
-# Micha³ Moskal <malekith@pld-linux.org> #
-#####################################################################
-
-# Contest: shrink this one to oneliner
-# Bonus : and fit in 80 columns ;)
-
-/package.xml/ and open(F, $_) foreach (@ARGV ? @ARGV : <> );
-/^\s+\<name\>([a-zA-Z0-9\_]+)\<\/name\>$/ and print "php-pear-$1" while (<F>);
+++ /dev/null
-#!/usr/bin/perl -W
-#####################################################################
-# #
-# Check system dependencies between php-pear/php-pecl 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) #
-#####################################################################
-
-@req_arr = ();
-$fname = '/dev/null';
-foreach ( @ARGV ? $ARGV : <> )
-{
- $fname = $_ if (/package.xml/)
-}
-
-open F, $fname;
-
-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)$/ );
-
- # do we have version?
- $version = "";
- $version = $1 if ( /version="([a-zA-z0-9\.\+]*)"/ );
-
- # 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 );
-
- # 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
-
- }
-}
-for $r (@req_arr) { print "$r\n"; }
+++ /dev/null
---- rpm-4.4.8/scripts/pkgconfigdeps.sh.orig 2007-02-14 08:09:42.000000000 +0100
-+++ rpm-4.4.8/scripts/pkgconfigdeps.sh 2007-04-08 21:39:49.283342196 +0200
-@@ -31,8 +31,6 @@
- case "${filename}" in
- *.pc)
- $pkgconfig --print-requires "$filename" 2> /dev/null | while read n r v ; do
-- i="`expr $i + 1`"
-- [ $i -eq 1 ] && echo "pkgconfig"
- echo "pkgconfig($n)" "$r" "$v"
- done
- esac
+++ /dev/null
---- 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"
+++ /dev/null
-diff -ur rpm.org/configure.ac rpm/configure.ac
---- rpm.org/configure.ac 2007-10-02 14:48:58.200734000 +0200
-+++ rpm/configure.ac 2007-10-02 14:49:18.697896240 +0200
-@@ -979,6 +979,14 @@
-
- AC_MSG_HEADER([INSTALLATION PARAMETERS])
-
-+dnl enable generating autorequires containing packages names
-+dnl
-+AC_ARG_ENABLE([adding-packages-names-in-autogenerated-dependancies],
-+ [ --enable-adding-packages-names-in-autogenerated-dependancies Add packages names for autogenerated dependancies to requires],
-+ AC_MSG_RESULT([Using packages names in autogerated requires is enabled])
-+ AC_DEFINE_UNQUOTED([AUTODEP_PKGNAMES], [1], ["Generating autorequires containing packages names."]))
-+dnl
-+
- dnl # figure out what root's primary group is
- AC_MSG_CHECKING([root's primary group])
- AC_RUN_IFELSE([AC_LANG_SOURCE([[#include <stdio.h>
-diff -ur rpm.org/lib/rpmfc.c rpm/lib/rpmfc.c
---- rpm.org/lib/rpmfc.c 2007-10-02 14:48:58.244068000 +0200
-+++ rpm/lib/rpmfc.c 2007-10-02 14:52:24.222380740 +0200
-@@ -17,6 +17,8 @@
- #define _RPMDS_INTERNAL
- #include <rpmds.h>
- #include <rpmfi.h>
-+#include <rpmts.h>
-+#include <rpmdb.h>
-
- #include "debug.h"
-
-@@ -311,14 +313,83 @@
- return buf;
- };
-
-+static regex_t * rpmfcExpandRegexps(const char * str,int *count){
-+ int i,j,r;
-+ const char *s;
-+ ARGV_t patterns=NULL;
-+ regex_t *compiled=NULL;
-+
-+ s=rpmExpand(str,NULL);
-+ if (s) {
-+ poptParseArgvString(s,count,(const char ***)&patterns);
-+ s = _free(s);
-+ }
-+ if (patterns==NULL){
-+ *count=0;
-+ return NULL;
-+ }
-+ if (*count==0){
-+ _free(patterns);
-+ return NULL;
-+ }
-+
-+ compiled=malloc(sizeof(regex_t)*(*count));
-+ j=0;
-+ for(i=0;i<*count;i++){
-+ r=regcomp(&compiled[j],patterns[i],REG_NOSUB);
-+ if (r==0) j++;
-+ else {
-+ rpmlog(RPMLOG_NOTICE,
-+ _("Compilation of regular expresion '%s'"
-+ " (expanded from '%s') failed. Skipping it.\n"),
-+ patterns[i],str);
-+ }
-+ }
-+ patterns=_free(patterns);
-+ if (j==0) {
-+ compiled=_free(compiled);
-+ *count=0;
-+ return NULL;
-+ }
-+ *count=j;
-+ return compiled;
-+}
-+
-+static int rpmfcMatchRegexps(regex_t *regexps, int count, const char *str, char deptype)
-+{
-+ int j;
-+ for(j = 0; j < count; j++) {
-+ rpmlog(RPMLOG_DEBUG,
-+ _("Checking %c: '%s' against _noauto expr. #%i\n"), deptype, str, j);
-+ if (!regexec(®exps[j], str, 0, NULL, 0)) {
-+ rpmlog(RPMLOG_NOTICE,
-+ _("Skipping %c: '%s' as it matches _noauto expr. #%i\n"), deptype, str, j);
-+ return 1;
-+ }
-+ }
-+ return 0;
-+}
-+
-+static regex_t * rpmfcFreeRegexps(regex_t *regexps,int count){
-+ int i;
-+
-+ if (regexps)
-+ for(i=0;i<count;i++)
-+ regfree(®exps[i]);
-+ return _free(regexps);
-+}
-+
- /**
- * Run per-interpreter dependency helper.
- * @param fc file classifier
- * @param deptype 'P' == Provides:, 'R' == Requires:, helper
- * @param nsdep class name for interpreter (e.g. "perl")
-+ * @param noauto _noauto* regexps
-+ * @param noauto_c # of _noauto* regexps
- * @return 0 on success
- */
--static int rpmfcHelper(rpmfc fc, unsigned char deptype, const char * nsdep)
-+static int rpmfcHelper(rpmfc fc, unsigned char deptype, const char * nsdep,
-+ regex_t * noauto, int noauto_c)
- /*@globals rpmGlobalMacroContext, h_errno, fileSystem, internalState @*/
- /*@modifies fc, rpmGlobalMacroContext, fileSystem, internalState @*/
- {
-@@ -404,6 +475,8 @@
- }
- /*@=branchstate@*/
-
-+ if(rpmfcMatchRegexps(noauto, noauto_c, N, deptype))
-+ continue;
-
- /* Add tracking dependency for versioned Provides: */
- if (!fc->tracked && deptype == 'P' && *EVR != '\0') {
-@@ -718,7 +791,7 @@
- *se = '\0';
- se++;
-
-- if (is_executable) {
-+ if (is_executable && fc->findreq && !rpmfcMatchRegexps(fc->noautoreq, fc->noautoreq_c, s, 'R')) {
- /* Add to package requires. */
- ds = rpmdsSingle(RPMTAG_REQUIRENAME, s, "", RPMSENSE_FIND_REQUIRES);
- xx = rpmdsMerge(&fc->requires, ds);
-@@ -747,49 +820,61 @@
-
- if (fc->fcolor->vals[fc->ix] & RPMFC_PERL) {
- if (strncmp(fn, "/usr/share/doc/", sizeof("/usr/share/doc/")-1)) {
-- if (fc->fcolor->vals[fc->ix] & RPMFC_MODULE)
-- xx = rpmfcHelper(fc, 'P', "perl");
-- if (is_executable || (fc->fcolor->vals[fc->ix] & RPMFC_MODULE))
-- xx = rpmfcHelper(fc, 'R', "perl");
-+ if (fc->findprov && fc->fcolor->vals[fc->ix] & RPMFC_MODULE)
-+ xx = rpmfcHelper(fc, 'P', "perl", fc->noautoprov, fc->noautoprov_c);
-+ if (fc->findreq && is_executable || (fc->fcolor->vals[fc->ix] & RPMFC_MODULE))
-+ xx = rpmfcHelper(fc, 'R', "perl", fc->noautoreq, fc->noautoreq_c);
- }
- } else
- if (fc->fcolor->vals[fc->ix] & RPMFC_PYTHON) {
-- xx = rpmfcHelper(fc, 'P', "python");
-+ if (fc->findprov)
-+ xx = rpmfcHelper(fc, 'P', "python", fc->noautoprov, fc->noautoprov_c);
- #ifdef NOTYET
- if (is_executable)
- #endif
-- xx = rpmfcHelper(fc, 'R', "python");
-+ if (fc->findreq)
-+ xx = rpmfcHelper(fc, 'R', "python", fc->noautoreq, fc->noautoreq_c);
- } else
- if (fc->fcolor->vals[fc->ix] & RPMFC_LIBTOOL) {
-- xx = rpmfcHelper(fc, 'P', "libtool");
-+ if (fc->findprov)
-+ xx = rpmfcHelper(fc, 'P', "libtool", fc->noautoprov, fc->noautoprov_c);
- #ifdef NOTYET
- if (is_executable)
- #endif
-- xx = rpmfcHelper(fc, 'R', "libtool");
-+ if (fc->findreq)
-+ xx = rpmfcHelper(fc, 'R', "libtool", fc->noautoreq, fc->noautoreq_c);
- } else
- if (fc->fcolor->vals[fc->ix] & RPMFC_PKGCONFIG) {
-- xx = rpmfcHelper(fc, 'P', "pkgconfig");
-+ if (fc->findprov)
-+ xx = rpmfcHelper(fc, 'P', "pkgconfig", fc->noautoprov, fc->noautoprov_c);
- #ifdef NOTYET
- if (is_executable)
- #endif
-- xx = rpmfcHelper(fc, 'R', "pkgconfig");
-+ if (fc->findreq)
-+ xx = rpmfcHelper(fc, 'R', "pkgconfig", fc->noautoreq, fc->noautoreq_c);
- } else
- if (fc->fcolor->vals[fc->ix] & RPMFC_BOURNE) {
- #ifdef NOTYET
-- xx = rpmfcHelper(fc, 'P', "executable");
-+ if (fc->findprov)
-+ xx = rpmfcHelper(fc, 'P', "executable", fc->noautoprov, fc->noautoprov_c);
- #endif
- if (is_executable)
-- xx = rpmfcHelper(fc, 'R', "executable");
-+ if (fc->findreq)
-+ xx = rpmfcHelper(fc, 'R', "executable", fc->noautoreq, fc->noautoreq_c);
- } else
- if (fc->fcolor->vals[fc->ix] & RPMFC_PHP) {
-- xx = rpmfcHelper(fc, 'P', "php");
-+ if (fc->findprov)
-+ xx = rpmfcHelper(fc, 'P', "php", fc->noautoprov, fc->noautoprov_c);
- /* not only executable, files run by httpd usually are not */
-- xx = rpmfcHelper(fc, 'R', "php");
-+ if (fc->findreq)
-+ xx = rpmfcHelper(fc, 'R', "php", fc->noautoreq, fc->noautoreq_c);
- } else
- if (fc->fcolor->vals[fc->ix] & RPMFC_MONO) {
-- xx = rpmfcHelper(fc, 'P', "mono");
-+ if (fc->findprov)
-+ xx = rpmfcHelper(fc, 'P', "mono", fc->noautoprov, fc->noautoprov_c);
- if (is_executable)
-- xx = rpmfcHelper(fc, 'R', "mono");
-+ if (fc->findreq)
-+ xx = rpmfcHelper(fc, 'R', "mono", fc->noautoreq, fc->noautoreq_c);
- }
- return 0;
- }
-@@ -816,20 +901,26 @@
- default:
- break;
- case RPMTAG_PROVIDENAME:
-+ if (fc->findprov && !rpmfcMatchRegexps(fc->noautoprov, fc->noautoprov_c, ds->N[0], 'P')) {
- /* Add to package provides. */
- rc = rpmdsMerge(&fc->provides, ds);
-
- /* Add to file dependencies. */
- buf[0] = '\0';
- rc = rpmfcSaveArg(&fc->ddict, rpmfcFileDep(buf, fc->ix, ds));
-+ } else
-+ rc = 0;
- break;
- case RPMTAG_REQUIRENAME:
-+ if (fc->findreq && !rpmfcMatchRegexps(fc->noautoreq, fc->noautoreq_c, ds->N[0], 'R')) {
- /* Add to package requires. */
- rc = rpmdsMerge(&fc->requires, ds);
-
- /* Add to file dependencies. */
- buf[0] = '\0';
- rc = rpmfcSaveArg(&fc->ddict, rpmfcFileDep(buf, fc->ix, ds));
-+ } else
-+ rc = 0;
- break;
- }
- return rc;
-@@ -870,6 +961,109 @@
- { NULL, 0 }
- };
-
-+static int rpmfcFindRequiredPackages(rpmfc fc)
-+{
-+ rpmts ts=NULL;
-+ const char * s;
-+ char * se;
-+ rpmds ds;
-+ const char * N;
-+ const char * EVR;
-+ int32_t Flags;
-+ unsigned char deptype;
-+ int nddict;
-+ int previx;
-+ int ix;
-+ int i;
-+ int j;
-+ int xx;
-+ int r;
-+ const char * hname;
-+ rpmdbMatchIterator it;
-+ Header hdr;
-+ regex_t *noautoreqdep;
-+ int noautoreqdep_c;
-+
-+ noautoreqdep=rpmfcExpandRegexps("%{__noautoreqdep}", &noautoreqdep_c);
-+
-+ ts = rpmtsCreate(); /* XXX ts created in main() should be used */
-+
-+ rpmlog(RPMLOG_NOTICE, _("Searching for required packages....\n"));
-+
-+ nddict = argvCount(fc->ddict);
-+ previx = -1;
-+ for (i = 0; i < nddict; i++) {
-+ s = fc->ddict[i];
-+
-+ /* Parse out (file#,deptype,N,EVR,Flags) */
-+ ix = strtol(s, &se, 10);
-+ assert(se != NULL);
-+ deptype = *se++;
-+ se++;
-+ N = se;
-+ while (*se && *se != ' ')
-+ se++;
-+ *se++ = '\0';
-+ EVR = se;
-+ while (*se && *se != ' ')
-+ se++;
-+ *se++ = '\0';
-+ Flags = strtol(se, NULL, 16);
-+
-+ if (deptype!='R') continue;
-+
-+ rpmlog(RPMLOG_DEBUG, _("#%i requires: %s,%s,%i\n"),ix,N,EVR,Flags);
-+ if (EVR && EVR[0]) {
-+ rpmlog(RPMLOG_DEBUG, _("skipping #%i require\n"));
-+ continue;
-+ }
-+ for(j=0;j<noautoreqdep_c;j++)
-+ if (!regexec(&noautoreqdep[j],N,0,NULL,0)) {
-+ rpmlog(RPMLOG_NOTICE,
-+ _("skipping %s requirement processing"
-+ " (matches noautoreqdep pattern #%i)\n"),N,j);
-+ break;
-+ }
-+ if (j<noautoreqdep_c) continue;
-+ if (N[0]=='/') {
-+ rpmlog(RPMLOG_DEBUG, _("skipping #%i require (is file requirement)\n"));
-+ continue;
-+ }
-+ it=rpmtsInitIterator(ts, RPMTAG_PROVIDENAME, N, 0);
-+ if (!it) {
-+ rpmlog(RPMLOG_DEBUG, _("%s -> not found\n"),N);
-+ continue;
-+ }
-+ rpmlog(RPMLOG_DEBUG, _("Iterator: %p\n"),it);
-+ if (rpmdbGetIteratorCount(it)>1) {
-+ rpmlog(RPMLOG_DEBUG, _("%s -> multiple (skipping)\n"),N);
-+ rpmdbFreeIterator(it);
-+ continue;
-+ }
-+ hdr=rpmdbNextIterator(it);
-+ assert(hdr!=NULL);
-+ r=headerGetEntry(hdr,RPMTAG_NAME,NULL,(void **)&hname, NULL);
-+ assert(r<2);
-+ if (!strcmp(hname,N)) {
-+ rpmlog(RPMLOG_DEBUG, _("%s -> %s (skipping)\n"),N,hname);
-+ rpmdbFreeIterator(it);
-+ continue;
-+ }
-+
-+ rpmlog(RPMLOG_DEBUG, "%s -> %s\n",N,hname);
-+
-+ ds = rpmdsSingle(RPMTAG_REQUIRENAME, hname, "", RPMSENSE_FIND_REQUIRES);
-+ xx = rpmdsMerge(&fc->requires, ds);
-+ ds = rpmdsFree(ds);
-+
-+ rpmdbFreeIterator(it);
-+ }
-+
-+ noautoreqdep = rpmfcFreeRegexps(noautoreqdep, noautoreqdep_c);
-+ ts = rpmtsFree(ts);
-+ return 0;
-+}
-+
- rpmRC rpmfcApply(rpmfc fc)
- {
- rpmfcApplyTbl fcat;
-@@ -888,6 +1082,26 @@
- int i;
- int xx;
- int skipping;
-+ int j;
-+ regex_t *noautoprovfiles = NULL;
-+ int noautoprovfiles_c;
-+ regex_t *noautoreqfiles = NULL;
-+ int noautoreqfiles_c;
-+ const char *buildroot;
-+ int buildroot_l;
-+
-+ fc->noautoprov = NULL;
-+ fc->noautoreq = NULL;
-+
-+ buildroot = rpmExpand("%{buildroot}",NULL);
-+ buildroot_l = strlen(buildroot);
-+
-+ noautoprovfiles = rpmfcExpandRegexps("%{__noautoprovfiles}", &noautoprovfiles_c);
-+ noautoreqfiles = rpmfcExpandRegexps("%{__noautoreqfiles}", &noautoreqfiles_c);
-+ fc->noautoprov = rpmfcExpandRegexps("%{__noautoprov}", &fc->noautoprov_c);
-+ fc->noautoreq = rpmfcExpandRegexps("%{__noautoreq}", &fc->noautoreq_c);
-+ rpmlog(RPMLOG_DEBUG, _("%i _noautoprov patterns.\n"), fc->noautoprov_c);
-+ rpmlog(RPMLOG_DEBUG, _("%i _noautoreq patterns.\n"), fc->noautoreq_c);
-
- /* Make sure something didn't go wrong previously! */
- assert(fc->fn != NULL);
-@@ -911,9 +1125,43 @@
- for (fcat = rpmfcApplyTable; fcat->func != NULL; fcat++) {
- if (!(fc->fcolor->vals[fc->ix] & fcat->colormask))
- /*@innercontinue@*/ continue;
-+ fc->findprov = 1;
-+ fc->findreq = 1;
-+ if (strncmp(fc->fn[fc->ix],buildroot,buildroot_l)==0) {/* sanity check */
-+ for(j = 0; j < noautoprovfiles_c; j++) {
-+ if (!regexec(&noautoprovfiles[j],
-+ fc->fn[fc->ix] + buildroot_l, 0, NULL, 0)) {
-+ rpmlog(RPMLOG_NOTICE,
-+ _("skipping %s provides detection"
-+ " (matches noautoprovfiles pattern #%i)\n"),
-+ fc->fn[fc->ix], j);
-+ fc->findprov = 0;
-+ break;
-+ }
-+ }
-+ for(j = 0; j < noautoreqfiles_c; j++) {
-+ if (!regexec(&noautoreqfiles[j],
-+ fc->fn[fc->ix] + buildroot_l, 0, NULL, 0)) {
-+ rpmlog(RPMLOG_NOTICE,
-+ _("skipping %s requires detection"
-+ " (matches noautoreqfiles pattern #%i)\n"),
-+ fc->fn[fc->ix], j);
-+ fc->findreq = 0;
-+ break;
-+ }
-+ }
-+ }
-+
- xx = (*fcat->func) (fc);
- }
- }
-+ noautoprovfiles = rpmfcFreeRegexps(noautoprovfiles, noautoprovfiles_c);
-+ noautoreqfiles = rpmfcFreeRegexps(noautoreqfiles, noautoreqfiles_c);
-+ fc->noautoprov = rpmfcFreeRegexps(fc->noautoprov, fc->noautoprov_c);
-+ fc->noautoreq = rpmfcFreeRegexps(fc->noautoreq, fc->noautoreq_c);
-+#ifdef AUTODEP_PKGNAMES /* define to use package names in R */
-+ rpmfcFindRequiredPackages(fc);
-+#endif
-
- /*@-boundswrite@*/
- /* Generate per-file indices into package dependencies. */
-diff -ur rpm.org/lib/rpmfc.h rpm/lib/rpmfc.h
---- rpm.org/lib/rpmfc.h 2007-07-14 05:22:44.000000000 +0200
-+++ rpm/lib/rpmfc.h 2007-10-02 14:49:18.731230377 +0200
-@@ -98,6 +98,11 @@
- StringBuf sb_python;/*!< concatenated list of python colored files. */
- StringBuf sb_php; /*!< concatenated list of php colored files. */
-
-+ int findprov, findreq;
-+ regex_t *noautoprov;
-+ int noautoprov_c;
-+ regex_t *noautoreq;
-+ int noautoreq_c;
- };
-
- /**
---- rpm/lib/rpmfc.h.org 2007-10-02 15:05:48.028299804 +0200
-+++ rpm/lib/rpmfc.h 2007-10-02 15:06:03.052024633 +0200
-@@ -67,6 +67,13 @@
- };
-
- #if defined(_RPMFC_INTERNAL)
-+
-+#if defined(WITH_PCRE) && defined(HAVE_PCREPOSIX_H)
-+#include <pcreposix.h>
-+#else
-+#include <regex.h>
-+#endif
-+
- /**
- */
- struct rpmfc_s {
+++ /dev/null
-# Overwrite RPM macros with PLD specific one here.
-
-%_defaultdocdir %{_usr}/share/doc
-
-%_tmppath %(echo "${TMPDIR:-/tmp}")
-%tmpdir %{_tmppath}
-
-%_topdir %(echo $HOME)/rpm
-
-%buildroot %{_tmppath}/%{name}-%{version}-root-%(id -u -n)
-
-%_source_payload w9.gzdio
-%_binary_payload w9.lzdio
-
-%_rpmfc_magic_path /usr/share/file/magic
-
-%_libexecdir %{_exec_prefix}/lib
-%_sysconfdir /etc
-%_sharedstatedir /var/lib
-%_localstatedir /var
-
-
-%_infodir %{_prefix}/share/info
-%_mandir %{_prefix}/share/man
-
-%undefine __scriptlet_requires
-
-%_enable_debug_packages 1
-
-# provides don't obsolete
-%_upgrade_tag name
-
-#-----------------------------------------------------------------
-# CFLAGS and LDFLAGS used to build
-
-%debuginfocflags %{expand:%%define __dic_%{?_enable_debug_packages} 1}%{?__dic_1: -gdwarf-2 -g2}%{expand:%%undefine __dic_%{?_enable_debug_packages}}
-# -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}
-%rpmcxxflags %{rpmcflags}
-%rpmldflags %{!?no_build_with_as_needed:-Wl,--as-needed}
-
-# arch macros
-%ix86 i386 i486 i586 i686 pentium3 pentium4 athlon
-%x8664 x86_64 amd64 ia32e
-%ppc ppc ppc7400 ppc7450
-
+++ /dev/null
---- rpm-4.4.3/configure.ac.orig 2005-11-18 23:04:14.916675328 +0100
-+++ rpm-4.4.3/configure.ac 2005-11-18 23:05:28.163540112 +0100
-@@ -42,7 +42,7 @@
- AC_SUBST(LT_AGE, 0)
-
- dnl Set of available languages.
--ALL_LINGUAS="cs da de fi fr gl is ja ko no pl pt pt_BR ro ru sk sl sr sv tr uk"
-+ALL_LINGUAS="cs da de fi fr gl id is it ja ko nb pl pt pt_BR ro ru sk sl sr@Latn sv tr uk"
-
- dnl Checks for programs.
- AC_PROG_CXX
--- /dev/null
+--- ./rpmpopt.in 2008-03-13 16:18:11.169818380 +0200
++++ rpm-4.4.9/rpmpopt.in 2008-03-24 22:09:33.709972364 +0200
+@@ -595,4 +595,13 @@
+ rpmv alias --httpproxy --define '_httpproxy !#:+'
+
++rpm alias --downgrade --oldpackage \
++ --POPTdesc=$"Allow an upgrade to replace a newer package with an older one."
++
++rpm alias --what-provides --whatprovides \
++ --POPTdesc=$"find package name that contains a provided capability"
++
++rpm alias --what-requires --whatrequires \
++ --POPTdesc=$"find package name that contains a required capability"
++
+ # \endverbatim
+ #*/
+++ /dev/null
---- rpm-4.3/lib/depends.c.orig 2003-05-15 18:16:51.000000000 +0200
-+++ rpm-4.3/lib/depends.c 2003-06-29 00:17:42.000000000 +0200
-@@ -343,8 +343,12 @@
-
- /* On upgrade, erase older packages of same color (if any). */
-
-+ /* NOTE: in PLD we don't want to remove packages which only provided
-+ * %{name} (e.g. perl-modules in case of some newer perl modules),
-+ * so we use NAME instead of PROVIDENAME (as in vanilla rpm) here */
-+
- if (!(depFlags & RPMDEPS_FLAG_NOUPGRADE)) {
-- mi = rpmtsInitIterator(ts, RPMTAG_PROVIDENAME, rpmteN(p), 0);
-+ mi = rpmtsInitIterator(ts, RPMTAG_NAME, rpmteN(p), 0);
- while((oh = rpmdbNextIterator(mi)) != NULL) {
- int lastx;
- rpmte q;
-
+++ /dev/null
---- rpm-4.4.6/lib/psm.c.old 2006-09-25 17:55:05.000000000 +0200
-+++ rpm-4.4.6/lib/psm.c 2006-09-25 19:40:47.000000000 +0200
-@@ -6,6 +6,7 @@
- #include "system.h"
-
- #include <rpmio_internal.h> /* XXX FDSTAT_READ */
-+#include <header_internal.h>
- #include <rpmcb.h> /* XXX fnpyKey */
- #include <rpmmacro.h>
- #include <rpmurl.h>
-@@ -1403,6 +1404,19 @@
- return rpmpsmStage(psm, psm->nstage);
- }
-
-+static void replace_lzma_with_gzip(Header h)
-+{
-+ indexEntry entry;
-+ int i;
-+
-+ for (i = 0, entry = h->index; i < h->indexUsed; i++, entry++) {
-+ if (entry->info.tag == RPMTAG_PAYLOADCOMPRESSOR) {
-+ memcpy(entry->data, "gzip", 4);
-+ break;
-+ }
-+ }
-+}
-+
- /**
- * @todo Packages w/o files never get a callback, hence don't get displayed
- * on install with -v.
-@@ -2151,6 +2165,11 @@
- payload_compressor = "gzip";
- /*@=branchstate@*/
- psm->rpmio_flags = t = xmalloc(sizeof("w9.gzdio"));
-+ if (psm->goal == PSM_PKGSAVE && !strcmp(payload_compressor, "lzma") && access("/usr/bin/lzma", X_OK)) {
-+ /* FIXME: digest is bad. */
-+ payload_compressor = "gzip";
-+ replace_lzma_with_gzip(psm->oh);
-+ }
- *t = '\0';
- t = stpcpy(t, ((psm->goal == PSM_PKGSAVE) ? "w9" : "r"));
- if (!strcmp(payload_compressor, "gzip"))
+++ /dev/null
-Index: rpm2cpio
-===================================================================
-RCS file: /v/rpm/cvs/rpm/scripts/rpm2cpio,v
-retrieving revision 1.2
-retrieving revision 1.2.2.1
-diff -u -u -r1.2 -r1.2.2.1
---- rpm/scripts/rpm2cpio 25 May 2007 18:34:16 -0000 1.2
-+++ rpm/scripts/rpm2cpio 10 Jun 2007 11:43:39 -0000 1.2.2.1
-@@ -23,4 +23,14 @@
- hdrsize=`expr 8 + 16 \* $il + $dl`
- o=`expr $o + $hdrsize`
-
--dd if=$pkg ibs=$o skip=1 2>/dev/null | gunzip
-+comp=$(dd if="$pkg" ibs=$o skip=1 count=1 2>/dev/null \
-+ | dd bs=3 count=1 2> /dev/null)
-+
-+gz="$(echo -en '\037\0213')"
-+case "$comp" in
-+ BZh) dd if="$pkg" ibs=$o skip=1 2>/dev/null | bunzip2 ;;
-+ "$gz"*) dd if="$pkg" ibs=$o skip=1 2>/dev/null | gunzip ;;
-+ # no magic in old lzma format, if unknown we assume that's lzma for now
-+ *) dd if="$pkg" ibs=$o skip=1 2>/dev/null | lzma d -si -so ;;
-+ #*) echo "Unrecognized rpm file: $pkg"; return 1 ;;
-+esac
--- /dev/null
+Index: rpm/CHANGES
+ 5.0.0 -> 5.1a1:
++ - jbj: fix: reverse arrows on erasure dependency graph.
+ - rse: provide the necessary pre-processor macros to allow misc/err.h to compile with Sun Studio 12 under Solaris 10
+ - jbj: rpmrepo: be kind to the sqlite3 deprived.
+ - jbj: rpmrepo: cleanly separate SQL representation from execution.
+Index: rpm/lib/depends.c
+RCS File: /v/rpm/cvs/rpm/lib/depends.c,v
+rcsdiff -q -kk '-r1.392' '-r1.393' -u '/v/rpm/cvs/rpm/lib/depends.c,v' 2>/dev/null
+--- lib/depends.c 2008/03/17 09:50:01 1.392
++++ lib/depends.c 2008/03/31 23:00:56 1.393
+@@ -1882,6 +1882,13 @@
+ return 0;
+ selected[i] = 1;
+
++ /* Erasures are reversed installs. */
++ if (teType == TR_REMOVED) {
++ rpmte r = p;
++ p = q;
++ q = r;
++ }
++
+ /* T3. Record next "q <- p" relation (i.e. "p" requires "q"). */
+ rpmteTSI(p)->tsi_count++; /* bump p predecessor count */
+
+@@ -1899,6 +1906,7 @@
+ tsi->tsi_next = rpmteTSI(q)->tsi_next;
+ rpmteTSI(q)->tsi_next = tsi;
+ rpmteTSI(q)->tsi_qcnt++; /* bump q successor count */
++
+ return 0;
+ }
+ /*@=mustmod@*/
+++ /dev/null
-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)
+++ /dev/null
-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@*/
+++ /dev/null
-diff -urN rpm-4.4.9.org/rpmdb/rpmdb.c rpm-4.4.9/rpmdb/rpmdb.c
---- rpm-4.4.9.org/rpmdb/rpmdb.c 2007-11-18 15:11:35.653546000 +0100
-+++ rpm-4.4.9/rpmdb/rpmdb.c 2007-11-18 15:14:35.666077651 +0100
-@@ -3899,11 +3899,6 @@
- int * dbiTags = NULL;
- int dbiTagsMax = 0;
-
-- /*@-branchstate@*/
-- if (prefix == NULL) prefix = "/";
-- /*@=branchstate@*/
-- prefix = rpmGetPath(prefix, NULL); /* strip trailing '/' */
--
- _dbapi = rpmExpandNumeric("%{_dbapi}");
- _dbapi_rebuild = rpmExpandNumeric("%{_dbapi_rebuild}");
-
-@@ -3920,6 +3915,16 @@
- rc = 1;
- goto exit;
- }
-+ /* Add --root prefix iff --dbpath is not a URL. */
-+ switch (urlPath(tfn, NULL)) {
-+ default:
-+ prefix = xstrdup("");
-+ break;
-+ case URL_IS_UNKNOWN:
-+ prefix = rpmGetPath((prefix ? prefix : "/"), NULL);
-+ break;
-+ }
-+
- dbpath = rootdbpath = rpmGetPath(prefix, tfn, NULL);
- if (!(prefix[0] == '/' && prefix[1] == '\0'))
- dbpath += strlen(prefix);
-@@ -3945,7 +3950,7 @@
- }
- newdbpath = newrootdbpath = rpmGetPath(prefix, tfn, NULL);
- if (!(prefix[0] == '/' && prefix[1] == '\0'))
-- newdbpath += strlen(prefix) - 1;
-+ newdbpath += strlen(prefix);
- tfn = _free(tfn);
-
- rpmMessage(RPMMESS_DEBUG, _("rebuilding database %s into %s\n"),
+++ /dev/null
---- rpm-4.4.4/rpmpopt.in.orig 2005-10-30 02:15:44.000000000 +0200
-+++ rpm-4.4.4/rpmpopt.in 2005-11-18 22:43:57.809703712 +0100
-@@ -221,6 +221,15 @@
- rpmb alias --without --define "_without_!#:+ --without-!#:+" \
- --POPTdesc=$"disable configure <option> for build" \
- --POPTargs=$"<option>"
-+# (PLD-specific) Make RPM build tree
-+rpmb exec --install-build-tree install-build-tree \
-+ --POPTdesc=$"make all needed dirs for building binary rpms"
-+# (PLD-specific) Compiling with debuginfo may be enabled by --debug
-+rpmb alias --debug --define 'debug 1' \
-+ --POPTdesc=$"build packages with debug information"
-+# (PLD-specific) Conditional building
-+rpmb exec --bcond find-spec-bcond \
-+ --POPTdesc=$"find all --with/--without values"
- #==============================================================================
- rpmbuild alias --dbpath --define '_dbpath !#:+' \
- --POPTdesc=$"use database in DIRECTORY" \
-@@ -240,5 +249,15 @@
- --POPTdesc=$"override build root" \
- --POPTargs=$"DIRECTORY"
-
-+# (PLD-specific) Make RPM build tree
-+rpmbuild exec --install-build-tree install-build-tree \
-+ --POPTdesc=$"make all needed dirs for building binary rpms"
-+# (PLD-specific) Compiling with debuginfo may be enabled by --debug
-+rpmbuild alias --debug --define 'debug 1' \
-+ --POPTdesc=$"build packages with debug information"
-+# (PLD-specific) Conditional building
-+rpmbuild exec --bcond find-spec-bcond \
-+ --POPTdesc=$"find all --with/--without values"
-+
- # \endverbatim
- #*/
-;--- rpm-4.4.9/po/pl.po.orig 2007-05-22 01:10:34.875893544 +0200
-;+++ rpm-4.4.9/po/pl.po 2007-05-22 08:08:41.253484731 +0200
-;@@ -4509,6 +4509,18 @@
-; msgid "disable configure <option> for build"
-; msgstr "wy³±cz <opcjê> konfiguracji przy budowaniu"
-;
-;+#: rpmpopt:251
-;+msgid "make all needed dirs for building binary rpms"
-;+msgstr "utwórz wszystkie katalogi potrzebne do budowania binarnych RPM-ów"
-;+
-;+#: rpmpopt:254
-;+msgid "build packages with debug information"
-;+msgstr "buduj pakiety z informacjami do odpluskwiania"
-;+
-;+#: rpmpopt:257
-;+msgid "find all --with/--without values"
-;+msgstr "znajd¼ wszystkie warto¶ci --with/--without"
-;+
-; #: rpmpopt:262 rpmpopt:277 rpmpopt:295 rpmpopt:303
-; #: rpmpopt:311 rpmpopt:319 rpmpopt:327 rpmpopt:335
-; #: rpmpopt:343 rpmpopt:454 rpmpopt:564 rpmpopt:572
+++ /dev/null
---- 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;
+++ /dev/null
---- rpm-4.1/lib/rpminstall.c.wiget Mon Sep 16 21:06:08 2002
-+++ rpm-4.1/lib/rpminstall.c Thu Sep 19 00:03:36 2002
-@@ -126,8 +126,15 @@
- xx = Fclose(fd);
- fd = NULL;
- }
-- } else
-+ } else {
-+ long oldfl;
- fd = fdLink(fd, "persist (showProgress)");
-+ oldfl=Fcntl(fd, F_GETFD, 0);
-+ if(oldfl >= 0) {
-+ oldfl |= FD_CLOEXEC; /* scripts shouldn't inherit rpm file descriptor */
-+ Fcntl(fd, F_SETFD, (void*)oldfl);
-+ }
-+ }
- /*@=type@*/
- return fd;
- /*@notreached@*/ break;
$(PROGRAMS): @WITH_APIDOCS_TARGET@
---- rpm-4.4.9/configure.ac.orig 2007-06-18 17:11:08.000000000 +0200
-+++ rpm-4.4.9/configure.ac 2007-06-18 17:11:37.000000000 +0200
-@@ -35,7 +35,7 @@
- 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"
-+ LDFLAGS=""
- fi
- export CFLAGS LDFLAGS
-
+++ /dev/null
---- 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
+++ /dev/null
-# vim:ts=8:sw=4
---- rpm-4.4.6/build/parseChangelog.c~ 2006-04-30 17:34:40.334393487 +0300
-+++ rpm-4.4.6/build/parseChangelog.c 2006-05-02 19:46:06.357193264 +0300
-@@ -8,6 +8,9 @@
- #include "rpmbuild.h"
- #include "debug.h"
-
-+#define CVS_RCSID "$""Log: "
-+#define CVS_REVISION "Revision "
-+
- void addChangelogEntry(Header h, time_t time, const char *name, const char *text)
- {
- int_32 mytime = time; /* XXX convert to header representation */
-@@ -123,6 +123,7 @@
- int nentries = 0;
- static time_t last = 0;
- static int oneshot = 0;
-+ int numchangelog = rpmExpandNumeric("%{?_buildchangelogtruncate}");
-
- /* Determine changelog truncation criteria. */
- if (!oneshot++) {
-@@ -222,6 +223,42 @@
- /* backup to end of description */
- while ((s > text) && xisspace(*s))
- *s-- = '\0';
-+
-+ if (numchangelog && (s = strstr(text, CVS_RCSID))) {
-+ /* find end of line */
-+ while(*s && *s != '\n') s++;
-+ if (!*s) {
-+ goto out;
-+ }
-+ s++;
-+ if (!*s) {
-+ goto out;
-+ }
-+
-+ /* we reached place where first Revisions should be */
-+ i = 0;
-+ while (1) {
-+ if (strncmp(s, CVS_REVISION, sizeof(CVS_REVISION) - 1) == 0) {
-+ if (i++ == numchangelog) {
-+ break;
-+ }
-+ }
-+ while(*s && *s != '\n') s++;
-+ if (!*s) {
-+ break;
-+ }
-+ s++;
-+ }
-+
-+ if (*s) {
-+ s--;
-+ /* backup to the beginning of line */
-+ while ((s > text) && (*s == '\n' || xisspace(*s))) {
-+ *s-- = '\0';
-+ }
-+ }
-+ }
-+out:
-
- /* Add entry if not truncated. */
- nentries++;
+++ /dev/null
-#!/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
+++ /dev/null
---- 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;
Applications/Games/Boards
[pl]: Aplikacje/Gry/Planszowe
-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
[sv]: Tillämpningar/Multimedia
[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/News
[cs]: Aplikace/News
[da]: Programmer/Nyheder
[sv]: Utveckling/Bygga
[uk]: Розробка/Будова
+Development/Debug
+ [pl]: Programowanie/Odpluskwianie
+
Development/Debuggers
[cs]: Vývojové prostøedky/Debuggery
[da]: Udvikling/Fejlfinding
[sv]: Typsnitt
[uk]: Шрифти
+I18n
+
Libraries
[cs]: Knihovny
[da]: Biblioteker
[sl]: Knji¾nice/Python
[uk]: Бібліотеки/Python
+Libraries/Java
+ [et]: Teegid/Java
+
Libraries/XML
[cs]: Knihovny/XML
[da]: Biblioteker/XML
[sv]: Nätverk/Demoner
[uk]: Мережа/Демони
+Networking/Daemons/FTP
+ [cs]: Sí»ové/Démoni/FTP
+ [da]: Netværks/Dæmoner/FTP
+ [de]: Netzwerkwesen/Server/FTP
+ [es]: Red/Servidores/FTP
+ [fr]: Réseau/Serveurs/FTP
+ [is]: Net/Púkar/FTP
+ [it]: Rete/Demoni/FTP
+ [nb]: Nettverks/Daemoner/FTP
+ [pl]: Sieciowe/Serwery/FTP
+ [pt]: Rede/Servidores/FTP
+ [ru]: óÅÔØ/äÅÍÏÎÙ/FTP
+ [sl]: Omre¾ni/Stre¾niki/FTP
+ [sv]: Nätverk/Demoner/FTP
+ [uk]: Мережа/Демони/FTP
+
+Networking/Daemons/HTTP
+ [cs]: Sí»ové/Démoni/HTTP
+ [da]: Netværks/Dæmoner/HTTP
+ [de]: Netzwerkwesen/Server/HTTP
+ [es]: Red/Servidores/HTTP
+ [fr]: Réseau/Serveurs/HTTP
+ [is]: Net/Púkar/HTTP
+ [it]: Rete/Demoni/HTTP
+ [nb]: Nettverks/Daemoner/HTTP
+ [pl]: Sieciowe/Serwery/HTTP
+ [pt]: Rede/Servidores/HTTP
+ [ru]: óÅÔØ/äÅÍÏÎÙ/HTTP
+ [sl]: Omre¾ni/Stre¾niki/HTTP
+ [sv]: Nätverk/Demoner/HTTP
+ [uk]: Мережа/Демони/HTTP
+
Networking/Daemons/Java
[cs]: Sí»ové/Démoni/Java
[da]: Netværks/Dæmoner/Java
Networking/Daemons/Java/Servlets
[pl]: Sieciowe/Serwery/Java/Servlety
+Networking/Daemons/POP3
+ [cs]: Sí»ové/Démoni/POP3
+ [da]: Netværks/Dæmoner/POP3
+ [de]: Netzwerkwesen/Server/POP3
+ [es]: Red/Servidores/POP3
+ [fr]: Réseau/Serveurs/POP3
+ [is]: Net/Púkar/POP3
+ [it]: Rete/Demoni/POP3
+ [nb]: Nettverks/Daemoner/POP3
+ [pl]: Sieciowe/Serwery/POP3
+ [pt]: Rede/Servidores/POP3
+ [ru]: óÅÔØ/äÅÍÏÎÙ/POP3
+ [sl]: Omre¾ni/Stre¾niki/POP3
+ [sv]: Nätverk/Demoner/POP3
+ [uk]: Мережа/Демони/POP3
+
+Networking/Daemons/Radius
+ [cs]: Sí»ové/Démoni/Radius
+ [da]: Netværks/Dæmoner/Radius
+ [de]: Netzwerkwesen/Server/Radius
+ [es]: Red/Servidores/Radius
+ [fr]: Réseau/Serveurs/Radius
+ [is]: Net/Púkar/Radius
+ [it]: Rete/Demoni/Radius
+ [nb]: Nettverks/Daemoner/Radius
+ [pl]: Sieciowe/Serwery/Radius
+ [pt]: Rede/Servidores/Radius
+ [ru]: óÅÔØ/äÅÍÏÎÙ/Radius
+ [sl]: Omre¾ni/Stre¾niki/Radius
+ [sv]: Nätverk/Demoner/Radius
+ [uk]: Мережа/Демони/Radius
+
+Networking/Daemons/SMTP
+ [cs]: Sí»ové/Démoni/SMTP
+ [da]: Netværks/Dæmoner/SMTP
+ [de]: Netzwerkwesen/Server/SMTP
+ [es]: Red/Servidores/SMTP
+ [fr]: Réseau/Serveurs/SMTP
+ [is]: Net/Púkar/SMTP
+ [it]: Rete/Demoni/SMTP
+ [nb]: Nettverks/Daemoner/SMTP
+ [pl]: Sieciowe/Serwery/SMTP
+ [pt]: Rede/Servidores/SMTP
+ [ru]: óÅÔØ/äÅÍÏÎÙ/SMTP
+ [sl]: Omre¾ni/Stre¾niki/SMTP
+ [sv]: Nätverk/Demoner/SMTP
+ [uk]: Мережа/Демони/SMTP
+
Networking/News
[cs]: Sí»ové/News
[da]: Netværks/Nyheder
+++ /dev/null
-# $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 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; \
-}
-
-%__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}
-
-%_smp_mflags %([ -z "$RPM_BUILD_NCPUS" ] \\\
- && RPM_BUILD_NCPUS="`/usr/bin/getconf _NPROCESSORS_ONLN`"; \\\
- [ "$RPM_BUILD_NCPUS" -gt 1 ] && echo "-j$RPM_BUILD_NCPUS")
-
-#-----------------------------------------------------------------
-#
-# (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
-%__scons /usr/bin/scons
-%scons { \
-%{__scons} \
- LDFLAGS="${LDFLAGS:-%rpmldflags}" \
- CFLAGS="${CFLAGS:-%rpmcflags}" \
- CXXFLAGS="${CXXFLAGS:-%rpmcxxflags}" \
- FFLAGS="${FFLAGS:-%rpmcflags}" \
- CPPFLAGS="${CPPFLAGS:-}" \
- %{?__cc:CC="%{__cc}"} \
- %{?__cxx:CXX="%{__cxx}"} \
- libsuffix=%{_lib} \
- prefix=%{_prefix} \
-}
-
-# 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} \
-}
-
-#----------------------------------------------------------------
-#%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}} \
-}
-
-# overload to insert debuginfo package
-%prep \
-%if 0%{?_enable_debug_packages}\
-%{debug_package}\
-%endif\
-%%prep\
-%{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)")
-%releq_kernel_up() %((LC_ALL="C" rpm -qf --qf '%%{name}-up = %%{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)")
-%releq_kernel_smp() %((LC_ALL="C" rpm -qf --qf '%%{name}-smp = %%{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_releq_kernel_up(s:) Requires%{-s:(%{-s*})}: %releq_kernel_up
-%requires_releq_kernel_smp(s:) Requires%{-s:(%{-s*})}: %releq_kernel_smp
-
-%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; do \
- if [ -d "$RPM_BUILD_ROOT$i" ]; then \
- echo "Compress man 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 l | while read a; do \
- m=$(readlink $a); \
- rm -f $a; \
- echo .so ${m##*/} > $a; \
- echo >&2 "Converted ${a#$RPM_BUILD_ROOT} from symlink to man link: ${m##*/}"; \
- done; \
- find "$RPM_BUILD_ROOT$i" -type f -size +%{_min_compress_bytes}c -print | xargs -r %{__gzip} -9nf; \
- fi; \
- done; \
- if [ -d "$RPM_BUILD_ROOT%{_infodir}" ]; then \
- echo "Compress info pages: %{_infodir}"; \
- find "$RPM_BUILD_ROOT%{_infodir}" -name '*.bz2' -print | xargs -r %{__bzip2} -df; \
- find "$RPM_BUILD_ROOT%{_infodir}" -name '*.gz' -print | xargs -r %{__gzip} -dnf; \
- find "$RPM_BUILD_ROOT%{_infodir}" -name '*.info*' -type f -size +%{_min_compress_bytes}c -print | xargs -r %{__gzip} -9nf; \
- fi; \
-}; __spec_install_post_compress_docs } }
-
-#-----------------------------------------------------------------
-# Strip executable binaries and shared object files
-#
-# Requires: find, awk, strip, cut, xargs
-#
-# Special macros which affect this process:
-#%no_install_post_strip 1 # disable stripping at all
-#%_noautostrip regexp # exclude files matching (anchored!) regex from stripping
-#%_autostripall regexp # strip files matching (anchored!) regex using plain strip
-#%_autostripunneeded regexp # strip files matching (anchored!) regex using strip --strip-unneeded
-#%_autostripdebug regexp # strip files matching (anchored!) regex using strip --strip-debug
-#
-%__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); \
- if [ "$modulelist" ]; then \
- modulecount=$(echo "$modulelist" | wc -l); \
- printf "Stripping %d kernel modules..." $modulecount; \
- 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; \
- fi; \
- filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*/usr/lib[0-9]*/debug/.*\.debug" ! -regex ".*/lib/modules/.*" ! -regex ".*%{_docdir}/.*" ! -regex ".*%{_includedir}/.*" %{?_noautostrip:! -regex "%{_noautostrip}"} %{?_autostripall:! -regex "%{_autostripall}"} %{?_autostripunneeded:! -regex "%{_autostripunneeded}"} %{?_autostripdebug:! -regex "%{_autostripdebug}"}`; \
- if [ -n "$filelist" ]; then \
- 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 "$archiveslist" | wc -l); \
- chmod u+w $archiveslist; \
- %{__strip} --strip-debug --remove-section=.note --remove-section=.comment $archiveslist; \
- echo "DONE"; \
- fi; \
- fi; \
- filelist_all=%{?_autostripall:`find $RPM_BUILD_ROOT -type f -regex "%{_autostripall}"`}; \
- filelist_unneeded=%{?_autostripunneeded:`find $RPM_BUILD_ROOT -type f -regex "%{_autostripunneeded}"`}; \
- filelist_debug=%{?_autostripdebug:`find $RPM_BUILD_ROOT -type f -regex "%{_autostripdebug}"`}; \
- if [ -n "$filelist_all" ]; then \
- printf "Stripping everything from %d additional files..." $(echo "$filelist_all" | wc -l); \
- chmod u+w $filelist_all; \
- %{__strip} --remove-section=.note --remove-section=.comment $filelist_all; \
- echo "DONE"; \
- fi; \
- if [ -n "$filelist_unneeded" ]; then \
- printf "Stripping unneeded from %d additional files..." $(echo "$filelist_unneeded" | wc -l); \
- chmod u+w $filelist_unneeded; \
- %{__strip} --strip-unneeded --remove-section=.note --remove-section=.comment $filelist_unneeded; \
- echo "DONE"; \
- fi; \
- if [ -n "$filelist_debug" ]; then \
- printf "Stripping debuginfo from %d additional files..." $(echo "$filelist_debug" | wc -l); \
- chmod u+w $filelist_debug; \
- %{__strip} --strip-debug --remove-section=.note --remove-section=.comment $filelist_debug; \
- 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
-#
-# Special macros which affect this process
-#%no_install_post_chrpath 1 # disable chrpath at all
-#%_noautochrpath regex # exclude files matching (anchored!) regex from chrpath
-#
-%__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 ".*/lib/modules/.*" ! -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 \
- q=$(find $RPM_BUILD_ROOT/lib/modules -name '*o' -type f -print); \
- if [ "$q" ]; then \
- printf "Compress %d kernel modules..." $(echo "$q" | wc -l); \
- echo "$q" | xargs -r %{__gzip} -9nf; \
- echo "DONE"; \
- 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; \
- 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; \
-}} \
-%{nil}
-
-%update_desktop_database_postun() {{ \
-if [ $1 = 0 ]; then \
- umask 022; \
- /usr/bin/update-desktop-database -q; \
-fi \
-}} \
-%{nil}
-
-#-----------------------------------------------------------------
-# Update shared MIME info database
-# requires: shared-mime-info
-#
-%update_mime_database() {{ \
- umask 022; \
- /usr/bin/update-mime-database %{_datadir}/mime; \
-}} \
-%{nil}
-
-#-----------------------------------------------------------------
-# Update icon cache
-# requires: gtk+
-#
-%update_icon_cache() {{ \
- umask 022; \
- /usr/bin/gtk-update-icon-cache -qf %{_datadir}/icons/%1; \
-}} \
-%{nil}
-
-#-----------------------------------------------------------------
-# 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_vendorarchdir %(ruby -r rbconfig -e 'print Config::CONFIG["vendorarchdir"]' 2>/dev/null || echo ERROR)
-%ruby_vendorlibdir %(ruby -r rbconfig -e 'print Config::CONFIG["vendorlibdir"]' 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)
-%php_includedir %(php-config --include-dir 2>/dev/null || echo ERROR)
-
-# 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}
-
-
-# X.org helper macros
-%__xorg_abi_requires() Requires: xorg-xserver-server(%{expand:%1}-abi) = %{expand:%{%{!?2:%{1}}%{?2}}}
-#
-%xorg_xserver_ansic_abi %(awk '/#define ABI_ANSIC_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' /usr/include/xorg/xf86Module.h 2> /dev/null || echo ERROR)
-%xorg_xserver_extension_abi %(awk '/#define ABI_EXTENSION_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' /usr/include/xorg/xf86Module.h 2> /dev/null || echo ERROR)
-%xorg_xserver_font_abi %(awk '/#define ABI_FONT_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' /usr/include/xorg/xf86Module.h 2> /dev/null | echo ERROR)
-%xorg_xserver_videodrv_abi %(awk '/#define ABI_VIDEODRV_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' /usr/include/xorg/xf86Module.h 2> /dev/null || echo ERROR)
-%xorg_xserver_xinput_abi %(awk '/#define ABI_XINPUT_VERSION/ { split($0,A,/[(,)]/); printf("%d.%d",A[2], A[3]); }' /usr/include/xorg/xf86Module.h 2> /dev/null || echo ERROR)
-
-%requires_xorg_xserver_extension %{__xorg_abi_requires ansic xorg_xserver_ansic_abi} \
-%{__xorg_abi_requires extension xorg_xserver_extension_abi}
-%requires_xorg_xserver_xinput %{__xorg_abi_requires ansic xorg_xserver_ansic_abi} \
-%{__xorg_abi_requires xinput xorg_xserver_xinput_abi}
-%requires_xorg_xserver_font %{__xorg_abi_requires ansic xorg_xserver_ansic_abi} \
-%{__xorg_abi_requires font xorg_xserver_font_abi}
-%requires_xorg_xserver_videodrv %{__xorg_abi_requires ansic xorg_xserver_ansic_abi} \
-%{__xorg_abi_requires videodrv xorg_xserver_videodrv_abi}
-
-# 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="${a%.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
-#
-# Tests:
-# (rpm -E '%banner -e banner <<EOF'; echo -e 'hi\nEOF') > m; sh -x m
-# rpm -E 'date | %banner -e banner' > m; sh -x m
-#
-%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:%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;
-
-# 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}
-
-# 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
-
-# jpackage 1.7
-# Directory for maven depmaps
-#
-%_mavendepmapdir /etc/maven
-%_mavendepmapfragdir /etc/maven/fragments
-
-#
-# add_to_depmap adds an entry to the depmap. The arguments are:
-#
-# %1 the original groupid
-# %2 the original artifact id
-# %3 the version
-# %4 the new groupid
-# %5 the new artifactid
-#
-
-%add_to_maven_depmap() \
-install -dm 755 $RPM_BUILD_ROOT/%{_mavendepmapfragdir}\
-cat >>$RPM_BUILD_ROOT/%{_mavendepmapfragdir}/%{name}<< EOF\
-<dependency>\
- <maven>\
- <groupId>%1</groupId>\
- <artifactId>%2</artifactId>\
- <version>%3</version>\
- </maven>\
- <jpp>\
- <groupId>%4</groupId>\
- <artifactId>%5</artifactId>\
- <version>%3</version>\
- </jpp>\
-</dependency>\
-\
-EOF\
-%{nil}
-
-#==============================================================================
-#
-# update_maven_depmap updates the main maven depmap
-#
-%update_maven_depmap() \
-echo -e "<dependencies>\\n" > %{_mavendepmapdir}/maven2-depmap.xml\
-if [ -d %{_mavendepmapfragdir} ] && [ -n "`find %{_mavendepmapfragdir} -type f`" ]; then\
-cat %{_mavendepmapfragdir}/* >> %{_mavendepmapdir}/maven2-depmap.xml\
-fi\
-echo -e "</dependencies>\\n" >> %{_mavendepmapdir}/maven2-depmap.xml
-
-
-# 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
-
-%pear_install(a:n:zD) \
-%__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; }; \
-%{nil}
-
-# 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_install \
-%{-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 \
- local cfgs='%{?with_dist_kernel:%{?with_smp: smp}%{?with_up: up}}%{!?with_dist_kernel: nondist}' \
- \
-for cfg in ${cfgs:-dist}; 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 \
- \
- 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 defining 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} \
- \
-local cfgs='%{?with_dist_kernel:%{?with_smp: smp}%{?with_up: up}}%{!?with_dist_kernel: nondist}' \
- \
-for MODULE in {%{-m*},}; do \
- [ -n "${MODULE}" ] || continue \
- for cfg in ${cfgs:-dist}; do \
- [ "$cfg" = smp ] && suf=smp || suf= \
- MNAME=${MODULE##*/} \
- install -D ${MODULE}-$cfg.ko \\\
- %{KernelD}$suf/%{-d*}/${MNAME}%{-s:-%{-s*}}.ko \
- %{?-s:install -d %{ModprobeD}$suf \
- echo "alias ${MNAME} ${MNAME}-%{-s*}" \\\
- >> %{ModprobeD}$suf/%{-n*}.conf} \
- done \
-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
+++ /dev/null
-# 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}
-
+++ /dev/null
-#
-# TODO:
-# - python(abi) cap is not provided automatically because /usr/lib*/libpython2*.so.*
-# matches ELF first
-# - repackaging when lzma is not installed (todo: fix digest signature of header)
-# rpmbuild computes digest when writing package to temporary file, then adds a few
-# tags (incl. digest) and writes whole package to destination file;
-# repackaging uses unchanged "immutable header" image from original rpm, also
-# preserving payload format and compressor from original rpm, _not_ current settings
-# - TODO: add macros for some ppc, mipsel, alpha and sparc
-# - uppackaged list:
-# /usr/lib/rpm/http.req
-# /usr/lib/rpm/install-sh
-# /usr/lib/rpm/mono-find-provides
-# /usr/lib/rpm/mono-find-requires
-# /usr/lib/rpm/osgideps.pl
-# /usr/lib/rpm/perldeps.pl
-# /usr/lib/rpm/rpm2cpio
-# /usr/lib/rpm/symclash.py
-# /usr/lib/rpm/symclash.sh
-# /usr/lib/rpm/vcheck
-# /usr/share/man/ja/man8/rpmcache.8.gz
-# /usr/share/man/ja/man8/rpmgraph.8.gz
-# /usr/share/man/man8/rpmcache.8.gz
-# /usr/share/man/man8/rpmconstant.8.gz
-# /usr/share/man/man8/rpmgraph.8.gz
-# /usr/share/man/pl/man8/rpmcache.8.gz
-# /usr/share/man/pl/man8/rpmgraph.8.gz
-#
-# Conditional build:
-%bcond_with static # build static rpm+rpmi
-%bcond_with 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 suggest_tags # build without Suggest tag (bootstrapping)
-%bcond_with neon # build with HTTP/WebDAV support (neon library)
-%bcond_without db # BerkeleyDB
-%bcond_with sqlite # build with SQLite support
-%bcond_with sqlite_dbapi # default database backend is sqlite
-# force_cc - force using __cc other than "%{_target_cpu}-pld-linux-gcc"
-# force_cxx - force using __cxx other than "%{_target_cpu}-pld-linux-g++"
-# force_cpp - force using __cpp other than "%{_target_cpu}-pld-linux-gcc -E"
-#
-%if %{with sqlite_dbapi}
-%define with_sqlite 1
-%endif
-
-%if %{without db} && %{without sqlite}
-%{error:Need db or sqlite}
-ERROR
-%endif
-
-#
-# versions of required libraries
-%define reqdb_ver 4.6.18
-%define reqpopt_ver 1.10.8
-%define beecrypt_ver 2:4.1.2-4
-%define find_lang_rev 1.25
-%define sover 5.0
-Summary: RPM Package Manager
-Summary(de.UTF-8): RPM Packet-Manager
-Summary(es.UTF-8): Gestor de paquetes RPM
-Summary(pl.UTF-8): Aplikacja do zarządzania pakietami RPM
-Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM
-Summary(ru.UTF-8): Менеджер пакетов от RPM
-Summary(uk.UTF-8): Менеджер пакетів від RPM
-Name: rpm
-Version: 5.0.1
-Release: 0.1
-License: LGPL
-Group: Base
-Source0: http://rpm5.org/files/rpm/rpm-5.0/%{name}-%{version}.tar.gz
-# Source0-md5: 4a19c36b9fd99aca2a96ee5408af4fe3
-Source1: %{name}.groups
-Source2: %{name}.platform
-Source3: %{name}-install-tree
-Source4: %{name}-find-spec-bcond
-Source5: %{name}-find-lang
-Source6: %{name}-groups-po.awk
-Source7: %{name}-compress-doc
-Source8: %{name}-check-files
-Source9: %{name}-php-provides
-Source10: %{name}-php-requires
-Source11: %{name}.sysinfo
-Source12: perl.prov
-Source13: %{name}-user_group.sh
-Source14: %{name}.sysconfig
-Source15: %{name}-macros.java
-Source16: %{name}-java-requires
-# http://svn.pld-linux.org/banner.sh/
-Source17: banner.sh
-Source18: %{name}-pld.macros
-
-Source100: %{name}-macros-athlon
-Source101: %{name}-macros-i386
-Source102: %{name}-macros-i486
-Source103: %{name}-macros-i586
-Source104: %{name}-macros-i686
-Source105: %{name}-macros-noarch
-Source106: %{name}-macros-pentium3
-Source107: %{name}-macros-pentium4
-Source108: %{name}-macros-ppc
-Source109: %{name}-macros-x86_64
-Source110: %{name}-macros-ia32e
-Source111: %{name}-macros-amd64
-
-#Patch0: %{name}-pl.po.patch
-Patch1: %{name}-man_pl.patch
-Patch3: %{name}-rpmpopt.patch
-Patch4: %{name}-perl-macros.patch
-Patch5: %{name}-perl-req-perlfile.patch
-Patch6: %{name}-noexpand.patch
-Patch7: %{name}-scripts-closefds.patch
-Patch8: %{name}-php-macros.patch
-Patch9: %{name}-gettext-in-header.patch
-Patch10: %{name}-compress-doc.patch
-
-Patch14: %{name}-etc_dir.patch
-Patch16: %{name}-php-deps.patch
-
-Patch18: %{name}-perl_req.patch
-
-Patch23: %{name}-pkgconfigdeps.patch
-
-Patch26: %{name}-notsc.patch
-Patch27: %{name}-hack-norpmlibdep.patch
-
-Patch32: %{name}-pld-autodep.patch
-#Patch34: %{name}-epoch0.patch
-Patch35: %{name}-perl_req-INC_dirs.patch
-Patch36: %{name}-debuginfo.patch
-Patch37: %{name}-doxygen_hack.patch
-
-Patch42: %{name}-old-fileconflicts-behaviour.patch
-
-Patch46: %{name}-mono.patch
-Patch47: %{name}-javadeps.patch
-
-Patch52: %{name}-morearchs.patch
-
-Patch55: %{name}-truncate-cvslog.patch
-
-Patch58: %{name}-repackage-wo-lzma.patch
-Patch59: %{name}-libtool-deps.patch
-
-Patch61: %{name}-sparc64.patch
-URL: http://rpm5.org/
-BuildRequires: autoconf >= 2.57
-BuildRequires: automake >= 1.4
-BuildRequires: beecrypt-devel >= %{beecrypt_ver}
-BuildRequires: bzip2-devel >= 1.0.2-17
-%{?with_db:BuildRequires: db-devel >= %{reqdb_ver}}
-BuildRequires: elfutils-devel >= 0.108
-%ifnarch sparc64
-# -fPIE/-pie
-BuildRequires: gcc >= 5:3.4
-%endif
-BuildRequires: gettext-devel >= 0.11.4-2
-BuildRequires: libmagic-devel
-%{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
-# needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
-BuildRequires: libstdc++-devel
-BuildRequires: libtool >= 1:1.4.2-9
-%if %{with neon}
-BuildRequires: libxml2-devel
-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
-BuildRequires: rpm-perlprov
-%{?with_python:BuildRequires: rpm-pythonprov}
-%{?with_sqlite:BuildRequires: sqlite3-devel}
-BuildRequires: zlib-devel
-%if %{with static}
-# Require static library only for static build
-BuildRequires: beecrypt-static >= %{beecrypt_ver}
-BuildRequires: bzip2-static >= 1.0.2-17
-%{?with_db:BuildRequires: db-static >= %{reqdb_ver}}
-BuildRequires: elfutils-static
-BuildRequires: glibc-static >= 2.2.94
-BuildRequires: libmagic-static
-%{?with_selinux:BuildRequires: libselinux-static >= 1.18}
-BuildRequires: popt-static >= %{reqpopt_ver}
-BuildRequires: zlib-static
-%endif
-Requires: %{name}-base = %{version}-%{release}
-Requires: %{name}-lib = %{version}-%{release}
-Requires: beecrypt >= %{beecrypt_ver}
-Requires: popt >= %{reqpopt_ver}
-%{!?with_static:Obsoletes: rpm-utils-static}
-Conflicts: glibc < 2.2.92
-# db4.6 poldek needed
-Conflicts: poldek < 0.21-0.20070703.00.3
-BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-
-%define _binary_payload w9.gzdio
-%define _noPayloadPrefix 1
-
-# don't require very fresh rpm.macros to build
-%define __gettextize gettextize --copy --force --intl ; cp -f po/Makevars{.template,}
-%define ix86 i386 i486 i586 i686 athlon pentium3 pentium4
-%define ppc ppc ppc7400 ppc7450
-%define x8664 amd64 ia32e x86_64
-
-# stabilize new build environment
-%define __newcc %{?force_cc}%{!?force_cc:%{_target_cpu}-pld-linux-gcc}
-%define __newcxx %{?force_cxx}%{!?force_cxx:%{_target_cpu}-pld-linux-g++}
-%define __newcpp %{?force_cpp}%{!?force_cpp:%{_target_cpu}-pld-linux-gcc -E}
-
-%define _rpmlibdir /usr/lib/rpm
-
-%define specflags -fno-strict-aliasing
-
-%description
-RPM is a powerful package manager, which can be used to build,
-install, query, verify, update, and uninstall individual software
-packages. A package consists of an archive of files, and package
-information, including name, version, and description.
-
-%description -l de.UTF-8
-RPM ist ein kräftiger Packet-Manager, der verwendet sein kann zur
-Installation, Anfrage, Verifizierung, Aktualisierung und
-Uninstallation individueller Softwarepakete. Ein Paket besteht aus
-einem Archiv Dateien und Paketinformation, inklusive Name, Version und
-Beschreibung.
-
-%description -l es.UTF-8
-RPM es un poderoso administrador de paquetes, que puede ser usado para
-construir, instalar, pesquisar, verificar, actualizar y desinstalar
-paquetes individuales de software. Un paquete consiste en un
-almacenaje de archivos, y información sobre el paquete, incluyendo
-nombre, versión y descripción.
-
-%description -l pl.UTF-8
-RPM jest doskonałym programem zarządzającym pakietami. Umożliwia on
-przebudowanie, instalację czy weryfikację dowolnego pakietu.
-Informacje dotyczące każdego pakietu, takie jak jego opis, lista
-plików wchodzących w skład pakietu, zależności od innych pakietów, są
-przechowywane w bazie danych i można je uzyskać za pomocą opcji
-odpytywania programu rpm.
-
-%description -l pt_BR.UTF-8
-RPM é um poderoso gerenciador de pacotes, que pode ser usado para
-construir, instalar, pesquisar, verificar, atualizar e desinstalar
-pacotes individuais de software. Um pacote consiste de um conjunto de
-arquivos e informações adicionais, incluindo nome, versão e descrição
-do pacote, permissões dos arquivos, etc.
-
-%description -l ru.UTF-8
-RPM - это мощный менеджер пакетов, который может быть использован для
-создания, инсталляции, запросов (query), проверки, обновления и
-удаления программных пакетов. Пакет состоит из файлового архива и
-служебной информации, включающей название, версию, описание и другие
-данные о пакете.
-
-%description -l uk.UTF-8
-RPM - це потужний менеджер пакетів, що може бути використаний для
-створення, інсталяції, запитів (query), перевірки, поновлення та
-видалення програмних пакетів. Пакет складається з файлового архіву та
-службової інформації, що містить назву, версію, опис та іншу
-інформацію про пакет.
-
-%package base
-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: vserver-rpm
-
-%description base
-The RPM base package contains scripts used by rpm packages themselves.
-These include:
-- scripts for adding/removing groups and users needed for rpm
- packages,
-- banner.sh to display %%banner messages from rpm scriptlets.
-
-%description base -l pl.UTF-8
-Pakiet podstawowy RPM zwiera skrypty używane przez same pakiety rpm.
-Zawiera on:
-- skrypty dodające/usuwające grupy i użytkowników dla pakietów rpm,
-- banner.sh do pokazywania komunikatów %%banner dla skryptletów rpm.
-
-%package lib
-Summary: RPMs library
-Summary(pl.UTF-8): Biblioteki RPM-a
-Group: Libraries
-Requires: beecrypt >= %{beecrypt_ver}
-%{?with_db:Requires: db >= %{reqdb_ver}}
-%{?with_selinux:Requires: libselinux >= 1.18}
-Requires: libmagic >= 1.15-2
-Requires: popt >= %{reqpopt_ver}
-Obsoletes: rpm-libs
-Obsoletes: rpm-apidocs
-# avoid SEGV caused by mixed db versions
-Conflicts: poldek < 0.18.1-16
-%{?with_suggest_tags:Suggests: lzma}
-
-%description lib
-RPMs library.
-
-%description lib -l pl.UTF-8
-Biblioteki RPM-a.
-
-%package devel
-Summary: Header files for rpm libraries
-Summary(de.UTF-8): Header-Dateien für rpm Libraries
-Summary(es.UTF-8): Archivos de inclusión y bibliotecas para programas de manipulación de paquetes rpm
-Summary(pl.UTF-8): Pliki nagłówkowe bibliotek rpm
-Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de manipulação de pacotes RPM
-Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами
-Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm
-Group: Development/Libraries
-Requires: %{name}-lib = %{version}-%{release}
-Requires: beecrypt-devel >= %{beecrypt_ver}
-Requires: bzip2-devel
-%{?with_db:Requires: db-devel >= %{reqdb_ver}}
-Requires: elfutils-devel
-Requires: libmagic-devel
-%{?with_selinux:Requires: libselinux-devel}
-Requires: popt-devel >= %{reqpopt_ver}
-Requires: zlib-devel
-
-%description devel
-The RPM packaging system includes C libraries that make it easy to
-manipulate RPM packages and databases. They are intended to ease the
-creation of graphical package managers and other tools that need
-intimate knowledge of RPM packages. This package contains header files
-for these libraries.
-
-%description devel -l de.UTF-8
-Der RPM-Packensystem enthält eine C-Library, die macht es einfach
-RPM-Pakete und Dateibanken zu manipulieren. Er eignet sich für
-Vereinfachung des Schaffens grafischer Paket-Manager und anderer
-Werkzeuge, die intime Kenntnis von RPM-Paketen brauchen.
-
-%description devel -l es.UTF-8
-El sistema de empaquetado RPM incluye una biblioteca C que vuelve
-fácil la manipulación de paquetes y bases de datos RPM. Su objetivo es
-facilitar la creación de administradores gráficos de paquetes y otras
-herramientas que necesiten un conocimiento profundo de paquetes RPM.
-
-%description devel -l pl.UTF-8
-System RPM zawiera biblioteki C, które ułatwiają manipulowanie
-pakietami RPM oraz bazami danych. W zamiarze ma to uprościć tworzenie
-graficznych programów zarządzających pakietami oraz innych narzędzi,
-które wymagają szczegółowej wiedzy na temat pakietów RPM. Ten pakiet
-zawiera pliki nagłówkowe wspomnianych bibliotek.
-
-%description devel -l pt_BR.UTF-8
-O sistema de empacotamento RPM inclui uma biblioteca C que torna fácil
-a manipulação de pacotes e bases de dados RPM. Seu objetivo é
-facilitar a criação de gerenciadores gráficos de pacotes e outras
-ferramentas que precisem de conhecimento profundo de pacotes RPM.
-
-%description devel -l ru.UTF-8
-Система управления пакетами RPM содержит библиотеку C, которая
-упрощает манипуляцию пакетами RPM и соответствующими базами данных.
-Эта библиотека предназначена для облегчения создания графических
-пакетных менеджеров и других утилит, которым необходимо работать с
-пакетами RPM.
-
-%description devel -l uk.UTF-8
-Система керування пакетами RPM містить бібліотеку C, котра спрощує
-роботу з пакетами RPM та відповідними базами даних. Ця бібліотека
-призначена для полегшення створення графічних пакетних менеджерів та
-інших утиліт, що працюють з пакетами RPM.
-
-%package static
-Summary: RPM static libraries
-Summary(de.UTF-8): RPMs statische Libraries
-Summary(pl.UTF-8): Biblioteki statyczne RPM-a
-Summary(pt_BR.UTF-8): Bibliotecas estáticas para o desenvolvimento de aplicações RPM
-Summary(ru.UTF-8): Статическая библиотека для программ, работающих с rpm-пакетами
-Summary(uk.UTF-8): Статична бібліотека для програм, що працюють з пакетами rpm
-Group: Development/Libraries
-Requires: %{name}-devel = %{version}-%{release}
-Requires: beecrypt-static >= %{beecrypt_ver}
-Requires: bzip2-static
-%{?with_db:Requires: db-static >= %{reqdb_ver}}
-Requires: elfutils-static
-Requires: libmagic-static
-Requires: popt-static >= %{reqpopt_ver}
-Requires: zlib-static
-
-%description static
-RPM static libraries.
-
-%description static -l de.UTF-8
-RPMs statische Libraries.
-
-%description static -l pl.UTF-8
-Biblioteki statyczne RPM-a.
-
-%description static -l pt_BR.UTF-8
-Bibliotecas estáticas para desenvolvimento.
-
-%description static -l ru.UTF-8
-Система управления пакетами RPM содержит библиотеку C, которая
-упрощает манипуляцию пакетами RPM и соответствующими базами данных.
-Это статическая библиотека RPM.
-
-%description static -l uk.UTF-8
-Система керування пакетами RPM містить бібліотеку C, котра спрощує
-роботу з пакетами RPM та відповідними базами даних. Це статична
-бібліотека RPM.
-
-%package utils
-Summary: Additional utilities for managing RPM packages and database
-Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
-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}
-
-%description utils
-Additional utilities for managing RPM packages and database.
-
-%description utils -l de.UTF-8
-Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
-
-%description utils -l pl.UTF-8
-Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
-
-%package utils-perl
-Summary: Additional utilities for managing RPM packages and database
-Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken
-Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami
-Group: Applications/File
-Requires: %{name}-utils = %{version}-%{release}
-Requires: popt >= %{reqpopt_ver}
-
-%description utils-perl
-Additional utilities for managing RPM packages and database.
-
-%description utils-perl -l de.UTF-8
-Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken.
-
-%description utils-perl -l pl.UTF-8
-Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami.
-
-%package utils-static
-Summary: Static rpm utilities
-Summary(pl.UTF-8): Statyczne narzędzia rpm
-Group: Applications/System
-Requires: %{name} = %{version}-%{release}
-
-%description utils-static
-Static rpm utilities for repairing system in case something with
-shared libraries used by rpm become broken. Currently it contains rpmi
-binary, which can be used to install/upgrade/remove packages without
-using shared libraries (well, in fact with exception of NSS modules).
-
-%description utils-static -l pl.UTF-8
-Statyczne narzędzia rpm do naprawy systemu w przypadku zepsucia czegoś
-związanego z bibliotekami współdzielonymi używanymi przez rpm-a.
-Aktualnie pakiet zawiera binarkę rpmi, którą można użyć do instalacji,
-uaktualniania lub usuwania pakietów bez udziału bibliotek statycznych
-(z wyjątkiem modułów NSS).
-
-%package build
-Summary: Scripts for building binary RPM packages
-Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete
-Summary(pl.UTF-8): Skrypty pomocnicze do budowania binarnych 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(pre): findutils
-Requires: %{name}-build-macros >= 1.314
-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
-Requires: diffutils
-Requires: elfutils
-Requires: file >= 4.17
-Requires: fileutils
-Requires: findutils
-Requires: gcc >= 5:3.4
-Requires: glibc-devel
-Requires: grep
-Requires: gzip
-Requires: lzma
-Requires: make
-Requires: patch
-Requires: sed
-Requires: sh-utils
-Requires: tar
-Requires: textutils
-Provides: rpmbuild(find_lang) = %{find_lang_rev}
-Provides: rpmbuild(monoautodeps)
-Provides: rpmbuild(noauto) = 3
-%ifarch %{x8664}
-Conflicts: automake < 1:1.7.9-2
-Conflicts: libtool < 2:1.5-13
-%endif
-
-%description build
-Scripts for building binary RPM packages.
-
-%description build -l de.UTF-8
-Scripts fürs Bauen binärer RPM-Pakete.
-
-%description build -l pl.UTF-8
-Skrypty pomocnicze do budowania binarnych RPM-ów.
-
-%description build -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 -l ru.UTF-8
-Различные вспомогательные скрипты и исполняемые программы, которые
-используются для сборки RPM'ов.
-
-%description build -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
-Group: Applications/File
-Requires: %{name} = %{version}-%{release}
-Requires: file
-Requires: findutils >= 1:4.2.26
-Requires: mktemp
-Requires: unzip
-
-%description javaprov
-Additional utilities for checking Java provides/requires in RPM
-packages.
-
-%description javaprov -l pl.UTF-8
-Dodatkowe narzędzia do sprawdzania zależności kodu w Javie w pakietach
-RPM.
-
-%package perlprov
-Summary: Additional utilities for checking Perl provides/requires in RPM packages
-Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen
-Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM
-Group: Applications/File
-Requires: %{name} = %{version}-%{release}
-Requires: perl-devel
-Requires: perl-modules
-
-%description perlprov
-Additional utilities for checking Perl provides/requires in RPM
-packages.
-
-%description perlprov -l de.UTF-8
-Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen.
-
-%description perlprov -l pl.UTF-8
-Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w
-pakietach RPM.
-
-%package pythonprov
-Summary: Python macros, which simplifies creation of RPM packages with Python software
-Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie
-Group: Applications/File
-Requires: %{name} = %{version}-%{release}
-Requires: python
-Requires: python-modules
-
-%description pythonprov
-Python macros, which simplifies creation of RPM packages with Python
-software.
-
-%description pythonprov -l pl.UTF-8
-Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
-Pythonie.
-
-%package php-pearprov
-Summary: Additional utilities for checking PHP PEAR provides/requires in RPM packages
-Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzania zależności skryptów php w RPM
-Group: Applications/File
-Requires: %{name} = %{version}-%{release}
-Requires: sed >= 4.0
-
-%description php-pearprov
-Additional utilities for checking PHP PEAR provides/requires in RPM
-packages.
-
-%description php-pearprov -l pl.UTF-8
-Dodatkowe narzędzia do sprawdzenia zależności skryptów PHP PEAR w
-pakietach RPM.
-
-%package -n python-rpm
-Summary: Python interface to RPM library
-Summary(pl.UTF-8): Pythonowy interfejs do biblioteki RPM-a
-Summary(pt_BR.UTF-8): Módulo Python para aplicativos que manipulam pacotes RPM
-Group: Development/Languages/Python
-Requires: %{name} = %{version}-%{release}
-%pyrequires_eq python
-Obsoletes: rpm-python
-
-%description -n python-rpm
-The rpm-python package contains a module which permits applications
-written in the Python programming language to use the interface
-supplied by RPM (RPM Package Manager) libraries.
-
-This package should be installed if you want to develop Python
-programs that will manipulate RPM packages and databases.
-
-%description -n python-rpm -l pl.UTF-8
-Pakiet rpm-python zawiera moduł, który pozwala aplikacjom napisanym w
-Pythonie na używanie interfejsu dostarczanego przez biblioteki RPM-a.
-
-Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w
-Pythonie programy manipulujące pakietami i bazami danych rpm.
-
-%description -n python-rpm -l pt_BR.UTF-8
-O pacote rpm-python contém um módulo que permite que aplicações
-escritas em Python utilizem a interface fornecida pelas bibliotecas
-RPM (RPM Package Manager).
-
-Esse pacote deve ser instalado se você quiser desenvolver programas em
-Python para manipular pacotes e bancos de dados RPM.
-
-%prep
-%setup -q
-
-# APPLIED ALREADY? translationproject.org is used now
-#%patch0 -p1
-%patch1 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-# CHECK ME - macrofiles: ~/etc could be used
-#%patch14 -p1
-%patch16 -p1
-%patch18 -p1
-echo '%%define __perl_provides %%{__perl} /usr/lib/rpm/perl.prov' > macros.perl
-echo '%%define __perl_requires %%{__perl} /usr/lib/rpm/perl.req' >> macros.perl
-echo '# obsoleted file' > macros.python
-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
-%patch23 -p1
-
-%ifarch i386 i486
-# disable TSC
-%patch26 -p1
-%endif
-%patch27 -p1
-%patch32 -p1
-#%patch34 -p1 # %{epoch} 0 in rpm macros should do this
-%patch35 -p0
-%patch36 -p1
-%patch37 -p1
-%patch42 -p1
-%patch46 -p1
-%patch47 -p1
-# OLD COMMENTED OUT
-#%patch52 -p1
-%patch55 -p1
-%patch58 -p1
-%patch59 -p1
-%ifarch sparc64
-%patch61 -p1
-%endif
-
-cd scripts
-mv -f perl.req perl.req.in
-mv -f perl.prov perl.prov.in
-cd ..
-
-# generate Group translations to *.po
-awk -f %{SOURCE6} %{SOURCE1}
-
-# update macros paths
-#for f in doc{,/ja,/pl}/rpm.8 doc{,/ja,/pl}/rpmbuild.8 ; do
-# sed -e 's@lib/rpm/redhat@lib/rpm/pld@g' $f > ${f}.tmp
-# mv -f ${f}.tmp $f
-#done
-
-%build
-rev=$(awk '/^#.*Id:.*/{print $4}' scripts/find-lang.sh)
-if [ "$rev" != "%find_lang_rev" ]; then
- : Update find_lang_rev define to $rev, and retry
- exit 1
-fi
-
-%{__libtoolize}
-%{__autopoint}
-%{__aclocal}
-%{__autoheader}
-%{__autoconf}
-%{__automake}
-
-# config.guess doesn't handle athlon, so we have to change it by hand.
-# rpm checks for CPU type at runtime, but it looks better
-#sed -i -e 's|@host@|%{_target_cpu}-%{_target_vendor}-linux-gnu|' -e 's|@host_cpu@|%{_target_cpu}|' macros.in
-
-# pass CC and CXX too in case of building with some older configure macro
-# disable perl-RPM2 build, we have it in separate spec
-%configure \
- CC="%{__newcc}" \
- CXX="%{__newcxx}" \
- CPP="%{__newcpp}" \
- WITH_PERL_VERSION=no \
- %{?with_autoreqdep:--enable-adding-packages-names-in-autogenerated-dependancies} \
- --enable-shared \
- --enable-static \
- %{?with_python:--with-python=%{py_ver} --with-python-lib-dir=%{py_sitedir}} \
- %{!?with_python:--without-python} \
- --with%{!?with_selinux:out}-selinux \
- --with-libelf \
- --with-zlib=external \
- --with-bzip2=external \
- --with-beecrypt=external \
- --with-neon=%{?with_neon:external}%{!?with_neon:no} \
- --with-file=external \
- --with-popt=external \
- --with-db=%{?with_db:external}%{!?with_db:no} \
- --with-sqlite=%{?with_sqlite:external}%{!?with_sqlite:no} \
- --with-dbapi=%{!?sqlite_dbapi:db}%{?sqlite_dbapi:sqlite} \
- --with-lua=internal \
- --with-pcre=no \
- --with-keyutils=none \
- --without-path-versioned \
- --with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/macros.pld:%{_rpmlibdir}/macros.build:%{_rpmlibdir}/%%{_target}/macros:%{_sysconfdir}/macros.*:%{_sysconfdir}/macros:%{_sysconfdir}/%%{_target}/macros:~/etc/rpmmacros:~/etc/.rpmmacros:~/.rpmmacros' \
- --with-bugreport="http://bugs.pld-linux.org/"
-
-%{__make} \
- CC="%{__cc}" \
- CXX="%{__cxx}" \
- CPP="%{__cpp}"
-
-%install
-rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/banner}
-
-%{__make} install \
- pkgconfigdir=%{_pkgconfigdir} \
- DESTDIR=$RPM_BUILD_ROOT
-
-# install ARCH macros
-install -d $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux
-install %{SOURCE105} $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux/macros
-
-%ifarch %{ix86}
-install -d $RPM_BUILD_ROOT%{_rpmlibdir}/{i386,i486,i586,i686,athlon,pentium3,pentium4}-linux
-install %{SOURCE100} $RPM_BUILD_ROOT%{_rpmlibdir}/athlon-linux/macros
-install %{SOURCE101} $RPM_BUILD_ROOT%{_rpmlibdir}/i386-linux/macros
-install %{SOURCE102} $RPM_BUILD_ROOT%{_rpmlibdir}/i486-linux/macros
-install %{SOURCE103} $RPM_BUILD_ROOT%{_rpmlibdir}/i586-linux/macros
-install %{SOURCE104} $RPM_BUILD_ROOT%{_rpmlibdir}/i686-linux/macros
-install %{SOURCE106} $RPM_BUILD_ROOT%{_rpmlibdir}/pentium3-linux/macros
-install %{SOURCE107} $RPM_BUILD_ROOT%{_rpmlibdir}/pentium4-linux/macros
-%endif
-
-%ifarch %{x8664}
-install -d $RPM_BUILD_ROOT%{_rpmlibdir}/{x86_64,ia32e,amd64}-linux
-install %{SOURCE109} $RPM_BUILD_ROOT%{_rpmlibdir}/x86_64-linux/macros
-install %{SOURCE110} $RPM_BUILD_ROOT%{_rpmlibdir}/ia32e-linux/macros
-install %{SOURCE111} $RPM_BUILD_ROOT%{_rpmlibdir}/amd64-linux/macros
-%endif
-
-%ifarch %{ppc}
-install -d $RPM_BUILD_ROOT%{_rpmlibdir}/ppc-linux
-install %{SOURCE108} $RPM_BUILD_ROOT%{_rpmlibdir}/ppc-linux/macros
-%endif
-
-# first platform file entry can't contain regexps
-echo "%{_target_cpu}-%{_target_vendor}-linux" > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-
-# x86_64 things
-%ifarch x86_64
-echo "amd64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-echo "x86_64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-%endif
-
-%ifarch amd64
-echo "amd64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-echo "x86_64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-%endif
-
-%ifarch ia32e
-echo "ia32e-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-echo "x86_64-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-%endif
-
-# x86 things
-%ifarch athlon %{x8664}
-echo "athlon-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-%endif
-%ifarch pentium4 athlon %{x8664}
-echo "pentium4-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-%endif
-%ifarch pentium3 pentium4 athlon %{x8664}
-echo "pentium3-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-%endif
-%ifarch i686 pentium3 pentium4 athlon %{x8664}
-echo "i686-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-%endif
-%ifarch i586 i686 pentium3 pentium4 athlon %{x8664}
-echo "i586-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-%endif
-%ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664}
-echo "i486-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-%endif
-%ifarch %{ix86} %{x8664}
-echo "i386-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-%endif
-
-# ppc
-%ifarch ppc
-echo "ppc-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-echo "powerpc-[^-]*-linux(-gnu)?" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-%endif
-
-# noarch
-echo "noarch-[^-]*-.*" >> $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
-
-%ifarch %{ppc}
-#sed -e '/_target_platform/s/[%]{_target_cpu}/ppc/' \
-# -i $RPM_BUILD_ROOT%{_rpmlibdir}/ppc74[05]0-linux/macros
-%endif
-
-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
-
-# not installed since 4.4.8 (-tools-perl subpackage)
-install scripts/rpmdiff scripts/rpmdiff.cgi $RPM_BUILD_ROOT%{_rpmlibdir}
-
-install macros.perl $RPM_BUILD_ROOT%{_rpmlibdir}/macros.perl
-install macros.python $RPM_BUILD_ROOT%{_rpmlibdir}/macros.python
-install macros.php $RPM_BUILD_ROOT%{_rpmlibdir}/macros.php
-install macros.mono $RPM_BUILD_ROOT%{_rpmlibdir}/macros.mono
-install %{SOURCE15} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.java
-install %{SOURCE18} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.pld
-
-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 %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/rpm
-
-install %{SOURCE17} $RPM_BUILD_ROOT%{_bindir}/banner.sh
-
-install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo
-
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros <<EOF
-# customized rpm macros - global for host
-#
-#%%_install_langs pl_PL:en_US
-%%distribution PLD
-#
-# remove or replace with file_contexts path if you want to use custom
-# SELinux file contexts policy instead of one stored in packages payload
-%%_install_file_context_path %%{nil}
-%%_verify_file_context_path %%{nil}
-
-# If non-zero, all erasures will be automagically repackaged.
-#%%_repackage_all_erasures 1
-EOF
-
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles <<EOF
-# global list of files (regexps) which don't generate Provides
-EOF
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov <<EOF
-# global list of script capabilities (regexps) not to be used in Provides
-EOF
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles <<EOF
-# global list of files (regexps) which don't generate Requires
-^%{_examplesdir}/
-^%{_docdir}/
-EOF
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq <<EOF
-# global list of script capabilities (regexps) not to be used in Requires
-EOF
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqdep <<EOF
-# global list of capabilities (SONAME, perl(module), php(module) regexps)
-# which don't generate dependencies on package NAMES
-# -- OpenGL implementation
-^libGL.so.1
-^libGLU.so.1
-^libOSMesa.so
-# -- Glide
-^libglide3.so.3
-# -- mozilla
-^libgtkmozembed.so
-^libgtksuperwin.so
-^libxpcom.so
-# -- X11 implementation
-^libFS.so
-^libI810XvMC.so
-^libICE.so
-^libSM.so
-^libX11.so
-^libXRes.so
-^libXTrap.so
-^libXaw.so
-^libXcomposite.so
-^libXcursor.so
-^libXdamage.so
-^libXdmcp.so
-^libXevie.so
-^libXext.so
-^libXfixes.so
-^libXfont.so
-^libXfontcache.so
-^libXft.so
-^libXi.so
-^libXinerama.so
-^libXmu.so
-^libXmuu.so
-^libXp.so
-^libXpm.so
-^libXrandr.so
-^libXrender.so
-^libXss.so
-^libXt.so
-^libXtst.so
-^libXv.so
-^libXvMC.so
-^libXxf86dga.so
-^libXxf86misc.so
-^libXxf86rush.so
-^libXxf86vm.so
-^libdps.so
-^libdpstk.so
-^libfontenc.so
-^libpsres.so
-^libxkbfile.so
-^libxkbui.so
-# -- fam / gamin
-^libfam.so.0
-EOF
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc <<EOF
-# global list of file masks not to be compressed in DOCDIR
-EOF
-
-# for rpm -e|-U --repackage
-install -d $RPM_BUILD_ROOT/var/{spool/repackage,lock/rpm}
-touch $RPM_BUILD_ROOT/var/lock/rpm/transaction
-
-# mov rpm to /bin
-mv -f $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin
-# move libs to /lib
-for a in librpm-%{sover}.so librpmdb-%{sover}.so librpmio-%{sover}.so librpmbuild-%{sover}.so; do
- mv -f $RPM_BUILD_ROOT%{_libdir}/$a $RPM_BUILD_ROOT/%{_lib}
- ln -s /%{_lib}/$a $RPM_BUILD_ROOT%{_libdir}/$a
-done
-
-# remove arch dependant macros which have no use on noarch
-#%{__sed} -i -e '
-#/{__spec_install_post_strip}/d
-#/{__spec_install_post_chrpath}/d
-#/{__spec_install_post_compress_modules}/d
-#' $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux/macros
-
-%py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
-%py_comp $RPM_BUILD_ROOT%{py_sitedir}
-
-rm $RPM_BUILD_ROOT%{py_sitedir}/rpm/*.{la,a,py}
-
-# wrong location, not used anyway
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd}
-# manuals for utils dropped in 4.4.8 (?)
-#rm $RPM_BUILD_ROOT%{_mandir}/{,*/}/man8/{rpmcache,rpmgraph}.8
-
-%find_lang %{name}
-
-rm -rf manual
-cp -a doc/manual manual
-rm -f manual/Makefile*
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%post lib -p /sbin/ldconfig
-%postun lib -p /sbin/ldconfig
-
-%pre build
-find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
-
-%files -f %{name}.lang
-%defattr(644,root,root,755)
-%doc CHANGES CREDITS README pubkeys/JBJ-GPG-KEY manual/*
-
-%attr(755,root,root) /bin/rpm
-#%attr(755,root,root) %{_bindir}/rpmdb
-#%attr(755,root,root) %{_bindir}/rpmquery
-#%attr(755,root,root) %{_bindir}/rpmsign
-#%attr(755,root,root) %{_bindir}/rpmverify
-
-%dir %{_sysconfdir}/rpm
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
-# these are ok to be replaced
-%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo
-%config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
-
-
-%{_mandir}/man8/rpm.8*
-%lang(fr) %{_mandir}/fr/man8/rpm.8*
-%lang(ja) %{_mandir}/ja/man8/rpm.8*
-%lang(ko) %{_mandir}/ko/man8/rpm.8*
-%lang(pl) %{_mandir}/pl/man8/rpm.8*
-%lang(ru) %{_mandir}/ru/man8/rpm.8*
-%lang(sk) %{_mandir}/sk/man8/rpm.8*
-
-%dir /var/lib/rpm
-%dir %attr(700,root,root) /var/spool/repackage
-%dir /var/lock/rpm
-/var/lock/rpm/transaction
-
-#%attr(755,root,root) %{_rpmlibdir}/rpmd
-#%{!?with_static:%attr(755,root,root) %{_rpmlibdir}/rpm[eiu]}
-#%attr(755,root,root) %{_rpmlibdir}/rpmk
-#%attr(755,root,root) %{_rpmlibdir}/rpm[qv]
-
-%{_rpmlibdir}/rpmpopt*
-%{_rpmlibdir}/macros
-%{_rpmlibdir}/macros.pld
-
-%files base
-%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
-%dir %{_rpmlibdir}
-%attr(755,root,root) %{_bindir}/banner.sh
-%attr(755,root,root) %{_rpmlibdir}/user_group.sh
-%dir /var/lib/banner
-
-%files lib
-%defattr(644,root,root,755)
-%attr(755,root,root) /%{_lib}/librpm*-*.so
-%attr(755,root,root) %{_libdir}/librpm*-*.so
-
-%files devel
-%defattr(644,root,root,755)
-%{_includedir}/rpm
-%{_libdir}/librpm*.la
-%{_pkgconfigdir}/*.pc
-%attr(755,root,root) %{_libdir}/librpm.so
-%attr(755,root,root) %{_libdir}/librpm-%{sover}.so
-%attr(755,root,root) %{_libdir}/librpmconstant.so
-%attr(755,root,root) %{_libdir}/librpmconstant-%{sover}.so
-%attr(755,root,root) %{_libdir}/librpmio.so
-%attr(755,root,root) %{_libdir}/librpmio-%{sover}.so
-%attr(755,root,root) %{_libdir}/librpmmisc.so
-%attr(755,root,root) %{_libdir}/librpmmisc-%{sover}.so
-%attr(755,root,root) %{_libdir}/librpmdb.so
-%attr(755,root,root) %{_libdir}/librpmdb-%{sover}.so
-%attr(755,root,root) %{_libdir}/librpmbuild.so
-
-%files static
-%defattr(644,root,root,755)
-%{_libdir}/librpm*.a
-
-%files utils
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/rpmconstant
-%attr(755,root,root) %{_bindir}/rpm2cpio
-%attr(755,root,root) %{_rpmlibdir}/rpmcache
-%attr(755,root,root) %{_rpmlibdir}/rpmcmp
-%attr(755,root,root) %{_rpmlibdir}/rpmdeps
-%attr(755,root,root) %{_rpmlibdir}/debugedit
-%attr(755,root,root) %{_rpmlibdir}/rpmdigest
-%attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
-%attr(755,root,root) %{_rpmlibdir}/tgpg
-%attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
-%{_mandir}/man8/rpm2cpio.8*
-%{_mandir}/man8/rpmdeps.8*
-#%{_mandir}/man8/rpmcache.8*
-#%{_mandir}/man8/rpmgraph.8*
-%lang(ja) %{_mandir}/ja/man8/rpm2cpio.8*
-#%lang(ja) %{_mandir}/ja/man8/rpmcache.8*
-#%lang(ja) %{_mandir}/ja/man8/rpmgraph.8*
-%lang(ko) %{_mandir}/ko/man8/rpm2cpio.8*
-%lang(pl) %{_mandir}/pl/man8/rpm2cpio.8*
-%lang(pl) %{_mandir}/pl/man8/rpmdeps.8*
-#%lang(pl) %{_mandir}/pl/man8/rpmcache.8*
-#%lang(pl) %{_mandir}/pl/man8/rpmgraph.8*
-%lang(ru) %{_mandir}/ru/man8/rpm2cpio.8*
-
-%files utils-perl
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_rpmlibdir}/rpmdiff*
-
-%if %{with static}
-%files utils-static
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/rpm[ieu]
-%attr(755,root,root) %{_rpmlibdir}/rpm[ieu]
-%endif
-
-%files build
-%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto*
-%attr(755,root,root) %{_rpmlibdir}/brp-*
-%attr(755,root,root) %{_rpmlibdir}/check-files
-# %attr(755,root,root) %{_rpmlibdir}/check-prereqs
-%attr(755,root,root) %{_rpmlibdir}/compress-doc
-#%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
-%attr(755,root,root) %{_rpmlibdir}/u_pkg.sh
-%attr(755,root,root) %{_rpmlibdir}/executabledeps.sh
-%attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh
-# needs hacked pkg-config to return anything
-%attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
-#%attr(755,root,root) %{_rpmlibdir}/rpmb
-#%attr(755,root,root) %{_rpmlibdir}/rpmt
-%{_rpmlibdir}/noarch-*
-%ifarch %{ix86}
-%{_rpmlibdir}/i?86*
-%{_rpmlibdir}/pentium*
-%{_rpmlibdir}/athlon*
-%endif
-%ifarch alpha
-%{_rpmlibdir}/alpha*
-%endif
-%ifarch ia64
-%{_rpmlibdir}/ia64*
-%endif
-%ifarch mips mipsel mips64 mips64el
-%{_rpmlibdir}/mips*
-%endif
-%ifarch %{ppc}
-%{_rpmlibdir}/ppc*
-%endif
-%ifarch sparc sparc64
-%{_rpmlibdir}/sparc*
-%endif
-%ifarch %{x8664}
-%{_rpmlibdir}/amd64*
-%{_rpmlibdir}/ia32e*
-%{_rpmlibdir}/x86_64*
-%endif
-# must be here for "Requires: rpm-*prov" to work
-%{_rpmlibdir}/macros.java
-%{_rpmlibdir}/macros.mono
-%{_rpmlibdir}/macros.perl
-%{_rpmlibdir}/macros.php
-# not used yet ... these six depend on perl
-#%attr(755,root,root) %{_rpmlibdir}/http.req
-#%attr(755,root,root) %{_rpmlibdir}/magic.prov
-#%attr(755,root,root) %{_rpmlibdir}/magic.req
-#%{_rpmlibdir}/sql.prov
-#%{_rpmlibdir}/sql.req
-#%{_rpmlibdir}/tcl.req
-
-%attr(755,root,root) %{_bindir}/gendiff
-%attr(755,root,root) %{_bindir}/rpmbuild
-
-%{_mandir}/man1/gendiff.1*
-%{_mandir}/man8/rpmbuild.8*
-%lang(ja) %{_mandir}/ja/man8/rpmbuild.8*
-%lang(pl) %{_mandir}/pl/man1/gendiff.1*
-%lang(pl) %{_mandir}/pl/man8/rpmbuild.8*
-
-%files javaprov
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_rpmlibdir}/java-find-requires
-# needs jar (any jdk), jcf-dump (gcc-java) to work
-%attr(755,root,root) %{_rpmlibdir}/javadeps.sh
-
-%files perlprov
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_rpmlibdir}/perl.*
-#%attr(755,root,root) %{_rpmlibdir}/perldeps.pl
-#%attr(755,root,root) %{_rpmlibdir}/find-perl-*
-#%attr(755,root,root) %{_rpmlibdir}/find-*.perl
-#%attr(755,root,root) %{_rpmlibdir}/find-prov.pl
-#%attr(755,root,root) %{_rpmlibdir}/find-req.pl
-#%attr(755,root,root) %{_rpmlibdir}/get_magic.pl
-
-%files pythonprov
-%defattr(644,root,root,755)
-%{_rpmlibdir}/macros.python
-%attr(755,root,root) %{_rpmlibdir}/pythondeps.sh
-
-%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
-%defattr(644,root,root,755)
-%dir %{py_sitedir}/rpm
-%attr(755,root,root) %{py_sitedir}/rpm/*.so
-%{py_sitedir}/rpm/*.py[co]
-%endif
+++ /dev/null
-# 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
+++ /dev/null
-Filelinktos:
- /proc/self/fd
- /dev/fd/0
- /dev/fd/1
- /dev/fd/2