X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm.spec;h=af8ae030a7900bf6018d7860bab787e0c299de6b;hp=66b83266811647f27de55c8d1047dd89c6745f83;hb=1424412b4ec2eccf1615845fd01211c2a4303ee3;hpb=edfd3d2a69d2733df75207db0e5019232cbf4cff diff --git a/rpm.spec b/rpm.spec index 66b8326..f307ceb 100644 --- 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_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" @@ -49,11 +31,17 @@ 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 5.3 +%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.4 +%define sover 5.4 Summary: RPM Package Manager Summary(de.UTF-8): RPM Packet-Manager @@ -64,106 +52,241 @@ Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm Version: 5.4.10 -Release: 0.1 +Release: 47 License: LGPL Group: Base # 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 -# http://rpm5.org/files/rpm/rpm-5.4/rpm-5.4.10-0.20120706.src.rpm -Source112: cpu-os-macros.tar.gz -# Source112-md5: 6fc7b779cd5476996fdc7872863e2106 - +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 -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 - -Patch14: %{name}-etc_dir.patch -Patch16: %{name}-php-deps.patch -Patch17: %{name}-macros.patch -Patch18: %{name}-macros-th.patch -Patch19: %{name}-glob.patch - -Patch26: %{name}-notsc.patch -Patch27: %{name}-hack-norpmlibdep.patch - -Patch34: %{name}-epoch0.patch -Patch35: %{name}-perl_req-INC_dirs.patch -Patch36: %{name}-debuginfo.patch -Patch37: %{name}-doxygen_hack.patch - -Patch41: vendor-pld.patch - -Patch42: %{name}-old-fileconflicts-behaviour.patch - -Patch46: %{name}-mono.patch -Patch47: %{name}-javadeps.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 -Patch72: openmp.patch -Patch73: rpm-URPM-build-fix.patch -Patch74: rpm-db5.3.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 @@ -171,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 @@ -189,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} @@ -211,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,} @@ -231,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 @@ -307,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 @@ -332,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} @@ -396,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 @@ -494,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 @@ -516,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} @@ -592,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 @@ -617,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 @@ -663,79 +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 %patch7 -p1 %patch8 -p1 -%patch9 -p1 -# compress doc in upstream +%{?with_system_lua:%patch9 -p1} %patch10 -p1 -%{?with_system_lua:%patch11 -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 - -%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 +%patch28 -p1 +%patch29 -p1 +%patch30 -p1 +%patch31 -p1 +%patch32 -p1 +%patch33 -p1 %patch34 -p1 -%patch35 -p0 -# needs update to 5.4 -#%patch36 -p1 +%patch35 -p1 +%patch36 -p1 %patch37 -p1 -%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 +%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 -%patch72 -p1 -b .wiget -%patch73 -p1 -%patch74 -p1 - -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} @@ -745,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 @@ -756,12 +964,15 @@ awk -f %{SOURCE6} %{SOURCE1} CXX="%{__newcxx}" \ CPP="%{__newcpp}" \ WITH_PERL_VERSION=no \ + __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 \ @@ -776,10 +987,12 @@ awk -f %{SOURCE6} %{SOURCE1} --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}" \ @@ -788,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} \ @@ -800,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 @@ -907,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 < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqdep < $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc <$RPM_BUILD_ROOT%{_rpmlibdir}/macros.$m +done # for rpm -e|-U --repackage install -d $RPM_BUILD_ROOT/var/{spool/repackage,lock/rpm} @@ -1056,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 @@ -1100,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 @@ -1113,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* @@ -1138,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 @@ -1146,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 @@ -1193,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 @@ -1206,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* @@ -1246,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 @@ -1259,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} @@ -1291,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 @@ -1314,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 @@ -1337,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