From: Marcin Krol Date: Mon, 3 May 2021 10:30:45 +0000 (+0200) Subject: - merged PLD changes X-Git-Url: https://git.tld-linux.org/?a=commitdiff_plain;h=2da2e08da47118981f1c689c694a75121d836881;p=packages%2Frpm.git - merged PLD changes --- diff --git a/aarch64.patch b/aarch64.patch deleted file mode 100644 index 8013c2a..0000000 --- a/aarch64.patch +++ /dev/null @@ -1,13 +0,0 @@ ---- rpm-4.16.0/installplatform.orig 2020-10-24 21:48:07.586493242 +0200 -+++ rpm-4.16.0/installplatform 2020-10-24 21:48:23.069703643 +0200 -@@ -207,6 +207,10 @@ - LIB=${LIB}x32 - fi - -+ if [ "$OS" = "linux" ] && [ "$CANONARCH" = "aarch64" ]; then -+ LIB=${LIB}64 -+ fi -+ - PPD="${DESTDIR}/${platformdir}/${ARCH}-${OS}" - [ -d $PPD ] || mkdir -p $PPD - diff --git a/arm_abi.patch b/arm_abi.patch new file mode 100644 index 0000000..57c970b --- /dev/null +++ b/arm_abi.patch @@ -0,0 +1,17 @@ +--- rpm-4.16.1.3/installplatform.orig 2021-03-28 17:56:17.725422731 +0200 ++++ rpm-4.16.1.3/installplatform 2021-03-28 17:57:04.278251530 +0200 +@@ -111,12 +111,14 @@ + ISABITS=32 + CANONARCH=arm + CANONCOLOR=0 ++ APPEND_TARGET_ABI=1 + ;; + arm*) + ISANAME=`echo ${ARCH} | sed "s/^\([^-]*\)-.*/\1/"` + ISABITS=32 + CANONARCH=arm + CANONCOLOR=0 ++ APPEND_TARGET_ABI=1 + ;; + alpha*) + ISANAME=alpha diff --git a/build-id-links.patch b/build-id-links.patch deleted file mode 100644 index 09afc1c..0000000 --- a/build-id-links.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -ur rpm-4.16.0.orig/macros.in rpm-4.16.0/macros.in ---- rpm-4.16.0.orig/macros.in 2020-09-30 09:48:01.000000000 +0200 -+++ rpm-4.16.0/macros.in 2020-12-07 19:05:51.824516320 +0100 -@@ -531,7 +531,7 @@ - # Same as for "separate" but if the __debug_package global is set then - # the -debuginfo package will have a compatibility link for the main - # ELF /usr/lib/debug/.build-id/xx/yyy -> /usr/lib/.build-id/xx/yyy --%_build_id_links compat -+%_build_id_links alldebug - - # Whether build-ids should be made unique between package version/releases - # when generating debuginfo packages. If set to 1 this will pass diff --git a/rpm-debuginfo.patch b/rpm-debuginfo.patch index aecf32e..fbe2dfc 100644 --- a/rpm-debuginfo.patch +++ b/rpm-debuginfo.patch @@ -12,3 +12,27 @@ chmod 444 "$1" || exit } +--- rpm-4.16.1.3/macros.in.orig 2021-03-24 09:50:21.000000000 +0100 ++++ rpm-4.16.1.3/macros.in 2021-03-24 10:05:10.129698408 +0100 +@@ -534,7 +534,7 @@ + # Same as for "separate" but if the __debug_package global is set then + # the -debuginfo package will have a compatibility link for the main + # ELF /usr/lib/debug/.build-id/xx/yyy -> /usr/lib/.build-id/xx/yyy +-%_build_id_links compat ++%_build_id_links alldebug + + # Whether build-ids should be made unique between package version/releases + # when generating debuginfo packages. If set to 1 this will pass +@@ -563,10 +563,10 @@ + %_unique_debug_srcs 1 + + # Whether rpm should put debug source files into its own subpackage +-#%_debugsource_packages 1 ++%_debugsource_packages 1 + + # Whether rpm should create extra debuginfo packages for each subpackage +-#%_debuginfo_subpackages 1 ++%_debuginfo_subpackages 1 + + # + # Use internal dependency generator rather than external helpers? diff --git a/rpm-dir-macros-relative.patch b/rpm-dir-macros-relative.patch new file mode 100644 index 0000000..7478bb2 --- /dev/null +++ b/rpm-dir-macros-relative.patch @@ -0,0 +1,45 @@ +Force base dir macros to arbitrary values, derived as relative to base ones. +Now redefining _prefix affects _{bin,sbin,lib,libexec,include,data,dataroot,info,man,doc}dir values. + +--- rpm-4.16.1.3/platform.in.orig 2021-03-28 18:12:24.786830780 +0200 ++++ rpm-4.16.1.3/platform.in 2021-03-28 18:23:20.670665669 +0200 +@@ -25,23 +25,23 @@ + #============================================================================== + # ---- configure macros. + # +-%_prefix @prefix@ +-%_exec_prefix @exec_prefix@ +-%_bindir @bindir@ +-%_sbindir @sbindir@ +-%_libexecdir @libexecdir@ +-%_datarootdir @datarootdir@ +-%_datadir @datadir@ +-%_sysconfdir @sysconfdir@ +-%_sharedstatedir @sharedstatedir@ +-%_localstatedir @localstatedir@ ++%_prefix /usr ++%_exec_prefix %{_prefix} ++%_bindir %{_prefix}/bin ++%_sbindir %{_prefix}/sbin ++%_libexecdir %{_prefix}/libexec ++%_datarootdir %{_prefix}/share ++%_datadir %{_datarootdir} ++%_sysconfdir /etc ++%_sharedstatedir /var/lib ++%_localstatedir /var + %_lib @LIB@ +-%_libdir @exec_prefix@/@LIB@ +-%_includedir @includedir@ +-%_oldincludedir @oldincludedir@ +-%_infodir @infodir@ +-%_mandir @mandir@ +-%_initddir %{_sysconfdir}/rc.d/init.d ++%_libdir %{_exec_prefix}/@LIB@ ++%_includedir %{_prefix}/include ++%_oldincludedir %{_prefix}/include ++%_infodir %{_datarootdir}/info ++%_mandir %{_datarootdir}/man ++%_initddir /etc/rc.d/init.d + # Deprecated misspelling, present for backwards compatibility. + %_initrddir %{_initddir} + %_rundir @RUNDIR@ diff --git a/rpm.spec b/rpm.spec index cfd989d..a829a4c 100644 --- a/rpm.spec +++ b/rpm.spec @@ -14,7 +14,7 @@ %define db_ver 5.3.28.0 %define popt_ver 1.15 -%define sover 9.1.2 +%define sover 9.1.3 %if "%{_rpmversion}" >= "4.12" && "%{_rpmversion}" < "5" %define with_recommends_tags 1 @@ -33,13 +33,13 @@ Summary(pt_BR.UTF-8): Gerenciador de pacotes RPM Summary(ru.UTF-8): Менеджер пакетов от RPM Summary(uk.UTF-8): Менеджер пакетів від RPM Name: rpm -Version: 4.16.1.2 -Release: 9 +Version: 4.16.1.3 +Release: 6 Epoch: 1 License: GPL v2 / LGPL v2.1 Group: Base Source0: http://ftp.rpm.org/releases/rpm-4.16.x/%{name}-%{version}.tar.bz2 -# Source0-md5: 0d10f63a0a4c9517cf3808a601378399 +# Source0-md5: 576277fafa5d0681a8a92c8716aca5f0 Source1: https://ftp.tld-linux.org/TLD/TLD-Linux.asc # Source1-md5: 5b5caff8c570489ad5bf950734546c24 Source2: macros.local @@ -61,6 +61,7 @@ Patch1: %{name}-popt-aliases.patch Patch2: %{name}-perl-macros.patch Patch3: %{name}-perl-req-perlfile.patch Patch4: %{name}-scripts-closefds.patch +Patch5: %{name}-dir-macros-relative.patch Patch6: %{name}-perl_req-INC_dirs.patch Patch7: %{name}-debuginfo.patch Patch8: %{name}-libtool-deps.patch @@ -76,7 +77,7 @@ Patch17: python-internal-build.patch Patch18: missing-macros.patch Patch19: pkgconfig.patch Patch20: uname-deps.patch -Patch21: aarch64.patch +Patch21: arm_abi.patch Patch22: ix86-platforms.patch Patch23: shortcircuited-deps.patch Patch24: cpuinfo-deps.patch @@ -102,12 +103,12 @@ BuildRequires: db-devel >= %{db_ver} %{?with_systemd:BuildRequires: dbus-devel >= 1.3} BuildRequires: elfutils-devel >= 0.108 BuildRequires: gettext-tools >= 0.19.2 +%{?with_imaevm:BuildRequires: ima-evm-utils-devel >= 1.0} BuildRequires: libarchive-devel BuildRequires: libcap-devel BuildRequires: libmagic-devel BuildRequires: libgcrypt-devel BuildRequires: libgomp-devel >= 6:4.5 -%{?with_imaevm:BuildRequires: libimaevm-devel >= 1.0} %{?with_selinux:BuildRequires: libselinux-devel >= 2.1.0} # needed only for AM_PROG_CXX used for CXX substitution in rpm.macros BuildRequires: libstdc++-devel @@ -137,7 +138,7 @@ BuildRequires: tetex-pdftex Requires(posttrans): coreutils Requires: %{name}-base = %{epoch}:%{version}-%{release} Requires: %{name}-lib = %{epoch}:%{version}-%{release} -Requires: rpm-tld-macros >= 1.744 +Requires: rpm-tld-macros >= 2.002 Requires: FHS >= 3.0-2 Requires: libgcrypt Requires: popt >= %{popt_ver} @@ -598,6 +599,7 @@ Dokumentacja API RPM-a oraz przewodniki w formacie HTML generowane ze %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 %patch6 -p0 %patch7 -p1 %patch8 -p1 diff --git a/x32.patch b/x32.patch index 38aa140..c057d1b 100644 --- a/x32.patch +++ b/x32.patch @@ -51,12 +51,13 @@ diff -ur rpm-4.16.1.2/build/rpmfc.h rpm-4.16.1.2.x32/build/rpmfc.h diff -ur rpm-4.16.1.2/configure.ac rpm-4.16.1.2.x32/configure.ac --- rpm-4.16.1.2/configure.ac 2021-03-21 21:51:28.221530479 +0100 +++ rpm-4.16.1.2.x32/configure.ac 2021-03-21 21:50:04.127398387 +0100 -@@ -930,6 +930,9 @@ +@@ -930,6 +930,10 @@ host_os=`echo "${host_os}" | sed 's/-gnueabi$//'` host_os_gnu=-gnueabi fi +if echo "$host_os" | grep '.*-gnux32' > /dev/null ; then + host_os=`echo "${host_os}" | sed 's/-gnux32$//'` ++ host_os_gnu=-gnux32 +fi if echo "$host_os" | grep '.*-gnu' > /dev/null ; then host_os=`echo "${host_os}" | sed 's/-gnu$//'` @@ -100,11 +101,11 @@ diff -ur rpm-4.16.1.2/installplatform rpm-4.16.1.2.x32/installplatform ARCH_INSTALL_POST='%{nil}' LIB=lib + TARGETCPU="%{_target_cpu}" -+ FORCE_RPMRC_GNU= ++ APPEND_TARGET_ABI= # XXX FIXME: incomplete and quite likely wrong too in places, # consult various arch folks for correct names etc. -@@ -75,7 +77,16 @@ +@@ -82,7 +84,15 @@ ISANAME=x86 ISABITS=64 CANONARCH=x86_64 @@ -116,18 +117,17 @@ diff -ur rpm-4.16.1.2/installplatform rpm-4.16.1.2.x32/installplatform + ISABITS=x32 + CANONARCH=x32 + CANONCOLOR=7 -+ RPMRC_GNU="gnux32" -+ FORCE_RPMRC_GNU="%{?_gnu}" ++ APPEND_TARGET_ABI=1 + TARGETCPU="x86_64" ;; ia64) ISANAME=ia -@@ -190,10 +201,14 @@ +@@ -190,10 +200,14 @@ # skip architectures for which we dont have full config parameters [ -z "$CANONARCH" ] && continue - if [ "$OS" = "linux" ] && [ "$CANONCOLOR" = 3 ]; then -+ if [ "$OS" = "linux" ] && [ "$CANONARCH" = "x86_64" ]; then ++ if [ "$OS" = "linux" ] && ( [ "$CANONCOLOR" = 3 ] || [ "$CANONARCH" = "x86_64" ] ); then LIB=${LIB}64 fi @@ -138,11 +138,11 @@ diff -ur rpm-4.16.1.2/installplatform rpm-4.16.1.2.x32/installplatform PPD="${DESTDIR}/${platformdir}/${ARCH}-${OS}" [ -d $PPD ] || mkdir -p $PPD -@@ -202,6 +221,8 @@ +@@ -202,6 +216,8 @@ -e "s,@RPMCANONARCH@,$CANONARCH,g" \ -e "s,@RPMCANONCOLOR@,$CANONCOLOR," \ -e "s,@RPMRC_GNU@,$RPMRC_GNU," \ -+ -e "s,@FORCE_RPMRC_GNU@,$FORCE_RPMRC_GNU," \ ++ -e "s,@TARGET_ABI@,${APPEND_TARGET_ABI:+%{?_gnu\}}," \ + -e "s,@TARGETCPU@,$TARGETCPU," \ -e "s,@LIB@,$LIB," \ -e "s,@ARCH_INSTALL_POST@,$ARCH_INSTALL_POST," \ @@ -155,7 +155,7 @@ diff -ur rpm-4.16.1.2/platform.in rpm-4.16.1.2.x32/platform.in %_os @RPMCANONOS@ %_gnu @RPMRC_GNU@ -%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os} -+%_target_platform @TARGETCPU@-%{_vendor}-%{_target_os}@FORCE_RPMRC_GNU@ ++%_target_platform @TARGETCPU@-%{_vendor}-%{_target_os}@TARGET_ABI@ %optflags @RPMRC_OPTFLAGS@ %__isa_name @ISANAME@