]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- release 47
[packages/rpm.git] / rpm.spec
index e8fba70daf786a0d2f59d37c680904a2b83083a2..f307ceb10e03377b1a51f292303956e31b2ddd07 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -1,41 +1,23 @@
 #
 # TODO:
-# - check if glob() patch needs resurrecting/rewriting
-# - check if we want shell autodeps: Requires: executable(ln) executable(mv)
-# - %{_arch} = i686 not as used to be i386 (platform file thing?):
-#   5.0.2: rpm -E '%_target_base_arch %_arch'
-#          i386 i686
-#   4.4.9: rpm -E '%_target_base_arch %_arch'
-#          i386 i386
-# - python(abi) cap is not provided automatically because /usr/lib*/libpython2*.so.*
-#   matches ELF first
-# - 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/vcheck
-#   /usr/share/man/man8/rpmconstant.8
+# - make key infrastructure code fallback from keyutils to plain mode in case keyctl
+#   returns -ENOSYS
+# - add macros for some ppc, mipsel, alpha and sparc
 #
-# - headerGet() making poldek segfault http://rpm5.org/cvs/tktview?tn=38,1
-# - rpm doesn't exit when no sources/patches available http://rpm5.org/cvs/tktview?tn=40,1
-# - http://rpm5.org/cvs/tktview?tn=41&_submit=Show
+# - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
 #
 # Conditional build:
 %bcond_with    static          # build static rpm+rpmi
-%bcond_with    apidocs         # don't generate documentation with doxygen
-%bcond_with    autoreqdep      # autogenerate package name deps in addition to sonames/perl(X)
+%bcond_without apidocs         # don't generate documentation with doxygen
 %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_without neon            # build with HTTP/WebDAV support (neon library)
+%bcond_with    neon            # build with HTTP/WebDAV support (neon library)
 %bcond_without db              # BerkeleyDB
 %bcond_without sqlite          # build with SQLite support
 %bcond_with    sqlite_dbapi    # default database backend is sqlite
-%bcond_without system_lua              # use system lua
+%bcond_with    system_lua      # use system lua
+%bcond_with    keyutils        # build with keyutils support
 # 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"
 ERROR
 %endif
 
+%if %{with sqlite}
+# Error: /lib64/librpmio-5.4.so: undefined symbol: sqlite3_enable_load_extension
+%define                sqlite_build_version %(pkg-config --silence-errors --modversion sqlite3 2>/dev/null || echo ERROR)
+%endif
+
 # versions of required libraries
-%define                reqdb_ver       4.7.25
+%define                reqdb_pkg       db5.2
+%define                reqdb_ver       5.2
 %define                reqpopt_ver     1.15
 %define                beecrypt_ver    2:4.1.2-4
-%define                sover   5.3
+%define                sover           5.4
 
 Summary:       RPM Package Manager
 Summary(de.UTF-8):     RPM Packet-Manager
@@ -63,112 +51,242 @@ Summary(pt_BR.UTF-8):     Gerenciador de pacotes RPM
 Summary(ru.UTF-8):     Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
-Version:       5.3.1
-Release:       0.1
+Version:       5.4.10
+Release:       47
 License:       LGPL
 Group:         Base
-Source0:       http://rpm5.org/files/rpm/rpm-5.3/%{name}-%{version}.tar.gz
-# Source0-md5: ee172f54e9b596056f8ecf13ae6afa9e
+# http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.10-0.20120706.src.rpm
+Source0:       %{name}-%{version}.tar.gz
+# Source0-md5: 5d099161bdd3203265ab32ffad3360b5
+Source100:     cpu-os-macros.tar.gz
+# Source100-md5:       928034a5bdceb398881bc14b5f29973b
 Source1:       %{name}.groups
-Source2:       %{name}.platform
+Source2:       macros.pld.in
 Source3:       %{name}-install-tree
 Source4:       %{name}-find-spec-bcond
 Source5:       %{name}-hrmib-cache
 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
+Source8:       %{name}-php-provides
+Source9:       %{name}-php-requires
+Source10:      %{name}.sysinfo
+Source11:      perl.prov
+Source12:      %{name}-user_group.sh
+Source13:      %{name}.sysconfig
+Source14:      %{name}-java-requires
 # http://svn.pld-linux.org/banner.sh/
-Source17:      banner.sh
-Source18:      %{name}-pld.macros
-Source19:      ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
-# Source19-md5:        08b29584dd349aac9caa7610131a0a88
-Source20:      %{name}-mimetypedeps
-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
-
+Source15:      banner.sh
+Source16:      ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc
+# Source16-md5:        08b29584dd349aac9caa7610131a0a88
+Source17:      %{name}-mimetypedeps
+Source18:      macros.local
+Source19:      %{name}.noautocompressdoc
+Source20:      %{name}.noautoprov
+Source21:      %{name}.noautoprovfiles
+Source22:      %{name}.noautoreq
+Source23:      %{name}.noautoreqdep
+Source24:      %{name}.noautoreqfiles
+Source25:      %{name}-php-requires.php
+Source26:      %{name}db_checkversion.c
+Source27:      macros.lang
+Source28:      %{name}db_reset.c
+Source29:      dbupgrade.sh
 Patch0:                %{name}-branch.patch
 Patch1:                %{name}-man_pl.patch
 Patch2:                %{name}-popt-aliases.patch
-Patch3:                %{name}-rpmpopt.patch
+Patch3:                %{name}-nosetproctitle.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
-Patch11:       %{name}-lua.patch
-Patch12:       %{name}-am.patch
-
-Patch14:       %{name}-etc_dir.patch
-Patch16:       %{name}-php-deps.patch
-Patch17:       %{name}-macros.patch
-Patch18:       %{name}-macros-th.patch
-Patch19:       %{name}-glob.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
-Patch38:       %{name}-perl_req-use_base.patch
-Patch39:       %{name}-perl_req-skip_multiline.patch
-Patch40:       %{name}-perl_req-heredocs_pod.patch
-
-Patch41:       vendor-pld.patch
-
-Patch42:       %{name}-old-fileconflicts-behaviour.patch
-
-Patch46:       %{name}-mono.patch
-Patch47:       %{name}-javadeps.patch
-
-Patch52:       %{name}-morearchs.patch
-
-Patch55:       %{name}-truncate-cvslog.patch
-
-Patch59:       %{name}-libtool-deps.patch
-Patch60:       %{name}-mimetype.patch
-Patch61:       %{name}-sparc64.patch
-Patch62:       %{name}-gendiff.patch
-Patch63:       %{name}-lua-exit-chroot-correctly.patch
-Patch70:       %{name}-configure-autoconf.patch
-Patch71:       db.patch
-Patch72:       openmp.patch
+Patch6:                %{name}-scripts-closefds.patch
+Patch7:                %{name}-php-macros.patch
+Patch8:                %{name}-gettext-in-header.patch
+Patch9:                %{name}-lua.patch
+Patch10:       %{name}-php-deps.patch
+Patch11:       %{name}-notsc.patch
+Patch12:       %{name}-hack-norpmlibdep.patch
+Patch13:       %{name}-dont-copy-descriptive-tags.patch
+Patch14:       %{name}-perl_req-INC_dirs.patch
+Patch15:       %{name}-debuginfo.patch
+Patch16:       vendor-pld.patch
+Patch17:       %{name}-old-fileconflicts-behaviour.patch
+Patch18:       %{name}-javadeps.patch
+Patch19:       %{name}-truncate-cvslog.patch
+Patch20:       %{name}-libtool-deps.patch
+Patch21:       %{name}-mimetype.patch
+Patch22:       %{name}-sparc64.patch
+Patch23:       %{name}-gendiff.patch
+Patch24:       openmp.patch
+Patch25:       %{name}-URPM-build-fix.patch
+Patch26:       %{name}-db5.3.patch
+Patch27:       %{name}-helperEVR-noassert.patch
+Patch28:       %{name}-unglobal.patch
+Patch29:       %{name}-builddir-readlink.patch
+Patch30:       %{name}-changelog_order_check_nonfatal.patch
+Patch31:       %{name}-cleanbody.patch
+Patch32:       %{name}-dirdeps-macro.patch
+Patch33:       %{name}-installbeforeerase.patch
+Patch34:       %{name}-libmagic-locale.patch
+Patch35:       %{name}-namespace-compare.patch
+Patch36:       %{name}-popt-coreutils.patch
+Patch37:       %{name}-postun-nofail.patch
+Patch38:       %{name}-silence-RPM_CHAR_TYPE.patch
+Patch39:       %{name}-fix-missing-types-in-headers.patch
+Patch40:       %{name}-fix--p-interpreter-and-empty-script.patch
+Patch41:       %{name}-db_buffer_small.patch
+Patch42:       %{name}-pattern_Release.patch
+Patch43:       %{name}-fix-___build_pre-macro.patch
+Patch44:       %{name}-missing-patch-file-fails-build.patch
+Patch45:       %{name}-remove-misleading-missing-patch-message.patch
+Patch46:       %{name}-file-magic-can-be-mixed-case.patch
+Patch47:       %{name}-query-always-noisy.patch
+Patch48:       %{name}-verify-ghosts-broken-logic.patch
+Patch49:       %{name}-python-enable-compat-RPMSENSE.patch
+Patch50:       %{name}-dont-treat-gstreamer-modules-as-font.patch
+Patch51:       %{name}-gst-inspect-typo.patch
+Patch52:       %{name}-null-term-ascii-digest.patch
+Patch53:       %{name}-lua-enable-extra-libs.patch
+Patch54:       %{name}-fix-filedigests-verify.patch
+Patch55:       %{name}-disable-hmac-verify.patch
+Patch56:       %{name}-macros.patch
+Patch57:       %{name}-db5.2.patch
+Patch58:       %{name}-preserve-iterator.patch
+Patch59:       %{name}-triggerin-compat.patch
+Patch60:       %{name}-python-sitescriptdir.patch
+Patch61:       %{name}-clean-docdir.patch
+Patch62:       %{name}-DB_CONFIG.patch
+Patch63:       %{name}-pythoneggs.patch
+Patch64:       %{name}-fix-compress-doc.patch
+Patch65:       %{name}-parseSpec-skip-empty-tags.patch
+Patch66:       %{name}-payload-use-hashed-inode.patch
+Patch67:       rpm-repackage-dont-force-max-compression.patch
+
+# Patches imported from Mandriva
+
+# status: ready to merge, it's already been merged on HEAD, so commiting it to rpm-5_4
+# would basically just mean backporting it..
+Patch1000:     %{name}-5.4.4-add-_specfile-macro.patch
+# status: needs to be cleaned up and properly reviewed together with rest
+# of the patches related to dependency generation
+Patch1001:     %{name}-5.4.9-avoid-dependencies-on-self.patch
+# status: probably ready to merge
+Patch1002:     %{name}-5.4.4-pkgconfigdeps-check-path.patch
+# status: probably okay to merge, but discuss on rpm-devel first
+Patch1003:     %{name}-5.4.4-glob-wildcards-for-loading-macro-files.patch
+# status: needs to be discussed
+Patch1004:     %{name}-5.4.4-allow-installation-of-repackaged-rpms.patch
+# status: ready to merge
+Patch1005:     %{name}-5.4.8-dont-show-suggests-with-requires.patch
+# status: ready for merge
+Patch1006:     %{name}-5.4.9-strip-buildroot-away-from-duplicate-files-list.patch
+# status: probably okay to merge, but discuss on rpm-devel first
+Patch1007:     %{name}-5.4.10-duplicate_files_terminate_build.patch
+# status: same as above
+Patch1008:     %{name}-5.4.10-unpackaged_subdirs_terminate_build.patch
+# mdvbz#64898
+# status: uncertain, might be okay to merge, discuss on rpm-devel first
+Patch1009:     %{name}-5.4.4-rpmbuild-withoutclean.patch
+# no sense in having an additional dependency on 'pkgconfig' on all packages that
+# have a pkgconfig file, it's not needed for them to be made useful and anything
+# actuallly using pkgconfig for this purpose will pull it in as a dependency anyways...
+# status: might be okay to merge, but discuss on rpm-devel first
+Patch1010:     %{name}-5.4.4-drop-useless-auto-generated-pkgconfig-dependency.patch
+# status: ready for merge
+Patch1011:     %{name}-5.4.4-fix-rpmconstant-to-always-use-LC_CTYPE-C-for-case-conversion.patch
+# $RPM_BUILD_DIR isn't necessarily the same as $PWD, it's %%{_builddir}, not
+# %%{_builddir}/%%{?buildsubdir}, messing up paths in debug packages created..
+# status: needs to be discussed and investigated a bit better..
+Patch1012:     %{name}-5.4.4-pass-_builddir-properly-to-find-debuginfo.patch
+# status: probably okay to merge, but discuss on rpm-devel first
+Patch1013:     %{name}-5.4.10-files-listed-twice-terminates-build.patch
+# status: probably okay to merge
+Patch1014:     %{name}-5.4.9-ruby1.9-fixes.patch
+# status: keep locally
+Patch1015:     %{name}-5.4.9-keep-loading-script-macros.patch
+# status: same as for other dep gen patches
+Patch1016:     %{name}-5.4.9-update-rpmfc-when-removing-dependencies-on-self.patch
+# status: idem
+Patch1017:     %{name}-5.4.9-rpmfc-extract-dependencies-for-all-files.patch
+# status: ready for merge
+Patch1018:     %{name}-5.4.5-rubygems-add-missing-newline.patch
+# status: probably okay to merge
+Patch1019:     %{name}-5.4.5-python-export-spec-macros.patch
+# status: idem
+Patch1020:     %{name}-5.4.9-font-provides.patch
+# stauus: idem
+Patch1021:     %{name}-5.4.7-kmod-dependencies.patch
+# status: probably okay to merge, discuss on rpm-devel first
+Patch1022:     %{name}-5.4.5-skip-dependencies-for-character-devices.patch
+# status: ready to merge
+Patch1023:     %{name}-5.4.5-rpmfc-use-strlen-not-sizeof.patch
+# status: probably okay to merge
+Patch1024:     %{name}-5.4.5-rpmfc-apply-python-coloring-from-magic.patch
+# status: ready to merge
+Patch1025:     %{name}-5.4.7-rpmfc-fix-invalid-free-if-not-_defaultdocdir-set.patch
+# status: probably okay to merge
+Patch1026:     %{name}-5.4.10-dont-try-generate-rpmfc-dependencies-from-doc-files.patch
+# status: ready
+Patch1027:     %{name}-5.4.7-fix-generation-of-ruby-abi-provides.patch
+# crash reproducable with 'rpm -qa --triggers'
+# status: ready
+Patch1028:     %{name}-5.4.7-hdrfmt-fix-unitialized-argv-element.patch
+# status: same as for other dep gen patches
+Patch1029:     %{name}-5.4.7-dont-consider-trigger-dependencies-as-overlapping.patch
+# status: ready
+Patch1030:     %{name}-5.4.7-fix-minor-memleaks.patch
+# status: ready
+Patch1031:     %{name}-5.4.9-mire-fix-strings-lacking-null-terminator.patch
+# status: ready
+Patch1032:     %{name}-5.4.9-rpmpython-fix-input.patch
+# status: ready
+Patch1033:     %{name}-5.4.7-no-seqid_init-on-rdonly-database.patch
+# status: probably ready for merging
+Patch1034:     %{name}-5.4.9-avoid-double-slash-in-path-for-dirname-filetrigger-matching.patch
+# status: probably ready to merge, discuss on rpm-devel first
+Patch1035:     %{name}-5.4.9-fix-verify-segfault.patch
+# status: ready and should be merged
+Patch1036:     %{name}-5.4.9-fix-typo-in-rpmtag-header.patch
+# Due to rpmdav/neon being written in a different fashion than other rpmio clients,
+# the inconsistent behaviour affects code elsewhere which expects consistent behaviour,
+# with the result being that when unable to download files, neon will save error
+# page as the target file.
+# status: should go upstream, but uncertain about "correct" fix, ie. this is
+# more of a workaround, while rewriting rpmdav code to behave consistently
+# would be "the right thing to do". Yet I'm not fully able to grasp all of the
+# code and don't want to spend more time just to get the API..
+Patch1037:     %{name}-5.4.10-fix-neon-saving-error-pages-as-target-file.patch
+# As the transaction flags for ignoring arch & os are no longer used, there's
+# currently no way to ignore arch & os of packages anymore. This patch adds
+# support for doing this again by defining rpm variables and overriding
+# --ignorearch & --ignoreos to set these.
+# status: needs to be discussed upstream before thinking about merging
+Patch1038:     %{name}-5.4.10-support-ignore-arch-and-os-again.patch
+# status: ready for merge
+Patch1039:     %{name}-5.4.4-fix-same-package-with-epoch-possible-to-upgrade.patch
+# we want that patch too, a bit of builder infrastructure relies on NOSIGNATURES
+Patch1040:     %{name}-5.4.9-support-signatures-and-digest-disablers.patch
+# lack insight on actual functionality, which anyways seems broken, so let's
+# disable it to avoid errors from berkeley db..
+# status: keep locally
+Patch1041:     %{name}-5.4.9-disable-l10ndir.patch
+# status: ready for merge
+Patch1042:     %{name}-5.4.9-fix-rpm_qa-pattern.patch
+
 URL:           http://rpm5.org/
+%{?with_db:BuildRequires:      %{reqdb_pkg}-devel >= %{reqdb_ver}}
 BuildRequires: autoconf >= 2.60
 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
 #BuildRequires:        gettext-autopoint >= 0.11.4-2
 BuildRequires: gettext-devel >= 0.11.4-2
-BuildRequires: keyutils-devel
+%{?with_keyutils:BuildRequires:        keyutils-devel}
 BuildRequires: libmagic-devel
-%{?with_selinux:BuildRequires: libselinux-devel >= 1.18}
+%if %{with selinux}
+BuildRequires: libselinux-devel >= 2.1.0
+BuildRequires: libsemanage-devel >= 2.1.0
+BuildRequires: libsepol-devel >= 2.1.0
+%endif
 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
 BuildRequires: libstdc++-devel
 BuildRequires: libtool >= 1:1.4.2-9
@@ -176,16 +294,17 @@ BuildRequires:    libtool >= 1:1.4.2-9
 BuildRequires: libxml2-devel
 BuildRequires: neon-devel >= 0.25.5
 %endif
+%{?with_system_lua:BuildRequires:      lua51-devel >= 5.1.2}
+BuildRequires: ossp-uuid-devel
 BuildRequires: patch >= 2.2
 BuildRequires: popt-devel >= %{reqpopt_ver}
-%{?with_system_lua:BuildRequires:      lua51-devel >= 5.1.2}
 %{?with_python:BuildRequires:  python-devel >= 1:2.3}
 BuildRequires: python-modules >= 1:2.3
 %{?with_python:BuildRequires:  rpm-pythonprov}
 %{?with_sqlite:BuildRequires:  sqlite3-devel}
 BuildRequires: tcl
-BuildRequires: zlib-devel
 BuildRequires: xz-devel
+BuildRequires: zlib-devel
 %if %{with apidocs}
 BuildRequires: doxygen
 BuildRequires: ghostscript
@@ -194,16 +313,21 @@ BuildRequires:    tetex-pdftex
 %endif
 %if %{with static}
 # Require static library only for static build
+%{?with_db:BuildRequires:      %{reqdb_pkg}-static >= %{reqdb_ver}}
 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}
+%if %{with selinux}
+BuildRequires: libselinux-static >= 2.1.0
+BuildRequires: libsemanage-static >= 2.1.0
+BuildRequires: libsepol-static >= 2.1.0
+%endif
 BuildRequires: popt-static >= %{reqpopt_ver}
 BuildRequires: zlib-static
 %endif
+Requires(posttrans):   coreutils
 Requires:      %{name}-base = %{version}-%{release}
 Requires:      %{name}-lib = %{version}-%{release}
 Requires:      beecrypt >= %{beecrypt_ver}
@@ -216,10 +340,10 @@ Conflicts:        glibc < 2.2.92
 Conflicts:     poldek < 0.21-0.20070703.00.3
 # segfaults with lzma 0.42.2
 Conflicts:     lzma-libs < 4.999.3
+Conflicts:     util-vserver < 0.30.216-1.pre3034.7
 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,}
@@ -236,8 +360,6 @@ BuildRoot:  %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 %define                _rpmlibdir /usr/lib/rpm
 %define                _noautocompressdoc      RPM-GPG-KEY
 
-%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
@@ -312,11 +434,12 @@ Zawiera on:
 Summary:       RPMs library
 Summary(pl.UTF-8):     Biblioteki RPM-a
 Group:         Libraries
+%{?with_db:Requires:   %{reqdb_pkg} >= %{reqdb_ver}}
 Requires:      beecrypt >= %{beecrypt_ver}
-%{?with_db:Requires:   db >= %{reqdb_ver}}
 Requires:      libmagic >= 1.15-2
-%{?with_selinux:Requires:      libselinux >= 1.18}
+%{?with_selinux:Requires:      libselinux >= 2.1.0}
 Requires:      popt >= %{reqpopt_ver}
+%{?with_sqlite:Requires:       sqlite3 >= %{sqlite_build_version}}
 Obsoletes:     rpm-libs
 # avoid SEGV caused by mixed db versions
 Conflicts:     poldek < 0.18.1-16
@@ -337,11 +460,11 @@ Summary(ru.UTF-8):        Хедеры и библиотеки для программ,
 Summary(uk.UTF-8):     Хедери та бібліотеки для програм, що працюють з пакетами rpm
 Group:         Development/Libraries
 Requires:      %{name}-lib = %{version}-%{release}
+%{?with_db:Requires:   %{reqdb_pkg}-devel >= %{reqdb_ver}}
 Requires:      beecrypt-devel >= %{beecrypt_ver}
 Requires:      bzip2-devel
-%{?with_db:Requires:   db-devel >= %{reqdb_ver}}
 Requires:      elfutils-devel
-Requires:      keyutils-devel
+%{?with_keyutils:Requires:     keyutils-devel}
 Requires:      libmagic-devel
 %{?with_selinux:Requires:      libselinux-devel}
 Requires:      popt-devel >= %{reqpopt_ver}
@@ -401,11 +524,11 @@ Summary(ru.UTF-8):        Статическая библиотека для прогр
 Summary(uk.UTF-8):     Статична бібліотека для програм, що працюють з пакетами rpm
 Group:         Development/Libraries
 Requires:      %{name}-devel = %{version}-%{release}
+%{?with_db:Requires:   %{reqdb_pkg}-static >= %{reqdb_ver}}
 Requires:      beecrypt-static >= %{beecrypt_ver}
 Requires:      bzip2-static
-%{?with_db:Requires:   db-static >= %{reqdb_ver}}
 Requires:      elfutils-static
-Requires:      keyutils-static
+%{?with_keyutils:Requires:     keyutils-static}
 Requires:      libmagic-static
 Requires:      popt-static >= %{reqpopt_ver}
 Requires:      zlib-static
@@ -499,7 +622,7 @@ Summary(ru.UTF-8):  Скрипты и утилиты, необходимые дл
 Summary(uk.UTF-8):     Скрипти та утиліти, необхідні для побудови пакетів
 Group:         Applications/File
 Requires(pre): findutils
-Requires:      %{name}-build-macros >= 1.433-2
+Requires:      %{name}-build-macros >= 1.656
 Requires:      %{name}-utils = %{version}-%{release}
 Requires:      /bin/id
 Requires:      awk
@@ -521,10 +644,12 @@ Requires: grep
 Requires:      gzip
 Requires:      make
 Requires:      patch
-Requires:      sed
+Requires:      sed >= 4.0
 Requires:      sh-utils
-Requires:      tar
+Requires:      tar >= 1:1.22
 Requires:      textutils
+Requires:      which
+Requires:      xz
 Provides:      rpmbuild(monoautodeps)
 Provides:      rpmbuild(noauto) = 3
 %ifarch %{x8664}
@@ -597,6 +722,7 @@ Summary(pl.UTF-8):  Makra ułatwiające tworzenie pakietów RPM z programami napi
 Group:         Applications/File
 Requires:      %{name} = %{version}-%{release}
 Requires:      python
+Requires:      python-distribute
 Requires:      python-modules
 
 %description pythonprov
@@ -622,13 +748,29 @@ packages.
 Dodatkowe narzędzia do sprawdzenia zależności skryptów PHP PEAR w
 pakietach RPM.
 
+%package rubyprov
+Summary:       Ruby tools, which simplify creation of RPM packages with Ruby software
+Summary(pl.UTF-8):     Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Ruby
+Group:         Applications/File
+Requires:      %{name} = %{version}-%{release}
+Requires:      ruby
+Requires:      ruby-modules
+
+%description rubyprov
+Ruby tools, which simplifies creation of RPM packages with Ruby
+software.
+
+%description rubyprov -l pl.UTF-8
+Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w
+Ruby.
+
 %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
+Requires:      python
 Obsoletes:     rpm-python
 
 %description -n python-rpm
@@ -668,88 +810,137 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 źrodeł RPM-a przez doxygen.
 
 %prep
-%setup -q -n %{name}-%{version}%{?subver}
+%setup -q -n %{name}-%{version}%{?subver} -a100
 #patch0 -p1
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
 %patch4 -p1
 %patch5 -p1
-#%patch6 -p1 // in upstream
+%patch6 -p1
 %patch7 -p1
 %patch8 -p1
-%patch9 -p1
-# compress doc in upstream
+%{?with_system_lua:%patch9 -p1}
 %patch10 -p1
-%{?with_system_lua:%patch11 -p1}
-#patch12 -p1
-# CHECK ME - macrofiles: ~/etc could be used
-#%%patch14 -p1
+%ifnarch i386 i486
+# enable TSC for capable archs
+%patch11 -p1
+%endif
+%patch12 -p1
+%patch13 -p1
+%patch14 -p0
+%patch15 -p1
 %patch16 -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 %{SOURCE9} scripts/php.prov.in
-install %{SOURCE10} scripts/php.req.in
-install %{SOURCE12} scripts/perl.prov
-# looks like upstream??
-#%patch23 -p1
-
-%ifarch i386 i486
-# disable TSC
-patch26 -p1
+%patch17 -p1
+%patch18 -p1
+%patch19 -p1
+%patch20 -p1
+%patch21 -p1
+%ifarch sparc64
+%patch22 -p1
 %endif
+%patch23 -p1
+%patch24 -p1
+%patch25 -p1
+####%patch26 -p1
 %patch27 -p1
-# to port 
-#%patch32 -p1
+%patch28 -p1
+%patch29 -p1
+%patch30 -p1
+%patch31 -p1
+%patch32 -p1
+%patch33 -p1
 %patch34 -p1
-%patch35 -p0
+%patch35 -p1
 %patch36 -p1
 %patch37 -p1
-#patch38 -p1 applied
-#patch39 -p1 applied
-#patch40 -p1 applied
-%patch41 -p1
+%patch38 -p1
+%patch39 -p1
+%patch40 -p1
+####%patch41 -p1
 %patch42 -p1
+%patch43 -p1
+%patch44 -p1
+%patch45 -p1
 %patch46 -p1
-# port to new implementation
-#%patch47 -p1
-# OLD COMMENTED OUT
-#%%patch52 -p1 -- morearchs (rpmrc patch) adds ppc7400, ppc7400
+%patch47 -p1
+%patch48 -p1
+%patch49 -p1
+%patch50 -p1
+%patch51 -p1
+%patch52 -p0
+%patch53 -p1
+%patch54 -p1
 %patch55 -p1
+%patch56 -p1
+%patch57 -p1
+%patch58 -p1
 %patch59 -p1
-%patch17 -p1
-%patch18 -p1
-# Maybe, at last we can remove this?
-#patch19 -p1
-# port to new implementation
-#%patch60 -p1
-%ifarch sparc64
+%patch60 -p1
 %patch61 -p1
-%endif
 %patch62 -p1
-#patch63 -p1 applied upstream
-%patch70 -p1
-%patch71 -p1
-%patch72 -p1 -b .wiget
-
-cd scripts
-mv -f perl.req perl.req.in
-mv -f perl.prov perl.prov.in
-cd ..
+%patch63 -p1
+%patch64 -p1
+%patch65 -p1
+%patch66 -p1
+%patch67 -p1
+
+%patch1000 -p1
+%patch1001 -p1
+%patch1002 -p1
+%patch1003 -p1
+%patch1004 -p1
+%patch1005 -p1
+%patch1006 -p1
+%patch1007 -p1
+%patch1008 -p1
+%patch1009 -p1
+%patch1010 -p1
+%patch1011 -p1
+%patch1012 -p1
+%patch1013 -p1
+%patch1014 -p1
+%patch1015 -p1
+%patch1016 -p1
+%patch1017 -p1
+%patch1018 -p1
+%patch1019 -p1
+%patch1020 -p1
+%patch1021 -p1
+%patch1022 -p1
+%patch1023 -p1
+%patch1024 -p1
+%patch1025 -p1
+%patch1026 -p1
+%patch1027 -p1
+%patch1028 -p1
+%patch1029 -p1
+%patch1030 -p1
+%patch1031 -p1
+%patch1032 -p1
+%patch1033 -p1
+%patch1034 -p1
+%patch1035 -p1
+%patch1036 -p1
+%patch1037 -p1
+%patch1038 -p1
+%patch1039 -p1
+%patch1040 -p1
+%patch1041 -p1
+%patch1042 -p1
+
+install %{SOURCE2} macros/pld.in
+install %{SOURCE8} scripts/php.prov.in
+install %{SOURCE9} scripts/php.req.in
+install %{SOURCE11} scripts/perl.prov.in
+
+%{__mv} -f scripts/perl.req{,.in}
 
 # 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
+install %{SOURCE26} tools/rpmdb_checkversion.c
+install %{SOURCE28} tools/rpmdb_reset.c
 
 %build
 %{__libtoolize}
@@ -759,9 +950,12 @@ awk -f %{SOURCE6} %{SOURCE1}
 %{__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
+sed -i \
+       -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
+       -e 's|@host_cpu@|%{_target_cpu}|' \
+       -e 's|@host_os@|%{_target_os}|' \
+       macros/macros.in
 
 %{?with_system_lua:CPPFLAGS="-I/usr/include/lua51 %{rpmcppflags}"}
 # pass CC and CXX too in case of building with some older configure macro
@@ -770,13 +964,15 @@ awk -f %{SOURCE6} %{SOURCE1}
        CXX="%{__newcxx}" \
        CPP="%{__newcpp}" \
        WITH_PERL_VERSION=no \
-       %{?with_autoreqdep:--enable-adding-packages-names-in-autogenerated-dependancies} \
+       __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
        --enable-shared \
        --enable-static \
        %{!?with_apidocs:--without-apidocs} \
        %{?with_python:--with-python=%{py_ver} --with-python-lib-dir=%{py_sitedir}} \
        %{!?with_python:--without-python} \
-       --with%{!?with_selinux:out}-selinux \
+       --with-selinux=%{!?with_selinux:no}%{?with_selinux:external} \
+       --with-sepol=%{!?with_selinux:not}%{?with_selinux:external} \
+       --with-semanage=%{!?with_selinux:no}%{?with_selinux:external} \
        --with-libelf \
        --with-zlib=external \
        --with-bzip2=external \
@@ -786,15 +982,17 @@ awk -f %{SOURCE6} %{SOURCE1}
        --with-neon=%{?with_neon:external}%{!?with_neon:no} \
        --with-file=external \
        --with-popt=external \
-       --with-db=%{?with_db:internal}%{!?with_db:no} \
+       --with-db=%{?with_db:external}%{!?with_db:no} \
        --with-sqlite=%{?with_sqlite:yes}%{!?with_sqlite:no} \
        --with-dbapi=%{!?with_sqlite_dbapi:db}%{?with_sqlite_dbapi:sqlite} \
        --with-lua=%{!?with_system_lua:internal}%{?with_system_lua:external} \
        --with-pcre=external \
-       --with-keyutils=none \
+       --with-keyutils=%{?with_keyutils:external}%{!?with_keyutils:no} \
+       --with-uuid=%{_libdir}:%{_includedir}/ossp-uuid \
        --without-path-versioned \
-       --with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/macros.pld:%{_rpmlibdir}/macros.build:%{_rpmlibdir}/%%{_target}/macros:%{_sysconfdir}/rpm/macros.*:%{_sysconfdir}/rpm/macros:%{_sysconfdir}/rpm/%%{_target}/macros:~/etc/rpmmacros:~/etc/.rpmmacros:~/.rpmmacros' \
-       --with-bugreport="http://bugs.pld-linux.org/"
+       --with-path-macros='%{_rpmlibdir}/macros:%{_rpmlibdir}/%{_target}/macros:%{_rpmlibdir}/macros.d/pld:%{_rpmlibdir}/macros.build:%{_sysconfdir}/rpm/macros.*:%{_sysconfdir}/rpm/macros:%{_sysconfdir}/rpm/%{_target}/macros:%{_sysconfdir}/rpm/macros.d/*.macros:~/etc/.rpmmacros:~/.rpmmacros' \
+       --with-bugreport="http://bugs.pld-linux.org/" \
+       --with-vendor=pld
 
 %{__make} -j1 \
        CC="%{__cc}" \
@@ -803,11 +1001,26 @@ awk -f %{SOURCE6} %{SOURCE1}
 
 %{?with_apidocs:%{__make} apidocs}
 
+%{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_checkversion.c \
+       -o tools/rpmdb_checkversion -ldb-%{reqdb_ver}
+%{__cc} %{rpmcflags} -I/usr/include/db%{reqdb_ver} tools/rpmdb_reset.c \
+       -o tools/rpmdb_reset -ldb-%{reqdb_ver}
+
+if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then
+       echo "Error linking rpmdb tools!"
+       exit 1
+fi
+if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then
+       echo "Error linking rpmdb tools!"
+       exit 1
+fi
+
 %install
 rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm,/var/lib/banner,/var/cache/hrmib,/etc/pki/rpm-gpg}
+install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/rpm} \
+       $RPM_BUILD_ROOT{/var/lib/banner,/var/cache/hrmib,/etc/pki/rpm-gpg}
 
-install %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
+install %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
 
 %{__make} install \
        pkgconfigdir=%{_pkgconfigdir} \
@@ -815,29 +1028,29 @@ install %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key
 
 # install ARCH macros
 install -d $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux
-install %{SOURCE105} $RPM_BUILD_ROOT%{_rpmlibdir}/noarch-linux/macros
+install cpu-os-macros/noarch-linux/macros $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
+install cpu-os-macros/athlon-linux/macros   $RPM_BUILD_ROOT%{_rpmlibdir}/athlon-linux/macros
+install cpu-os-macros/i386-linux/macros     $RPM_BUILD_ROOT%{_rpmlibdir}/i386-linux/macros
+install cpu-os-macros/i486-linux/macros     $RPM_BUILD_ROOT%{_rpmlibdir}/i486-linux/macros
+install cpu-os-macros/i586-linux/macros     $RPM_BUILD_ROOT%{_rpmlibdir}/i586-linux/macros
+install cpu-os-macros/i686-linux/macros     $RPM_BUILD_ROOT%{_rpmlibdir}/i686-linux/macros
+install cpu-os-macros/pentium3-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/pentium3-linux/macros
+install cpu-os-macros/pentium4-linux/macros $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
+install cpu-os-macros/x86_64-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/x86_64-linux/macros
+install cpu-os-macros/ia32e-linux/macros  $RPM_BUILD_ROOT%{_rpmlibdir}/ia32e-linux/macros
+install cpu-os-macros/amd64-linux/macros  $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
+install cpu-os-macros/ppc-linux/macros $RPM_BUILD_ROOT%{_rpmlibdir}/ppc-linux/macros
 %endif
 
 cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
@@ -922,142 +1135,62 @@ sparc-[^-]*-[Ll]inux(-gnu)?
 noarch-[^-]*-.*
 EOF
 
-%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
 rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh
+rm $RPM_BUILD_ROOT%{_rpmlibdir}/macros.d/ruby
+rm $RPM_BUILD_ROOT%{_rpmlibdir}/lib/liblua.a
+rm $RPM_BUILD_ROOT%{_rpmlibdir}/lib/liblua.la
+rm $RPM_BUILD_ROOT%{_rpmlibdir}/mono-find-provides
+rm $RPM_BUILD_ROOT%{_rpmlibdir}/mono-find-requires
+
+%{__sed} -i -e '/macros.d\/ruby/ s/^/#/' $RPM_BUILD_ROOT%{_rpmlibdir}/macros
 
 # 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 %{SOURCE12} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh
+install %{SOURCE14} $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 %{SOURCE20} $RPM_BUILD_ROOT%{_rpmlibdir}/mimetypedeps.sh
+cp -p %{SOURCE25} $RPM_BUILD_ROOT%{_rpmlibdir}/php.req.php
+install %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/mimetypedeps.sh
 install %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache
-install %{SOURCE14} $RPM_BUILD_ROOT/etc/sysconfig/rpm
+install %{SOURCE13} $RPM_BUILD_ROOT/etc/sysconfig/rpm
 
-install %{SOURCE17} $RPM_BUILD_ROOT%{_bindir}/banner.sh
+install %{SOURCE15} $RPM_BUILD_ROOT%{_bindir}/banner.sh
 
 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo
 
+install %{SOURCE18} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros
+install %{SOURCE27} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang
+install %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc
+install %{SOURCE20} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov
+install %{SOURCE21} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles
+install %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq
+install %{SOURCE23} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqdep
+install %{SOURCE24} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles
+
 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname
 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Dirnames
-install %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Filelinktos
+install %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Filelinktos
 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Obsoletename
 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Providename
 touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Requirename
 
-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}
+install tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/bin
+install tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/bin
+install %{SOURCE29} $RPM_BUILD_ROOT%{_rpmlibdir}/bin/dbupgrade.sh
 
-# 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
-# -- mdns-bonjour: mDNSResponder-libs / avahi-compat-libdns_sd
-^libdns_sd.so.1
-EOF
-cat > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc <<EOF
-# global list of file masks not to be compressed in DOCDIR
-EOF
+# create macro loading wrappers for backward compatibility
+for m in gstreamer java mono perl php python; do
+       echo "%%{load:%{_rpmlibdir}/macros.d/$m}" >$RPM_BUILD_ROOT%{_rpmlibdir}/macros.$m
+done
 
 # for rpm -e|-U --repackage
 install -d $RPM_BUILD_ROOT/var/{spool/repackage,lock/rpm}
@@ -1071,42 +1204,34 @@ for a in librpm-%{sover}.so librpmdb-%{sover}.so librpmio-%{sover}.so librpmbuil
        ln -s /%{_lib}/$a $RPM_BUILD_ROOT%{_libdir}/$a
 done
 
-# Append rpm.platform contents to /usr/lib/rpm/${arch}-linux/macros
-for m in $RPM_BUILD_ROOT%{_rpmlibdir}/*/macros ; do
-       cat %{SOURCE2} | %{__sed} 's#@LIB@#%{_lib}#' >> $m
-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
-
 # Bourne shell script vs ELF executable linked with rpm,rpmdb,rpmio
 mv $RPM_BUILD_ROOT{%{_rpmlibdir},%{_bindir}}/rpm2cpio
 
+%if %{with python}
 %py_ocomp $RPM_BUILD_ROOT%{py_sitedir}
 %py_comp $RPM_BUILD_ROOT%{py_sitedir}
 
-rm $RPM_BUILD_ROOT%{py_sitedir}/rpm/*.{la,a,py}
+%{__rm} $RPM_BUILD_ROOT%{py_sitedir}/rpm/*.{la,a,py}
+%endif
 
 # wrong location, not used anyway
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd}
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/rpm.{daily,log,xinetd}
 # utils dropped in 4.4.8 -- their manuals
-rm $RPM_BUILD_ROOT%{_mandir}/*/man8/rpmgraph.8
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/*/man8/rpmgraph.8
+# utils dropped in 5.4 -- their manuals
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man1/rpmgrep.1
+# script obsoleted by /usr/lib/rpm/bin/dbconvert binary
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/dbconvert.sh
 
 %find_lang %{name}
 
-rm -rf manual
+%{__rm} -rf manual
 cp -a doc/manual manual
-rm -f manual/Makefile*
+%{__rm} -f manual/Makefile*
 
 %clean
 rm -rf $RPM_BUILD_ROOT
 
-%triggerpostun lib -- %{name}-lib < %{version}
-rm -f /var/lib/rpm/__db*
-
 %pretrans
 # this needs to be a dir
 if [ -f %{_sysconfdir}/rpm/sysinfo ]; then
@@ -1115,6 +1240,22 @@ if [ -f %{_sysconfdir}/rpm/sysinfo ]; then
        mkdir %{_sysconfdir}/rpm/sysinfo
 fi
 
+%posttrans
+if [ -e /var/lib/rpm/Packages ] && \
+               ! %{_rpmlibdir}/bin/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then
+       if [ ! -e /var/lib/rpm.rpmbackup-%{version}-%{release} ] && \
+                       /bin/cp -a /var/lib/rpm /var/lib/rpm.rpmbackup-%{version}-%{release}; then
+               echo
+               echo "Backup of the rpm database has been created in /var/lib/rpm.rpmbackup-%{version}-%{release}"
+               echo
+       fi
+       echo
+       echo 'If poldek aborts after migration with rpmdb error, this is expected behaviour,'
+       echo 'you should ignore it and restart poldek'
+       echo
+       %{_rpmlibdir}/bin/dbupgrade.sh
+fi
+
 %triggerpostun -- %{name} < 4.4.9-44
 %{_rpmlibdir}/hrmib-cache
 
@@ -1128,22 +1269,18 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %defattr(644,root,root,755)
 %doc CHANGES CREDITS README pubkeys/JBJ-GPG-KEY manual/*
 
-%dir %{_sysconfdir}/pki/rpm-gpg
-%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
+%dir /etc/pki/rpm-gpg
+/etc/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc
 
 %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
 
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/macros.lang
 %dir %{_sysconfdir}/rpm/sysinfo
 # these are ok to be replaced
 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/sysinfo/*
 %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform
 
-
 %{_mandir}/man8/rpm.8*
 %lang(fr) %{_mandir}/fr/man8/rpm.8*
 %lang(ja) %{_mandir}/ja/man8/rpm.8*
@@ -1153,6 +1290,9 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %lang(sk) %{_mandir}/sk/man8/rpm.8*
 
 %dir /var/lib/rpm
+%dir /var/lib/rpm/log
+%dir /var/lib/rpm/tmp
+%config(noreplace) %verify(not md5 mtime size) /var/lib/rpm/DB_CONFIG
 %dir %attr(700,root,root) /var/spool/repackage
 %dir /var/lock/rpm
 /var/lock/rpm/transaction
@@ -1161,25 +1301,28 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 # net-snmp hrSWInstalledName queries, bash-completions
 %dir /var/cache/hrmib
 
-#%attr(755,root,root) %{_rpmlibdir}/rpmd
-#%{!?with_static:%attr(755,root,root) %{_rpmlibdir}/rpm[eiu]}
-#%attr(755,root,root) %{_rpmlibdir}/rpmk
-#%attr(755,root,root) %{_rpmlibdir}/rpm[qv]
-
 %{_rpmlibdir}/qf
 %{_rpmlibdir}/rpmpopt*
 %{_rpmlibdir}/macros
-%{_rpmlibdir}/macros.pld
+%dir %{_rpmlibdir}/macros.d
+%{_rpmlibdir}/macros.d/pld
 %{_rpmlibdir}/cpuinfo.yaml
 
 %attr(755,root,root) %{_rpmlibdir}/hrmib-cache
 
+%dir %{_rpmlibdir}/bin
+%attr(755,root,root) %{_rpmlibdir}/bin/dbconvert
+%attr(755,root,root) %{_rpmlibdir}/bin/dbupgrade.sh
+%attr(755,root,root) %{_rpmlibdir}/bin/rpmdb_checkversion
+%attr(755,root,root) %{_rpmlibdir}/bin/rpmdb_reset
+
 %files base
 %defattr(644,root,root,755)
 %dir %{_sysconfdir}/rpm
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/rpm
 %dir %{_rpmlibdir}
 %attr(755,root,root) %{_bindir}/banner.sh
+%attr(755,root,root) %{_bindir}/multiarch-dispatch
 %attr(755,root,root) %{_rpmlibdir}/user_group.sh
 %dir /var/lib/banner
 
@@ -1208,6 +1351,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_libdir}/librpmmisc-%{sover}.so
 %{_libdir}/librpm*.la
 %{_includedir}/rpm
+%{_includedir}/multiarch-dispatch.h
 %{_pkgconfigdir}/*.pc
 
 %files static
@@ -1221,17 +1365,28 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh
 %attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt
 %attr(755,root,root) %{_rpmlibdir}/tgpg
-%dir %{_rpmlibdir}/bin
+%attr(755,root,root) %{_rpmlibdir}/bin/chroot
+%attr(755,root,root) %{_rpmlibdir}/bin/cp
 %attr(755,root,root) %{_rpmlibdir}/bin/debugedit
-%attr(755,root,root) %{_rpmlibdir}/bin/grep
+%attr(755,root,root) %{_rpmlibdir}/bin/find
+%attr(755,root,root) %{_rpmlibdir}/bin/mgo
 %attr(755,root,root) %{_rpmlibdir}/bin/mtree
 %attr(755,root,root) %{_rpmlibdir}/bin/rpmcache
 %attr(755,root,root) %{_rpmlibdir}/bin/rpmcmp
 %attr(755,root,root) %{_rpmlibdir}/bin/rpmdeps
 %attr(755,root,root) %{_rpmlibdir}/bin/rpmdigest
-%attr(755,root,root) %{_rpmlibdir}/bin/rpmkey
+%if %{with selinux}
+%attr(755,root,root) %{_rpmlibdir}/bin/semodule
+%attr(755,root,root) %{_rpmlibdir}/bin/spooktool
+%endif
+%if %{without system_lua}
+%attr(755,root,root) %{_rpmlibdir}/bin/lua
+%attr(755,root,root) %{_rpmlibdir}/bin/luac
+%attr(755,root,root) %{_rpmlibdir}/bin/rpmlua
+%attr(755,root,root) %{_rpmlibdir}/bin/rpmluac
+%endif
+%{?with_keyutils:%attr(755,root,root) %{_rpmlibdir}/bin/rpmkey}
 %attr(755,root,root) %{_rpmlibdir}/bin/rpmrepo
-%{_mandir}/man1/rpmgrep.1*
 %{_mandir}/man8/rpm2cpio.8*
 %{_mandir}/man8/rpmcache.8*
 %{_mandir}/man8/rpmconstant.8*
@@ -1261,9 +1416,7 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %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}/getpo.sh
@@ -1274,11 +1427,14 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_rpmlibdir}/mimetypedeps.sh
 # needs hacked pkg-config to return anything
 %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh
-%dir %{_rpmlibdir}/bin
+%attr(755,root,root) %{_rpmlibdir}/bin/api-sanity-autotest.pl
+%attr(755,root,root) %{_rpmlibdir}/bin/api-sanity-checker.pl
 %attr(755,root,root) %{_rpmlibdir}/bin/install-sh
 %attr(755,root,root) %{_rpmlibdir}/bin/mkinstalldirs
-#%attr(755,root,root) %{_rpmlibdir}/rpmb
-#%attr(755,root,root) %{_rpmlibdir}/rpmt
+%attr(755,root,root) %{_rpmlibdir}/bin/pom2spec
+%attr(755,root,root) %{_rpmlibdir}/bin/rpmspecdump
+%attr(755,root,root) %{_rpmlibdir}/bin/sqlite3
+%attr(755,root,root) %{_rpmlibdir}/bin/wget
 %attr(755,root,root) %{_rpmlibdir}/vcheck
 %{_rpmlibdir}/noarch-*
 %ifarch %{ix86}
@@ -1306,22 +1462,18 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %{_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) %{_rpmlibdir}/mono*
-%dir %{_rpmlibdir}/macros.d
-%{_rpmlibdir}/macros.d/perl
+# we always used scripts provided by mono-devel, maybe move them here
+#%attr(755,root,root) %{_rpmlibdir}/mono-find-provides
+#%attr(755,root,root) %{_rpmlibdir}/mono-find-requires
+
+%attr(755,root,root) %{_rpmlibdir}/fontconfig.prov
+# must be here for "Requires: rpm-*prov" to work
+%{_rpmlibdir}/macros.d/cmake
+%{_rpmlibdir}/macros.d/gstreamer
 %{_rpmlibdir}/macros.d/java
+%{_rpmlibdir}/macros.d/kernel
 %{_rpmlibdir}/macros.d/libtool
 %{_rpmlibdir}/macros.d/mono
 %{_rpmlibdir}/macros.d/perl
@@ -1329,13 +1481,24 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %{_rpmlibdir}/macros.d/pkgconfig
 %{_rpmlibdir}/macros.d/python
 %{_rpmlibdir}/macros.d/selinux
+%{_rpmlibdir}/macros.d/tcl
 %{_rpmlibdir}/macros.rpmbuild
+# compat wrappers
+%{_rpmlibdir}/macros.gstreamer
+%{_rpmlibdir}/macros.java
+%{_rpmlibdir}/macros.mono
+%{_rpmlibdir}/macros.perl
+%{_rpmlibdir}/macros.php
+%{_rpmlibdir}/macros.python
 
+%attr(755,root,root) %{_rpmlibdir}/check-multiarch-files
+%attr(755,root,root) %{_rpmlibdir}/gstreamer.sh
+%attr(755,root,root) %{_rpmlibdir}/kmod-deps.sh
+%attr(755,root,root) %{_rpmlibdir}/mkmultiarch
 
 %attr(755,root,root) %{_bindir}/gendiff
+%attr(755,root,root) %{_bindir}/multiarch-platform
 %attr(755,root,root) %{_bindir}/rpmbuild
-%attr(755,root,root) %{_rpmlibdir}/bin/rpmspecdump
-%attr(755,root,root) %{_rpmlibdir}/bin/wget
 
 %dir %{_rpmlibdir}/helpers
 %attr(755,root,root) %{_rpmlibdir}/helpers/makeshlibs
@@ -1352,20 +1515,20 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 # needs jar (any jdk), jcf-dump (gcc-java) to work
 %attr(755,root,root) %{_rpmlibdir}/javadeps.sh
 
+%files rubyprov
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_rpmlibdir}/gem_helper.rb
+%attr(755,root,root) %{_rpmlibdir}/rubygems.rb
+
 %files perlprov
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_rpmlibdir}/perl.*
 %attr(755,root,root) %{_rpmlibdir}/osgideps.pl
 %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}/pythoneggs.py
 %attr(755,root,root) %{_rpmlibdir}/pythondeps.sh
 
 %files php-pearprov
This page took 0.074341 seconds and 4 git commands to generate.