added a patch to disable SPECPARTS feature by default by not setting %specpartsdir [release 4.19.1.1-3mamba;Fri May 17 2024]

This commit is contained in:
Silvan Calarco 2024-05-18 19:52:49 +02:00
parent 3de37ee5c0
commit 6088df7d68
14 changed files with 127 additions and 190 deletions

View File

@ -1,16 +0,0 @@
diff -Nru rpm-4.14.2.1.orig/rpmrc.in rpm-4.14.2.1/rpmrc.in
--- rpm-4.14.2.1.orig/rpmrc.in 2019-07-24 09:26:34.006590165 +0200
+++ rpm-4.14.2.1/rpmrc.in 2019-07-24 09:30:47.099602442 +0200
@@ -74,10 +74,10 @@
optflags: armv5tl -O2 -g -march=armv5t
optflags: armv5tel -O2 -g -march=armv5te
optflags: armv5tejl -O2 -g -march=armv5te
-optflags: armv6l -O2 -g -march=armv6
+optflags: armv6l -O2 -g -march=armv5t
optflags: armv6hl -O2 -g -march=armv6 -mfloat-abi=hard -mfpu=vfp
-optflags: armv7l -O2 -g -march=armv7
+optflags: armv7l -O2 -g -march=armv5t
optflags: armv7hl -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=vfpv3-d16
optflags: armv7hnl -O2 -g -march=armv7-a -mfloat-abi=hard -mfpu=neon

View File

@ -1,16 +0,0 @@
diff -Nru rpm-4.14.2.1.orig/macros.in rpm-4.14.2.1/macros.in
--- rpm-4.14.2.1.orig/macros.in 2019-07-24 09:51:46.612355870 +0200
+++ rpm-4.14.2.1/macros.in 2019-07-24 09:53:58.089565829 +0200
@@ -272,10 +272,10 @@
%_srcrpmdir %{_topdir}/SRPMS
# The directory where buildroots will be created.
-%_buildrootdir %{_topdir}/BUILDROOT
+%_buildrootdir %{_tmppath}
# Build root path, where %install installs the package during build.
-%buildroot %{_buildrootdir}/%{NAME}-%{VERSION}-%{RELEASE}.%{_arch}
+%buildroot %{_tmppath}/%{NAME}-%{VERSION}-root
# Directory where temporaray files can be created.
%_tmppath %{_var}/tmp

View File

@ -1,11 +0,0 @@
--- rpm-4.14.2.1/platform.in.orig 2019-08-01 14:18:14.720000000 +0200
+++ rpm-4.14.2.1/platform.in 2019-08-01 14:18:26.733000000 +0200
@@ -8,7 +8,7 @@
%_vendor @RPMCANONVENDOR@
%_os @RPMCANONOS@
%_gnu @RPMRC_GNU@
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
+%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}%{_gnu}
%optflags @RPMRC_OPTFLAGS@
%__isa_name @ISANAME@

View File

@ -1,13 +0,0 @@
--- rpm-4.16.1.3/scripts/pythondistdeps.py.orig 2021-04-18 13:15:35.419281754 +0200
+++ rpm-4.16.1.3/scripts/pythondistdeps.py 2021-04-18 13:15:42.040402573 +0200
@@ -420,7 +420,9 @@
print(spec_list[0])
else:
# Sort spec_list so that the results can be tested easily
- print('({})'.format(' with '.join(sorted(spec_list))))
+ #print('({})'.format(' with '.join(sorted(spec_list))))
+ for spec_req in spec_list:
+ print(spec_req)
else:
# Print out unversioned provides, requires, recommends, conflicts
print(name)

View File

@ -1,9 +0,0 @@
--- rpm-4.18.0/scripts/brp-strip.orig 2022-10-09 14:16:22.271823915 +0200
+++ rpm-4.18.0/scripts/brp-strip 2022-10-09 14:16:31.961765809 +0200
@@ -13,5 +13,5 @@
esac
# Strip ELF binaries
-find "$RPM_BUILD_ROOT" -type f \! -regex "${RPM_BUILD_ROOT}/*usr/lib/debug.*" \! -name "*.go" -print0 | \
+find "$RPM_BUILD_ROOT" -type f \! -path "${RPM_BUILD_ROOT}/*usr/lib/debug*" \! -name "*.go" -print0 | \
xargs -0 -r -P$NCPUS -n32 sh -c "file \"\$@\" | sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped.*/\1/p' | grep -v 'no machine' | xargs -I\{\} $STRIP -g \{\}" ARG0

View File

@ -1,48 +0,0 @@
From ea3187cfcf9cac87e5bc5e7db79b0338da9e355e Mon Sep 17 00:00:00 2001
From: Panu Matilainen <pmatilai@redhat.com>
Date: Mon, 26 Jun 2023 12:45:09 +0300
Subject: [PATCH] Don't muck with per-process global sqlite configuration from
the db backend
sqlite3_config() affects all in-process uses of sqlite. librpm being a
low-level library, it has no business whatsoever making such decisions
for the applications running on top of it. Besides that, the callback can
easily end up pointing to an already closed database, causing an
innocent API user to crash in librpm on an entirely unrelated error on
some other database. "Oops."
The sqlite API doesn't seem to provide any per-db or non-global context
for logging errors, thus we can only remove the call and let sqlite output
errors the way it pleases (print through stderr, presumably).
Thanks to Jan Palus for spotting and reporting!
---
lib/backend/sqlite.c | 8 --------
1 file changed, 8 deletions(-)
diff --git a/lib/backend/sqlite.c b/lib/backend/sqlite.c
index 5a029d575a..b612732267 100644
--- a/lib/backend/sqlite.c
+++ b/lib/backend/sqlite.c
@@ -44,13 +44,6 @@ static void rpm_match3(sqlite3_context *sctx, int argc, sqlite3_value **argv)
sqlite3_result_int(sctx, match);
}
-static void errCb(void *data, int err, const char *msg)
-{
- rpmdb rdb = data;
- rpmlog(RPMLOG_WARNING, "%s: %s: %s\n",
- rdb->db_descr, sqlite3_errstr(err), msg);
-}
-
static int dbiCursorReset(dbiCursor dbc)
{
if (dbc->stmt) {
@@ -170,7 +163,6 @@ static int sqlite_init(rpmdb rdb, const char * dbhome)
* the "database is locked" errors at every cost
*/
sqlite3_busy_timeout(sdb, 10000);
- sqlite3_config(SQLITE_CONFIG_LOG, errCb, rdb);
sqlexec(sdb, "PRAGMA secure_delete = OFF");
sqlexec(sdb, "PRAGMA case_sensitive_like = ON");

View File

@ -0,0 +1,11 @@
--- rpm-4.19.0/scripts/brp-strip.orig 2023-10-09 17:01:55.435858403 +0200
+++ rpm-4.19.0/scripts/brp-strip 2023-10-09 17:02:22.378013465 +0200
@@ -32,7 +32,7 @@
local nprocs="${2}"
find "$RPM_BUILD_ROOT" -type f \
- ! -regex "${RPM_BUILD_ROOT}/*usr/lib/debug.*" \
+ ! -path "${RPM_BUILD_ROOT}/*usr/lib/debug*" \
! -name "*.go" -links "${nlinks}" -print0 | \
xargs -0 -r -P${nprocs} -n${MAX_ARGS} sh -c "file \"\$@\" | \
sed -n -e 's/^\(.*\):[ ]*ELF.*, not stripped.*/\1/p' | \

View File

@ -1,12 +1,6 @@
--- rpm-4.14.2.1/rpmrc.in.orig 2019-07-21 11:57:22.529500064 +0200
+++ rpm-4.14.2.1/rpmrc.in 2019-07-21 11:57:32.924546376 +0200
@@ -1,4 +1,4 @@
-#/*! \page config_rpmrc Default configuration: @RPMCONFIGDIR@/rpmrc
+#/*! \page config_rpmrc Default configuration: /usr/lib/rpm/rpmrc
# \verbatim
#
# This is a global RPM configuration file. All changes made here will
@@ -106,7 +106,7 @@
--- rpm-4.19.0/rpmrc.in.orig 2023-10-09 16:43:28.146485681 +0200
+++ rpm-4.19.0/rpmrc.in 2023-10-09 16:43:40.812558577 +0200
@@ -113,7 +113,7 @@
# Architecture colors
archcolor: noarch 0
@ -15,7 +9,7 @@
archcolor: alpha 2
archcolor: sparc 1
archcolor: sparc64 2
@@ -288,19 +288,19 @@
@@ -310,19 +310,19 @@
#############################################################
# For a given uname().machine, the default build arch

View File

@ -0,0 +1,11 @@
--- rpm-4.19.0/macros.in.orig 2023-10-09 16:49:43.041643296 +0200
+++ rpm-4.19.0/macros.in 2023-10-09 16:50:04.355765964 +0200
@@ -265,7 +265,7 @@
%_srcrpmdir %{_topdir}/SRPMS
# The directory where buildroots will be created.
-%_buildrootdir %{_topdir}/BUILDROOT
+%_buildrootdir %{_tmppath}
# Build root path, where %install installs the package during build.
%buildroot %{_buildrootdir}/%{NAME}-%{VERSION}-%{RELEASE}.%{_arch}

View File

@ -0,0 +1,11 @@
--- rpm-4.19.0/platform.in.orig 2023-10-09 16:58:06.167538908 +0200
+++ rpm-4.19.0/platform.in 2023-10-09 16:58:17.869606257 +0200
@@ -8,7 +8,7 @@
%_vendor @RPMCANONVENDOR@
%_os @RPMCANONOS@
%_gnu =RPMRC_GNU=
-%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}
+%_target_platform %{_target_cpu}-%{_vendor}-%{_target_os}%{_gnu}
%optflags =RPMRC_OPTFLAGS=
%__isa_name =ISANAME=

View File

@ -0,0 +1,13 @@
--- rpm-4.19.1.1/macros.in.orig 2024-05-17 18:39:49.394575123 +0200
+++ rpm-4.19.1.1/macros.in 2024-05-17 18:40:07.126608510 +0200
@@ -271,8 +271,8 @@
# Build root path, where %install installs the package during build.
%buildroot %{_buildrootdir}/%{NAME}-%{VERSION}-%{RELEASE}.%{_arch}
-# Path for spec file snippets generated during build
-%specpartsdir %{_builddir}/%{buildsubdir}-SPECPARTS
+# Path for spec file snippets generated during build (openmamba: disabled by default)
+#%specpartsdir %{_builddir}/%{buildsubdir}-SPECPARTS
# Directory where temporaray files can be created.
%_tmppath %{_var}/tmp

View File

@ -0,0 +1,13 @@
--- rpm-4.19.1.1/rpmrc.in.orig 2024-05-13 16:41:06.128389744 +0100
+++ rpm-4.19.1.1/rpmrc.in 2024-05-13 16:41:38.333457283 +0100
@@ -14,8 +14,8 @@
optflags: i386 -O2 -g -march=i386 -mtune=i686
optflags: i486 -O2 -g -march=i486
-optflags: i586 -O2 -g -march=i586
-optflags: i686 -O2 -g -march=i686
+optflags: i586 -O2 -g -march=i586 -mfpmath=sse -msse2
+optflags: i686 -O2 -g -march=i686 -mfpmath=sse -msse2
optflags: pentium3 -O2 -g -march=pentium3
optflags: pentium4 -O2 -g -march=pentium4
optflags: athlon -O2 -g -march=athlon

View File

@ -0,0 +1,11 @@
--- rpm-4.19.1.1/CMakeLists.txt.orig 2024-05-13 16:56:35.592344195 +0100
+++ rpm-4.19.1.1/CMakeLists.txt 2024-05-13 16:56:54.867384790 +0100
@@ -140,7 +140,7 @@
list(GET db_backends 0 DB_BACKEND)
- set(host_cpu ${CMAKE_HOST_SYSTEM_PROCESSOR})
+ set(host_cpu "i586")
string(TOLOWER ${CMAKE_HOST_SYSTEM_NAME} host_os)
set(host_vendor ${RPM_VENDOR})
set(host ${host_cpu}-${host_vendor}-${host_os})

120
rpm.spec
View File

@ -16,8 +16,8 @@
%define majver %(echo %version | cut -d. -f1-2)
Name: rpm
Epoch: 1
Version: 4.18.1
Release: 4mamba
Version: 4.19.1.1
Release: 3mamba
Summary: The RPM Package Manager (RPM) is a powerful package management system
Group: System/Management
Vendor: openmamba
@ -34,41 +34,44 @@ Patch0: rpm-4.14.2.1-fix-rebuilddb-from-rpm-5.2.patch
Patch1: rpm-4.14.2.1-fix-rebuilddb-from-rpm-5.2-better.patch
Patch2: rpm-4.14.2.1-fix-missing-translations-from-rpm4-segfault.patch
Patch3: rpm-4.16.1.3-arm-openmamba-arch-support.patch
Patch4: rpm-4.14.2.1-i586-openmamba-arch-support.patch
Patch4: rpm-4.19.0-i586-openmamba-arch-support.patch
Patch5: rpm-4.14.2.1-debuginfo-rename-to-debug.patch
Patch6: rpm-4.14.2.1-add-usrlibrpm-macro.patch
Patch7: rpm-4.14.2.1-remove_macro_expanded_in_comment_warning.patch
Patch8: rpm-4.14.2.1-arm-openamba-force-armv5t.patch
Patch9: rpm-4.14.2.1-increase_default_patch_fuzz.patch
Patch10: rpm-4.14.2.1-openmamba-buildroot.patch
Patch11: rpm-4.14.2.1-target-platform-gnu.patch
Patch10: rpm-4.19.0-openmamba-buildroot.patch
Patch11: rpm-4.19.0-target-platform-gnu.patch
Patch12: rpm-4.17.0-find-lang-qt-fix.patch
Patch13: rpm-4.16.1.3-pythondistdeps-no-richdeps.patch
Patch14: rpm-4.18.0-brp-strip-fix-for-plus-in-buildroot.patch
Patch14: rpm-4.19.0-brp-strip-fix-for-plus-in-buildroot.patch
Patch15: rpm-4.18.0-allow-disabling-rmbuild.patch
Patch16: rpm-4.18.1-sqlite-3.42.0.patch
Patch16: rpm-4.19.1.1-i586-add-sse-sse2-build-flags.patch
Patch17: rpm-4.19.1.1-i586-only-force-i586-host-cpu.patch
Patch18: rpm-4.19.1.1-disable-specpartsdir.patch
License: LGPL
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: libacl-devel
BuildRequires: libarchive-devel
BuildRequires: libaudit-devel
BuildRequires: libbzip2-devel
BuildRequires: libcap-devel
BuildRequires: libdbus-devel
BuildRequires: libdw-devel
BuildRequires: libelf-devel
BuildRequires: libgcrypt-devel
BuildRequires: libgomp-devel
BuildRequires: liblua-devel
BuildRequires: liblzma-devel
BuildRequires: libmagic-devel
BuildRequires: libpopt-devel
BuildRequires: libpython310-devel
BuildRequires: libpython311-devel
BuildRequires: libreadline-devel
BuildRequires: librpm-sequoia-devel
BuildRequires: libselinux-devel
BuildRequires: libsqlite-devel
BuildRequires: libz-devel
BuildRequires: libzstd-devel
## AUTOBUILDREQ-END
BuildRequires: librpm-sequoia-devel
BuildRequires: libpython3-devel >= 3.11
BuildRequires: setup >= 1.2.0
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
@ -92,6 +95,7 @@ This package provides the RPM package build tools and environment.
%package -n lib%{name}
Group: System/Libraries
Summary: Shared libraries for %{name}
Provides: group(packager)
%description -n lib%{name}
This package contains shared libraries for %{name}.
@ -114,20 +118,12 @@ Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
Requires: python3
Obsoletes: python-rpm < 1:4.16.1.2
Obsoletes: python-rpm4 < 1:4.16.1.2
Obsoletes: python-rpm-py310 < 1:4.19.1.1-2mamba
%description -n python-rpm-py3
The rpm-python 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.
%package -n python-rpm-py310
Summary: Python bindings for apps which will manipulate RPM packages
Group: Development/Libraries/Python
Requires: lib%{name} = %{?epoch:%epoch:}%{version}-%{release}
%description -n python-rpm-py310
The rpm-python 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.
%debug_package
%prep
@ -141,60 +137,33 @@ This package should be installed if you want to develop Python programs that wil
%patch 5 -p1
%patch 6 -p1
%patch 7 -p1
#%patch 8 -p1
%patch 9 -p1
%patch 10 -p1
%patch 11 -p1
%patch 12 -p1
#%patch 13 -p1
%patch 14 -p1
%patch 15 -p1
%patch 16 -p1 -b .sqlite-3.42.0
#sed -i "s|/usr/bin/python$|%{__python3}|" scripts/pythondistdeps.py
./autogen.sh --noconfigure
%ifarch %{ix86}
%patch 16 -p1
%patch 17 -p1
%endif
%patch 18 -p1
%build
#:<< _EOF
./configure \
%{?program_suffix:--program-suffix=%{program_suffix}} \
--build=%{_build} \
--host=%{_target_platform} \
--prefix=%{__prefix} \
--libdir=%{__libdir} \
--mandir=%{__prefix}/share/man \
--infodir=%{__prefix}/share/info \
--localstatedir=/var \
--sysconfdir=/etc \
--enable-python \
--with-vendor=openmamba \
--enable-bdb-ro \
PYTHON=%{__python310}
# --with-path-sources=%{__prefix}/src/RPM \
# --with-path-lib=%{_prefix}/lib/rpm%{?program_suffix} \
# --with-path-cfg=%{_sysconfdir}/rpm%{?program_suffix} \
# --with-external-db \
%cmake -d buildx \
-DENABLE_BDB_RO=ON \
-DRPM_VENDOR="openmamba" \
-DPython3_EXECUTABLE=%{__python3} \
%ifarch aarch64 %{ix86}
-DENABLE_TESTSUITE=OFF
%endif
%make
# Build for python3 legacy
cp -a python python3
sed -i "s|3.10|%{python3_version}|" python/Makefile python/_rpm.la
%make -C python3 clean
%make -C python3
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
%makeinstall
%makeinstall -C python3
%ifarch arm aarch64
# FIXME: man pages not installed maybe due to pandoc missing on arm and aarch64
%makeinstall -C docs/man
%endif
%makeinstall -C buildx
%find_lang rpm --with-man --all-name || touch rpm.lang
@ -257,7 +226,6 @@ rm -f %{buildroot}%{_libdir}/librpm*.la
%defattr(-,root,root)
%dir %{_sysconfdir}/rpm%{?program_suffix}
%config %{_sysconfdir}/rpm%{?program_suffix}/macros.openmamba
%{_sysconfdir}/dbus-1/system.d/org.rpm.conf
%{_bindir}/gendiff%{?program_suffix}
%{_bindir}/rpm%{?program_suffix}
%{_bindir}/rpm2archive%{?program_suffix}
@ -269,9 +237,11 @@ rm -f %{buildroot}%{_libdir}/librpm*.la
%{_bindir}/rpmlua
%{_bindir}/rpmquery
%{_bindir}/rpmsign%{?program_suffix}
%{_bindir}/rpmsort
%{_bindir}/rpmspec%{?program_suffix}
%{_bindir}/rpmverify
%{_unitdir}/rpmdb-rebuild.service
%{_datadir}/dbus-1/system.d/org.rpm.conf
%dir %{_prefix}/lib/rpm
%{_prefix}/lib/rpm/*
%dir /usr/src/RPM
@ -293,6 +263,7 @@ rm -f %{buildroot}%{_libdir}/librpm*.la
%{_mandir}/man8/rpmkeys.8*
%{_mandir}/man8/rpmlua.8*
%{_mandir}/man8/rpmsign.8*
%{_mandir}/man8/rpmsort.8*
%{_mandir}/man8/rpmspec.8*
%{_mandir}/man8/rpm-plugin*.8*
%doc COPYING CREDITS
@ -315,6 +286,11 @@ rm -f %{buildroot}%{_libdir}/librpm*.la
%{_libdir}/librpmio.so
%{_libdir}/librpmsign.so
%{_libdir}/pkgconfig/rpm.pc
%dir %{_libdir}/cmake/rpm
%{_libdir}/cmake/rpm/rpm-*.cmake
%dir %{_docdir}/rpm
%dir %{_docdir}/rpm/API
%{_docdir}/rpm/*
%doc ChangeLog README
%files -n python-rpm-py3
@ -323,13 +299,23 @@ rm -f %{buildroot}%{_libdir}/librpm*.la
%dir %{python3_sitearch}/rpm
%{python3_sitearch}/rpm/*
%files -n python-rpm-py310
%defattr(-,root,root)
%{python310_sitearch}/rpm-%{version}-py*.egg-info
%dir %{python310_sitearch}/rpm
%{python310_sitearch}/rpm/*
%changelog
* Fri May 17 2024 Silvan Calarco <silvan.calarco@mambasoft.it> 4.19.1.1-3mamba
- added a patch to disable SPECPARTS feature by default by not setting %specpartsdir
* Mon May 13 2024 Automatic Build System <autodist@openmamba.org> 4.19.1.1-2mamba
- i586: add sse and sse2 build flags; fix forcing host_cpu to i586
- drop python 3.10 support
* Thu Feb 08 2024 Automatic Build System <autodist@openmamba.org> 4.19.1.1-1mamba
- automatic version update by autodist
* Wed Dec 13 2023 Automatic Build System <autodist@mambasoft.it> 4.19.1-1mamba
- automatic version update by autodist
* Sun Dec 03 2023 Automatic Build System <autodist@mambasoft.it> 4.19.0-1mamba
- automatic version update by autodist
* Tue Oct 17 2023 Silvan Calarco <silvan.calarco@mambasoft.it> 4.18.1-4mamba
- rebuilt with python3 == 3.11