X-Git-Url: https://git.tld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm.spec;h=659979f9b4739ab2652166607566278ee9ad8014;hp=b3ae86e5a0db9dfe8d898063dd430288f3233e9d;hb=a4316b5afc30b9f3e8e667bcd44e4feccd020080;hpb=51da5f32a8ba2fd2557459cc6bf048525be5872c diff --git a/rpm.spec b/rpm.spec index b3ae86e..659979f 100644 --- a/rpm.spec +++ b/rpm.spec @@ -1,37 +1,21 @@ +# # TODO: -# pluto_> btw. /usr/lib/rpm/find-debuginfo.sh needs fix. it extract debuginfo also from kernel modules. -# pluto_> there's a filelist=$(find $RPM_BUILD_ROOT ! -path "$RPM_BUILD_ROOT/usr/lib/debug/*.debug" -type f -# pluto_> and we need to add ! -path /lib/modules/... -# - python(abi) cap is not provided automatically because /usr/lib*/libpython2*.so.* -# matches ELF first -# - repackaging when lzma is not installed (todo: fix digest signature of header) -# rpmbuild computes digest when writing package to temporary file, then adds a few -# tags (incl. digest) and writes whole package to destination file; -# repackaging uses unchanged "immutable header" image from original rpm, also -# preserving payload format and compressor from original rpm, _not_ current settings -# /usr/bin/install: cannot stat `./it.gmo': No such file or directory -# /usr/bin/install: cannot stat `./sr@Latn.gmo': No such file or directory -# - maybe? http://rpm.org/gitweb?p=rpm.git;a=commitdiff;h=cfcd1f9bd98d5d0fc46a84931984efec3b9d47e2 -# - fix linking, rpm is beeing linked against installed rpmio +# - 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 internal_db # internal db (db 4.5.20) -%bcond_with autoreqdep # autogenerate package name deps in addition to sonames/perl(X) -%bcond_without nptl # internal db: don't use process-shared POSIX mutexes (NPTL provides full interface) -%bcond_without python # don't build python bindings -%bcond_without selinux # build without selinux support -%bcond_without system_libmagic # don't use system libmagic -%bcond_without suggest_tags # build without Suggest tag (bootstrapping) -%bcond_with neon # build with HTTP/WebDAV support (neon library). NOTE: neon libs are in /usr! - -# versions of required libraries -%define reqdb_pkg db4.7 -%define reqdb_ver 4.7.25 -%define reqpopt_ver 1.10.8 -%define beecrypt_ver 2:4.1.2-4 -%define sover 4.5 +%bcond_without apidocs # don't generate documentation with doxygen +%bcond_without python3 # don't build python bindings +%bcond_without plugins # build plugins +%bcond_without recommends_tags # build without Recommends tag (bootstrapping) +%bcond_with imaevm # build with IMA/EVM support (requires libimaevm from ima-evm-utils) + +%define db_ver 5.3.28.0 +%define popt_ver 1.15 +%define sover 9.1.2 + +%if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5" +%define with_recommends_tags 1 +%endif Summary: RPM Package Manager Summary(de.UTF-8): RPM Packet-Manager @@ -41,214 +25,136 @@ Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm -Version: 4.5 -Release: 90 -License: LGPL +Version: 4.16.1.2 +Release: 0.3 +Epoch: 1 +License: GPL v2 / LGPL v2.1 Group: Base -Source0: %{name}-%{version}.tar.gz -# Source0-md5: 4e69ab971f682c87625dc0f65d9e16bc -Source1: %{name}.groups -Source2: %{name}.platform -Source3: %{name}-install-tree -Source5: %{name}-hrmib-cache +Source0: http://ftp.rpm.org/releases/rpm-4.16.x/%{name}-%{version}.tar.bz2 +# Source0-md5: 0d10f63a0a4c9517cf3808a601378399 +Source1: https://ftp.tld-linux.org/TLD/TLD-Linux.asc +# Source1-md5: 5b5caff8c570489ad5bf950734546c24 +Source2: macros.local +Source3: macros.lang +Source4: %{name}.sysconfig +Source5: %{name}.groups Source6: %{name}-groups-po.awk -Source12: %{name}.sysinfo -Source13: perl.prov -Source14: %{name}-user_group.sh -Source15: %{name}.sysconfig +Source7: %{name}-install-tree +Source9: %{name}-user_group.sh # http://svn.pld-linux.org/banner.sh/ -Source18: banner.sh -Source19: %{name}-macros.gstreamer -Patch1000: %{name}-new-debuginfo.patch -#Patch0: %{name}-pl.po.patch -Patch1: %{name}-rpmrc.patch -Patch2: %{name}-arch.patch -Patch3: %{name}-rpmpopt.patch -Patch4: %{name}-perl-macros.patch -Patch6: %{name}-noexpand.patch -Patch7: %{name}-scripts-closefds.patch -Patch8: %{name}-db.patch -Patch9: %{name}-gettext-in-header.patch -Patch10: %{name}-compress-doc.patch -Patch11: %{name}-rpm5-patchset-8074.patch -Patch12: %{name}-system_libs.patch -Patch13: %{name}-unglobal.patch -Patch14: %{name}-etc_dir.patch -Patch15: %{name}-system_libs-more.patch -Patch16: %{name}-libmagic-locale.patch -Patch17: %{name}-ldconfig-always.patch -Patch20: %{name}-macros-ti.patch -Patch21: %{name}-perl_req-skip_multiline.patch -Patch22: %{name}-provides-dont-obsolete.patch -Patch23: %{name}-pkgconfigdeps.patch -Patch24: %{name}-po.patch -Patch25: %{name}-link.patch -Patch26: %{name}-notsc.patch -Patch27: %{name}-hack-norpmlibdep.patch -Patch28: %{name}-makefile-no_myLDADD_deps.patch -Patch29: %{name}-perl_req-use_base.patch -Patch31: %{name}-missing-prototypes.patch -Patch32: %{name}-pld-autodep.patch -Patch33: %{name}-arch-x86_64.patch -Patch34: %{name}-epoch0.patch -Patch35: %{name}-disable-features-ti.patch -Patch36: %{name}-debuginfo.patch -Patch37: %{name}-doxygen_hack.patch -Patch39: %{name}-popt-coreutils.patch -Patch40: %{name}-helperEVR-noassert.patch -Patch42: %{name}-old-fileconflicts-behaviour.patch -Patch43: %{name}-rpm5-patchset-8637.patch -Patch44: %{name}-no-neon.patch -Patch45: %{name}-no-sqlite.patch -Patch48: %{name}-nopie.patch -Patch50: %{name}-macros.patch -Patch51: %{name}-cleanlibdirs.patch -Patch52: %{name}-morearchs.patch -Patch53: %{name}-chroot-hack.patch -Patch55: %{name}-truncate-cvslog.patch -Patch56: %{name}-rpm5-patchset-8413.patch -Patch57: %{name}-as_needed-fix.patch -Patch58: %{name}-repackage-wo-lzma.patch -Patch59: %{name}-libtool-deps.patch -Patch61: %{name}-lzma-mem.patch -Patch62: %{name}-lzma-size_t.patch -Patch63: %{name}-tar_as_secondary_source.patch -Patch64: %{name}-man_pl.patch -Patch65: %{name}-lzma-tukaani.patch -Patch66: %{name}-v3-support.patch -Patch67: %{name}-cleanbody.patch -Patch69: %{name}-popt-aliases.patch -# reverse arrows patch -Patch70: %{name}-rpm5-patchset-10061.patch -Patch71: %{name}-installbeforeerase.patch -Patch72: %{name}-postun-nofail.patch -Patch73: %{name}-namespace-probe.patch -Patch74: %{name}-noversiondir.patch -Patch75: %{name}-rpmte-segv.patch -Patch76: %{name}-pydebuginfo.patch -Patch77: %{name}-dirdeps-macro.patch -Patch78: %{name}-db3-configure.patch -Patch79: %{name}-macros-cpp.patch -Patch80: %{name}-link-selinux.patch -Patch81: %{name}-db-configure.patch -Patch82: %{name}-perl-makefile.patch -Patch83: %{name}-nosmpflags.patch -Patch84: %{name}-hirmib-ts.patch -Patch85: %{name}-perl_req-heredocs_pod.patch -Patch86: %{name}-rpmv3-support.patch -Patch87: %{name}-mono.patch -Patch88: %{name}-poptexecpath.patch -Patch89: %{name}-lzma-compress-level.patch -Patch90: %{name}-gstreamer.patch -Patch91: %{name}-gendiff.patch -Patch92: %{name}-set-failed-on-reopen.patch -Patch93: %{name}-debugedit-workaround.patch -Patch94: %{name}-shescape-memfault.patch -Patch95: %{name}-gid-uucp.patch -Patch96: %{name}-disable-hkp.patch -Patch97: %{name}-sigpad.patch -Patch98: %{name}-debugdir.patch -Patch99: %{name}-pkgconfig.patch -Patch100: %{name}-rpm5-debugedit.patch -Patch101: %{name}-builddir-readlink.patch -Patch102: pythondeps-speedup.patch -Patch103: %{name}-lua-exit-chroot-correctly.patch -Patch104: %{name}-glob.patch -Patch105: %{name}-am.patch -Patch106: %{name}-automake_1.12.patch -Patch107: %{name}-debugedit-dwarf4.patch -Patch108: %{name}-changelog_order_check_nonfatal.patch -Patch109: %{name}-installplatform.patch -Patch110: %{name}-xz.patch -Patch111: %{name}-shrink.patch -Patch112: notrans.patch -Patch113: %{name}-rubyprov.patch -Patch114: %{name}-ruby-gem-build.patch -Patch115: %{name}-glibc.patch -Patch116: %{name}-trigger-flags-int-type.patch -Patch117: %{name}-rpm2cpio-xz.patch -Patch118: %{name}-noarch-subpackages.patch -Patch119: %{name}-div0.patch -Patch120: %{name}-pythondeps.patch -Patch121: %{name}-tld-macros.patch -URL: http://rpm5.org/ -BuildRequires: autoconf >= 2.57 +Source10: banner.sh +Source11: %{name}.noautoprov +Source12: %{name}.noautoprovfiles +Source13: %{name}.noautoreq +Source14: %{name}.noautoreqfiles +Source15: perl.prov +Patch0: %{name}-man_pl.patch +Patch1: %{name}-popt-aliases.patch +Patch2: %{name}-perl-macros.patch +Patch3: %{name}-perl-req-perlfile.patch +Patch4: %{name}-scripts-closefds.patch +Patch6: %{name}-perl_req-INC_dirs.patch +Patch7: %{name}-debuginfo.patch +Patch8: %{name}-libtool-deps.patch +Patch9: %{name}-builddir-readlink.patch +Patch10: %{name}-changelog_order_check_nonfatal.patch +Patch11: %{name}-postun-nofail.patch +Patch12: %{name}-clean-docdir.patch +Patch13: %{name}-perl-magic.patch +Patch14: %{name}-ignore-missing-macro-files.patch +Patch15: x32.patch +Patch16: rpm5-db-compat.patch +Patch17: python-internal-build.patch +Patch18: missing-macros.patch +Patch19: pkgconfig.patch +Patch20: uname-deps.patch +Patch21: aarch64.patch +Patch22: ix86-platforms.patch +Patch23: shortcircuited-deps.patch +Patch24: cpuinfo-deps.patch +Patch25: rpmio-read-proc-files.patch +Patch26: allow-at-in-ver-rel.patch +Patch27: no-exeonly-for-elf-reqprov.patch +Patch28: default-patch-flags.patch +Patch29: %{name}-noarch_py_prov.patch +Patch30: missing-ghost-terminate-build.patch +Patch31: missing-doc-terminate-build.patch +Patch32: noexpand.patch +Patch33: sqlite-db-backend.patch +Patch100: build-id-links.patch +URL: https://rpm.org/ +BuildRequires: acl-devel +BuildRequires: db-devel >= %{db_ver} +BuildRequires: autoconf >= 2.63 BuildRequires: automake >= 1.4 -BuildRequires: beecrypt-devel >= %{beecrypt_ver} BuildRequires: bzip2-devel >= 1.0.2-17 -%{!?with_internal_db:BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_ver}} BuildRequires: elfutils-devel >= 0.108 -BuildRequires: gettext-devel >= 0.11.4-2 -BuildRequires: keyutils-devel -%{?with_system_libmagic:BuildRequires: libmagic-devel} -%{?with_selinux:BuildRequires: libselinux-devel >= 1.18} +BuildRequires: gettext-tools >= 0.19.2 +BuildRequires: libarchive-devel +BuildRequires: libcap-devel +BuildRequires: libmagic-devel +BuildRequires: libgcrypt-devel +%if %{with plugins} +BuildRequires: audit-libs-devel +BuildRequires: dbus-devel +%{?with_imaevm:BuildRequires: libimaevm-devel >= 1.0} +BuildRequires: libselinux-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 -%if %{with neon} -BuildRequires: libxml2-devel -BuildRequires: neon-devel >= 0.25.5 -%endif -BuildRequires: ossp-uuid-devel >= 1.6.2-8 BuildRequires: patch >= 2.2 -BuildRequires: popt-devel >= %{reqpopt_ver} -%{?with_python:BuildRequires: python-devel >= 1:2.3} -BuildRequires: python-modules >= 1:2.3 -BuildRequires: rpm-perlprov -%{?with_python:BuildRequires: rpm-pythonprov} -BuildRequires: rpmbuild(macros) >= 1.351 -BuildRequires: tar >= 1:1.15.1 -BuildRequires: zlib-devel >= 1.2.3.3 +BuildRequires: pkgconfig(lua) >= 5.1 +BuildRequires: popt-devel >= %{popt_ver} +BuildRequires: python3-modules +%if %{with python3} +BuildRequires: python3-devel +BuildRequires: rpm-pythonprov +BuildRequires: rpmbuild(macros) >= 1.750 +%endif +BuildRequires: sqlite3-devel >= 3.22.0 +BuildRequires: tcl +BuildRequires: xz-devel +BuildRequires: zlib-devel +BuildRequires: zstd-devel %if %{with apidocs} BuildRequires: doxygen BuildRequires: ghostscript BuildRequires: graphviz BuildRequires: tetex-pdftex %endif -%if %{with static} -# Require static library only for static build -BuildRequires: beecrypt-static >= %{beecrypt_ver} -BuildRequires: bzip2-static >= 1.0.2-17 -%{!?with_internal_db:BuildRequires: %{reqdb_pkg}-static >= %{reqdb_ver}} -BuildRequires: elfutils-static -BuildRequires: glibc-static >= 2.2.94 -%{?with_system_libmagic:BuildRequires: libmagic-static} -%{?with_selinux:BuildRequires: libselinux-static >= 1.18} -BuildRequires: ossp-uuid-static >= 1.6.2-8 -BuildRequires: popt-static >= %{reqpopt_ver} -BuildRequires: zlib-static >= 1.2.3.3 +Requires(posttrans): coreutils +Requires: %{name}-base = %{epoch}:%{version}-%{release} +Requires: %{name}-lib = %{epoch}:%{version}-%{release} +Requires: rpm-tld-macros >= 1.744 +Requires: FHS >= 3.0-2 +Requires: libgcrypt +Requires: popt >= %{popt_ver} +%if %{with recommends_tags} +Recommends: rpm-plugin-audit +Recommends: rpm-plugin-prioreset +Recommends: rpm-plugin-syslog %endif -Requires: %{name}-base = %{version}-%{release} -Requires: %{name}-lib = %{version}-%{release} -Requires: beecrypt >= %{beecrypt_ver} -Requires: popt >= %{reqpopt_ver} -Provides: rpm-db-ver = %{reqdb_ver} -Obsoletes: rpm-getdeps -%{!?with_static:Obsoletes: rpm-utils-static} -Obsoletes: tmpwatch-rpmrepackage +Obsoletes: rpm-utils-perl +Obsoletes: rpm-utils-static Conflicts: glibc < 2.2.92 -Conflicts: poldek < 0.21-0.20070703.00.11 +# db4.6 poldek needed +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 --no-changelog; [ -f po/Makevars ] || cp -f po/Makevars{.template,} %define find_lang sh ./scripts/find-lang.sh $RPM_BUILD_ROOT -%define ix86 i386 i486 i586 i686 athlon pentium3 pentium4 +%define ix86 i386 i486 i586 i686 athlon geode pentium3 pentium4 %define ppc ppc ppc7400 ppc7450 %define x8664 amd64 ia32e x86_64 -# stabilize new build environment -%define __newcc %{?force_cc}%{!?force_cc:%{_target_cpu}-tld-linux-gcc} -%define __newcxx %{?force_cxx}%{!?force_cxx:%{_target_cpu}-tld-linux-g++} -%define __newcpp %{?force_cpp}%{!?force_cpp:%{_target_cpu}-tld-linux-gcc -E} - %define _rpmlibdir /usr/lib/rpm -%define specflags -fno-strict-aliasing - %description RPM is a powerful package manager, which can be used to build, install, query, verify, update, and uninstall individual software @@ -323,19 +229,10 @@ Zawiera on: Summary: RPMs library Summary(pl.UTF-8): Biblioteki RPM-a Group: Libraries -Requires: beecrypt >= %{beecrypt_ver} -%{!?with_internal_db:Requires: %{reqdb_pkg} >= %{reqdb_ver}} -%{?with_system_libmagic:Requires: libmagic >= 1.15-2} -%{?with_selinux:Requires: libselinux >= 1.18} -Requires: ossp-uuid >= 1.6.2-4 -Requires: popt >= %{reqpopt_ver} -%{?with_internal_db:%{?with_nptl:Requires: uname(release) >= 2.6.0}} -Requires: zlib >= 1.2.3.3 -%{?with_suggest_tags:Suggests: xz} +Requires: db >= %{db_ver} +Requires: libmagic >= 1.15-2 +Requires: popt >= %{popt_ver} Obsoletes: rpm-libs -# avoid installing with incompatible (non-tukaani) lzma -# avoid incompatible (-M0 not supported) lzma -Conflicts: lzma < 1:4.999.5-0.alpha.2 # avoid SEGV caused by mixed db versions Conflicts: poldek < 0.18.1-16 @@ -354,17 +251,19 @@ Summary(pt_BR.UTF-8): Arquivos de inclusão e bibliotecas para programas de mani Summary(ru.UTF-8): Хедеры и библиотеки для программ, работающих с rpm-пакетами Summary(uk.UTF-8): Хедери та бібліотеки для програм, що працюють з пакетами rpm Group: Development/Libraries -Requires: %{name}-lib = %{version}-%{release} -Requires: beecrypt-devel >= %{beecrypt_ver} +Requires: %{name}-lib = %{epoch}:%{version}-%{release} Requires: bzip2-devel -%{!?with_internal_db:Requires: %{reqdb_pkg}-devel >= %{reqdb_ver}} +Requires: db-devel >= %{db_ver} Requires: elfutils-devel -Requires: keyutils-devel -%{?with_system_libmagic:Requires: libmagic-devel} -%{?with_selinux:Requires: libselinux-devel} -Requires: ossp-uuid-devel >= 1.6.2-6 -Requires: popt-devel >= %{reqpopt_ver} -Requires: zlib-devel >= 1.2.3.3 +Requires: libmagic-devel +Requires: libgcrypt-devel +%if %{with selinux} +Requires: libselinux-devel +Requires: libsemanage-devel +Requires: libsepol-devel +%endif +Requires: popt-devel >= %{popt_ver} +Requires: zlib-devel %description devel The RPM packaging system includes C libraries that make it easy to @@ -411,53 +310,17 @@ ferramentas que precisem de conhecimento profundo de pacotes RPM. призначена для полегшення створення графічних пакетних менеджерів та інших утиліт, що працюють з пакетами RPM. -%package static -Summary: RPM static libraries -Summary(de.UTF-8): RPMs statische Libraries -Summary(pl.UTF-8): Biblioteki statyczne RPM-a -Summary(pt_BR.UTF-8): Bibliotecas estáticas para o desenvolvimento de aplicações RPM -Summary(ru.UTF-8): Статическая библиотека для программ, работающих с rpm-пакетами -Summary(uk.UTF-8): Статична бібліотека для програм, що працюють з пакетами rpm -Group: Development/Libraries -Requires: %{name}-devel = %{version}-%{release} -Requires: beecrypt-static >= %{beecrypt_ver} -Requires: bzip2-static -%{!?with_internal_db:Requires: %{reqdb_pkg}-static >= %{reqdb_ver}} -Requires: elfutils-static -Requires: keyutils-static -%{?with_system_libmagic:Requires: libmagic-static} -Requires: popt-static >= %{reqpopt_ver} -Requires: zlib-static >= 1.2.3.3 - -%description static -RPM static libraries. - -%description static -l de.UTF-8 -RPMs statische Libraries. - -%description static -l pl.UTF-8 -Biblioteki statyczne RPM-a. - -%description static -l pt_BR.UTF-8 -Bibliotecas estáticas para desenvolvimento. - -%description static -l ru.UTF-8 -Система управления пакетами RPM содержит библиотеку C, которая -упрощает манипуляцию пакетами RPM и соответствующими базами данных. -Это статическая библиотека RPM. - -%description static -l uk.UTF-8 -Система керування пакетами RPM містить бібліотеку C, котра спрощує -роботу з пакетами RPM та відповідними базами даних. Це статична -бібліотека RPM. - %package utils Summary: Additional utilities for managing RPM packages and database Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami Group: Applications/File -Requires: %{name} = %{version}-%{release} -Requires: popt >= %{reqpopt_ver} +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: popt >= %{popt_ver} +%if %{with recommends_tags} +Recommends: bzip2 +Recommends: gzip +%endif Conflicts: filesystem-debuginfo < 3.0-16 %description utils @@ -469,42 +332,6 @@ Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken. %description utils -l pl.UTF-8 Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami. -%package utils-perl -Summary: Additional utilities for managing RPM packages and database -Summary(de.UTF-8): Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken -Summary(pl.UTF-8): Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami -Group: Applications/File -Requires: %{name}-utils = %{version}-%{release} -Requires: popt >= %{reqpopt_ver} - -%description utils-perl -Additional utilities for managing RPM packages and database. - -%description utils-perl -l de.UTF-8 -Zusatzwerkzeuge für Verwaltung RPM-Pakete und Datenbanken. - -%description utils-perl -l pl.UTF-8 -Dodatkowe narzędzia do zarządzania bazą RPM-a i pakietami. - -%package utils-static -Summary: Static rpm utilities -Summary(pl.UTF-8): Statyczne narzędzia rpm -Group: Applications/System -Requires: %{name} = %{version}-%{release} - -%description utils-static -Static rpm utilities for repairing system in case something with -shared libraries used by rpm become broken. Currently it contains rpmi -binary, which can be used to install/upgrade/remove packages without -using shared libraries (well, in fact with exception of NSS modules). - -%description utils-static -l pl.UTF-8 -Statyczne narzędzia rpm do naprawy systemu w przypadku zepsucia czegoś -związanego z bibliotekami współdzielonymi używanymi przez rpm-a. -Aktualnie pakiet zawiera binarkę rpmi, którą można użyć do instalacji, -uaktualniania lub usuwania pakietów bez udziału bibliotek statycznych -(z wyjątkiem modułów NSS). - %package build Summary: Scripts for building binary RPM packages Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete @@ -513,9 +340,10 @@ Summary(pt_BR.UTF-8): Scripts e programas executáveis usados para construir pac Summary(ru.UTF-8): Скрипты и утилиты, необходимые для сборки пакетов Summary(uk.UTF-8): Скрипти та утиліти, необхідні для побудови пакетів Group: Applications/File +Requires(pretrans): coreutils Requires(pretrans): findutils -Requires: %{name}-tld-macros-build >= 1.744-3 -Requires: %{name}-utils = %{version}-%{release} +Requires: %{name}-utils = %{epoch}:%{version}-%{release} +Requires: rpm-tld-macros-build >= 1.744 Requires: /bin/id Requires: awk Requires: bzip2 @@ -526,19 +354,22 @@ Requires: elfutils Requires: file >= 4.17 Requires: fileutils Requires: findutils -# rpmrc patch adds flags specific to gcc >= 4.7 -Requires: gcc >= 6:4.7.0 +%ifarch athlon +Requires: gcc >= 3.0.3 +%else +Requires: gcc +%endif Requires: glibc-devel 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} Conflicts: automake < 1:1.7.9-2 @@ -571,7 +402,8 @@ Summary: Additional utilities for checking Perl provides/requires in RPM package Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM Group: Applications/File -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: perl-Encode Requires: perl-devel Requires: perl-modules @@ -590,9 +422,10 @@ pakietach RPM. Summary: Python macros, which simplifies creation of RPM packages with Python software Summary(pl.UTF-8): Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie Group: Applications/File -Requires: %{name} = %{version}-%{release} -Requires: python -Requires: python-modules +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: python3 +Requires: python3-modules +Requires: python3-setuptools %description pythonprov Python macros, which simplifies creation of RPM packages with Python @@ -602,42 +435,96 @@ software. Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie. -%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 +%package -n python3-rpm +Summary: Python 3 interface to RPM library +Summary(pl.UTF-8): Interfejs Pythona 3 do biblioteki RPM-a +Summary(pt_BR.UTF-8): Módulo Python 3 para aplicativos que manipulam pacotes RPM Group: Development/Languages/Python -Requires: %{name} = %{version}-%{release} -%pyrequires_eq python +Requires: %{name} = %{epoch}:%{version}-%{release} +Requires: python3 +Obsoletes: python-rpm < 1:4.16.0 Obsoletes: rpm-python -%description -n python-rpm -The rpm-python package contains a module which permits applications -written in the Python programming language to use the interface +%description -n python3-rpm +The python3-rpm package contains a module which permits applications +written in the Python 3 programming language to use the interface supplied by RPM (RPM Package Manager) libraries. -This package should be installed if you want to develop Python +This package should be installed if you want to develop Python 3 programs that will manipulate RPM packages and databases. -%description -n python-rpm -l pl.UTF-8 -Pakiet rpm-python zawiera moduł, który pozwala aplikacjom napisanym w -Pythonie na używanie interfejsu dostarczanego przez biblioteki RPM-a. +%description -n python3-rpm -l pl.UTF-8 +Pakiet python3-rpm zawiera moduł, który pozwala aplikacjom napisanym w +Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki +RPM-a. Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w -Pythonie programy manipulujące pakietami i bazami danych rpm. +Pythonie 3 programy manipulujące pakietami i bazami danych rpm. -%description -n python-rpm -l pt_BR.UTF-8 -O pacote rpm-python contém um módulo que permite que aplicações -escritas em Python utilizem a interface fornecida pelas bibliotecas +%description -n python3-rpm -l pt_BR.UTF-8 +O pacote python3-rpm contém um módulo que permite que aplicações +escritas em Python 3 utilizem a interface fornecida pelas bibliotecas RPM (RPM Package Manager). Esse pacote deve ser instalado se você quiser desenvolver programas em -Python para manipular pacotes e bancos de dados RPM. +Python 3 para manipular pacotes e bancos de dados RPM. + +%package plugin-audit +Summary: Plugin for logging audit events on package operations +Group: Base +Requires: %{name}-lib = %{epoch}:%{version}-%{release} + +%description plugin-audit +Plugin for libaudit support + +%package plugin-syslog +Summary: Plugin for syslog functionality +Group: Base +Requires: %{name}-lib = %{epoch}:%{version}-%{release} + +%description plugin-syslog +This plugin exports RPM actions to the system log. + +%package plugin-ima +Summary: Plugin for IMA file signatures +Group: Base +Requires: %{name}-lib = %{epoch}:%{version}-%{release} + +%description plugin-ima +This plugin adds support for enforcing and verifying IMA file +signatures in an rpm. + +%package plugin-prioreset +Summary: Plugin for resetting scriptlet priorities for SysV init +Group: Base +Requires: %{name}-lib = %{epoch}:%{version}-%{release} + +%description plugin-prioreset +This plugin is useful on legacy SysV init systems if you run rpm +transactions with nice/ionice priorities. + +%package plugin-selinux +Summary: Plugin for SELinux functionality +Group: Base +Requires: %{name}-lib = %{epoch}:%{version}-%{release} +Requires: libselinux >= 2.1.0 + +%description plugin-selinux +Plugin for SELinux functionality. + +%package sign +Summary: Package signing support +Group: Base +Requires: %{name}-lib = %{epoch}:%{version}-%{release} + +%description sign +This package contains support for digitally signing RPM packages. %package apidocs Summary: RPM API documentation and guides Summary(pl.UTF-8): Documentacja API RPM-a i przewodniki Group: Documentation +BuildArch: noarch %description apidocs Documentation for RPM API and guides in HTML format generated from rpm @@ -648,32 +535,27 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze źrodeł RPM-a przez doxygen. %prep -%setup -q -cp -p %{SOURCE15} . -%patch1000 -p1 -#%patch0 -p1 -%patch2 -p1 +%setup -q -n %{name}-%{version}%{?subver} +%patch0 -p1 %patch1 -p1 +%patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch6 -p1 +%patch6 -p0 %patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 -%patch11 -p1 -R +%patch11 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 +%patch15 -p1 %patch16 -p1 %patch17 -p1 -sed -e 's/^/@tld@/' %{SOURCE2} >>platform.in -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 __mono_provides /usr/lib/rpm/mono-find-provides' > macros.mono -echo '%%define __mono_requires /usr/lib/rpm/mono-find-requires' >> macros.mono -install %{SOURCE13} scripts/perl.prov +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 %patch21 -p1 %patch22 -p1 %patch23 -p1 @@ -683,147 +565,27 @@ install %{SOURCE13} scripts/perl.prov %patch27 -p1 %patch28 -p1 %patch29 -p1 +%patch30 -p1 %patch31 -p1 %patch32 -p1 %patch33 -p1 -%patch34 -p1 -%patch36 -p1 -%patch37 -p1 -%patch39 -p1 -%patch40 -p1 -%patch42 -p1 -%patch43 -p1 -%patch82 -p1 -%{!?with_neon:%patch44 -p1} -%patch45 -p1 -%patch48 -p1 -%patch50 -p1 -%patch20 -p1 -%patch35 -p1 -%patch51 -p1 -#%patch52 -p1 -%patch55 -p1 -%patch56 -p1 -%patch57 -p1 -%patch58 -p1 -%patch59 -p1 -%patch61 -p1 -%patch62 -p1 -%patch63 -p1 -%patch64 -p1 -%patch65 -p1 -%patch66 -p1 -%patch67 -p1 -%patch69 -p1 -%patch71 -p1 -%patch72 -p1 -%patch73 -p1 -%patch74 -p1 -%patch75 -p0 -# having .py sources in -debuginfo needs more testing -#%patch76 -p1 -%patch77 -p0 -%patch79 -p1 -%patch80 -p1 -%patch83 -p1 -%patch84 -p1 -%patch85 -p1 -%patch86 -p1 -%patch70 -p0 -%patch87 -p1 -%patch88 -p1 -%patch89 -p1 -%patch90 -p1 -%patch91 -p1 -%patch92 -p1 -%patch93 -p1 -%patch94 -p1 -%patch95 -p1 -%patch96 -p1 -%patch97 -p1 -%patch98 -p1 -%patch99 -p1 -%patch53 -p1 %patch100 -p1 -%patch101 -p1 -%patch102 -p1 -%patch103 -p1 -%patch104 -p1 -%patch105 -p1 -%patch106 -p1 -%patch107 -p1 -%patch108 -p1 -%patch109 -p1 -%patch110 -p1 -%patch111 -p1 -%patch112 -p1 -%patch113 -p1 -%patch114 -p1 -%patch115 -p1 -%patch116 -p1 -%patch117 -p1 -%patch118 -p1 -%patch119 -p1 -%patch120 -p1 -%patch121 -p1 - -mv -f po/{sr,sr@Latn}.po -rm -rf sqlite zlib popt - -%if %{with internal_db} -%if %{without nptl} -sed -i -e 's,AM_PTHREADS_SHARED("POSIX/.*,:,' db/dist/aclocal/mutex.ac -%endif -%patch78 -p1 -%patch81 -p1 -%else -%patch15 -p1 -rm -rf db3 db rpmdb/db.h -%endif + +install %{SOURCE15} scripts/perl.prov.in + +%{__mv} -f scripts/perl.req{,.in} # generate Group translations to *.po -awk -f %{SOURCE6} %{SOURCE1} +awk -f %{SOURCE6} %{SOURCE5} -# 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/tld@g' $f > ${f}.tmp - mv -f ${f}.tmp $f -done +%{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py %build -%if %{with system_libmagic} -rm -rf file -%else -cd file %{__libtoolize} %{__aclocal} %{__autoheader} %{__autoconf} %{__automake} -cd .. -%endif - -%{__libtoolize} -%{__gettextize} -%{__aclocal} -%{__autoheader} -%{__autoconf} -%{__automake} -%if %{with internal_db} -cd db3 -echo -e 'AC_CONFIG_AUX_DIR(.)\nAC_PROG_LIBTOOL'> configure.ac -%{__libtoolize} -rm -f configure.ac -cd ../db -cp -f /usr/share/aclocal/libtool.m4 dist/aclocal/libtool.ac -cp -f /usr/share/automake/config.sub dist -if [ -f /usr/share/libtool/config/ltmain.sh ]; then - cp -f /usr/share/libtool/config/ltmain.sh dist -else - cp -f /usr/share/libtool/ltmain.sh dist -fi -cd .. -%endif # rpm checks for CPU type at runtime, but it looks better sed -i \ @@ -832,351 +594,184 @@ sed -i \ -e 's|@host_os@|%{_target_os}|' \ macros.in -# pass CC and CXX too in case of building with some older configure macro -# disable perl-RPM2 build, we have it in separate spec -CPPFLAGS="%{rpmcppflags} -I/usr/include/ossp-uuid -I/usr/include/%{reqdb_pkg}" %configure \ - CC="%{__newcc}" \ - CXX="%{__newcxx}" \ - CPP="%{__newcpp}" \ WITH_PERL_VERSION=no \ - %{?with_autoreqdep:--enable-adding-packages-names-in-autogenerated-dependancies} \ + __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \ + __GPG=%{_bindir}/gpg \ +%if %{with python3} + PYTHON=python3 \ + --enable-python \ +%endif + --disable-inhibit-plugin \ + --disable-silent-rules \ --enable-shared \ - --enable-static \ - %{!?with_apidocs:--without-apidocs} \ - %{?with_python:--with-python=%{py_ver}} \ - %{!?with_python:--without-python} \ - %{!?with_selinux:--without-selinux} \ - %{?with_internal_db:--%{?with_nptl:en}%{!?with_nptl:dis}able-posixmutexes} \ - --without-db - -%{__make} \ - CC="%{__cc}" \ - CXX="%{__cxx}" \ - CPP="%{__cpp}" \ - libdb_la=%{_libdir}/libdb-%(echo %{reqdb_pkg} | sed -e 's/^db//').la \ - pylibdir=%{py_libdir} \ - myLDFLAGS="%{rpmldflags}" \ - staticLDFLAGS=%{?with_static:-all-static} + --enable-bdb \ + --enable-bdb-ro \ + --enable-ndb \ + --enable-sqlite \ + --enable-zstd \ + --with-lua \ + %{?with_imaevm:--with-imaevm} \ + --with-cap \ + --with-acl \ + --with-audit \ + --with-archive \ + --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \ + %{!?with_plugins:--disable-plugins} \ + --with-vendor=tld + +%{__make} + +%if %{with python3} +cd python +%py3_build +%endif %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/%{_lib},/etc/{sysconfig,tmpwatch},%{_sysconfdir}/rpm,/var/lib/banner,/var/cache/hrmib} - -%{__make} install \ - DESTDIR=$RPM_BUILD_ROOT \ - staticLDFLAGS=%{?with_static:-all-static} \ - pylibdir=%{py_libdir} - -cat <<'EOF' > $RPM_BUILD_ROOT/etc/tmpwatch/rpm.conf -# Cleanup 90-days old repackage files. -/var/spool/repackage 2160 -EOF +install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \ + $RPM_BUILD_ROOT/var/lib/{banner,rpm} -cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform -# first platform file entry can't contain regexps -%{_target_cpu}-%{_target_vendor}-linux +cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/TLD-Linux.asc -%ifarch x86_64 -# x86_64 things -amd64-[^-]*-[Ll]inux(-gnu)? -x86_64-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch amd64 -amd64-[^-]*-[Ll]inux(-gnu)? -x86_64-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch ia32e -ia32e-[^-]*-[Ll]inux(-gnu)? -x86_64-[^-]*-[Ll]inux(-gnu)? +%{__make} install \ + pkgconfigdir=%{_pkgconfigdir} \ + DESTDIR=$RPM_BUILD_ROOT + +# cleanup +%ifnarch %{ix86} %{x8664} x32 +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/athlon-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/geode-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i386-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i486-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i586-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/i686-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium3-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/pentium4-linux/macros %endif -%ifarch athlon %{x8664} -# x86 things -athlon-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch pentium4 athlon %{x8664} -pentium4-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch pentium3 pentium4 athlon %{x8664} -pentium3-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch i686 pentium3 pentium4 athlon %{x8664} -i686-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch i586 i686 pentium3 pentium4 athlon %{x8664} -i586-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch i486 i586 i686 pentium3 pentium4 athlon %{x8664} -i486-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch %{ix86} %{x8664} -i386-[^-]*-[Ll]inux(-gnu)? +%ifnarch %{x8664} x32 +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/amd64-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia32e-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x32-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/x86_64-linux/macros %endif -%ifarch alpha -alpha-[^-]*-[Ll]inux(-gnu)? +%ifnarch %{ppc} +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/m68k-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc32dy4-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc64*-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8260-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc8560-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros %endif -%ifarch ia64 -ia64-[^-]*-[Ll]inux(-gnu)? +%ifnarch aarch64 +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros %endif -%ifarch ppc64 -powerpc64-[^-]*-[Ll]inux(-gnu)? -ppc64-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch ppc ppc64 -powerpc-[^-]*-[Ll]inux(-gnu)? -ppc-[^-]*-[Ll]inux(-gnu)? +%ifnarch %{arm} +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros %endif -%ifarch s390x -s390x-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch s390 s390x -s390-[^-]*-[Ll]inux(-gnu)? -%endif +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ia64-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/mips*-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/riscv64-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/s390*-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sh*-linux/macros +rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/sparc*-linux/macros -%ifarch sparc64 -sparc64-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch sparcv9 sparc64 -sparcv9-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch sparc sparcv9 sparc64 -sparc-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch armv6l -armv6l-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch armv5tel -armv5tel-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch armv4t armv5tel -armv4t-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch armv3t armv4t armv5tel -armv3t-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch armv5teb -armv5teb-[^-]*-[Ll]inux(-gnu)? -%endif -%ifarch armv4b armv5teb -armv4b-[^-]*-[Ll]inux(-gnu)? +cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%ifarch x32 +%{_target_cpu}-%{_target_vendor}-linux-gnux32 +%else +%{_target_cpu}-%{_target_vendor}-linux %endif - -# noarch -noarch-[^-]*-.* EOF -rm $RPM_BUILD_ROOT%{_rpmlibdir}/vpkg-provides* -rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{prov,req}.pl -rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-{provides,requires}.perl -rm $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh - -# not installed since 4.4.8 (-tools-perl subpackage) -install -p scripts/rpmdiff scripts/rpmdiff.cgi $RPM_BUILD_ROOT%{_rpmlibdir} - -cp -a macros.perl $RPM_BUILD_ROOT%{_rpmlibdir}/macros.perl -cp -a macros.python $RPM_BUILD_ROOT%{_rpmlibdir}/macros.python -cp -a macros.mono $RPM_BUILD_ROOT%{_rpmlibdir}/macros.mono -cp -a %{SOURCE19} $RPM_BUILD_ROOT%{_rpmlibdir}/macros.gstreamer - -install -p %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree -install -p %{SOURCE14} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh -install -p %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache -install -p %{SOURCE18} $RPM_BUILD_ROOT%{_bindir}/banner.sh -cp -p %{name}.sysconfig $RPM_BUILD_ROOT/etc/sysconfig/rpm - -install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo -touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname -touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Dirnames -cp -a %{SOURCE12} $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/macros.lang < $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 <&2 "rpm-lib upgrade: Removing /var/lib/rpm/__db* from older rpmdb version" -rm -f /var/lib/rpm/__db* -if [ -d /vservers ]; then - echo >&2 "rpm-lib upgrade: Removing vservers apps/pkgmgmt/base/rpm/state/__* from older rpmdb version" - rm -f /etc/vservers/*/apps/pkgmgmt/base/rpm/state/__* -fi -echo >&2 "You should rebuild your rpmdb: rpm --rebuilddb to avoid random rpmdb errors" - -%triggerpostun lib -- db4.5 < %{reqdb_ver} -echo >&2 "db4.5 upgrade: Removing /var/lib/rpm/__db* from older rpmdb version" -rm -f /var/lib/rpm/__db* -if [ -d /vservers ]; then - echo >&2 "db4.5 upgrade: Removing vservers apps/pkgmgmt/base/rpm/state/__* from older rpmdb version" - rm -f /etc/vservers/*/apps/pkgmgmt/base/rpm/state/__* +%posttrans +if [ -e /var/lib/rpm/Packages ]; 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 + %{__rm} -rf /var/lib/rpm/log >/dev/null 2>/dev/null || : + %{__rm} -rf /var/lib/rpm/tmp >/dev/null 2>/dev/null || : + # Unlock database for rebuild, safe since this is posttrans + %{__rm} -f /var/lib/rpm/.rpm.lock >/dev/null 2>/dev/null || : + if ! /usr/bin/rpmdb --rebuilddb; then + echo + echo "rpm database conversion failed!" + echo "You have to run '/usr/bin/rpmdb --rebuilddb' manually" + echo + exit 1 + fi fi -echo >&2 "You should rebuild your rpmdb: rpm --rebuilddb to avoid random rpmdb errors" - -%triggerpostun -- %{name} < 4.4.9-44 -%{_rpmlibdir}/hrmib-cache %post lib -p /sbin/ldconfig %postun lib -p /sbin/ldconfig @@ -1186,20 +781,27 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %files -f %{name}.lang %defattr(644,root,root,755) -%doc CHANGES CREDITS README manual/* +%doc ChangeLog CREDITS README + +%dir /etc/pki/rpm-gpg +/etc/pki/rpm-gpg/TLD-Linux.asc %attr(755,root,root) /bin/rpm +%attr(755,root,root) %{_bindir}/rpmdb +%attr(755,root,root) %{_bindir}/rpmkeys +%attr(755,root,root) %{_bindir}/rpmquery +%attr(755,root,root) %{_bindir}/rpmverify -%config(noreplace) %verify(not md5 mtime size) /etc/tmpwatch/rpm.conf %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/* +# this is ok to be replaced %config %verify(not md5 mtime size) %{_sysconfdir}/rpm/platform - %{_mandir}/man8/rpm.8* +%{_mandir}/man8/rpmdb.8* +%{_mandir}/man8/rpmkeys.8* +%{_mandir}/man8/rpm-misc.8* +%{?with_plugins:%{_mandir}/man8/rpm-plugins.8*} %lang(fr) %{_mandir}/fr/man8/rpm.8* %lang(ja) %{_mandir}/ja/man8/rpm.8* %lang(ko) %{_mandir}/ko/man8/rpm.8* @@ -1208,23 +810,56 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %lang(sk) %{_mandir}/sk/man8/rpm.8* %dir /var/lib/rpm -%dir %attr(700,root,root) /var/spool/repackage -%dir /var/lock/rpm -/var/lock/rpm/transaction - -# exported package NVRA (stamped with install tid) -# net-snmp hrSWInstalledName queries, bash-completions -%dir /var/cache/hrmib - -#%attr(755,root,root) %{_rpmlibdir}/rpmd -#%{!?with_static:%attr(755,root,root) %{_rpmlibdir}/rpm[eiu]} -#%attr(755,root,root) %{_rpmlibdir}/rpmk -#%attr(755,root,root) %{_rpmlibdir}/rpm[qv] +%ghost %config(missingok,noreplace) /var/lib/rpm/* +%ghost /var/lib/rpm/.*.lock %{_rpmlibdir}/rpmpopt* +%{_rpmlibdir}/rpmrc %{_rpmlibdir}/macros +%dir %{_rpmlibdir}/macros.d +%dir %{_rpmlibdir}/platform +%{_rpmlibdir}/platform/noarch-* +%ifarch %{ix86} %{x8664} x32 +%{_rpmlibdir}/platform/athlon* +%{_rpmlibdir}/platform/geode* +%{_rpmlibdir}/platform/i?86* +%{_rpmlibdir}/platform/pentium* +%endif +%ifarch %{x8664} x32 +%{_rpmlibdir}/platform/amd64* +%{_rpmlibdir}/platform/ia32e* +%{_rpmlibdir}/platform/x86_64* +%{_rpmlibdir}/platform/x32* +%endif +%ifarch alpha +%{_rpmlibdir}/platform/alpha* +%endif +%ifarch aarch64 +%{_rpmlibdir}/platform/aarch64* +%endif +%ifarch %{arm} +%{_rpmlibdir}/platform/arm* +%endif +%ifarch ia64 +%{_rpmlibdir}/platform/ia64* +%endif +%ifarch mips mipsel mips64 mips64el +%{_rpmlibdir}/platform/mips* +%endif +%ifarch %{ppc} +%{_rpmlibdir}/platform/ppc* +%endif +%ifarch sparc sparc64 +%{_rpmlibdir}/platform/sparc* +%endif + +%dir %{_rpmlibdir}/tld -%attr(755,root,root) %{_rpmlibdir}/hrmib-cache +%attr(755,root,root) %{_rpmlibdir}/rpmdb_dump +%attr(755,root,root) %{_rpmlibdir}/rpmdb_load + +# valgrind suppression file for rpm +%{_rpmlibdir}/rpm.supp %files base %defattr(644,root,root,755) @@ -1237,159 +872,160 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %files lib %defattr(644,root,root,755) -%attr(755,root,root) /%{_lib}/librpm-%{sover}.so -%attr(755,root,root) /%{_lib}/librpmdb-%{sover}.so -%attr(755,root,root) /%{_lib}/librpmio-%{sover}.so -%attr(755,root,root) %{_libdir}/librpmbuild-%{sover}.so +%attr(755,root,root) /%{_lib}/librpm.so.9 +%attr(755,root,root) /%{_lib}/librpm.so.%{sover} +%attr(755,root,root) /%{_lib}/librpmbuild.so.9 +%attr(755,root,root) /%{_lib}/librpmbuild.so.%{sover} +%attr(755,root,root) /%{_lib}/librpmio.so.9 +%attr(755,root,root) /%{_lib}/librpmio.so.%{sover} +%attr(755,root,root) /%{_lib}/librpmsign.so.9 +%attr(755,root,root) /%{_lib}/librpmsign.so.%{sover} +%{?with_plugins:%dir %{_libdir}/rpm-plugins} %files devel %defattr(644,root,root,755) %attr(755,root,root) %{_libdir}/librpm.so -%attr(755,root,root) %{_libdir}/librpm-%{sover}.so -%attr(755,root,root) %{_libdir}/librpmio.so -%attr(755,root,root) %{_libdir}/librpmio-%{sover}.so -%attr(755,root,root) %{_libdir}/librpmdb.so -%attr(755,root,root) %{_libdir}/librpmdb-%{sover}.so %attr(755,root,root) %{_libdir}/librpmbuild.so -%{_libdir}/librpm.la -%{_libdir}/librpmbuild.la -%{_libdir}/librpmdb.la -%{_libdir}/librpmio.la +%attr(755,root,root) %{_libdir}/librpmio.so +%attr(755,root,root) %{_libdir}/librpmsign.so +%{_libdir}/librpm*.la %{_includedir}/rpm -%{_pkgconfigdir}/rpm.pc - -%files static -%defattr(644,root,root,755) -%{_libdir}/librpm.a -%{_libdir}/librpmbuild.a -%{_libdir}/librpmdb.a -%{_libdir}/librpmio.a +%{_pkgconfigdir}/*.pc %files utils %defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/rpm2archive %attr(755,root,root) %{_bindir}/rpm2cpio -%attr(755,root,root) %{_bindir}/rpmdigest -%attr(755,root,root) %{_bindir}/rpmmtree -%attr(755,root,root) %{_bindir}/rpmrepo -%{!?with_system_libmagic:%attr(755,root,root) %{_bindir}/rpmfile} -%attr(755,root,root) %{_rpmlibdir}/debugedit +%attr(755,root,root) %{_bindir}/rpmgraph +%attr(755,root,root) %{_rpmlibdir}/rpm2cpio.sh %attr(755,root,root) %{_rpmlibdir}/find-debuginfo.sh -%attr(755,root,root) %{_rpmlibdir}/rpmdb_loadcvt -%attr(755,root,root) %{_rpmlibdir}/rpmdeps %attr(755,root,root) %{_rpmlibdir}/tgpg +%attr(755,root,root) %{_rpmlibdir}/debugedit +%attr(755,root,root) %{_rpmlibdir}/rpmdeps +%{_mandir}/man8/rpm2archive.8* %{_mandir}/man8/rpm2cpio.8* %{_mandir}/man8/rpmdeps.8* +%{_mandir}/man8/rpmgraph.8* %lang(ja) %{_mandir}/ja/man8/rpm2cpio.8* %lang(ko) %{_mandir}/ko/man8/rpm2cpio.8* %lang(pl) %{_mandir}/pl/man8/rpm2cpio.8* -%lang(pl) %{_mandir}/pl/man8/rpmdeps.8* %lang(ru) %{_mandir}/ru/man8/rpm2cpio.8* - -%files utils-perl -%defattr(644,root,root,755) -%attr(755,root,root) %{_rpmlibdir}/rpmdiff* - -%if %{with static} -%files utils-static -%defattr(644,root,root,755) -%attr(755,root,root) %{_bindir}/rpm[ieu] -%attr(755,root,root) %{_rpmlibdir}/rpm[ieu] -%endif +%lang(pl) %{_mandir}/pl/man8/rpmdeps.8* +%lang(ja) %{_mandir}/ja/man8/rpmgraph.8* +%lang(pl) %{_mandir}/pl/man8/rpmgraph.8* %files build %defattr(644,root,root,755) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/rpm/noauto* %attr(755,root,root) %{_rpmlibdir}/brp-* %attr(755,root,root) %{_rpmlibdir}/check-files -# %attr(755,root,root) %{_rpmlibdir}/check-prereqs -%attr(755,root,root) %{_rpmlibdir}/cross-build -%attr(755,root,root) %{_rpmlibdir}/getpo.sh %attr(755,root,root) %{_rpmlibdir}/install-build-tree -#%attr(755,root,root) %{_rpmlibdir}/config.* -#%attr(755,root,root) %{_rpmlibdir}/mkinstalldirs -%attr(755,root,root) %{_rpmlibdir}/u_pkg.sh -%attr(755,root,root) %{_rpmlibdir}/executabledeps.sh +%attr(755,root,root) %{_rpmlibdir}/elfdeps %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh # needs hacked pkg-config to return anything %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh -#%attr(755,root,root) %{_rpmlibdir}/rpmb -#%attr(755,root,root) %{_rpmlibdir}/rpmt -%{_rpmlibdir}/noarch-* -%ifarch %{ix86} -%{_rpmlibdir}/i?86* -%{_rpmlibdir}/pentium* -%{_rpmlibdir}/athlon* -%endif -%ifarch alpha -%{_rpmlibdir}/alpha* -%endif -%ifarch ia64 -%{_rpmlibdir}/ia64* -%endif -%ifarch mips mipsel mips64 mips64el -%{_rpmlibdir}/mips* -%endif -%ifarch %{ppc} -%{_rpmlibdir}/ppc* -%endif -%ifarch sparc sparcv9 sparc64 -%{_rpmlibdir}/sparc* -%endif -%ifarch %{x8664} -%{_rpmlibdir}/amd64* -%{_rpmlibdir}/ia32e* -%{_rpmlibdir}/x86_64* -%endif -%ifarch armv6l armv5tel armv4t armv3t armv5teb armv4b -%{_rpmlibdir}/arm* -%endif +%attr(755,root,root) %{_rpmlibdir}/mkinstalldirs + +%attr(755,root,root) %{_rpmlibdir}/fontconfig.prov # must be here for "Requires: rpm-*prov" to work -%{_rpmlibdir}/macros.gstreamer -%{_rpmlibdir}/macros.mono -%{_rpmlibdir}/macros.perl -# 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 +#%{_rpmlibdir}/macros.d/cmake +#%{_rpmlibdir}/macros.d/gstreamer +#%{_rpmlibdir}/macros.d/libtool +#%{_rpmlibdir}/macros.d/perl +#%{_rpmlibdir}/macros.d/pkgconfig +#%{_rpmlibdir}/macros.d/python +#%{_rpmlibdir}/macros.d/selinux +#%{_rpmlibdir}/macros.d/tcl +#%{_rpmlibdir}/macros.rpmbuild + +%attr(755,root,root) %{_rpmlibdir}/check-buildroot +%attr(755,root,root) %{_rpmlibdir}/check-prereqs +%attr(755,root,root) %{_rpmlibdir}/check-rpaths +%attr(755,root,root) %{_rpmlibdir}/check-rpaths-worker +%attr(755,root,root) %{_rpmlibdir}/find-provides +%attr(755,root,root) %{_rpmlibdir}/find-requires +%attr(755,root,root) %{_rpmlibdir}/ocamldeps.sh +%attr(755,root,root) %{_rpmlibdir}/script.req +%attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix + +%dir %{_rpmlibdir}/fileattrs +%{_rpmlibdir}/fileattrs/debuginfo.attr +%{_rpmlibdir}/fileattrs/desktop.attr +%{_rpmlibdir}/fileattrs/elf.attr +%{_rpmlibdir}/fileattrs/font.attr +%{_rpmlibdir}/fileattrs/libtool.attr +%{_rpmlibdir}/fileattrs/metainfo.attr +%{_rpmlibdir}/fileattrs/ocaml.attr +%{_rpmlibdir}/fileattrs/perl.attr +%{_rpmlibdir}/fileattrs/perllib.attr +%{_rpmlibdir}/fileattrs/pkgconfig.attr +%{_rpmlibdir}/fileattrs/python.attr +%{_rpmlibdir}/fileattrs/pythondist.attr +%{_rpmlibdir}/fileattrs/script.attr %attr(755,root,root) %{_bindir}/gendiff %attr(755,root,root) %{_bindir}/rpmbuild +%attr(755,root,root) %{_bindir}/rpmspec %{_mandir}/man1/gendiff.1* +%lang(pl) %{_mandir}/pl/man1/gendiff.1* %{_mandir}/man8/rpmbuild.8* %lang(ja) %{_mandir}/ja/man8/rpmbuild.8* -%lang(pl) %{_mandir}/pl/man1/gendiff.1* %lang(pl) %{_mandir}/pl/man8/rpmbuild.8* +%{_mandir}/man8/rpmspec.8* %files perlprov %defattr(644,root,root,755) %attr(755,root,root) %{_rpmlibdir}/perl.* -#%attr(755,root,root) %{_rpmlibdir}/perldeps.pl -#%attr(755,root,root) %{_rpmlibdir}/find-perl-* -#%attr(755,root,root) %{_rpmlibdir}/find-*.perl -#%attr(755,root,root) %{_rpmlibdir}/find-prov.pl -#%attr(755,root,root) %{_rpmlibdir}/find-req.pl -#%attr(755,root,root) %{_rpmlibdir}/get_magic.pl %files pythonprov %defattr(644,root,root,755) -%{_rpmlibdir}/macros.python -%attr(755,root,root) %{_rpmlibdir}/pythondeps.sh -%attr(755,root,root) %{_rpmlibdir}/pythoneggs.py +%attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py + +%if %{with python3} +%files -n python3-rpm +%defattr(644,root,root,755) +%dir %{py3_sitedir}/rpm +%attr(755,root,root) %{py3_sitedir}/rpm/*.so +%{py3_sitedir}/rpm/*.py +%{py3_sitedir}/rpm-%{version}-py*.egg-info +%{py3_sitedir}/rpm/__pycache__ +%endif + +%if %{with plugins} +%files plugin-audit +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/rpm-plugins/audit.so +%{_mandir}/man8/rpm-plugin-audit.8* + +%files plugin-syslog +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/rpm-plugins/syslog.so +%{_mandir}/man8/rpm-plugin-syslog.8* -%if %{with python} -%files -n python-rpm +%files plugin-ima %defattr(644,root,root,755) -%dir %{py_sitedir}/rpm -%attr(755,root,root) %{py_sitedir}/rpm/*.so -%{py_sitedir}/rpm/*.py[co] +%attr(755,root,root) %{_libdir}/rpm-plugins/ima.so +%{_mandir}/man8/rpm-plugin-ima.8* + +%files plugin-prioreset +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/rpm-plugins/prioreset.so +%{_mandir}/man8/rpm-plugin-prioreset.8* + +%files plugin-selinux +%defattr(644,root,root,755) +%attr(755,root,root) %{_libdir}/rpm-plugins/selinux.so +%{_mandir}/man8/rpm-plugin-selinux.8* %endif +%files sign +%defattr(644,root,root,755) +%attr(755,root,root) %{_bindir}/rpmsign +%{_mandir}/man8/rpmsign.8* + %if %{with apidocs} %files apidocs %defattr(644,root,root,755) -%doc apidocs +%doc doc/librpm/html/* %endif