diff options
Diffstat (limited to 'app-arch/rpm')
-rw-r--r-- | app-arch/rpm/Manifest | 4 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.11.0-autotools.patch | 14 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.16.0-autotools.patch | 13 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.17.0-libdir.patch (renamed from app-arch/rpm/files/rpm-4.16.0-libdir.patch) | 20 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.18.1-musl-nls.patch | 42 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.19.0-libdir.patch | 13 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch | 17 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.8.1-clang.patch | 52 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.9.1.2-libdir.patch | 31 | ||||
-rw-r--r-- | app-arch/rpm/metadata.xml | 15 | ||||
-rw-r--r-- | app-arch/rpm/rpm-4.14.2.1-r1.ebuild | 141 | ||||
-rw-r--r-- | app-arch/rpm/rpm-4.16.0.ebuild | 142 | ||||
-rw-r--r-- | app-arch/rpm/rpm-4.18.1.ebuild | 172 | ||||
-rw-r--r-- | app-arch/rpm/rpm-4.19.1.1.ebuild | 134 |
14 files changed, 452 insertions, 358 deletions
diff --git a/app-arch/rpm/Manifest b/app-arch/rpm/Manifest index 08fa264efdf5..1598162f1521 100644 --- a/app-arch/rpm/Manifest +++ b/app-arch/rpm/Manifest @@ -1,2 +1,2 @@ -DIST rpm-4.14.2.1.tar.bz2 4156574 BLAKE2B 2eb0cf621eecef7d8977d28d52be922156ceb64b14d2aefda0f5a927b90cf3d3e9c055d773e05ed52422254397153b79557dc94bdb43ca28a2ea126153a43c1f SHA512 0aad457f91918904c15649a1764ce7cbfaf38e083678031286e866f7997be0435a6b7b73596706d97e9263cff7b4df4a3150b142d81e6e3fddbfcf67bd83f990 -DIST rpm-4.16.0.tar.bz2 4341683 BLAKE2B 5161e5dcc6d9a1f1d4b8e44740fb368050b808fd9e8b8276fb17b530a4642e1b9ad104b5a30c0071215aef7f823eeab10988dd41f73af1c52d575529c374b5eb SHA512 177119c3ac3d48980db55bb4ba0fdbb2a911968e5efc690bfa8cc343f850fc90531cc0dee6dd8e45d2b14f0d951ced35bd8893d24011b7f270745d281ddf4e3d +DIST rpm-4.18.1.tar.bz2 6396363 BLAKE2B 4bc582bdc34a89d83346a8e18133c4f1846f2e8741c85ae2d0fd3398166e5a5d81ed86869e34700d3ea414fbf8ccf6c918692e865b956b1e6b70830b64cd323e SHA512 0ede2138b9b4c3b50d7e914cf82655507fcc207ba67804c749ea17560002976cb26b95801e9138a51589b60459494a991213a1131dbef5af2eca9b5050a4f29c +DIST rpm-4.19.1.1.tar.bz2 5849649 BLAKE2B 66ed845007f3767fd92e2384962927b93cef7b825b8ea60f81f0a4b51b9d6a09d1cbec1668226fa85de675347d52635cb25c4d11204ada0eed6c898425b21536 SHA512 3364c453c29903c144a3680ceca7a17426eb085c288b6313fb7e857a42a5e0a965f623882e0f58e633f8b8770e839d9df9f7653d99c73759af5c89d0a981908d diff --git a/app-arch/rpm/files/rpm-4.11.0-autotools.patch b/app-arch/rpm/files/rpm-4.11.0-autotools.patch deleted file mode 100644 index 2a2dcb129de3..000000000000 --- a/app-arch/rpm/files/rpm-4.11.0-autotools.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -urN rpm-4.11.0.1.old/configure.ac rpm-4.11.0.1/configure.ac ---- rpm-4.11.0.1.old/configure.ac 2013-03-26 18:38:35.137667450 +0100 -+++ rpm-4.11.0.1/configure.ac 2013-03-26 18:44:08.632673258 +0100 -@@ -824,10 +810,6 @@ - - AC_SUBST(OBJDUMP) - --if test "$with_external_db" = no; then -- AC_CONFIG_SUBDIRS(db3) --fi -- - AM_CONDITIONAL([WITH_INTERNAL_DB],[test "$with_external_db" = no]) - AM_CONDITIONAL([DOXYGEN],[test "$DOXYGEN" != no]) - AM_CONDITIONAL([HACKINGDOCS],[test "$with_hackingdocs" = yes]) diff --git a/app-arch/rpm/files/rpm-4.16.0-autotools.patch b/app-arch/rpm/files/rpm-4.16.0-autotools.patch deleted file mode 100644 index 9b1f71ad86e5..000000000000 --- a/app-arch/rpm/files/rpm-4.16.0-autotools.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff -uNr rpm-4.16.0.ORIG/configure.ac rpm-4.16.0/configure.ac ---- rpm-4.16.0.ORIG/configure.ac 2020-10-01 11:02:21.605485875 +0100 -+++ rpm-4.16.0/configure.ac 2020-10-01 11:05:34.077157904 +0100 -@@ -552,9 +552,6 @@ - - AM_CONDITIONAL([BDB], [test "x$have_bdb" != "xno"]) - AM_CONDITIONAL([WITH_INTERNAL_DB],[test "x$have_bdb" = "xinternal"]) --if test "x$have_bdb" = "xinternal"; then -- AC_CONFIG_SUBDIRS(db3) --fi - - - #================= diff --git a/app-arch/rpm/files/rpm-4.16.0-libdir.patch b/app-arch/rpm/files/rpm-4.17.0-libdir.patch index c9f5f297233b..5bff26b71290 100644 --- a/app-arch/rpm/files/rpm-4.16.0-libdir.patch +++ b/app-arch/rpm/files/rpm-4.17.0-libdir.patch @@ -1,7 +1,6 @@ -diff -uNr rpm-4.16.0.ORIG/configure.ac rpm-4.16.0/configure.ac ---- rpm-4.16.0.ORIG/configure.ac 2020-10-01 11:08:43.780842602 +0100 -+++ rpm-4.16.0/configure.ac 2020-10-01 11:09:03.533705353 +0100 -@@ -935,13 +935,7 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -865,13 +865,7 @@ AC_ARG_WITH([rundir], AC_DEFINE_UNQUOTED([RUNDIR],["${RUNDIR}"],[run-time variable directory]) AC_SUBST(RUNDIR) @@ -16,19 +15,18 @@ diff -uNr rpm-4.16.0.ORIG/configure.ac rpm-4.16.0/configure.ac AC_SUBST(RPMCONFIGDIR) AC_SUBST(OBJDUMP) -diff -uNr rpm-4.16.0.ORIG/rpm.am rpm-4.16.0/rpm.am ---- rpm-4.16.0.ORIG/rpm.am 2020-10-01 11:08:43.743842859 +0100 -+++ rpm-4.16.0/rpm.am 2020-10-01 11:09:03.533705353 +0100 -@@ -1,10 +1,8 @@ +--- a/rpm.am ++++ b/rpm.am +@@ -1,10 +1,10 @@ # Internal binaries --## HACK: It probably should be $(libexecdir)/rpm or $(libdir)/rpm + ## HACK: It probably should be $(libexecdir)/rpm or $(libdir)/rpm -rpmlibexecdir = $(prefix)/lib/rpm +rpmlibexecdir = $(pkglibexecdir) # Host independent config files --## HACK: it probably should be $(datadir)/rpm + ## HACK: it probably should be $(datadir)/rpm -rpmconfigdir = $(prefix)/lib/rpm +rpmconfigdir = $(pkglibexecdir) # Libtool version (current-revision-age) for all our libraries - rpm_version_info = 10:0:1 + rpm_version_info = 11:0:2 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.0-libdir.patch b/app-arch/rpm/files/rpm-4.19.0-libdir.patch new file mode 100644 index 000000000000..9899827c985e --- /dev/null +++ b/app-arch/rpm/files/rpm-4.19.0-libdir.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index c164e9c52..5738c821f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -32,7 +32,7 @@ option(WITH_FSVERITY "Build with fsverity support" OFF) + option(WITH_IMAEVM "Build with IMA support" OFF) + option(WITH_FAPOLICYD "Build with fapolicyd support" ON) + +-set(RPM_CONFIGDIR "${CMAKE_INSTALL_PREFIX}/lib/rpm" CACHE PATH "rpm home") ++set(RPM_CONFIGDIR "${CMAKE_INSTALL_PREFIX}/libexec/rpm" CACHE PATH "rpm home") + set(RPM_VENDOR "vendor" CACHE STRING "rpm vendor string") + + # Emulate libtool versioning. Before a public release: diff --git a/app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch b/app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch new file mode 100644 index 000000000000..441689febd5d --- /dev/null +++ b/app-arch/rpm/files/rpm-4.19.1.1-musl-compat.patch @@ -0,0 +1,17 @@ +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) + { diff --git a/app-arch/rpm/files/rpm-4.8.1-clang.patch b/app-arch/rpm/files/rpm-4.8.1-clang.patch new file mode 100644 index 000000000000..714fbc09b534 --- /dev/null +++ b/app-arch/rpm/files/rpm-4.8.1-clang.patch @@ -0,0 +1,52 @@ +https://github.com/rpm-software-management/rpm/commit/6ad8a71407b173b6c50d389f01edd8a4aecd6807 +--- a/lib/fsm.c ++++ b/lib/fsm.c +@@ -1015,27 +1015,28 @@ + } + + setmeta: +- /* Special files require path-based ops */ +- int 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 */ +- if (fp->suffix) +- flags |= AT_SYMLINK_NOFOLLOW; +- fd = fsmOpenat(di.dirfd, fp->fpath, flags, +- S_ISDIR(fp->sb.st_mode)); +- if (fd < 0) +- rc = RPMERR_OPEN_FAILED; +- } ++ { ++ /* Special files require path-based ops */ ++ int 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 */ ++ if (fp->suffix) ++ flags |= AT_SYMLINK_NOFOLLOW; ++ fd = fsmOpenat(di.dirfd, fp->fpath, flags, ++ S_ISDIR(fp->sb.st_mode)); ++ if (fd < 0) ++ rc = RPMERR_OPEN_FAILED; ++ } ++ if (!rc && fp->setmeta) { ++ rc = fsmSetmeta(fd, di.dirfd, fp->fpath, ++ fi, plugins, fp->action, ++ &fp->sb, nofcaps); ++ } + +- if (!rc && fp->setmeta) { +- rc = fsmSetmeta(fd, di.dirfd, fp->fpath, +- fi, plugins, fp->action, +- &fp->sb, nofcaps); +- } +- +- if (fd != firstlinkfile) +- fsmClose(&fd); ++ if (fd != firstlinkfile) ++ fsmClose(&fd); ++ } + } + + /* Notify on success. */ diff --git a/app-arch/rpm/files/rpm-4.9.1.2-libdir.patch b/app-arch/rpm/files/rpm-4.9.1.2-libdir.patch deleted file mode 100644 index 221926494411..000000000000 --- a/app-arch/rpm/files/rpm-4.9.1.2-libdir.patch +++ /dev/null @@ -1,31 +0,0 @@ -diff -urN rpm-4.9.1.2.old/configure.ac rpm-4.9.1.2/configure.ac ---- rpm-4.9.1.2.old/configure.ac 2012-04-19 12:18:27.584725220 +0200 -+++ rpm-4.9.1.2/configure.ac 2012-04-19 12:34:50.302722933 +0200 -@@ -846,13 +846,7 @@ - AC_SUBST(RPMCANONGNU) - AC_DEFINE_UNQUOTED([RPMCANONVENDOR],["${RPMCANONVENDOR}"],[canonical vendor]) - --if test X"$prefix" = XNONE ; then -- usrprefix="$ac_default_prefix" --else -- usrprefix=$prefix --fi -- --RPMCONFIGDIR="`echo ${usrprefix}/lib/rpm`" -+RPMCONFIGDIR="`echo ${libexecdir}/rpm/`" - AC_SUBST(RPMCONFIGDIR) - - AC_SUBST(OBJDUMP) -diff -urN rpm-4.9.1.2.old/rpm.am rpm-4.9.1.2/rpm.am ---- rpm-4.9.1.2.old/rpm.am 2012-04-19 12:18:27.584725220 +0200 -+++ rpm-4.9.1.2/rpm.am 2012-04-19 12:24:49.035724332 +0200 -@@ -1,7 +1,5 @@ - # Internal binaries --## HACK: It probably should be $(libexecdir)/rpm or $(libdir)/rpm --rpmlibexecdir = $(prefix)/lib/rpm -+rpmlibexecdir = $(pkglibexecdir) - - # Host independent config files --## HACK: it probably should be $(datadir)/rpm --rpmconfigdir = $(prefix)/lib/rpm -+rpmconfigdir = $(pkglibexecdir) diff --git a/app-arch/rpm/metadata.xml b/app-arch/rpm/metadata.xml index 19acc8e397fe..8e808eda79fe 100644 --- a/app-arch/rpm/metadata.xml +++ b/app-arch/rpm/metadata.xml @@ -1,11 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> - <maintainer type="person"> - <email>chainsaw@gentoo.org</email> - <name>Tony Vroon</name> + <maintainer type="person" proxied="yes"> + <email>pastalian46@gmail.com</email> + <name>Takuya Wakazono</name> + </maintainer> + <maintainer type="project" proxied="proxy"> + <email>proxy-maint@gentoo.org</email> + <name>Proxy Maintainers</name> </maintainer> <upstream> <remote-id type="github">rpm-software-management/rpm</remote-id> </upstream> + <use> + <flag name="sequoia">Use <pkg>app-crypt/rpm-sequoia</pkg> instead of the deprecated internal parser</flag> + </use> </pkgmetadata> diff --git a/app-arch/rpm/rpm-4.14.2.1-r1.ebuild b/app-arch/rpm/rpm-4.14.2.1-r1.ebuild deleted file mode 100644 index 22a48d51d444..000000000000 --- a/app-arch/rpm/rpm-4.14.2.1-r1.ebuild +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -PYTHON_COMPAT=( python3_{6,7,8,9} ) - -inherit autotools flag-o-matic perl-module python-single-r1 eapi7-ver - -DESCRIPTION="Red Hat Package Management Utils" -HOMEPAGE="https://rpm.org - https://github.com/rpm-software-management/rpm" -SRC_URI="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 ~mips ppc ppc64 s390 ~sparc x86 ~amd64-linux ~x86-linux" - -# Tests are broken. See bug 657500 -RESTRICT="test" - -IUSE="acl caps doc dbus lua nls python selinux test zstd" -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -CDEPEND="!app-arch/rpm5 - app-arch/libarchive - >=sys-libs/db-4.5:* - >=sys-libs/zlib-1.2.3-r1 - >=app-arch/bzip2-1.0.1 - >=dev-libs/popt-1.7 - >=app-crypt/gnupg-1.2 - dbus? ( sys-apps/dbus ) - dev-libs/elfutils - virtual/libintl - >=dev-lang/perl-5.8.8 - dev-libs/nss - python? ( ${PYTHON_DEPS} ) - nls? ( virtual/libintl ) - lua? ( >=dev-lang/lua-5.1.0:0=[deprecated] ) - acl? ( virtual/acl ) - caps? ( >=sys-libs/libcap-2.0 ) - zstd? ( app-arch/zstd ) -" -DEPEND="${CDEPEND} - nls? ( sys-devel/gettext ) - doc? ( app-doc/doxygen ) - virtual/pkgconfig - test? ( sys-apps/fakechroot ) -" -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-rpm ) -" - -pkg_setup() { - use python && python-single-r1_pkg_setup -} - -src_prepare() { - eapply "${FILESDIR}"/${PN}-4.11.0-autotools.patch - eapply "${FILESDIR}"/${PN}-4.8.1-db-path.patch - eapply "${FILESDIR}"/${PN}-4.9.1.2-libdir.patch - - # fix #356769 - sed -i 's:%{_var}/tmp:/var/tmp:' macros.in || die "Fixing tmppath failed" - # fix #492642 - sed -i "s:@__PYTHON@:${PYTHON}:" macros.in || die "Fixing %__python failed" - - eapply_user - - eautoreconf - - # Prevent automake maintainer mode from kicking in (#450448). - touch -r Makefile.am preinstall.am -} - -src_configure() { - append-cppflags -I"${EPREFIX}/usr/include/nss" -I"${EPREFIX}/usr/include/nspr" - econf \ - --without-selinux \ - --with-external-db \ - --with-crypto=nss \ - $(use_enable python) \ - $(use_with doc hackingdocs) \ - $(use_enable nls) \ - $(use_enable dbus inhibit-plugin) \ - $(use_with lua) \ - $(use_with caps cap) \ - $(use_with acl) \ - $(use_enable zstd zstd $(usex zstd yes no)) -} - -src_install() { - default - - # remove la files - find "${ED}" -name '*.la' -delete || die - - # fix symlinks to /bin/rpm (#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 - for docname in hacking librpm; do - docinto "html/${docname}" - dodoc -r "doc/${docname}/html/." - done - fi - - # Fix perllocal.pod file collision - perl_delete_localpod - - use python && python_optimize -} - -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 -} - -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.16.0.ebuild b/app-arch/rpm/rpm-4.16.0.ebuild deleted file mode 100644 index f6c94ab43d7b..000000000000 --- a/app-arch/rpm/rpm-4.16.0.ebuild +++ /dev/null @@ -1,142 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -LUA_COMPAT=( lua5-2 ) -PYTHON_COMPAT=( python3_{6,7,8,9} ) - -inherit autotools flag-o-matic lua-single perl-module python-single-r1 - -DESCRIPTION="Red Hat Package Management Utils" -HOMEPAGE="https://rpm.org - https://github.com/rpm-software-management/rpm" -SRC_URI="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 ~mips ~ppc ~ppc64 ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" - -# Tests are broken. See bug 657500 -RESTRICT="test" - -IUSE="acl caps doc dbus lua nls python selinux test +zstd" -REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} ) - python? ( ${PYTHON_REQUIRED_USE} )" - -CDEPEND="!app-arch/rpm5 - app-arch/libarchive - >=sys-libs/db-4.5:* - >=sys-libs/zlib-1.2.3-r1 - >=app-arch/bzip2-1.0.1 - >=dev-libs/popt-1.7 - >=app-crypt/gnupg-1.2 - dbus? ( sys-apps/dbus ) - dev-libs/elfutils - virtual/libintl - >=dev-lang/perl-5.8.8 - dev-libs/nss - python? ( ${PYTHON_DEPS} ) - nls? ( virtual/libintl ) - lua? ( ${LUA_DEPS} ) - acl? ( virtual/acl ) - caps? ( >=sys-libs/libcap-2.0 ) - zstd? ( app-arch/zstd ) -" -DEPEND="${CDEPEND} - nls? ( sys-devel/gettext ) - doc? ( app-doc/doxygen ) - virtual/pkgconfig - test? ( sys-apps/fakechroot ) -" -RDEPEND="${CDEPEND} - selinux? ( sec-policy/selinux-rpm ) -" - -pkg_setup() { - use lua && lua-single_pkg_setup - use python && python-single-r1_pkg_setup -} - -src_prepare() { - eapply "${FILESDIR}"/${P}-autotools.patch - eapply "${FILESDIR}"/${PN}-4.8.1-db-path.patch - eapply "${FILESDIR}"/${P}-libdir.patch - - # fix #356769 - sed -i 's:%{_var}/tmp:/var/tmp:' macros.in || die "Fixing tmppath failed" - # fix #492642 - sed -i "s:@__PYTHON@:${PYTHON}:" macros.in || die "Fixing %__python failed" - - eapply_user - - eautoreconf - - # Prevent automake maintainer mode from kicking in (#450448). - touch -r Makefile.am preinstall.am -} - -src_configure() { - append-cppflags -I"${EPREFIX}/usr/include/nss" -I"${EPREFIX}/usr/include/nspr" - econf \ - --without-selinux \ - --with-crypto=nss \ - $(use_enable python) \ - $(use_enable nls) \ - $(use_enable dbus inhibit-plugin) \ - $(use_with lua) \ - $(use_with caps cap) \ - $(use_with acl) \ - $(use_enable zstd zstd $(usex zstd yes no)) -} - -src_install() { - default - - # remove la files - find "${ED}" -name '*.la' -delete || die - - # fix symlinks to /bin/rpm (#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 - for docname in librpm; do - docinto "html/${docname}" - dodoc -r "doc/${docname}/html/." - done - fi - - # Fix perllocal.pod file collision - perl_delete_localpod - - use python && python_optimize -} - -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 -} - -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 new file mode 100644 index 000000000000..5054bab122a8 --- /dev/null +++ b/app-arch/rpm/rpm-4.18.1.ebuild @@ -0,0 +1,172 @@ +# 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_{10..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" +IUSE="acl audit caps +berkdb doc dbus nls openmp python readline selinux +sqlite test +zstd" +REQUIRED_USE=" + ${LUA_REQUIRED_USE} + python? ( ${PYTHON_REQUIRED_USE} ) +" +# Tests are broken. See bug #657500 +RESTRICT="test" + +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.8.1-clang.patch + "${FILESDIR}"/${PN}-4.17.0-libdir.patch + "${FILESDIR}"/${PN}-4.18.1-musl-nls.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + lua-single_pkg_setup + + use python && python-single-r1_pkg_setup + + # 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 + local myeconfargs=( + --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)) + ) + + econf "${myeconfargs[@]}" +} + +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.19.1.1.ebuild b/app-arch/rpm/rpm-4.19.1.1.ebuild new file mode 100644 index 000000000000..30fa81d1ff98 --- /dev/null +++ b/app-arch/rpm/rpm-4.19.1.1.ebuild @@ -0,0 +1,134 @@ +# Copyright 2023-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +CMAKE_MAKEFILE_GENERATOR=emake +LUA_COMPAT=( lua5-{3,4} ) +PYTHON_COMPAT=( python3_{10..12} ) + +inherit cmake lua-single python-single-r1 toolchain-funcs + +DESCRIPTION="The RPM Package Manager" +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 ~riscv ~s390 ~sparc ~x86" +IUSE="acl audit caps +berkdb doc dbus nls openmp python readline selinux +sequoia +sqlite" +REQUIRED_USE=" + ${LUA_REQUIRED_USE} + python? ( ${PYTHON_REQUIRED_USE} ) +" +# Tests run against a Fedora container image, which needs to be pulled. +RESTRICT="test" + +DEPEND=" + ${LUA_DEPS} + >=app-arch/bzip2-1.0.1 + app-arch/libarchive:= + app-arch/xz-utils + app-arch/zstd:= + >=app-crypt/gnupg-1.2 + >=dev-lang/perl-5.8.8 + dev-libs/elfutils + >=dev-libs/popt-1.7 + sys-apps/file + sys-libs/readline:= + >=sys-libs/zlib-1.2.3-r1 + acl? ( virtual/acl ) + audit? ( sys-process/audit ) + caps? ( >=sys-libs/libcap-2.0 ) + dbus? ( sys-apps/dbus ) + nls? ( virtual/libintl ) + python? ( ${PYTHON_DEPS} ) + readline? ( sys-libs/readline:= ) + sequoia? ( app-crypt/rpm-sequoia ) + !sequoia? ( dev-libs/libgcrypt:= ) + sqlite? ( dev-db/sqlite:3 ) +" +BDEPEND=" + virtual/pkgconfig + doc? ( app-text/doxygen ) + nls? ( sys-devel/gettext ) +" +RDEPEND=" + ${DEPEND} + selinux? ( sec-policy/selinux-rpm ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-4.19.0-libdir.patch + "${FILESDIR}"/${P}-musl-compat.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + lua-single_pkg_setup + + use python && python-single-r1_pkg_setup + + # bug #779769 + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_prepare() { + cmake_src_prepare +} + +src_configure() { + # rpm no longer supports berkdb, but has readonly support. + # https://github.com/rpm-software-management/rpm/commit/4290300e24c5ab17c615b6108f38438e31eeb1d0 + local mycmakeargs=( + -DENABLE_TESTSUITE=OFF + -DWITH_FAPOLICYD=OFF + -DWITH_SELINUX=OFF + -DENABLE_BDB_RO=$(usex berkdb) + -DENABLE_NLS=$(usex nls) + -DENABLE_OPENMP=$(usex openmp) + -DENABLE_PYTHON=$(usex python) + -DENABLE_SQLITE=$(usex sqlite) + -DWITH_ACL=$(usex acl) + -DWITH_AUDIT=$(usex audit) + -DWITH_CAP=$(usex caps) + -DWITH_DBUS=$(usex dbus) + -DWITH_INTERNAL_OPENPGP=$(usex sequoia OFF ON) + -DWITH_READLINE=$(usex readline) + $(cmake_use_find_package doc Doxygen) + ) + cmake_src_configure +} + +src_test() { + emake -C "${BUILD_DIR}" check +} + +src_install() { + cmake_src_install + + # Remove pre-built API docs. + use doc || rm -rf "${ED}/usr/share/doc/${PF}" || die + + dodoc CREDITS README + + keepdir /usr/src/rpm/{SRPMS,SPECS,SOURCES,RPMS,BUILD} + + use python && python_optimize +} + +pkg_postinst() { + if [[ -f "${EROOT}"/var/lib/rpm/rpmdb.sqlite ]] ; 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 +} |