]> git.pld-linux.org Git - packages/rpm.git/blobdiff - rpm.spec
- unified __sed, __rm macros usage and -devel files verbosity
[packages/rpm.git] / rpm.spec
index 929675659db656a24f5f674d4994fd09269bd7a9..2a82561223b3558eab4da21cd2e87e8cdb0edb53 100644 (file)
--- a/rpm.spec
+++ b/rpm.spec
@@ -3,11 +3,14 @@
 # - when adopting, use 4.5 ticket for checklist: https://bugs.launchpad.net/pld-linux/+bug/262985
 #
 # Conditional build:
-%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)
+%bcond_without apidocs         # Doxygen based API documentation
+%bcond_without python3         # Python (3) bindings
+%bcond_without plugins         # plugins (all, including: audit, imaevm, selinux, systemd)
+%bcond_without recommends_tags # use of Recommends tag (disable for bootstrapping)
+%bcond_with    imaevm          # IMA/EVM signing support (requires libimaevm from ima-evm-utils)
+%bcond_without audit           # audit plugin
+%bcond_without selinux         # SELinux plugin
+%bcond_without systemd         # systemd inhibit plugin
 
 %define                db_ver          5.3.28.0
 %define                popt_ver        1.15
 %define        with_recommends_tags    1
 %endif
 
+%if %{without plugins}
+%undefine      with_audit
+%undefine      with_selinux
+%undefine      with_systemd
+%endif
 Summary:       RPM Package Manager
 Summary(de.UTF-8):     RPM Packet-Manager
 Summary(es.UTF-8):     Gestor de paquetes RPM
@@ -26,7 +34,7 @@ Summary(ru.UTF-8):    Менеджер пакетов от RPM
 Summary(uk.UTF-8):     Менеджер пакетів від RPM
 Name:          rpm
 Version:       4.16.1.2
-Release:       0.4
+Release:       8
 Epoch:         1
 License:       GPL v2 / LGPL v2.1
 Group:         Base
@@ -81,36 +89,40 @@ Patch30:    missing-ghost-terminate-build.patch
 Patch31:       missing-doc-terminate-build.patch
 Patch32:       noexpand.patch
 Patch33:       sqlite-db-backend.patch
+Patch34:       skip-symlinks.patch
+Patch35:       pl-po.patch
+Patch36:       build-locale.patch
 URL:           https://rpm.org/
 BuildRequires: acl-devel
-BuildRequires: db-devel >= %{db_ver}
+%{?with_audit:BuildRequires:   audit-libs-devel}
 BuildRequires: autoconf >= 2.63
-BuildRequires: automake >= 1.4
+BuildRequires: automake >= 1:1.10
 BuildRequires: bzip2-devel >= 1.0.2-17
+BuildRequires: db-devel >= %{db_ver}
+%{?with_systemd:BuildRequires: dbus-devel >= 1.3}
 BuildRequires: elfutils-devel >= 0.108
 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
+BuildRequires: libgomp-devel >= 6:4.5
 %{?with_imaevm:BuildRequires:  libimaevm-devel >= 1.0}
-BuildRequires: libselinux-devel >= 2.1.0
-%endif
+%{?with_selinux:BuildRequires: libselinux-devel >= 2.1.0}
 # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros
 BuildRequires: libstdc++-devel
 BuildRequires: libtool >= 1:1.4.2-9
+BuildRequires: lua-devel >= 5.2
 BuildRequires: patch >= 2.2
-BuildRequires: pkgconfig(lua) >= 5.1
+BuildRequires: pkgconfig
 BuildRequires: popt-devel >= %{popt_ver}
-BuildRequires: python3-modules
+BuildRequires: python3-modules >= 1:3.2
 %if %{with python3}
-BuildRequires: python3-devel
+BuildRequires: python3-devel >= 1:3.2
 BuildRequires: rpm-pythonprov
 BuildRequires: rpmbuild(macros) >= 1.750
 %endif
+BuildRequires: rpm-build >= 4.6
 BuildRequires: sqlite3-devel >= 3.22.0
 BuildRequires: tcl
 BuildRequires: xz-devel
@@ -135,8 +147,8 @@ Recommends: rpm-plugin-prioreset
 Recommends:    rpm-plugin-syslog
 Recommends:    rpm-plugin-systemd-inhibit
 %endif
-Obsoletes:     rpm-utils-perl
-Obsoletes:     rpm-utils-static
+Obsoletes:     rpm-utils-perl < 1:4.15
+Obsoletes:     rpm-utils-static < 1:4.15
 Conflicts:     glibc < 2.2.92
 # db4.6 poldek needed
 Conflicts:     poldek < 0.21-0.20070703.00.3
@@ -209,8 +221,8 @@ Summary:    RPM base package - scripts used by rpm packages themselves
 Summary(pl.UTF-8):     Podstawowy pakiet RPM - skrypty używane przez same pakiety rpm
 Group:         Base
 Requires:      filesystem
-Obsoletes:     rpm-scripts
-Obsoletes:     vserver-rpm
+Obsoletes:     rpm-scripts < 4.4
+Obsoletes:     vserver-rpm < 1
 
 %description base
 The RPM base package contains scripts used by rpm packages themselves.
@@ -232,7 +244,8 @@ Group:              Libraries
 Requires:      db >= %{db_ver}
 Requires:      libmagic >= 1.15-2
 Requires:      popt >= %{popt_ver}
-Obsoletes:     rpm-libs
+Requires:      sqlite3-libs >= 3.22.0
+Obsoletes:     rpm-libs < 4.0.2-4
 # avoid SEGV caused by mixed db versions
 Conflicts:     poldek < 0.18.1-16
 
@@ -443,7 +456,7 @@ Group:              Development/Languages/Python
 Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      python3
 Obsoletes:     python-rpm < 1:4.16.0
-Obsoletes:     rpm-python
+Obsoletes:     rpm-python < 4.0.2-50
 
 %description -n python3-rpm
 The python3-rpm package contains a module which permits applications
@@ -471,31 +484,47 @@ Python 3 para manipular pacotes e bancos de dados RPM.
 
 %package plugin-audit
 Summary:       Plugin for logging audit events on package operations
+Summary(pl.UTF-8):     Wtyczka do logowania zdarzeń audytowych przy operacjach na pakietach
 Group:         Base
 Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-audit
-Plugin for libaudit support
+Plugin for libaudit support.
+
+%description plugin-audit -l pl.UTF-8
+Wtyczka do obsługi libaudit.
 
 %package plugin-syslog
 Summary:       Plugin for syslog functionality
+Summary(pl.UTF-8):     Wtyczka do funkcjonalności sysloga
 Group:         Base
 Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
 %description plugin-syslog
 This plugin exports RPM actions to the system log.
 
+%description plugin-syslog -l pl.UTF-8
+Ta wtyczka eksportuje akcje RPM-a do logu systemowego.
+
 %package plugin-systemd-inhibit
 Summary:       Plugin for systemd inhibit functionality
+Summary(pl.UTF-8):     Wtyczka do funkcjonalności systemd inhibit
 Group:         Base
 Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
+Requires:      dbus >= 1.3
 
 %description plugin-systemd-inhibit
 This plugin blocks systemd from entering idle, sleep or shutdown while
 an rpm transaction is running using the systemd-inhibit mechanism.
 
+%description plugin-systemd-inhibit -l pl.UTF-8
+Ta wtyczka blokuje systemd przed wejściem w stan bezczynności (idle),
+uśpienia (sleep) lub zamykania (shutdown) podczas trwania transakcji
+RPM-a, korzystając z mechanizmu systemd-inhibit.
+
 %package plugin-ima
 Summary:       Plugin for IMA file signatures
+Summary(pl.UTF-8):     Wtyczka do sygnatur plików IMA
 Group:         Base
 Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
@@ -503,8 +532,13 @@ Requires:  %{name}-lib = %{epoch}:%{version}-%{release}
 This plugin adds support for enforcing and verifying IMA file
 signatures in an rpm.
 
+%description plugin-ima -l pl.UTF-8
+Ta wtyczka dodaje obsługę wymuszania i weryfikacji podpisów plików
+IMA w RPM-ie.
+
 %package plugin-prioreset
 Summary:       Plugin for resetting scriptlet priorities for SysV init
+Summary(pl.UTF-8):     Wtyczka do resetowania priorytetu skryptletów przy inicie SysV
 Group:         Base
 Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
@@ -513,8 +547,14 @@ This plugin is useful on legacy SysV init systems if you run rpm
 transactions with nice/ionice priorities. Should not be used on
 systemd systems.
 
+%description plugin-prioreset -l pl.UTF-8
+Ta wtyczka jest przydatna w systemach ze starym procesem init w wersji
+SysV, jeżeli transakcje RPM-a są uruchamiane z priorytetami
+nice/ionice. Nie powinna być używana w systemach z systemd.
+
 %package plugin-selinux
 Summary:       Plugin for SELinux functionality
+Summary(pl.UTF-8):     Wtyczka do funkcjonalności SELinux
 Group:         Base
 Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 Requires:      libselinux >= 2.1.0
@@ -522,14 +562,21 @@ Requires: libselinux >= 2.1.0
 %description plugin-selinux
 Plugin for SELinux functionality.
 
+%description plugin-selinux -l pl.UTF-8
+Wtyczka do funkcjonalności SELinux.
+
 %package sign
 Summary:       Package signing support
+Summary(pl.UTF-8):     Obsługa podpisywania pakietów
 Group:         Base
 Requires:      %{name}-lib = %{epoch}:%{version}-%{release}
 
 %description sign
 This package contains support for digitally signing RPM packages.
 
+%description sign -l pl.UTF-8
+Ten pakiet zawiera obsługę cyfrowego podpisywania pakietów RPM.
+
 %package apidocs
 Summary:       RPM API documentation and guides
 Summary(pl.UTF-8):     Documentacja API RPM-a i przewodniki
@@ -579,10 +626,15 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze
 %patch31 -p1
 %patch32 -p1
 %patch33 -p1
+%patch34 -p1
+%patch35 -p1
+%patch36 -p1
+
+%{__rm} po/*.gmo
 
 install %{SOURCE15} scripts/perl.prov.in
 
-%{__mv} -f scripts/perl.req{,.in}
+%{__mv} scripts/perl.req{,.in}
 
 # generate Group translations to *.po
 awk -f %{SOURCE6} %{SOURCE5}
@@ -597,39 +649,38 @@ awk -f %{SOURCE6} %{SOURCE5}
 %{__automake}
 
 # rpm checks for CPU type at runtime, but it looks better
-sed -i \
+%{__sed} -i \
        -e 's|@host@|%{_target_cpu}-%{_target_vendor}-%{_target_os}|' \
        -e 's|@host_cpu@|%{_target_cpu}|' \
        -e 's|@host_os@|%{_target_os}|' \
        macros.in
 
 %configure \
+       PYTHON=python3 \
        WITH_PERL_VERSION=no \
        __GST_INSPECT=%{_bindir}/gst-inspect-1.0 \
        __GPG=%{_bindir}/gpg \
-%if %{with python3}
-       PYTHON=python3 \
-       --enable-python \
-%endif
-       --disable-silent-rules \
-       --enable-shared \
        --enable-bdb \
        --enable-bdb-ro \
        --enable-ndb \
+       %{!?with_plugins:--disable-plugins} \
+       --disable-silent-rules \
        --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-audit%{!?with_audit:=no} \
+       --with-cap \
+       %{?with_imaevm:--with-imaevm} \
+       --with-lua \
+       %{?with_python3:--enable-python} \
+       --with-selinux%{!?with_selinux:=no} \
        --with-vendor=pld
 
 %{__make}
 
+%{__make} -C po update-gmo
+
 %if %{with python3}
 cd python
 %py3_build
@@ -648,48 +699,48 @@ cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/pki/rpm-gpg/PLD-3.0-Th-GPG-key.as
 
 # 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
+%{__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
 
 %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
+%{__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
 
 %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
+%{__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
 
 %ifnarch aarch64
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
+%{__rm} $RPM_BUILD_ROOT%{_rpmlibdir}/platform/aarch64-linux/macros
 %endif
 
 %ifnarch %{arm}
-rm $RPM_BUILD_ROOT%{_rpmlibdir}/platform/arm*-linux/macros
+%{__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
-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
+%{__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
 
 cat <<'EOF' > $RPM_BUILD_ROOT%{_sysconfdir}/rpm/platform
 %ifarch x32
@@ -781,6 +832,13 @@ if [ -e /var/lib/rpm/Packages ]; then
        fi
 fi
 
+%post
+if [ -d /var/cache/hrmib ]; then
+       %{__rm} -rf /var/cache/hrmib
+       echo "HR-MIB is not supported by this rpm version."
+       echo "/var/cache/hrmib has been removed."
+fi
+
 %post  lib -p /sbin/ldconfig
 %postun lib -p /sbin/ldconfig
 
@@ -898,9 +956,12 @@ find %{_rpmlibdir} -name '*-linux' -type l | xargs rm -f
 %attr(755,root,root) %{_libdir}/librpmbuild.so
 %attr(755,root,root) %{_libdir}/librpmio.so
 %attr(755,root,root) %{_libdir}/librpmsign.so
-%{_libdir}/librpm*.la
+%{_libdir}/librpm.la
+%{_libdir}/librpmbuild.la
+%{_libdir}/librpmio.la
+%{_libdir}/librpmsign.la
 %{_includedir}/rpm
-%{_pkgconfigdir}/*.pc
+%{_pkgconfigdir}/rpm.pc
 
 %files utils
 %defattr(644,root,root,755)
This page took 0.059979 seconds and 4 git commands to generate.