summaryrefslogtreecommitdiff
path: root/app-arch/rpm
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-02-02 05:44:58 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-02-02 05:44:58 +0000
commitcc4bdc5d184af171efd67a1b32de966071ee18d3 (patch)
tree99813a24b6b194fb3987dff98bcc0bbbf8eda9de /app-arch/rpm
parentc641f12d6bd92a8ea812f9b0e68a9a525a9c9ecc (diff)
gentoo auto-resync : 02:02:2024 - 05:44:58
Diffstat (limited to 'app-arch/rpm')
-rw-r--r--app-arch/rpm/Manifest8
-rw-r--r--app-arch/rpm/files/rpm-4.18.1-musl-nls.patch42
-rw-r--r--app-arch/rpm/files/rpm-4.19.1-musl-compat.patch59
-rw-r--r--app-arch/rpm/rpm-4.18.0.ebuild165
-rw-r--r--app-arch/rpm/rpm-4.18.1.ebuild1
-rw-r--r--app-arch/rpm/rpm-4.19.1.ebuild2
6 files changed, 108 insertions, 169 deletions
diff --git a/app-arch/rpm/Manifest b/app-arch/rpm/Manifest
index fc15c9efff7d..eafbbffa9f35 100644
--- a/app-arch/rpm/Manifest
+++ b/app-arch/rpm/Manifest
@@ -1,11 +1,11 @@
AUX rpm-4.17.0-libdir.patch 855 BLAKE2B 81a2daf0577c8dc3feac190764125da7a616e24ccdd38c3715c3c68f7fc831cf2662e629f23ed88f7d133961a40ac7f63acd6c7f52e99f17abe53442b2a5f14e SHA512 68d884cf9d57d89138ee7d6882869b0560aa9cd3dc82b837c47732f2d0248b42fbdafbbcc1f3f04322cd750744d97e4512491fb0591eb0622b2a5d1918391c46
+AUX rpm-4.18.1-musl-nls.patch 1605 BLAKE2B 6a1cf248e7c464795edf630aa367b55c8026bdbdcd43cb192f4c96dd96f119720d4f3a59fd019841d45b6e2bf54fce59e64e10e3e320a8b9cddff6e7cf864a50 SHA512 fb1071ba5db5d1b9ac631c2977ceebfaa3421655202cda8c088bcc0561f4d89216eca5e10e3c53787d9e160ee2358c588fc2459b128bf74cf576883fe739d06c
AUX rpm-4.19.0-libdir.patch 578 BLAKE2B 643e4869b5770e98814a4787c66c3de516c0675648598164c4fe6e076e5a5c497ba897353260e5fb780af2d8b9b31693b4189704a145245cc0ee22ae3a6759a7 SHA512 b241e014c642ea70fdec4e12b3af512a00b5c408d9ecdd1c5bcd4aca9bd60f9af49ec8a599fbeb9f4d5a66c24450e082a0f199c27c15554855f3195d394de228
+AUX rpm-4.19.1-musl-compat.patch 1880 BLAKE2B e29fb10d9406bd05cca92642cd3024d97bed15c4b97a44e002bd593007d204484405f66f0412f25b64167005e761da6d252f6bf7a00e604043f59431e0e210c2 SHA512 75ecbcbfe5143be3437d43344a8372c4104ace65239ce7302c4cb1796a347e689450cc23b3a797af7d4e9ffc2ee576d4181a84364e022782165d7c8389677cf4
AUX rpm-4.8.1-clang.patch 1519 BLAKE2B 7338b739782296e8be1d4a0ce9cdbeae558831897585d9b0d3fee935a82ed68e4066e7bbb1e722f212277dd3ede8be2ebad65f4a3f1286911c64263034c8b766 SHA512 7e6400f1782d536a26f322338be798c675ca69e755df0cacb3af1c56b3dc6487ae1c813f3579cba007cefa5b62c5e474576a4b8fd9230bb29536d246db860795
AUX rpm-4.8.1-db-path.patch 628 BLAKE2B 69ac0d4541c4d6e74fd716529c4cfd482432d400f84f39775bd585931e786acf45ab7a1da617f0214dcba90c78511ca22fc556896ae1963ec9160787fdaab902 SHA512 12539bbeda99d261890d50304945c7f022681ca0a283c70f17a6b1f188e9e24e9ce05b71d541ed6d951f94576b5183c49c4db784d5016d075a859c1e4dcb9005
-DIST rpm-4.18.0.tar.bz2 6600013 BLAKE2B 127c3b1427884d04c3db4fc73eb73a978a58241bc740620e3e46c7557d99833092866b5d9c8b4fdf72cd106668d9e5f5cb8c4b918decf1513a82d10258975116 SHA512 c218b811c0c2db368a2919f60742904a4a5abf09dc20804d649eb42f1853d1c21d121086d6014cd210b2040643c37b5d86b53052958cf702ae2e54fe65f1c0ec
DIST rpm-4.18.1.tar.bz2 6396363 BLAKE2B 4bc582bdc34a89d83346a8e18133c4f1846f2e8741c85ae2d0fd3398166e5a5d81ed86869e34700d3ea414fbf8ccf6c918692e865b956b1e6b70830b64cd323e SHA512 0ede2138b9b4c3b50d7e914cf82655507fcc207ba67804c749ea17560002976cb26b95801e9138a51589b60459494a991213a1131dbef5af2eca9b5050a4f29c
DIST rpm-4.19.1.tar.bz2 5940447 BLAKE2B b40de875d79a48d0c54aef86bb8b3cb0312cbb4eb5b1382fcc147669c5d559c9a91fcfb3b4160fe1ad34595bc553132d1af34fe70a45f868b7f06a1635c3fe1e SHA512 12e6c7294a98032418ec9a0510a8183658483fe713d67e6890a9c0da44748371df45a26af6055d08470b85b5dec0cf94795d17c5b3e11db08b20ef07e8e06642
-EBUILD rpm-4.18.0.ebuild 4097 BLAKE2B 30701a43b5afadc16666aaff85211f5dd132478f8e8f0930b18c924a30cae0983b72c91162b1f30212ca2da283c56a7ac98f67520721064de2a0883cd4e286cf SHA512 cb161bd3e36ea291d1d190bacef9df850358ad16eb28211323b5eea921753f00c4a4198de483e6924ee01ddffba2cfdab4943b8391a180445bdcb221ac9abb07
-EBUILD rpm-4.18.1.ebuild 4120 BLAKE2B 3e6fcdfdce3da90347050c2b5135ad93865c709bd06e920bcd89f3ff1b42b9020a2092c41c352e7cf5cd98f31cc68e2361e3807b241f2a688e07e77989685653 SHA512 43a2b2de9c0f4b48c010713a031c7fd3315ceb34bb95fe14eda9e6fbec6804a37016bb50b3e86f984ba6d1df803ca2fb39f60f1527d5ab86f176005f347b1254
-EBUILD rpm-4.19.1.ebuild 3142 BLAKE2B 937487457f767a3cc3f89e0a4734e290f124cbb2e3d8272b6b8e3aa1992c5268bbe2cde33a432eddfea0944bd982db112fcdc43bbd5a726ed0c0a24b4d3d1975 SHA512 4b69c4f8cede2f593bee43cf9e16656fb89609bfa7b90eb2aef029d70f72ea436cae9fce8e15e2386aad37301a9174dfaaa16e48f9be899f3b75a93c43870dee
+EBUILD rpm-4.18.1.ebuild 4163 BLAKE2B 1f74a64a7b34bd4e2c84b0c9b980ebc6f2da6d436efcd50d163c4383adbd01a590a29305d6a71b7cc3856198d858704bcc2dc6cf82b5b0cf669317cc662084c1 SHA512 100f19f15e0db915aa7f8fc6351ab2db2b4fe4e38cd3038529f4a278daaf56d6a066fbb0fa529f79233548ff7eaa1be51fe7aab3fa25882dacba45c883302116
+EBUILD rpm-4.19.1.ebuild 3231 BLAKE2B 2aa75b501fa395dee2470e3024ae9c0e082557d399bf5f054eaa3508a7ab848bf24f9c7b490f15d74dfddb98e121f27f7956609edfd584ee1ff1da6ead4bb6b2 SHA512 fff2f1223268d6d034ac6b6906df1288b9582d1b768acf5edf8cd42a92eb29fb10b5868ee460602cb1f24aad6b296b5c233d507b601e40871089466dbdda46a1
MISC metadata.xml 616 BLAKE2B f0df64810f4eaf6b3fa7cdb09a892677404fa2d6d3bd36abb9c5f638be56200d1c83dfec4b6a3bd18ad9ae9b56eeaabdbce243eafad366f366c9157ddfb00ad8 SHA512 792c6c2476c7e928b1e1515b56e19ec83e3855aaaebd17aa66407f6a232f4680ba5d90da54c0a5af7d3db829124fa062015070a1ab82ebe91f5f8f2d1ebaff29
diff --git a/app-arch/rpm/files/rpm-4.18.1-musl-nls.patch b/app-arch/rpm/files/rpm-4.18.1-musl-nls.patch
new file mode 100644
index 000000000000..7d1fde28bacf
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.18.1-musl-nls.patch
@@ -0,0 +1,42 @@
+https://bugs.gentoo.org/888954
+https://github.com/rpm-software-management/rpm/commit/f401979a4c4829d68e9614860644bdb74b6dda66
+
+From da222f0d82721d17e57d491d2749a4bc44754b9d Mon Sep 17 00:00:00 2001
+From: Takuya Wakazono <pastalian46@gmail.com>
+Date: Thu, 18 Jan 2024 18:41:11 +0900
+Subject: [PATCH] Don't use _nl_msg_cat_cntr if __GLIC__ is not defined
+
+musl doesn't need to use libintl from GNU gettext because it has its
+own NLS implementation. Assuming _nl_msg_cat_cntr exists breaks the
+build against the musl system.
+--- a/lib/tagexts.c
++++ b/lib/tagexts.c
+@@ -532,7 +532,7 @@ static int filerequireTag(Header h, rpmtd td, headerGetFlags hgflags)
+
+ /* I18N look aside diversions */
+
+-#if defined(ENABLE_NLS)
++#if defined(ENABLE_NLS) && (defined(__GLIBC__) || !defined(__linux__))
+ extern int _nl_msg_cat_cntr; /* XXX GNU gettext voodoo */
+ #endif
+ static const char * const language = "LANGUAGE";
+@@ -569,7 +569,9 @@ static int i18nTag(Header h, rpmTag tag, rpmtd td, headerGetFlags hgflags)
+ /* change to en_US for msgkey -> msgid resolution */
+ langval = getenv(language);
+ (void) setenv(language, "en_US", 1);
++#if defined(__GLIBC__) || !defined(__linux__)
+ ++_nl_msg_cat_cntr;
++#endif
+
+ msgid = NULL;
+ for (domain = dstring; domain != NULL; domain = de) {
+@@ -584,7 +586,9 @@ static int i18nTag(Header h, rpmTag tag, rpmtd td, headerGetFlags hgflags)
+ (void) setenv(language, langval, 1);
+ else
+ unsetenv(language);
++#if defined(__GLIBC__) || !defined(__linux__)
+ ++_nl_msg_cat_cntr;
++#endif
+
+ if (domain && msgid) {
+ td->data = dgettext(domain, msgid);
diff --git a/app-arch/rpm/files/rpm-4.19.1-musl-compat.patch b/app-arch/rpm/files/rpm-4.19.1-musl-compat.patch
new file mode 100644
index 000000000000..ca9f97257c70
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.19.1-musl-compat.patch
@@ -0,0 +1,59 @@
+musl doesn't implement GLOB_BRACE, simply disable it.
+
+https://bugs.gentoo.org/922286
+https://github.com/rpm-software-management/rpm/issues/2844
+--- a/rpmio/rpmglob.c
++++ b/rpmio/rpmglob.c
+@@ -33,6 +33,10 @@
+
+ #include "debug.h"
+
++#ifndef GLOB_BRACE
++#define GLOB_BRACE 0
++#endif
++
+ /* Return 1 if pattern contains a magic char, see glob(7) for a list */
+ static int ismagic(const char *pattern)
+ {
+
+From 57f3711846f44da0f37cbc5dd66e8fba80a3bee1 Mon Sep 17 00:00:00 2001
+From: Panu Matilainen <pmatilai@redhat.com>
+Date: Mon, 18 Dec 2023 12:25:04 +0200
+Subject: [PATCH] Fix unconditional dependency on non-POSIX GLOB_ONLYDIR flag
+
+This regressed when we axed our internal glob copy in commit
+66fa46c006bae0f28d93238b8f7f1c923645eee5. Luckily GLOB_ONLYDIR is only
+an optimization so we can just skip it if not available.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -350,6 +350,7 @@ if (LIBDW_FOUND)
+ set(HAVE_LIBDW 1)
+ endif()
+
++check_symbol_exists(GLOB_ONLYDIR "glob.h" HAVE_GLOB_ONLYDIR)
+ check_symbol_exists(major "sys/sysmacros.h" MAJOR_IN_SYSMACROS)
+ if (NOT MAJOR_IN_SYSMACROS)
+ check_symbol_exists(major "sys/mkdev.h" MAJOR_IN_MKDEV)
+--- a/config.h.in
++++ b/config.h.in
+@@ -100,6 +100,7 @@
+ #cmakedefine HAVE_ZSTD @HAVE_ZSTD@
+ #cmakedefine HAVE___PROGNAME @HAVE___PROGNAME@
+ #cmakedefine HAVE___SECURE_GETENV @HAVE___SECURE_GETENV@
++#cmakedefine HAVE_GLOB_ONLYDIR @HAVE_GLOB_ONLYDIR@
+ #cmakedefine MAJOR_IN_MKDEV @MAJOR_IN_MKDEV@
+ #cmakedefine MAJOR_IN_SYSMACROS @MAJOR_IN_SYSMACROS@
+ #cmakedefine RUNDIR @rundir@
+--- a/rpmio/rpmglob.c
++++ b/rpmio/rpmglob.c
+@@ -84,8 +84,10 @@ int rpmGlobPath(const char * pattern, rpmglobFlags flags,
+ gflags |= GLOB_BRACE;
+ if (home != NULL && strlen(home) > 0)
+ gflags |= GLOB_TILDE;
++#if HAVE_GLOB_ONLYDIR
+ if (dir_only)
+ gflags |= GLOB_ONLYDIR;
++#endif
+ if (flags & RPMGLOB_NOCHECK)
+ gflags |= GLOB_NOCHECK;
+
diff --git a/app-arch/rpm/rpm-4.18.0.ebuild b/app-arch/rpm/rpm-4.18.0.ebuild
deleted file mode 100644
index 3dda9821a973..000000000000
--- a/app-arch/rpm/rpm-4.18.0.ebuild
+++ /dev/null
@@ -1,165 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-{3,4} )
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit autotools lua-single perl-module python-single-r1 toolchain-funcs
-
-DESCRIPTION="Red Hat Package Management Utils"
-HOMEPAGE="https://rpm.org/ https://github.com/rpm-software-management/rpm"
-SRC_URI="https://ftp.osuosl.org/pub/rpm/releases/rpm-$(ver_cut 1-2).x/${P}.tar.bz2
- http://ftp.rpm.org/releases/rpm-$(ver_cut 1-2).x/${P}.tar.bz2"
-
-LICENSE="GPL-2 LGPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-
-# Tests are broken. See bug #657500
-RESTRICT="test"
-
-IUSE="acl audit caps +berkdb doc dbus nls openmp python readline selinux +sqlite test +zstd"
-REQUIRED_USE="${LUA_REQUIRED_USE}
- python? ( ${PYTHON_REQUIRED_USE} )"
-
-DEPEND="
- ${LUA_DEPS}
- !app-arch/rpm5
- app-arch/libarchive:=
- >=app-arch/bzip2-1.0.1
- app-arch/xz-utils
- >=app-crypt/gnupg-1.2
- >=dev-lang/perl-5.8.8
- dev-libs/elfutils
- dev-libs/libgcrypt:=
- >=dev-libs/popt-1.7
- sys-apps/file
- >=sys-libs/zlib-1.2.3-r1
- virtual/libintl
- acl? ( virtual/acl )
- audit? ( sys-process/audit )
- caps? ( >=sys-libs/libcap-2.0 )
- dbus? ( sys-apps/dbus )
- readline? ( sys-libs/readline:= )
- sqlite? ( dev-db/sqlite:3 )
- python? ( ${PYTHON_DEPS} )
- nls? ( virtual/libintl )
- zstd? ( app-arch/zstd:= )
-"
-BDEPEND="
- virtual/pkgconfig
- doc? ( app-text/doxygen )
- nls? ( sys-devel/gettext )
- test? ( sys-apps/fakechroot )
-"
-RDEPEND="
- ${DEPEND}
- selinux? ( sec-policy/selinux-rpm )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.8.1-db-path.patch
- "${FILESDIR}"/${PN}-4.17.0-libdir.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- lua-single_pkg_setup
-
- use python && python-single-r1_pkg_setup
-
- # Added USE=openmp and this check for bug #779769
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_prepare() {
- default
-
- # bug #356769
- sed -i 's:%{_var}/tmp:/var/tmp:' macros.in || die "Fixing tmppath failed"
- # bug #492642
- sed -i "s:@__PYTHON@:${PYTHON}:" macros.in || die "Fixing %__python failed"
-
- # Prevent automake maintainer mode from kicking in (bug #450448).
- #touch -r Makefile.am preinstall.am || die
-
- eautoreconf
-}
-
-src_configure() {
- # rpm no longer supports berkdb, but has readonly support.
- # https://github.com/rpm-software-management/rpm/commit/4290300e24c5ab17c615b6108f38438e31eeb1d0
- econf \
- --enable-libelf \
- --without-selinux \
- --disable-inhibit-plugin \
- --with-crypto=libgcrypt \
- $(use_enable berkdb bdb-ro) \
- $(use_enable python) \
- $(use_enable nls) \
- $(use_enable openmp) \
- $(use_enable dbus inhibit-plugin) \
- $(use_enable sqlite) \
- $(use_with caps cap) \
- $(use_with acl) \
- $(use_with audit) \
- $(use_with readline) \
- $(use_enable zstd zstd $(usex zstd yes no))
-}
-
-src_test() {
- # Known to fail with FEATURES=usersandbox (bug #657500)
- if has usersandbox ${FEATURES} ; then
- ewarn "You are emerging ${P} with 'usersandbox' enabled." \
- "Expect some test failures or emerge with 'FEATURES=-usersandbox'!"
- fi
-
- emake check
-}
-
-src_install() {
- default
-
- # Remove la files
- find "${ED}" -name '*.la' -delete || die
-
- # Fix symlinks to /bin/rpm (bug #349840)
- for binary in rpmquery rpmverify; do
- ln -sf rpm "${ED}"/usr/bin/${binary} || die
- done
-
- if ! use nls; then
- rm -rf "${ED}"/usr/share/man/?? || die
- fi
-
- keepdir /usr/src/rpm/{SRPMS,SPECS,SOURCES,RPMS,BUILD}
-
- dodoc CREDITS README*
- if use doc; then
- local docname
- for docname in librpm; do
- docinto "html/${docname}"
- dodoc -r "docs/${docname}/html/."
- done
- fi
-
- # Fix perllocal.pod file collision
- perl_delete_localpod
-
- use python && python_optimize
-}
-
-pkg_postinst() {
- if [[ -f "${EROOT}"/var/lib/rpm/Packages ]] ; then
- einfo "RPM database found... Rebuilding database (may take a while)..."
- "${EROOT}"/usr/bin/rpmdb --rebuilddb --root="${EROOT}/" || die
- else
- einfo "No RPM database found... Creating database..."
- "${EROOT}"/usr/bin/rpmdb --initdb --root="${EROOT}/" || die
- fi
-}
diff --git a/app-arch/rpm/rpm-4.18.1.ebuild b/app-arch/rpm/rpm-4.18.1.ebuild
index 8695d7cf06c8..5054bab122a8 100644
--- a/app-arch/rpm/rpm-4.18.1.ebuild
+++ b/app-arch/rpm/rpm-4.18.1.ebuild
@@ -65,6 +65,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-4.8.1-db-path.patch
"${FILESDIR}"/${PN}-4.8.1-clang.patch
"${FILESDIR}"/${PN}-4.17.0-libdir.patch
+ "${FILESDIR}"/${PN}-4.18.1-musl-nls.patch
)
pkg_pretend() {
diff --git a/app-arch/rpm/rpm-4.19.1.ebuild b/app-arch/rpm/rpm-4.19.1.ebuild
index 3459be5ac5f3..a011006febb8 100644
--- a/app-arch/rpm/rpm-4.19.1.ebuild
+++ b/app-arch/rpm/rpm-4.19.1.ebuild
@@ -62,7 +62,9 @@ RDEPEND="
"
PATCHES=(
+ "${FILESDIR}"/${PN}-4.18.1-musl-nls.patch
"${FILESDIR}"/${PN}-4.19.0-libdir.patch
+ "${FILESDIR}"/${PN}-4.19.1-musl-compat.patch
)
pkg_pretend() {