[Buildroot] [PATCH] package/rpm: bump to version 4.18.1
James Knight
james.d.knight at live.com
Fri May 5 04:11:18 UTC 2023
The most recent release of RPM is v4.18.1 [1].
- When Python 3 support is detected, enable Python 3-related support.
- When readline support is detected, enable readline support.
- Adding a series of feature-disable configurations of options
introduced over the recent versions, but where never added.
- Adding an upstream patch to prevent build failures for certain
toolchains (0001-fix-var-declare-in-label-error.patch). Fix should be
available next release.
- Drops the use of `RPM_CFLAGS`, which their use has been obsolete when
this package bumped to v4.17 [2].
[1]: https://rpm.org/wiki/Releases/4.18.1
[2]: 429e247b869027f6ecd4efa0f31bccd2765e3875
Signed-off-by: James Knight <james.d.knight at live.com>
---
.../0001-fix-var-declare-in-label-error.patch | 40 +++++++++++++++++++
package/rpm/rpm.hash | 4 +-
package/rpm/rpm.mk | 23 +++++++++--
3 files changed, 61 insertions(+), 6 deletions(-)
create mode 100644 package/rpm/0001-fix-var-declare-in-label-error.patch
diff --git a/package/rpm/0001-fix-var-declare-in-label-error.patch b/package/rpm/0001-fix-var-declare-in-label-error.patch
new file mode 100644
index 0000000000000000000000000000000000000000..648040c66307d1f896680e79c3fd96fe180c9fa2
--- /dev/null
+++ b/package/rpm/0001-fix-var-declare-in-label-error.patch
@@ -0,0 +1,40 @@
+From b960c0b43a080287a7c13533eeb2d9f288db1414 Mon Sep 17 00:00:00 2001
+From: Florian Festi <ffesti at redhat.com>
+Date: Thu, 16 Mar 2023 19:05:04 +0100
+Subject: [PATCH] Fix compiler error on clang
+
+Turns out variable declarations are not allowed after a label, even in
+C99. And while some compilers don't seem to care others do.
+
+Moving the declaration of mayopen to the start of the function to avoid
+this problem.
+
+Resolves: #2435
+
+Upstream: b960c0b43a080287a7c13533eeb2d9f288db1414
+Signed-off-by: James Knight <james.d.knight at live.com>
+---
+ lib/fsm.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/lib/fsm.c b/lib/fsm.c
+index 5671ac642d..183293edb0 100644
+--- a/lib/fsm.c
++++ b/lib/fsm.c
+@@ -879,6 +879,7 @@ int rpmPackageFilesInstall(rpmts ts, rpmte te, rpmfiles files,
+ int nodigest = (rpmtsFlags(ts) & RPMTRANS_FLAG_NOFILEDIGEST) ? 1 : 0;
+ int nofcaps = (rpmtsFlags(ts) & RPMTRANS_FLAG_NOCAPS) ? 1 : 0;
+ int firstlinkfile = -1;
++ int mayopen = 0;
+ char *tid = NULL;
+ struct filedata_s *fdata = xcalloc(fc, sizeof(*fdata));
+ struct filedata_s *firstlink = NULL;
+@@ -1016,7 +1017,7 @@ int rpmPackageFilesInstall(rpmts ts, rpmte te, rpmfiles files,
+
+ setmeta:
+ /* Special files require path-based ops */
+- int mayopen = S_ISREG(fp->sb.st_mode) || S_ISDIR(fp->sb.st_mode);
++ mayopen = S_ISREG(fp->sb.st_mode) || S_ISDIR(fp->sb.st_mode);
+ if (!rc && fd == -1 && mayopen) {
+ int flags = O_RDONLY;
+ /* Only follow safe symlinks, and never on temporary files */
diff --git a/package/rpm/rpm.hash b/package/rpm/rpm.hash
index dfe50303f7db47e34a42d6d0f17bf2c097455e1c..fd03f062bc7da37519e4bc95da37c70a17ba7d82 100644
--- a/package/rpm/rpm.hash
+++ b/package/rpm/rpm.hash
@@ -1,5 +1,5 @@
-# From https://rpm.org/wiki/Releases/4.18.0.html
-sha256 2a17152d7187ab30edf2c2fb586463bdf6388de7b5837480955659e5e9054554 rpm-4.18.0.tar.bz2
+# From https://rpm.org/wiki/Releases/4.18.1.html
+sha256 37f3b42c0966941e2ad3f10fde3639824a6591d07197ba8fd0869ca0779e1f56 rpm-4.18.1.tar.bz2
# Hash for license file
sha256 171d94d9f1641316bff7f157a903237dc69cdb5fca405fed8c832c76ed8370f9 COPYING
diff --git a/package/rpm/rpm.mk b/package/rpm/rpm.mk
index fc57a14fd6518ddcd65a90f294ecabbca8057f67..c66ce6992d9b29d0463a66b43d278b269610c79f 100644
--- a/package/rpm/rpm.mk
+++ b/package/rpm/rpm.mk
@@ -5,7 +5,7 @@
################################################################################
RPM_VERSION_MAJOR = 4.18
-RPM_VERSION = $(RPM_VERSION_MAJOR).0
+RPM_VERSION = $(RPM_VERSION_MAJOR).1
RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2
RPM_SITE = http://ftp.rpm.org/releases/rpm-$(RPM_VERSION_MAJOR).x
RPM_DEPENDENCIES = \
@@ -27,9 +27,11 @@ RPM_SELINUX_MODULES = rpm
# --enable-openmp is provided and OpenMP is < 4.5:
# https://github.com/rpm-software-management/rpm/pull/1433
RPM_CONF_OPTS = \
- --disable-python \
--disable-rpath \
- --with-gnu-ld
+ --with-gnu-ld \
+ --without-fapolicyd \
+ --without-fsverity \
+ --without-imaevm
ifeq ($(BR2_PACKAGE_ACL),y)
RPM_DEPENDENCIES += acl
@@ -80,6 +82,20 @@ else
RPM_CONF_OPTS += --without-selinux
endif
+ifeq ($(BR2_PACKAGE_PYTHON3),y)
+RPM_DEPENDENCIES += python3
+RPM_CONF_OPTS += --enable-python
+else
+RPM_CONF_OPTS += --disable-python
+endif
+
+ifeq ($(BR2_PACKAGE_READLINE),y)
+RPM_DEPENDENCIES += readline
+RPM_CONF_OPTS += --with-readline
+else
+RPM_CONF_OPTS += --without-readline
+endif
+
ifeq ($(BR2_PACKAGE_SQLITE),y)
RPM_DEPENDENCIES += sqlite
RPM_CONF_OPTS += --enable-sqlite
@@ -104,7 +120,6 @@ endif
# ac_cv_prog_cc_c99: RPM uses non-standard GCC extensions (ex. `asm`).
RPM_CONF_ENV = \
ac_cv_prog_cc_c99='-std=gnu99' \
- CFLAGS="$(TARGET_CFLAGS) $(RPM_CFLAGS)" \
LIBS=$(TARGET_NLS_LIBS)
$(eval $(autotools-package))
--
2.40.1.windows.1
More information about the buildroot
mailing list