linamh/app-arch/rpm/rpm-5.2.0.ebuild

112 lines
2.9 KiB
Bash

# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/rpm-5.0.3.ebuild,v 1.2 2008/09/25 09:54:44 aballier Exp $
inherit multilib distutils python
MY_P=${P/_alpha/a}
MY_P=${P/_beta/b}
DESCRIPTION="RPM Package Manager"
HOMEPAGE="http://rpm5.org/"
SRC_URI="http://rpm5.org/files/rpm/rpm-5.2/${MY_P}.tar.gz"
LICENSE="GPL-2 LGPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"
IUSE="berkdb bzip2 doc file lua neon nls pcre perl python selinux sqlite"
# dmalloc? ( dev-libs/dmalloc )
# efence? ( dev-util/efence )
# keyutils? ( sys-apps/keyutils )
# xar? ( app-arch/xar )
RDEPEND="dev-libs/beecrypt
dev-libs/popt
berkdb? ( sys-libs/db )
bzip2? ( app-arch/bzip2 )
lua? ( dev-lang/lua )
neon? ( net-misc/neon )
pcre? ( dev-libs/libpcre )
perl? ( dev-lang/perl )
python? ( dev-lang/python )
selinux? ( sys-libs/libselinux )
sqlite? ( dev-db/sqlite )"
# comes bundled with modified zlib
# >=sys-libs/zlib-1.2.3-r1
DEPEND="${RDEPEND}
doc? ( app-doc/doxygen )
nls? ( sys-devel/gettext )"
S=${WORKDIR}/${MY_P}
pkg_setup () {
ewarn "If you are upgrading from an rpm version of 5.0.0 or lower, "
ewarn "your database will not be updated. Please back up your "
ewarn "database and run: "
ewarn " rpm --initdb"
}
src_unpack() {
unpack ${A}
cd "${S}"
rm -rf file xar #db
sed -i \
-e '/^pkgconfigdir/s:=.*:=$(libdir)/pkgconfig:' \
scripts/Makefile.in || die
}
src_compile() {
# $(use_with dmalloc) \
# $(use_with efence) \
# $(use_with keyutils) \
# $(use_with xar) \
# --with-libelf
use python && python_version
econf \
$(use_with berkdb db) \
$(use_with bzip2) \
$(use_with doc apidocs) \
$(use_with file) \
$(use_with lua) \
$(use_with neon) \
$(use_with nls) \
$(use_with pcre) \
$(use_with perl) \
$(use_with python) \
$(use_with selinux) \
$(use_with sqlite) \
$(use berkdb || use sqlite || echo --with-db) \
--with-path-lib="/usr/$(get_libdir)/rpm" \
--with-python-lib-dir="/usr/$(get_libdir)/python${PYVER}" \
|| die "econf failed"
emake || die "emake failed"
}
src_install() {
emake DESTDIR="${D}" install || die "emake install failed"
dodoc CHANGES CREDITS NEWS README TODO
}
pkg_preinst() {
enewgroup rpm 37
enewuser rpm 37 /bin/sh /var/lib/rpm rpm
}
pkg_postinst() {
chown -R rpm:rpm "${ROOT}"/usr/$(get_libdir)/rpm
chown -R rpm:rpm "${ROOT}"/var/lib/rpm
chown rpm:rpm "${ROOT}"/usr/bin/rpm{,2cpio,build,constant}
if [[ ${ROOT} == "/" ]] ; then
if [[ -f ${ROOT}/var/lib/rpm/Packages ]] ; then
einfo "RPM database found... Rebuilding database (may take a while)..."
"${ROOT}"/usr/bin/rpm --rebuilddb --root="${ROOT}"
else
einfo "No RPM database found... Creating database..."
"${ROOT}"/usr/bin/rpm --initdb --root="${ROOT}"
fi
fi
chown rpm:rpm "${ROOT}"/var/lib/rpm/*
distutils_pkg_postinst
}