summaryrefslogtreecommitdiff
blob: fe7d71ac32bddcdc9a17c4e76640f34de84a23d0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Copyright 1999-2006 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/rpm-4.4.1-r1.ebuild,v 1.1 2006/06/10 08:10:48 chrb Exp $

inherit python flag-o-matic libtool eutils

DESCRIPTION="Red Hat Package Management Utils"
HOMEPAGE="http://www.rpm.org/"
SRC_URI="mirror://gentoo/${P}.tar.gz"

LICENSE="GPL-2 LGPL-2"
SLOT="0"
KEYWORDS="~alpha -amd64 ~arm ~hppa ~ia64 ~mips ~ppc -ppc64 ~s390 ~sh ~sparc ~x86"
IUSE="nls python doc"

RDEPEND="=sys-libs/db-3.2*
	>=sys-libs/zlib-1.1.3
	>=app-arch/bzip2-1.0.1
	>=dev-libs/popt-1.7
	>=app-crypt/gnupg-1.2
	dev-libs/elfutils
	>=dev-libs/beecrypt-3.1.0-r1
	python? ( >=dev-lang/python-2.2 )
	nls? ( virtual/libintl )
	net-misc/neon"

DEPEND="${RDEPEND}
	nls? ( sys-devel/gettext )
	doc? ( app-doc/doxygen )"

src_unpack() {
	unpack ${A}
	epatch ${FILESDIR}/rpm-4.4.1-ubuntu-fixup.patch
	cd ${S}
	elibtoolize
	libtoolize --copy --force
}

src_compile() {
	strip-flags

	unset LD_ASSUME_KERNEL
	local myconf
	myconf="--enable-posixmutexes --without-javaglue --without-selinux"

	python_version
	use python \
		&& myconf="${myconf} --with-python=${PYVER}" \
		|| myconf="${myconf} --without-python"

	econf ${myconf} `use_enable nls` || die
	make || die
}

src_install() {
	make DESTDIR=${D} install || die
	mv ${D}/bin/rpm ${D}/usr/bin
	mv ${D}/bin/rpmbuild ${D}/usr/bin
	rm -rf ${D}/bin
	# Fix for bug #8578 (app-arch/rpm create dead symlink)
	# Local RH 7.3 install has no such symlink anywhere
	# ------
	# UPDATE for 4.1!
	# There is a /usr/lib/rpm/rpmpopt-4.1 now
	# the symlink is still created incorrectly. ???
	rm -f ${D}/usr/lib/rpmpopt
	rm -f ${D}/usr/lib/libpopt*
	rm -f ${D}/usr/include/popt.h
	use nls && rm -f  ${D}/usr/share/locale/*/LC_MESSAGES/popt.mo
	rm -f ${D}/usr/share/man/man3/popt*

	keepdir /var/lib/rpm
	keepdir /usr/src/pc/{SRPMS,SPECS,SOURCES,RPMS,BUILD}
	keepdir /usr/src/pc/RPMS/{noarch,i{3,4,5,6}86,athlon}
	keepdir /usr/src/pc
	dodoc CHANGES CREDITS GROUPS README* RPM* TODO

	use nls || rm -rf ${D}/usr/share/man/{ko,ja,fr,pl,ru,sk}

	# create /usr/src/redhat/ and co for rpmbuild
	for d in /usr/src/redhat/{BUILD,RPMS,SOURCES,SPECS,SRPMS}; do
		dodir "${d}"
	done
}

pkg_postinst() {
	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

	python_version
	python_mod_optimize /usr/lib/python${PYVER}/site-packages/rpmdb
}

pkg_postrm() {
	python_version
	python_mod_cleanup
}