This commit is contained in:
Mario Fetka
2023-04-06 11:47:15 +02:00
parent 011cd6e696
commit 1f44a2d3b4
96 changed files with 3912 additions and 51 deletions

5
app-arch/rpm/Manifest Normal file
View File

@@ -0,0 +1,5 @@
AUX rpm-4.17.0-libdir.patch 855 BLAKE2B 81a2daf0577c8dc3feac190764125da7a616e24ccdd38c3715c3c68f7fc831cf2662e629f23ed88f7d133961a40ac7f63acd6c7f52e99f17abe53442b2a5f14e SHA512 68d884cf9d57d89138ee7d6882869b0560aa9cd3dc82b837c47732f2d0248b42fbdafbbcc1f3f04322cd750744d97e4512491fb0591eb0622b2a5d1918391c46
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
EBUILD rpm-4.18.0.ebuild 4096 BLAKE2B 371c8d3817a9d9046dd62dd333a6d95f93378fb5ae43cdf1ec51705caf85a94444b580f07cd32bdf9eb4779681f281328d8a651464975563c0d2291f676bd669 SHA512 91e71e8f963100fbafe72aa4b3119db70112398ed728e425df59e13dcf530c8856a55ac6d6ca9273a08588479765b669711b70d342bd7880b142e3c0eb5aef4d
MISC metadata.xml 260 BLAKE2B 00f83151d62c157bea18101b36007f01e6da9d16d438671c37b929b1e19cfc202f379816a1b0d9e3faea99c44a43f97a5d43100266c683487dabba09f1378eea SHA512 d6fc386bd5be91d5dff3d7aa514f4d72e7301a47f888db95573d72505ee86987ae6412fdd8aec82842c006abe831d99f6178b1ac78a04a7dbf9e5bce1d249cb7

View File

@@ -0,0 +1,32 @@
--- 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)
-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)
--- a/rpm.am
+++ b/rpm.am
@@ -1,10 +1,10 @@
# 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)
# Libtool version (current-revision-age) for all our libraries
rpm_version_info = 11:0:2

View File

@@ -0,0 +1,26 @@
diff --git a/Makefile.am b/Makefile.am
index 587cfa7..498abfb 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -177,7 +177,7 @@ EXTRA_DIST += rpmpopt.in
usrsrcdir = $(prefix)/src
-rpmvardir = $(localstatedir)/lib/rpm
+rpmvardir = $(localstatedir)/rpm
rpmvar_DATA =
install-exec-hook:
diff --git a/macros.in b/macros.in
index ae46fcb..213b53c 100644
--- a/macros.in
+++ b/macros.in
@@ -155,7 +155,7 @@
%_bzip2bin %{__bzip2}
# The location of the rpm database file(s).
-%_dbpath %{_var}/lib/rpm
+%_dbpath %{_var}/rpm
# The location of the rpm database file(s) after "rpm --rebuilddb".
%_dbpath_rebuild %{_dbpath}

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
<remote-id type="github">rpm-software-management/rpm</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,165 @@
# Copyright 1999-2023 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-doc/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
}