X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=blobdiff_plain;f=rpm.spec;h=6329cb122d6924170b436eef845f1685a96326d8;hp=0c1a40d30cf89fcd7f5cf4834974d04badfae567;hb=d40117b8f80fdbb36b656838ce7e079150f14263;hpb=b0333243882f660e1651e5a60ec2f33ac11fcf86 diff --git a/rpm.spec b/rpm.spec index 0c1a40d..6329cb1 100644 --- a/rpm.spec +++ b/rpm.spec @@ -4,25 +4,18 @@ # # Conditional build: %bcond_without apidocs # don't generate documentation with doxygen -%bcond_without python2 # don't build python bindings %bcond_without python3 # don't build python bindings %bcond_without plugins # build plugins %bcond_without recommends_tags # build without Recommends tag (bootstrapping) -%bcond_with db61 # use DB 6.1 instead of 5.3 +%bcond_with imaevm # build with IMA/EVM support (requires libimaevm from ima-evm-utils) -# versions of required libraries -%if %{with db61} -%define reqdb_pkg db6.1 -%define reqdb_ver 6.1 -%define reqdb_pkgver 6.1.19 -%else -%define reqdb_pkg db5.3 -%define reqdb_ver 5.3 -%define reqdb_pkgver 5.3.28.0 +%define db_ver 5.3.28.0 +%define popt_ver 1.15 +%define sover 9.1.0 + +%if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5" +%define with_recommends_tags 1 %endif -%define reqpopt_ver 1.15 -%define openssl_ver 1.1.1d -%define sover 9.0.1 Summary: RPM Package Manager Summary(de.UTF-8): RPM Packet-Manager @@ -32,93 +25,93 @@ Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm -Version: 4.15.1 -Release: 0.1 +Version: 4.16.0 +Release: 0.10 +Epoch: 1 License: GPL v2 / LGPL v2.1 Group: Base -Source0: http://ftp.rpm.org/releases/rpm-4.15.x/%{name}-%{version}.tar.bz2 -# Source0-md5: ed72147451a5ed93b2a48e2f8f5413c3 -Source1: %{name}.groups -Source2: macros.pld.in -Source3: %{name}-install-tree -Source4: %{name}-find-spec-bcond -Source5: %{name}-hrmib-cache +Source0: http://ftp.rpm.org/releases/rpm-4.16.x/%{name}-%{version}.tar.bz2 +# Source0-md5: 434e166a812e35ef181f6dd176326920 +Source1: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc +# Source1-md5: 23914bb49fafe7153cee87126d966461 +Source2: macros.local +Source3: macros.lang +Source4: %{name}.sysconfig +Source5: %{name}.groups Source6: %{name}-groups-po.awk -Source7: %{name}-compress-doc -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 +Source7: %{name}-install-tree +Source9: %{name}-user_group.sh # http://svn.pld-linux.org/banner.sh/ -Source15: banner.sh -Source16: ftp://ftp.pld-linux.org/dists/th/PLD-3.0-Th-GPG-key.asc -# Source16-md5: 23914bb49fafe7153cee87126d966461 -Source17: %{name}-mimetypedeps -Source18: macros.local -Source19: %{name}.noautocompressdoc -Source20: %{name}.noautoprov -Source21: %{name}.noautoprovfiles -Source22: %{name}.noautoreq -Source24: %{name}.noautoreqfiles -Source25: %{name}-php-requires.php -Source26: %{name}db_checkversion.c -Source27: macros.lang -Source28: %{name}db_reset.c -Source29: dbupgrade.sh -Source30: rubygems.rb -Source31: gem_helper.rb +Source10: banner.sh +Source11: %{name}.noautoprov +Source12: %{name}.noautoprovfiles +Source13: %{name}.noautoreq +Source14: %{name}.noautoreqfiles +Source15: perl.prov +Source16: %{name}db_checkversion.c +Source17: %{name}db_reset.c +Source18: dbupgrade.sh 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 -Patch5: %{name}-php-macros.patch -Patch6: %{name}-lua.patch -Patch7: %{name}-perl_req-INC_dirs.patch -Patch8: %{name}-debuginfo.patch -Patch9: %{name}-javadeps.patch -Patch10: %{name}-libtool-deps.patch -Patch11: %{name}-builddir-readlink.patch -Patch12: %{name}-changelog_order_check_nonfatal.patch -Patch13: %{name}-postun-nofail.patch -Patch14: %{name}-clean-docdir.patch -Patch15: %{name}-perl-magic.patch -Patch16: %{name}-ignore-missing-macro-files.patch -Patch17: x32.patch -Patch18: %{name}-fix-compress-doc.patch -Patch19: vendor-pld.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 URL: https://rpm.org/ -BuildRequires: %{reqdb_pkg}-devel >= %{reqdb_pkgver} -BuildRequires: %{reqdb_pkg}-sql-devel >= %{reqdb_pkgver} +BuildRequires: acl-devel +BuildRequires: db-devel >= %{db_ver} BuildRequires: autoconf >= 2.63 BuildRequires: automake >= 1.4 BuildRequires: bzip2-devel >= 1.0.2-17 BuildRequires: elfutils-devel >= 0.108 BuildRequires: gettext-tools >= 0.19.2 BuildRequires: libarchive-devel +BuildRequires: libcap-devel BuildRequires: libmagic-devel -BuildRequires: openssl-devel >= %{openssl_ver} +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 -BuildRequires: lua53-devel >= 5.3.5 BuildRequires: ossp-uuid-devel BuildRequires: patch >= 2.2 -BuildRequires: popt-devel >= %{reqpopt_ver} -%{?with_python2:BuildRequires: python-devel >= 1:2.3} -%{?with_python3:BuildRequires: python3-devel} -BuildRequires: python-modules >= 1:2.3 -%if %{with python2} || %{with python3} +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 @@ -130,19 +123,18 @@ BuildRequires: graphviz BuildRequires: tetex-pdftex %endif Requires(posttrans): coreutils -Requires: %{name}-base = %{version}-%{release} -Requires: %{name}-lib = %{version}-%{release} +Requires: %{name}-base = %{epoch}:%{version}-%{release} +Requires: %{name}-lib = %{epoch}:%{version}-%{release} +Requires: rpm-pld-macros >= 1.744 Requires: FHS >= 3.0-2 -Requires: openssl >= %{openssl_ver} -Requires: popt >= %{reqpopt_ver} +Requires: libgcrypt +Requires: popt >= %{popt_ver} %if %{with recommends_tags} Recommends: rpm-plugin-audit Recommends: rpm-plugin-prioreset Recommends: rpm-plugin-syslog Recommends: rpm-plugin-systemd-inhibit %endif -Provides: rpm-db-ver = %{reqdb_ver} -Obsoletes: rpm-getdeps Obsoletes: rpm-utils-perl Obsoletes: rpm-utils-static Conflicts: glibc < 2.2.92 @@ -162,7 +154,6 @@ BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) %define x8664 amd64 ia32e x86_64 %define _rpmlibdir /usr/lib/rpm -%define _noautocompressdoc RPM-GPG-KEY %description RPM is a powerful package manager, which can be used to build, @@ -238,11 +229,9 @@ Zawiera on: Summary: RPMs library Summary(pl.UTF-8): Biblioteki RPM-a Group: Libraries -Requires: %{reqdb_pkg} >= %{reqdb_pkgver} -Requires: %{reqdb_pkg}-sql >= %{reqdb_pkgver} +Requires: db >= %{db_ver} Requires: libmagic >= 1.15-2 -Requires: openssl >= %{openssl_ver} -Requires: popt >= %{reqpopt_ver} +Requires: popt >= %{popt_ver} Obsoletes: rpm-libs # avoid SEGV caused by mixed db versions Conflicts: poldek < 0.18.1-16 @@ -262,18 +251,18 @@ 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: %{reqdb_pkg}-devel >= %{reqdb_pkgver} +Requires: %{name}-lib = %{epoch}:%{version}-%{release} Requires: bzip2-devel +Requires: db-devel >= %{db_ver} Requires: elfutils-devel Requires: libmagic-devel -Requires: openssl-devel >= %{openssl_ver} +Requires: libgcrypt-devel %if %{with selinux} Requires: libselinux-devel Requires: libsemanage-devel Requires: libsepol-devel %endif -Requires: popt-devel >= %{reqpopt_ver} +Requires: popt-devel >= %{popt_ver} Requires: zlib-devel %description devel @@ -326,8 +315,8 @@ 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 @@ -343,23 +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 build Summary: Scripts for building binary RPM packages Summary(de.UTF-8): Scripts fürs Bauen binärer RPM-Pakete @@ -370,8 +342,8 @@ Summary(uk.UTF-8): Скрипти та утиліти, необхідні для Group: Applications/File Requires(pretrans): coreutils Requires(pretrans): findutils -Requires: %{name}-build-macros >= 1.712 -Requires: %{name}-utils = %{version}-%{release} +Requires: %{name}-utils = %{epoch}:%{version}-%{release} +Requires: rpm-pld-macros-build >= 1.744 Requires: /bin/id Requires: awk Requires: bzip2 @@ -398,7 +370,6 @@ 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 @@ -426,30 +397,12 @@ construir pacotes usando o RPM. Різноманітні допоміжні скрипти та утиліти, які використовуються для побудови RPM'ів. -%package javaprov -Summary: Additional utilities for checking Java provides/requires in RPM packages -Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzania zależności kodu w Javie w pakietach RPM -Group: Applications/File -Requires: %{name} = %{version}-%{release} -Requires: file -Requires: findutils >= 1:4.2.26 -Requires: mktemp -Requires: unzip - -%description javaprov -Additional utilities for checking Java provides/requires in RPM -packages. - -%description javaprov -l pl.UTF-8 -Dodatkowe narzędzia do sprawdzania zależności kodu w Javie w pakietach -RPM. - %package perlprov Summary: Additional utilities for checking Perl provides/requires in RPM packages Summary(de.UTF-8): Zusatzwerkzeuge fürs Nachsehen Perl-Abhängigkeiten in RPM-Paketen Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzenia zależności skryptów Perla w pakietach RPM Group: Applications/File -Requires: %{name} = %{version}-%{release} +Requires: %{name} = %{epoch}:%{version}-%{release} Requires: perl-Encode Requires: perl-devel Requires: perl-modules @@ -469,10 +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: python-setuptools +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 @@ -482,78 +435,15 @@ software. Makra ułatwiające tworzenie pakietów RPM z programami napisanymi w Pythonie. -%package php-pearprov -Summary: Additional utilities for checking PHP PEAR provides/requires in RPM packages -Summary(pl.UTF-8): Dodatkowe narzędzia do sprawdzania zależności skryptów php w RPM -Group: Applications/File -Requires: %{name} = %{version}-%{release} -Requires: sed >= 4.0 -Suggests: php-pear-PHP_CompatInfo - -%description php-pearprov -Additional utilities for checking PHP PEAR provides/requires in RPM -packages. - -%description php-pearprov -l pl.UTF-8 -Dodatkowe narzędzia do sprawdzenia zależności skryptów PHP PEAR w -pakietach RPM. - -%package 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 -Requires: ruby-rubygems - -%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} -Requires: python -Obsoletes: rpm-python - -%description -n python-rpm -The python-rpm package contains a module which permits applications -written in the Python programming language to use the interface -supplied by RPM (RPM Package Manager) libraries. - -This package should be installed if you want to develop Python -programs that will manipulate RPM packages and databases. - -%description -n python-rpm -l pl.UTF-8 -Pakiet python-rpm zawiera moduł, który pozwala aplikacjom napisanym w -Pythonie na używanie interfejsu dostarczanego przez biblioteki RPM-a. - -Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w -Pythonie programy manipulujące pakietami i bazami danych rpm. - -%description -n python-rpm -l pt_BR.UTF-8 -O pacote python-rpm contém um módulo que permite que aplicações -escritas em Python utilizem a interface fornecida pelas bibliotecas -RPM (RPM Package Manager). - -Esse pacote deve ser instalado se você quiser desenvolver programas em -Python para manipular pacotes e bancos de dados RPM. - %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} +Requires: %{name} = %{epoch}:%{version}-%{release} Requires: python3 +Obsoletes: python-rpm < 1:4.16.0 +Obsoletes: rpm-python %description -n python3-rpm The python3-rpm package contains a module which permits applications @@ -565,7 +455,8 @@ programs that will manipulate RPM packages and databases. %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. +Pythonie 3 na używanie interfejsu dostarczanego przez biblioteki +RPM-a. Pakiet ten powinien zostać zainstalowany, jeśli chcesz pisać w Pythonie 3 programy manipulujące pakietami i bazami danych rpm. @@ -580,24 +471,24 @@ Python 3 para manipular pacotes e bancos de dados RPM. %package plugin-audit Summary: Plugin for logging audit events on package operations -Group: System/Base -Requires: %{name}-lib = %{version}-%{release} +Group: Base +Requires: %{name}-lib = %{epoch}:%{version}-%{release} %description plugin-audit Plugin for libaudit support %package plugin-syslog Summary: Plugin for syslog functionality -Group: System/Base -Requires: %{name}-lib = %{version}-%{release} +Group: Base +Requires: %{name}-lib = %{epoch}:%{version}-%{release} %description plugin-syslog This plugin exports RPM actions to the system log. %package plugin-systemd-inhibit Summary: Plugin for systemd inhibit functionality -Group: System/Base -Requires: %{name}-lib = %{version}-%{release} +Group: Base +Requires: %{name}-lib = %{epoch}:%{version}-%{release} %description plugin-systemd-inhibit This plugin blocks systemd from entering idle, sleep or shutdown while @@ -606,7 +497,7 @@ an rpm transaction is running using the systemd-inhibit mechanism. %package plugin-ima Summary: Plugin for IMA file signatures Group: Base -Requires: %{name}-lib = %{version}-%{release} +Requires: %{name}-lib = %{epoch}:%{version}-%{release} %description plugin-ima This plugin adds support for enforcing and verifying IMA file @@ -615,7 +506,7 @@ signatures in an rpm. %package plugin-prioreset Summary: Plugin for resetting scriptlet priorities for SysV init Group: Base -Requires: %{name}-lib = %{version}-%{release} +Requires: %{name}-lib = %{epoch}:%{version}-%{release} %description plugin-prioreset This plugin is useful on legacy SysV init systems if you run rpm @@ -624,12 +515,21 @@ systemd systems. %package plugin-selinux Summary: Plugin for SELinux functionality -Requires: %{name}-lib = %{version}-%{release} +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 @@ -651,9 +551,8 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch2 -p1 %patch3 -p1 %patch4 -p1 -%patch5 -p1 -%patch6 -p1 -%patch7 -p0 +%patch6 -p0 +%patch7 -p1 %patch8 -p1 %patch9 -p1 %patch10 -p1 @@ -664,25 +563,30 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch15 -p1 %patch16 -p1 %patch17 -p1 -#%patch18 -p1 -#%patch19 -p1 - -install %{SOURCE2} pld.in -install %{SOURCE8} scripts/php.prov.in -install %{SOURCE9} scripts/php.req.in -install %{SOURCE11} scripts/perl.prov.in -cp -p %{SOURCE30} scripts/rubygems.rb -cp -p %{SOURCE31} scripts/gem_helper.rb +%patch18 -p1 +%patch19 -p1 +%patch20 -p1 +%patch21 -p1 +%patch22 -p1 +%patch23 -p1 +%patch24 -p1 +%patch25 -p1 +%patch26 -p1 +%patch27 -p1 +%patch28 -p1 +%patch29 -p1 + +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} -install %{SOURCE26} tools/rpmdb_checkversion.c -install %{SOURCE28} tools/rpmdb_reset.c +install %{SOURCE16} tools/rpmdb_checkversion.c +install %{SOURCE17} tools/rpmdb_reset.c -%{__sed} -i -e '1s,/usr/bin/python,%{__python},' scripts/pythondistdeps.py +%{__sed} -i -e '1s,/usr/bin/python,%{__python3},' scripts/pythondistdeps.py %build %{__libtoolize} @@ -698,40 +602,35 @@ sed -i \ -e 's|@host_os@|%{_target_os}|' \ macros.in -CPPFLAGS="-I/usr/include/lua53 %{rpmcppflags}" %configure \ WITH_PERL_VERSION=no \ __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \ __GPG=%{_bindir}/gpg \ - %{?with_python3:PYTHON=python3} \ - %{!?with_python3:%{?with_python2:PYTHON=python2}} \ +%if %{with python3} + PYTHON=python3 \ + --enable-python \ +%endif --disable-silent-rules \ --enable-shared \ --enable-bdb \ + --enable-bdb-ro \ + --enable-ndb \ + --enable-sqlite \ --enable-zstd \ - --with-crypto=openssl \ --with-lua \ + %{?with_imaevm:--with-imaevm} \ --with-cap \ --with-acl \ --with-audit \ --with-archive \ -%if %{with python2} || %{with python3} - --enable-python \ -%endif --with-selinux=%{!?with_plugins:no}%{?with_plugins:yes} \ %{!?with_plugins:--disable-plugins} \ --with-vendor=pld -# --enable-ndb (EXPERIMENTAL) enable the new rpm database format -# --enable-lmdb=[yes/no/auto] (EXPERIMENTAL) build with LMDB rpm database format support (default=auto) -# --with-imaevm build with imaevm support - %{__make} -%{__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} +%{__cc} %{rpmcflags} tools/rpmdb_checkversion.c -o tools/rpmdb_checkversion -ldb +%{__cc} %{rpmcflags} tools/rpmdb_reset.c -o tools/rpmdb_reset -ldb if tools/rpmdb_checkversion -V 2>&1 | grep "t match library version"; then echo "Error linking rpmdb tools!" @@ -742,12 +641,6 @@ if tools/rpmdb_reset -V 2>&1 | grep "t match library version"; then exit 1 fi -%if %{with python2} -cd python -%py_build -cd .. -%endif - %if %{with python3} cd python %py3_build @@ -756,9 +649,9 @@ cd python %install rm -rf $RPM_BUILD_ROOT install -d $RPM_BUILD_ROOT{/bin,/%{_lib},/etc/sysconfig,%{_sysconfdir}/{rpm,pki/rpm-gpg}} \ - $RPM_BUILD_ROOT{/var/lib/banner,/var/cache/hrmib} + $RPM_BUILD_ROOT/var/lib/{banner,rpm} -cp -p %{SOURCE16} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc +cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.asc %{__make} install \ pkgconfigdir=%{_pkgconfigdir} \ @@ -793,9 +686,15 @@ rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc-linux/macros rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/ppc*series-linux/macros %endif +%ifnarch aarch64 rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros -rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/alpha*-linux/macros +%endif + +%ifnarch %{arm} rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros +%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 @@ -803,58 +702,50 @@ 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 +cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform +%ifarch x32 +%{_target_cpu}-%{_target_vendor}-linux-gnux32 +%else +%{_target_cpu}-%{_target_vendor}-linux +%endif +EOF + %{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/find-lang.sh -cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree -cp -p %{SOURCE4} $RPM_BUILD_ROOT%{_rpmlibdir}/find-spec-bcond -cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/compress-doc -cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh -cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_rpmlibdir}/java-find-requires -cp -p scripts/php.{prov,req} $RPM_BUILD_ROOT%{_rpmlibdir} -cp -p %{SOURCE25} $RPM_BUILD_ROOT%{_rpmlibdir}/php.req.php -cp -p %{SOURCE17} $RPM_BUILD_ROOT%{_rpmlibdir}/mimetypedeps.sh -cp -p %{SOURCE5} $RPM_BUILD_ROOT%{_rpmlibdir}/hrmib-cache -cp -p %{SOURCE13} $RPM_BUILD_ROOT/etc/sysconfig/rpm - -cp -p %{SOURCE15} $RPM_BUILD_ROOT%{_bindir}/banner.sh - -install -d $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo - -cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros -cp -p %{SOURCE27} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang -cp -p %{SOURCE19} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautocompressdoc -cp -p %{SOURCE20} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov -cp -p %{SOURCE21} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles -cp -p %{SOURCE22} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq -cp -p %{SOURCE24} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles - -touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Conflictname -touch $RPM_BUILD_ROOT%{_sysconfdir}/rpm/sysinfo/Dirnames -cp -p %{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 +install -d $RPM_BUILD_ROOT%{_rpmlibdir}/pld + +cp -p %{SOURCE7} $RPM_BUILD_ROOT%{_rpmlibdir}/install-build-tree +cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_rpmlibdir}/user_group.sh +cp -p %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/rpm + +cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_bindir}/banner.sh + +cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros +cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/macros.lang +cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprov +cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoprovfiles +cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreq +cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/noautoreqfiles cp -p tools/rpmdb_checkversion $RPM_BUILD_ROOT%{_rpmlibdir}/ cp -p tools/rpmdb_reset $RPM_BUILD_ROOT%{_rpmlibdir}/ -cp -p %{SOURCE29} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh +cp -p %{SOURCE18} $RPM_BUILD_ROOT%{_rpmlibdir}/dbupgrade.sh # move rpm to /bin -mv $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin +%{__mv} $RPM_BUILD_ROOT%{_bindir}/rpm $RPM_BUILD_ROOT/bin +ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmquery +ln -sf /bin/rpm $RPM_BUILD_ROOT%{_bindir}/rpmverify + # move essential libs to /lib (libs that /bin/rpm links to) for a in librpm.so librpmbuild.so librpmio.so librpmsign.so; do mv -f $RPM_BUILD_ROOT%{_libdir}/${a}.* $RPM_BUILD_ROOT/%{_lib} ln -sf /%{_lib}/$(basename $RPM_BUILD_ROOT/%{_lib}/${a}.*.*.*) $RPM_BUILD_ROOT%{_libdir}/${a} done -%if %{with python2} -# Remove anything that rpm make install might put there -%{__rm} -rf $RPM_BUILD_ROOT%{py_sitedir} -cd python -%py_install -%py_postclean -cd .. -%endif +#./rpmdb --macros=macros --rcfile=rpmrc --dbpath=/home/users/baggins/devel/PLD/rpm/BUILD/rpm-4.15.1/x/ --initdb + +# Make sure we have bdb set a default backend +grep -qE "db_backend[[:blank:]]+bdb" $RPM_BUILD_ROOT%{_rpmlibdir}/macros %if %{with python3} # Remove anything that rpm make install might put there @@ -874,14 +765,6 @@ cd .. %clean rm -rf $RPM_BUILD_ROOT -%pretrans -# this needs to be a dir -if [ -f %{_sysconfdir}/rpm/sysinfo ]; then - umask 022 - mv -f %{_sysconfdir}/rpm/sysinfo{,.rpmsave} - mkdir %{_sysconfdir}/rpm/sysinfo -fi - %posttrans if [ -e /var/lib/rpm/Packages ] && \ ! %{_rpmlibdir}/rpmdb_checkversion -h /var/lib/rpm -d /var/lib/rpm; then @@ -898,9 +781,6 @@ if [ -e /var/lib/rpm/Packages ] && \ %{_rpmlibdir}/dbupgrade.sh fi -%triggerpostun -- %{name} < 4.4.9-44 -%{_rpmlibdir}/hrmib-cache - %post lib -p /sbin/ldconfig %postun lib -p /sbin/ldconfig @@ -915,14 +795,21 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f /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}/rpmkeys +%attr(755,root,root) %{_bindir}/rpmquery +%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/* +# 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* @@ -930,19 +817,13 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %lang(ru) %{_mandir}/ru/man8/rpm.8* %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 - -# exported package NVRA (stamped with install tid) -# net-snmp hrSWInstalledName queries, bash-completions -%dir /var/cache/hrmib +%dir /var/lib/rpm %{_rpmlibdir}/rpmpopt* +%{_rpmlibdir}/rpmrc %{_rpmlibdir}/macros %dir %{_rpmlibdir}/macros.d -#%{_rpmlibdir}/macros.d/pld +%dir %{_rpmlibdir}/platform %{_rpmlibdir}/platform/noarch-* %ifarch %{ix86} %{x8664} x32 %{_rpmlibdir}/platform/athlon* @@ -959,6 +840,12 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %ifarch alpha %{_rpmlibdir}/platform/alpha* %endif +%ifarch aarch64 +%{_rpmlibdir}/platform/aarch64* +%endif +%ifarch %{arm} +%{_rpmlibdir}/platform/arm* +%endif %ifarch ia64 %{_rpmlibdir}/platform/ia64* %endif @@ -972,11 +859,16 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{_rpmlibdir}/platform/sparc* %endif -%attr(755,root,root) %{_rpmlibdir}/hrmib-cache +%dir %{_rpmlibdir}/pld %attr(755,root,root) %{_rpmlibdir}/dbupgrade.sh %attr(755,root,root) %{_rpmlibdir}/rpmdb_checkversion %attr(755,root,root) %{_rpmlibdir}/rpmdb_reset +%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) @@ -1013,54 +905,58 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %defattr(644,root,root,755) %attr(755,root,root) %{_bindir}/rpm2archive %attr(755,root,root) %{_bindir}/rpm2cpio +%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}/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(ru) %{_mandir}/ru/man8/rpm2cpio.8* %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}/compress-doc -%attr(755,root,root) %{_rpmlibdir}/find-spec-bcond %attr(755,root,root) %{_rpmlibdir}/install-build-tree %attr(755,root,root) %{_rpmlibdir}/elfdeps %attr(755,root,root) %{_rpmlibdir}/libtooldeps.sh -%attr(755,root,root) %{_rpmlibdir}/mimetypedeps.sh # needs hacked pkg-config to return anything %attr(755,root,root) %{_rpmlibdir}/pkgconfigdeps.sh %attr(755,root,root) %{_rpmlibdir}/mkinstalldirs -# 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/libtool -#%{_rpmlibdir}/macros.d/mono #%{_rpmlibdir}/macros.d/perl -#%{_rpmlibdir}/macros.d/php #%{_rpmlibdir}/macros.d/pkgconfig #%{_rpmlibdir}/macros.d/python -#%{_rpmlibdir}/macros.d/ruby #%{_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 @@ -1071,7 +967,6 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %{_rpmlibdir}/fileattrs/ocaml.attr %{_rpmlibdir}/fileattrs/perl.attr %{_rpmlibdir}/fileattrs/perllib.attr -%{_rpmlibdir}/fileattrs/php.attr %{_rpmlibdir}/fileattrs/pkgconfig.attr %{_rpmlibdir}/fileattrs/python.attr %{_rpmlibdir}/fileattrs/pythondist.attr @@ -1088,41 +983,14 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %lang(pl) %{_mandir}/pl/man8/rpmbuild.8* %{_mandir}/man8/rpmspec.8* -%files javaprov -%defattr(644,root,root,755) -%attr(755,root,root) %{_rpmlibdir}/java-find-requires -# needs jar (any jdk), jcf-dump (gcc-java) to work -#%attr(755,root,root) %{_rpmlibdir}/javadeps.sh - -%files 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.* %files pythonprov %defattr(644,root,root,755) -%attr(755,root,root) %{_rpmlibdir}/pythondeps.sh %attr(755,root,root) %{_rpmlibdir}/pythondistdeps.py -%files php-pearprov -%defattr(644,root,root,755) -%attr(755,root,root) %{_rpmlibdir}/php.prov -%attr(755,root,root) %{_rpmlibdir}/php.req -%attr(755,root,root) %{_rpmlibdir}/php.req.php - -%if %{with python2} -%files -n python-rpm -%defattr(644,root,root,755) -%dir %{py_sitedir}/rpm -%attr(755,root,root) %{py_sitedir}/rpm/*.so -%{py_sitedir}/rpm/*.py[co] -%{py_sitedir}/rpm-%{version}-py*.egg-info -%endif - %if %{with python3} %files -n python3-rpm %defattr(644,root,root,755) @@ -1137,10 +1005,12 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %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* %files plugin-systemd-inhibit %defattr(644,root,root,755) @@ -1150,52 +1020,26 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f %files plugin-ima %defattr(644,root,root,755) %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 doc/librpm/html/* %endif - -%if 0 -%attr(755,root,root) %{_bindir}/rpmdb -%attr(755,root,root) %{_bindir}/rpmgraph -%attr(755,root,root) %{_bindir}/rpmkeys -%attr(755,root,root) %{_bindir}/rpmquery -%attr(755,root,root) %{_bindir}/rpmsign -%attr(755,root,root) %{_bindir}/rpmverify -%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}/config.guess -%attr(755,root,root) %{_rpmlibdir}/config.sub -%attr(755,root,root) %{_rpmlibdir}/debuginfo.prov -%attr(755,root,root) %{_rpmlibdir}/desktop-file.prov -%attr(755,root,root) %{_rpmlibdir}/find-provides -%attr(755,root,root) %{_rpmlibdir}/find-requires -%attr(755,root,root) %{_rpmlibdir}/metainfo.prov -%attr(755,root,root) %{_rpmlibdir}/ocaml-find-provides.sh -%attr(755,root,root) %{_rpmlibdir}/ocaml-find-requires.sh -# valgrind suppression file for rpm -%{_rpmlibdir}/rpm.supp -%{_rpmlibdir}/rpmrc -%attr(755,root,root) %{_rpmlibdir}/script.req -%attr(755,root,root) %{_rpmlibdir}/sepdebugcrcfix -%{_mandir}/man8/rpm-misc.8* -%{_mandir}/man8/rpmdb.8* -%{_mandir}/man8/rpmkeys.8* -%{_mandir}/man8/rpmsign.8* -%{_mandir}/man8/rpmgraph.8* -%lang(ja) %{_mandir}/ja/man8/rpmgraph.8* -%lang(pl) %{_mandir}/pl/man8/rpmgraph.8* -%endif