summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSandro Bonazzola <sanchan@gentoo.org>2007-02-12 19:44:53 +0000
committerSandro Bonazzola <sanchan@gentoo.org>2007-02-12 19:44:53 +0000
commit01590e491cdf951dcbc00bc19e26f73399c6db3a (patch)
tree3c73325dcea68d9feafbd77df5871375fbe491a2 /app-arch/rpm
parentremoval (diff)
downloadgentoo-2-01590e491cdf951dcbc00bc19e26f73399c6db3a.tar.gz
gentoo-2-01590e491cdf951dcbc00bc19e26f73399c6db3a.tar.bz2
gentoo-2-01590e491cdf951dcbc00bc19e26f73399c6db3a.zip
ebuild bump trying to increase QA level of this package as per bug #162447. Added a workaround trying to fix bug #153292. Thanks to Marti Raudsepp <marti@juffo.org> for reporting. Thanks to Jeff Johnson <n3npq.jbj@gmail.com> and Ken Gilmer <ken@buglabs.net> for their help.
(Portage version: 2.1.2-r9)
Diffstat (limited to 'app-arch/rpm')
-rw-r--r--app-arch/rpm/ChangeLog29
-rw-r--r--app-arch/rpm/files/digest-rpm-4.4.6-r43
-rw-r--r--app-arch/rpm/files/digest-rpm-4.4.7-r23
-rw-r--r--app-arch/rpm/files/digest-rpm-4.4.7-r36
-rw-r--r--app-arch/rpm/files/rpm-4.4.6-qa-fix-undefined.patch21
-rw-r--r--app-arch/rpm/files/rpm-4.4.7-qa-fix-undefined.patch33
-rw-r--r--app-arch/rpm/files/rpm-4.4.7-qa-implicit-function-to-pointer.patch14
-rw-r--r--app-arch/rpm/rpm-4.4.6-r3.ebuild4
-rw-r--r--app-arch/rpm/rpm-4.4.6-r4.ebuild106
-rw-r--r--app-arch/rpm/rpm-4.4.7-r1.ebuild4
-rw-r--r--app-arch/rpm/rpm-4.4.7-r2.ebuild181
-rw-r--r--app-arch/rpm/rpm-4.4.7-r3.ebuild258
12 files changed, 485 insertions, 177 deletions
diff --git a/app-arch/rpm/ChangeLog b/app-arch/rpm/ChangeLog
index 2f48da7aa9bf..639832227f2d 100644
--- a/app-arch/rpm/ChangeLog
+++ b/app-arch/rpm/ChangeLog
@@ -1,8 +1,19 @@
# ChangeLog for app-arch/rpm
# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/ChangeLog,v 1.78 2007/01/16 22:10:59 sanchan Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/ChangeLog,v 1.79 2007/02/12 19:44:53 sanchan Exp $
- 16 Jan 2007; Sandro Bonazzola <sanchan@gentoo.org>
+*rpm-4.4.7-r3 (12 Feb 2007)
+*rpm-4.4.6-r4 (12 Feb 2007)
+
+ 12 Feb 2007; Sandro Bonazzola <sanchan@gentoo.org>
+ +files/rpm-4.4.6-qa-fix-undefined.patch,
+ +files/rpm-4.4.7-qa-fix-undefined.patch,
+ +files/rpm-4.4.7-qa-implicit-function-to-pointer.patch,
+ +rpm-4.4.6-r4.ebuild, rpm-4.4.7-r2.ebuild, +rpm-4.4.7-r3.ebuild:
+ ebuild bump trying to increase QA level of this package as per bug #162447.
+ Added a workaround trying to fix bug #153292. Thanks to Marti Raudsepp <marti@juffo.org>
+ for reporting. Thanks to Jeff Johnson <n3npq.jbj@gmail.com> and Ken Gilmer <ken@buglabs.net>
+ for their help.
*rpm-4.4.7-r2 (16 Jan 2007)
@@ -237,7 +248,7 @@
Mark stable on alpha
7 Mar 2003; Stefan Jones <cretin@gentoo.org> rpm-4.2.ebuild :
- Added dev-libs/elfutils to DEPEND
+ Added dev-libs/elfutils to DEPEND
6 Mar 2003; Stefan Jones <cretin@gentoo.org> rpm-4.2.ebuild :
Newest rpm available from redhat rawhide. Seems to work fine.
@@ -255,7 +266,7 @@
*rpm-4.1 (19 Feb 2003)
- 19 Feb 2003; Nick Hadaway <raker@gentoo.org> rpm-4.1.ebuild,
+ 19 Feb 2003; Nick Hadaway <raker@gentoo.org> rpm-4.1.ebuild,
files/digest-rpm-4.1, files/rpm-4.1-system-popt.diff :
Package builds. rpm doesn't run. All are -arch. This has
been added to portage so people can test and maybe find a
@@ -269,19 +280,19 @@
jwarren@cheesefoam.dyndns.org (Jeremy Warren) in bug #13784.
06 Dec 2002; Rodney Rees <manson@gentoo.org> : changed sparc ~sparc keywords
-
+
12 Oct 2002; Bruce A. Locke <blocke@shivan.org> rpm-4.0.4-r4.ebuild:
Remove dead symlink (bug #8578) and ebuild no longer blindly creates
a database if one already exists.
*rpm-4.0.4-r3 (23 Jul 2002)
- 14 Sep 2002; Maarten Thibaut <murphy@gentoo.org> ChangeLog rpm-4.0.4-r3.ebuild:
+ 14 Sep 2002; Maarten Thibaut <murphy@gentoo.org> ChangeLog rpm-4.0.4-r3.ebuild:
This package can not compile on sparc64 without a --host option to configure,
so I added that flag. Revamped ChangeLog layout according to new guidelines.
-
- 07 Sep 2002; Seemant Kulleen <seemant@gentoo.org> rpm-4.0.4-r3.ebuild:
- This package can not compile with autoconf-2.53a, so autoconf-2.1 is forced.
+
+ 07 Sep 2002; Seemant Kulleen <seemant@gentoo.org> rpm-4.0.4-r3.ebuild:
+ This package can not compile with autoconf-2.53a, so autoconf-2.1 is forced.
Thanks to: garion@garion.mnbsyr.com (John Sutherland) in bug #7595
23 Jul 2002; Seemant Kulleen <seemant@gentoo.org> rpm-4.0.4-r3.ebuild: In keeping
diff --git a/app-arch/rpm/files/digest-rpm-4.4.6-r4 b/app-arch/rpm/files/digest-rpm-4.4.6-r4
new file mode 100644
index 000000000000..8dae251f56e0
--- /dev/null
+++ b/app-arch/rpm/files/digest-rpm-4.4.6-r4
@@ -0,0 +1,3 @@
+MD5 baa6f371446c65b4080d1cd1f194a7ae rpm-4.4.6.tar.gz 17157249
+RMD160 6b433d20a63fb2542244ae62eff0a8b5fe290439 rpm-4.4.6.tar.gz 17157249
+SHA256 1e1da50af2b9dfe34c79315eae7520e7e57087671e17ce26107d779ae2b0b595 rpm-4.4.6.tar.gz 17157249
diff --git a/app-arch/rpm/files/digest-rpm-4.4.7-r2 b/app-arch/rpm/files/digest-rpm-4.4.7-r2
index 2739a8ed4c19..8ad784707d6f 100644
--- a/app-arch/rpm/files/digest-rpm-4.4.7-r2
+++ b/app-arch/rpm/files/digest-rpm-4.4.7-r2
@@ -1,6 +1,3 @@
-MD5 3df07424eb50a8dc9f174acd649746af rpm-4.4.7-patches-1.tar.gz 48537
-RMD160 9baaf952fa105bc2a51241eac89ff28ffd2378a0 rpm-4.4.7-patches-1.tar.gz 48537
-SHA256 1444dc2eb7c07953bd5e0857d6d9db3817a692308729288d3acd84910abdb4a4 rpm-4.4.7-patches-1.tar.gz 48537
MD5 d012c81b5169f7377ea4a36607e1445e rpm-4.4.7.tar.gz 14125623
RMD160 9002eb0fe1d680d8bff447d6918f9726c9a4e34c rpm-4.4.7.tar.gz 14125623
SHA256 18fde4195e4ac21a4290327336948f8c4fc58a680395edbb5f2f31bae67b18b5 rpm-4.4.7.tar.gz 14125623
diff --git a/app-arch/rpm/files/digest-rpm-4.4.7-r3 b/app-arch/rpm/files/digest-rpm-4.4.7-r3
new file mode 100644
index 000000000000..2739a8ed4c19
--- /dev/null
+++ b/app-arch/rpm/files/digest-rpm-4.4.7-r3
@@ -0,0 +1,6 @@
+MD5 3df07424eb50a8dc9f174acd649746af rpm-4.4.7-patches-1.tar.gz 48537
+RMD160 9baaf952fa105bc2a51241eac89ff28ffd2378a0 rpm-4.4.7-patches-1.tar.gz 48537
+SHA256 1444dc2eb7c07953bd5e0857d6d9db3817a692308729288d3acd84910abdb4a4 rpm-4.4.7-patches-1.tar.gz 48537
+MD5 d012c81b5169f7377ea4a36607e1445e rpm-4.4.7.tar.gz 14125623
+RMD160 9002eb0fe1d680d8bff447d6918f9726c9a4e34c rpm-4.4.7.tar.gz 14125623
+SHA256 18fde4195e4ac21a4290327336948f8c4fc58a680395edbb5f2f31bae67b18b5 rpm-4.4.7.tar.gz 14125623
diff --git a/app-arch/rpm/files/rpm-4.4.6-qa-fix-undefined.patch b/app-arch/rpm/files/rpm-4.4.6-qa-fix-undefined.patch
new file mode 100644
index 000000000000..25537d19b009
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.4.6-qa-fix-undefined.patch
@@ -0,0 +1,21 @@
+--- rpm-4.4.6/rpmio/url.c.orig 2007-01-20 16:29:35.471962977 +0100
++++ rpm-4.4.6/rpmio/url.c 2007-01-20 16:30:34.438967191 +0100
+@@ -28,6 +28,8 @@
+ #define IPPORT_PGPKEYSERVER 11371
+ #endif
+
++#include <neon/ne_session.h>
++
+ /**
+ */
+ /*@unchecked@*/
+
+--- rpm-4.4.6/lib/rpmfi.c.orig 2007-01-20 18:11:30.186124993 +0100
++++ rpm-4.4.6/lib/rpmfi.c 2007-01-20 18:13:26.938313715 +0100
+@@ -24,6 +24,7 @@
+
+ #include "misc.h" /* XXX stripTrailingChar */
+ #include "rpmmacro.h" /* XXX rpmCleanPath */
++#include "legacy.h" /* XXX dodigest */
+
+ #include "debug.h"
diff --git a/app-arch/rpm/files/rpm-4.4.7-qa-fix-undefined.patch b/app-arch/rpm/files/rpm-4.4.7-qa-fix-undefined.patch
new file mode 100644
index 000000000000..a5627ebc0599
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.4.7-qa-fix-undefined.patch
@@ -0,0 +1,33 @@
+--- rpmio/url.c.orig 2007-01-20 16:29:35.471962977 +0100
++++ rpmio/url.c 2007-01-20 16:30:34.438967191 +0100
+@@ -28,6 +28,8 @@
+ #define IPPORT_PGPKEYSERVER 11371
+ #endif
+
++#include <neon/ne_session.h>
++
+ /**
+ */
+ /*@unchecked@*/
+
+--- lib/rpmrc.c.orig 2007-01-20 16:40:21.922342919 +0100
++++ lib/rpmrc.c 2007-01-20 16:42:11.185674112 +0100
+@@ -13,7 +13,7 @@
+ #else
+ #define __power_pc() 0
+ #endif
+-
++#include <rpmio_internal.h>
+ #include <rpmcli.h>
+ #include <rpmmacro.h>
+ #include <rpmlua.h>
+
+--- lib/rpmfi.c.orig 2007-01-20 18:11:30.186124993 +0100
++++ lib/rpmfi.c 2007-01-20 18:13:26.938313715 +0100
+@@ -24,6 +24,7 @@
+
+ #include "misc.h" /* XXX stripTrailingChar */
+ #include "rpmmacro.h" /* XXX rpmCleanPath */
++#include "legacy.h" /* XXX dodigest */
+
+ #include "debug.h"
diff --git a/app-arch/rpm/files/rpm-4.4.7-qa-implicit-function-to-pointer.patch b/app-arch/rpm/files/rpm-4.4.7-qa-implicit-function-to-pointer.patch
new file mode 100644
index 000000000000..96f7afbf1eab
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.4.7-qa-implicit-function-to-pointer.patch
@@ -0,0 +1,14 @@
+Fix QA Notice: Function `dbiFreeIndexSet' implicitly converted to pointer at transaction.c:2086
+that will almost certainly crash on 64bit architectures.
+Patch provided by Jeff Johnson <n3npq.jbj@gmail.com> on Rpm-devel list.
+--- rpm-4.4.7/lib/transaction.c.orig 2007-01-20 15:44:30.275657635 +0100
++++ rpm-4.4.7/lib/transaction.c 2007-01-20 15:45:09.818625107 +0100
+@@ -2083,7 +2083,7 @@
+ shared->isRemoved = (knownBad == ro);
+ shared++;
+ }
+- matches[i] = dbiFreeIndexSet(matches[i]);
++ (void) dbiFreeIndexSet(matches[i]);
+ }
+ numShared = shared - sharedList;
+ shared->otherPkg = -1;
diff --git a/app-arch/rpm/rpm-4.4.6-r3.ebuild b/app-arch/rpm/rpm-4.4.6-r3.ebuild
index b67487186a0c..0b6ac16a7ca6 100644
--- a/app-arch/rpm/rpm-4.4.6-r3.ebuild
+++ b/app-arch/rpm/rpm-4.4.6-r3.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2006 Gentoo Foundation
+# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/rpm-4.4.6-r3.ebuild,v 1.1 2006/11/06 21:11:24 sanchan Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/rpm-4.4.6-r3.ebuild,v 1.2 2007/02/12 19:44:53 sanchan Exp $
WANT_AUTOCONF="latest"
WANT_AUTOMAKE="latest"
diff --git a/app-arch/rpm/rpm-4.4.6-r4.ebuild b/app-arch/rpm/rpm-4.4.6-r4.ebuild
new file mode 100644
index 000000000000..9dd6bd0198e8
--- /dev/null
+++ b/app-arch/rpm/rpm-4.4.6-r4.ebuild
@@ -0,0 +1,106 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/rpm-4.4.6-r4.ebuild,v 1.1 2007/02/12 19:44:53 sanchan Exp $
+
+inherit eutils autotools distutils perl-module flag-o-matic
+
+DESCRIPTION="Red Hat Package Management Utils"
+HOMEPAGE="http://www.rpm.org/"
+SRC_URI="http://wraptastic.org/pub/rpm-4.4.x/${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 perl doc sqlite"
+
+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
+ virtual/libintl
+ >=dev-libs/beecrypt-3.1.0-r1
+ python? ( >=dev-lang/python-2.2 )
+ perl? ( >=dev-lang/perl-5.8.8 )
+ nls? ( virtual/libintl )
+ sqlite? ( >=dev-db/sqlite-3.3.5 )
+ net-misc/neon"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ doc? ( app-doc/doxygen )"
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/${P}-with-sqlite.patch
+ epatch "${FILESDIR}"/${P}-stupidness.patch
+ epatch "${FILESDIR}"/${P}-autotools.patch
+ epatch "${FILESDIR}"/${P}-buffer-overflow.patch
+ epatch "${FILESDIR}"/${P}-qa-fix-undefined.patch
+
+ # rpm uses AM_GNU_GETTEXT() but fails to actually
+ # include any of the required gettext files
+ cp /usr/share/gettext/config.rpath . || die
+
+ # the following are additional libraries that might be packaged with
+ # the rpm sources. grep for "test -d" in configure.ac
+ cp file/src/{file,patchlevel}.h tools/
+ rm -rf beecrypt elfutils neon popt sqlite zlib intl file
+
+ sed -i -e "s:intl ::" Makefile.am
+ sed -i -e "s:intl/Makefile ::" configure.ac
+ AT_NO_RECURSIVE="yes" eautoreconf
+ # TODO Get rid of internal copies of lua, db and db3
+}
+
+src_compile() {
+ # Until strict aliasing is porperly fixed...
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ python_version
+ econf \
+ --enable-posixmutexes \
+ --without-javaglue \
+ --without-selinux \
+ $(use_with python python ${PYVER}) \
+ $(use_with doc apidocs) \
+ $(use_with perl) \
+ $(use_with sqlite) \
+ $(use_enable nls) \
+ || die "econf failed"
+ emake || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ mv "${D}"/bin/rpm "${D}"/usr/bin
+ rmdir "${D}"/bin
+
+ use nls || rm -rf "${D}"/usr/share/man/??
+
+ keepdir /usr/src/rpm/{SRPMS,SPECS,SOURCES,RPMS,BUILD}
+
+ dodoc CHANGES CREDITS GROUPS README* RPM*
+ use doc && dohtml -r apidocs/html/*
+
+ # Fix perllocal.pod file collision
+ use perl && fixlocalpod
+
+ for magic_file in "magic.mime.mgc" "magic.mgc" "magic.mime" "magic"; do
+ dosym /usr/share/misc/file/${magic_file} /usr/lib/rpm/${magic_file}
+ 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
+
+ distutils_pkg_postinst
+}
diff --git a/app-arch/rpm/rpm-4.4.7-r1.ebuild b/app-arch/rpm/rpm-4.4.7-r1.ebuild
index 2a63e1692ebb..b7d95e094be1 100644
--- a/app-arch/rpm/rpm-4.4.7-r1.ebuild
+++ b/app-arch/rpm/rpm-4.4.7-r1.ebuild
@@ -1,6 +1,6 @@
-# Copyright 1999-2006 Gentoo Foundation
+# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/rpm-4.4.7-r1.ebuild,v 1.1 2006/11/06 21:11:24 sanchan Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/rpm-4.4.7-r1.ebuild,v 1.2 2007/02/12 19:44:53 sanchan Exp $
WANT_AUTOCONF="latest"
WANT_AUTOMAKE="latest"
diff --git a/app-arch/rpm/rpm-4.4.7-r2.ebuild b/app-arch/rpm/rpm-4.4.7-r2.ebuild
index 0d1a0657b7bf..8538189a621f 100644
--- a/app-arch/rpm/rpm-4.4.7-r2.ebuild
+++ b/app-arch/rpm/rpm-4.4.7-r2.ebuild
@@ -1,48 +1,35 @@
# Copyright 1999-2007 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/rpm-4.4.7-r2.ebuild,v 1.1 2007/01/16 22:10:59 sanchan Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/rpm-4.4.7-r2.ebuild,v 1.2 2007/02/12 19:44:53 sanchan Exp $
-WANT_AUTOCONF="latest"
-WANT_AUTOMAKE="latest"
-inherit eutils autotools distutils perl-module gnuconfig toolchain-funcs
+inherit eutils autotools distutils perl-module flag-o-matic
DESCRIPTION="Red Hat Package Management Utils"
HOMEPAGE="http://www.rpm.org/"
-SRC_URI="http://wraptastic.org/pub/rpm-4.4.x/${P}.tar.gz
- http://dev.gentoo.org/~sanchan/patches/rpm-4.4.7-patches-1.tar.gz"
+SRC_URI="http://wraptastic.org/pub/rpm-4.4.x/${P}.tar.gz"
LICENSE="GPL-2 LGPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
-IUSE="berkdb doc elibc_uclibc java lua minimal nls perl python sqlite threads"
-GUID="37"
+IUSE="nls python perl doc sqlite"
-RDEPEND="berkdb? ( >sys-libs/db-4 )
+RDEPEND="=sys-libs/db-3.2*
>=sys-libs/zlib-1.2.3-r1
>=app-arch/bzip2-1.0.1
>=dev-libs/popt-1.7
>=app-crypt/gnupg-1.2
- elibc_glibc? ( dev-libs/elfutils )
+ dev-libs/elfutils
virtual/libintl
- >=dev-libs/beecrypt-4.1.2
+ >=dev-libs/beecrypt-3.1.0-r1
python? ( >=dev-lang/python-2.2 )
perl? ( >=dev-lang/perl-5.8.8 )
- nls? ( sys-devel/gettext )
+ nls? ( virtual/libintl )
sqlite? ( >=dev-db/sqlite-3.3.5 )
net-misc/neon"
-# lua? ( dev-lang/lua )
DEPEND="${RDEPEND}
nls? ( sys-devel/gettext )
doc? ( app-doc/doxygen )"
-pkg_setup() {
- if ! (use berkdb || use sqlite) ; then
- ewarn "Haven't chosen any database format, either berkdb or sqlite"
- ewarn "have to be used!"
- die
- fi
-}
-
src_unpack() {
unpack ${A}
cd "${S}"
@@ -50,103 +37,36 @@ src_unpack() {
epatch "${FILESDIR}"/rpm-4.4.7-stupidness.patch
epatch "${FILESDIR}"/rpm-4.4.6-autotools.patch
epatch "${FILESDIR}"/rpm-4.4.6-buffer-overflow.patch
- epatch "${WORKDIR}"/${P}-openpkg.bugfix.patch
- epatch "${WORKDIR}"/${P}-openpkg.porting.patch
- epatch "${WORKDIR}"/${P}-openpkg.feature.patch
- epatch "${WORKDIR}"/${P}-libintl.patch
- epatch "${FILESDIR}"/rpm-4.0.4-sandbox.patch
- epatch "${WORKDIR}"/${P}-zdefs.patch
- epatch "${WORKDIR}"/${P}-zdefs-x_functions.patch
- epatch "${WORKDIR}"/${P}-uclibc-nolibio.patch
- epatch "${WORKDIR}"/${P}-uclibc-no__fxstat64.patch
- epatch "${WORKDIR}"/${P}-fix-exec_prefix.patch
-
- epatch "${WORKDIR}"/${P}-no_threads.patch
- epatch "${WORKDIR}"/${P}-no_threads2.patch
- epatch "${WORKDIR}"/${P}-with-threads.patch
-
- epatch "${WORKDIR}"/${P}-gentoo.patch
- epatch "${WORKDIR}"/${P}-fix-redhat.patch
- epatch "${FILESDIR}"/rpm-4.0.4-gentoo-uclibc.patch
-
- epatch "${WORKDIR}"/${P}-external_db.patch
- epatch "${WORKDIR}"/${P}-external_db2.patch
- epatch "${WORKDIR}"/${P}-external_db3.patch
-
- epatch "${WORKDIR}"/${P}-no_lua.patch
-
- cp autodeps/linux.req autodeps/linux-uclibc.req
- cp autodeps/linux.prov autodeps/linux-uclibc.prov
+ epatch "${FILESDIR}"/${P}-qa-implicit-function-to-pointer.patch
+ epatch "${FILESDIR}"/${P}-qa-fix-undefined.patch
# rpm uses AM_GNU_GETTEXT() but fails to actually
# include any of the required gettext files
- # the gettext files exist only if gettext is installed (not on uClibc)
- if use nls ; then
- cp /usr/share/gettext/config.rpath . || die
- else
- epatch "${FILESDIR}"/${P}-config.rpath.patch
- sed -i -e '/AM_GNU_GETTEXT/d' configure.ac
- sed -i -e '/^SUBDIRS/s:po::' Makefile.am
- fi
- if use elibc_uclibc ; then
- sed -i 's:--enable-rpc:--disable-rpc:' db3/configure
- sed -i 's:rpmdb_svc rpmdb_stat:rpmdb_stat:' rpmdb/Makefile.am
- fi
+ cp /usr/share/gettext/config.rpath . || die
# the following are additional libraries that might be packaged with
# the rpm sources. grep for "test -d" in configure.ac
cp file/src/{file,patchlevel}.h tools/
- rm -rf beecrypt elfutils neon popt sqlite zlib intl file syck tools
- use lua || rm -rf lua
- use berkdb && rm -rf db db3
- #use sqlite && rm -rf db db3
+ rm -rf beecrypt elfutils neon popt sqlite zlib intl file
sed -i -e "s:intl ::" Makefile.am
sed -i -e "s:intl/Makefile ::" configure.ac
- use nls || sed -i -e "s:@INTLLIBS@::" lib/Makefile.am
- sed -i -e '/lua\/Makefile/d' configure.ac
- sed -i -e '/syck\/Makefile/d' -e '/syck\/lib\/Makefile/d' configure.ac
- sed -i -e '/tools\/Makefile/d' configure.ac
- sed -i -e '/^SUBDIRS/s:tools scripts:scripts:' Makefile.am
-
- gnuconfig_update
AT_NO_RECURSIVE="yes" eautoreconf
- # TODO: make it work with external lua too
+ # TODO Get rid of internal copies of lua, db and db3
}
src_compile() {
- # we use arch-gentoo-linux-{gnu,uclibc} tuple
- export CHOST="${CHOST//-pc-/-gentoo-}"
- export CHOST="${CHOST//-unknown-/-gentoo-}"
-
- local myconf
- if use threads ; then
- myconf="--with-threads --enable-posixmutexes"
- else
- myconf="--without-threads --disable-posixmutexes --with-mutex=\"UNIX/fcntl\""
- fi
- if use minimal ; then
- # it does not work with berkdb, hash method is missing
- if use berkdb ; then
- myconf="${myconf} --disable-cryptography --disable-queue
- --disable-replication --disable-verify"
- else
- myconf="${myconf} --enable-smallbuild"
- fi
- fi
-
-
-#$(use_with perl) \
+ # Until strict aliasing is porperly fixed...
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
python_version
- econf ${myconf} \
+ econf \
+ --enable-posixmutexes \
--without-javaglue \
--without-selinux \
- --without-syck \
- $(use_with lua) \
$(use_with python python ${PYVER}) \
$(use_with doc apidocs) \
- --without-perl \
- $(use_with db) \
+ $(use_with perl) \
$(use_with sqlite) \
$(use_enable nls) \
|| die "econf failed"
@@ -161,76 +81,16 @@ src_install() {
use nls || rm -rf "${D}"/usr/share/man/??
- keepdir /etc/rpm
- keepdir /var/spool/repackage
- keepdir /var/lib/rpm
- local dbi
- for dbi in \
- Basenames Conflictname Dirnames Group Installtid Name Packages \
- Providename Provideversion Requirename Requireversion Triggername \
- Filemd5s Pubkeys Sha1header Sigmd5 Depends \
- __db.001 __db.002 __db.003 __db.004 __db.006 __db.007 \
- __db.008 __db.009
- do
- touch "${D}"/var/lib/rpm/${dbi}
- done
- keepdir /usr/src/gentoo/{SRPMS,SPECS,SOURCES,RPMS,BUILD}
- keepdir /usr/src/gentoo/RPMS/noarch
- keepdir /usr/src/gentoo/RPMS/$(tc-arch)
- local x
- if [[ $(tc-arch) == "x86" ]] ; then
- for x in athlon i386 i486 i586 i686 pentium3 pentium4 ; do
- keepdir /usr/src/gentoo/RPMS/${x}
- done
- #else
- #[[ $(tc-arch) == "ppc64" ]] && keepdir /usr/src/gentoo/RPMS/ppc
- fi
+ keepdir /usr/src/rpm/{SRPMS,SPECS,SOURCES,RPMS,BUILD}
dodoc CHANGES CREDITS GROUPS README* RPM*
use doc && dohtml -r apidocs/html/*
# Fix perllocal.pod file collision
use perl && fixlocalpod
-
- # remove development stuff
- rm -rf "${D}"/usr/include
- rm -f "${D}"/usr/lib/lib*.*a
- rm -f "${D}"/usr/lib/rpm/rpmcache
- rm -f "${D}"/usr/bin/rpmgraph
- rm -f "${D}"/usr/share/man/man*/rpmcache*
- rm -f "${D}"/usr/share/man/man*/rpmgraph*
- # remove unneeded links
- rm -f "${D}"/usr/bin/rpm?
- # remove unused utilities/files
- #rm -f "${D}"/usr/lib/rpm/rpm.{daily,log,xinetd}
- rm -f "${D}"/usr/lib/rpm/rpm.xinetd
- [[ $(tc-arch) != "sparc64" ]] && rm -f "${D}"/usr/lib/rpm/*sparc64*
- use java || rm -f "${D}"/usr/lib/rpm/*java*
- dodir /etc/logrotate.d
- mv "${D}"/usr/lib/rpm/rpm.log "${D}"/etc/logrotate.d/rpm
- dodir /etc/cron.daily
- mv "${D}"/usr/lib/rpm/rpm.daily "${D}"/etc/cron.daily/rpm
- # remove unused requirement checks
- rm -f "${D}"/usr/lib/rpm/{tcl,sql}.*
- # misc
- rm -f "${D}"/usr/lib/rpm/{Specfile.pm,cpanflute,cpanflute2,rpmdiff,rpmdiff.cgi}
- # disable automatic perl requirements
- # puts too much info into db
- chmod 644 "${D}"/usr/lib/rpm/perl.req
-
- dodir /etc/env.d
- echo 'CONFIG_PROTECT_MASK="/var/lib/rpm"' > "${D}"/etc/env.d/50rpm
-}
-
-pkg_preinst() {
- enewgroup ${PN} ${GUID}
- enewuser ${PN} ${GUID} /bin/bash /var/lib/rpm rpm
}
pkg_postinst() {
- chown -R rpm:rpm ${ROOT}/usr/lib/rpm
- chown -R rpm:rpm ${ROOT}/var/lib/rpm
- chown rpm:rpm ${ROOT}/usr/bin/rpm{,2cpio,build,db,query,sign,verify}
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}
@@ -238,7 +98,6 @@ pkg_postinst() {
einfo "No RPM database found... Creating database..."
"${ROOT}"/usr/bin/rpm --initdb --root=${ROOT}
fi
- chown rpm:rpm ${ROOT}/var/lib/rpm/*
distutils_pkg_postinst
}
diff --git a/app-arch/rpm/rpm-4.4.7-r3.ebuild b/app-arch/rpm/rpm-4.4.7-r3.ebuild
new file mode 100644
index 000000000000..6f5649e06220
--- /dev/null
+++ b/app-arch/rpm/rpm-4.4.7-r3.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/rpm-4.4.7-r3.ebuild,v 1.1 2007/02/12 19:44:53 sanchan Exp $
+
+inherit eutils autotools distutils gnuconfig toolchain-funcs flag-o-matic
+
+DESCRIPTION="Red Hat Package Management Utils"
+HOMEPAGE="http://www.rpm.org/"
+SRC_URI="http://wraptastic.org/pub/rpm-4.4.x/${P}.tar.gz
+ http://dev.gentoo.org/~sanchan/patches/rpm-4.4.7-patches-1.tar.gz"
+
+LICENSE="GPL-2 LGPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="berkdb doc elibc_uclibc java lua minimal nls perl python sqlite threads debug"
+GUID="37"
+
+RDEPEND="berkdb? ( >sys-libs/db-4 )
+ >=sys-libs/zlib-1.2.3-r1
+ >=app-arch/bzip2-1.0.1
+ >=dev-libs/popt-1.7
+ >=app-crypt/gnupg-1.2
+ elibc_glibc? ( dev-libs/elfutils )
+ virtual/libintl
+ >=dev-libs/beecrypt-4.1.2
+ python? ( >=dev-lang/python-2.2 )
+ perl? ( >=dev-lang/perl-5.8.8 )
+ nls? ( sys-devel/gettext )
+ sqlite? ( >=dev-db/sqlite-3.3.5 )
+ net-misc/neon"
+# lua? ( dev-lang/lua )
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ doc? ( app-doc/doxygen )"
+
+pkg_setup() {
+ if use perl; then
+ ewarn "Perl bindings are provided by perl module RPM2. Just run:"
+ ewarn "emerge app-portage/g-cpan"
+ ewarn "g-cpan -i RPM2"
+ ewarn "or if you prefer:"
+ ewarn "g-cpan -i RPM4"
+ fi
+ if ! (use berkdb || use sqlite) ; then
+ ewarn "Haven't chosen any database format, either berkdb or sqlite"
+ ewarn "have to be used!"
+ die
+ fi
+}
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+ epatch "${FILESDIR}"/rpm-4.4.6-with-sqlite.patch
+ epatch "${FILESDIR}"/rpm-4.4.7-stupidness.patch
+ epatch "${FILESDIR}"/rpm-4.4.6-autotools.patch
+ epatch "${FILESDIR}"/rpm-4.4.6-buffer-overflow.patch
+ epatch "${WORKDIR}"/${P}-openpkg.bugfix.patch
+ epatch "${WORKDIR}"/${P}-openpkg.porting.patch
+ epatch "${WORKDIR}"/${P}-openpkg.feature.patch
+ epatch "${WORKDIR}"/${P}-libintl.patch
+ epatch "${FILESDIR}"/rpm-4.0.4-sandbox.patch
+ epatch "${WORKDIR}"/${P}-zdefs.patch
+ epatch "${WORKDIR}"/${P}-zdefs-x_functions.patch
+ epatch "${WORKDIR}"/${P}-uclibc-nolibio.patch
+ epatch "${WORKDIR}"/${P}-uclibc-no__fxstat64.patch
+ epatch "${WORKDIR}"/${P}-fix-exec_prefix.patch
+
+ epatch "${WORKDIR}"/${P}-no_threads.patch
+ epatch "${WORKDIR}"/${P}-no_threads2.patch
+ epatch "${WORKDIR}"/${P}-with-threads.patch
+
+ epatch "${WORKDIR}"/${P}-gentoo.patch
+ epatch "${WORKDIR}"/${P}-fix-redhat.patch
+ epatch "${FILESDIR}"/rpm-4.0.4-gentoo-uclibc.patch
+
+ #epatch "${WORKDIR}"/${P}-external_db.patch
+ #epatch "${WORKDIR}"/${P}-external_db2.patch
+ #epatch "${WORKDIR}"/${P}-external_db3.patch
+
+ epatch "${WORKDIR}"/${P}-no_lua.patch
+ epatch "${FILESDIR}"/${P}-qa-implicit-function-to-pointer.patch
+ epatch "${FILESDIR}"/${P}-qa-fix-undefined.patch
+
+ cp autodeps/linux.req autodeps/linux-uclibc.req
+ cp autodeps/linux.prov autodeps/linux-uclibc.prov
+
+ # rpm uses AM_GNU_GETTEXT() but fails to actually
+ # include any of the required gettext files
+ # the gettext files exist only if gettext is installed (not on uClibc)
+ if use nls ; then
+ cp /usr/share/gettext/config.rpath . || die
+ else
+ epatch "${FILESDIR}"/${P}-config.rpath.patch
+ sed -i -e '/AM_GNU_GETTEXT/d' configure.ac
+ sed -i -e '/^SUBDIRS/s:po::' Makefile.am
+ fi
+ if use elibc_uclibc ; then
+ sed -i 's:--enable-rpc:--disable-rpc:' db3/configure
+ sed -i 's:rpmdb_svc rpmdb_stat:rpmdb_stat:' rpmdb/Makefile.am
+ fi
+
+ # the following are additional libraries that might be packaged with
+ # the rpm sources. grep for "test -d" in configure.ac
+ cp file/src/{file,patchlevel}.h tools/
+ rm -rf beecrypt elfutils neon popt sqlite zlib intl file syck tools perl
+ use lua || rm -rf lua
+
+ sed -i -e "s:intl ::" Makefile.am
+ sed -i -e "s:intl/Makefile ::" configure.ac
+ use nls || sed -i -e "s:@INTLLIBS@::" lib/Makefile.am
+ sed -i -e '/lua\/Makefile/d' configure.ac
+ sed -i -e '/syck\/Makefile/d' -e '/syck\/lib\/Makefile/d' configure.ac
+ sed -i -e '/tools\/Makefile/d' configure.ac
+ sed -i -e '/^SUBDIRS/s:tools scripts:scripts:' Makefile.am
+
+ gnuconfig_update
+ AT_NO_RECURSIVE="yes" eautoreconf
+ # TODO: make it work with external lua too
+}
+
+src_compile() {
+ # Until strict aliasing is porperly fixed...
+ filter-flags -fstrict-aliasing
+ append-flags -fno-strict-aliasing
+ use debug && append-flags -g2 -ggdb && filter-flags -fomit-frame-pointer
+
+ # we use arch-gentoo-linux-{gnu,uclibc} tuple
+ export CHOST="${CHOST//-pc-/-gentoo-}"
+ export CHOST="${CHOST//-unknown-/-gentoo-}"
+
+ local myconf
+ if use threads ; then
+ myconf="--with-threads --enable-posixmutexes"
+ else
+ #myconf="--without-threads --disable-posixmutexes --with-mutex=\"UNIX/fcntl\""
+ myconf="--without-threads --disable-posixmutexes"
+ fi
+ if use berkdb ; then
+ myconf="${myconf} --with-db"
+ else
+ myconf="${myconf} --without-db"
+ fi
+ if use minimal ; then
+ # it does not work with berkdb, hash method is missing
+ if use berkdb ; then
+ myconf="${myconf} --disable-cryptography --disable-queue --disable-replication --disable-verify"
+ else
+ myconf="${myconf} --enable-smallbuild"
+ fi
+ fi
+
+
+ python_version
+ econf ${myconf} \
+ --without-javaglue \
+ --without-selinux \
+ --without-syck \
+ --without-perl \
+ $(use_with lua) \
+ $(use_with python python ${PYVER}) \
+ $(use_with doc apidocs) \
+ $(use_with sqlite) \
+ $(use_enable nls) \
+ || die "econf failed"
+ emake -j1 || die "emake failed"
+}
+
+src_install() {
+ emake DESTDIR="${D}" install || die "emake install failed"
+
+ mv "${D}"/bin/rpm "${D}"/usr/bin
+ rmdir "${D}"/bin
+
+ use nls || rm -rf "${D}"/usr/share/man/??
+
+ keepdir /etc/rpm
+ keepdir /var/spool/repackage
+ keepdir /var/lib/rpm
+ local dbi
+ for dbi in \
+ Basenames Conflictname Dirnames Group Installtid Name Packages \
+ Providename Provideversion Requirename Requireversion Triggername \
+ Filemd5s Pubkeys Sha1header Sigmd5 Depends \
+ __db.001 __db.002 __db.003 __db.004 __db.006 __db.007 \
+ __db.008 __db.009
+ do
+ touch "${D}"/var/lib/rpm/${dbi}
+ done
+ keepdir /usr/src/gentoo/{SRPMS,SPECS,SOURCES,RPMS,BUILD}
+ keepdir /usr/src/gentoo/RPMS/noarch
+ keepdir /usr/src/gentoo/RPMS/$(tc-arch)
+ local x
+ if [[ $(tc-arch) == "x86" ]] ; then
+ for x in athlon i386 i486 i586 i686 pentium3 pentium4 ; do
+ keepdir /usr/src/gentoo/RPMS/${x}
+ done
+ #else
+ #[[ $(tc-arch) == "ppc64" ]] && keepdir /usr/src/gentoo/RPMS/ppc
+ fi
+
+ dodoc CHANGES CREDITS GROUPS README* RPM*
+ use doc && dohtml -r apidocs/html/*
+
+ # remove development stuff
+ rm -rf "${D}"/usr/include
+ rm -f "${D}"/usr/lib/lib*.*a
+ rm -f "${D}"/usr/lib/rpm/rpmcache
+ rm -f "${D}"/usr/bin/rpmgraph
+ rm -f "${D}"/usr/share/man/man*/rpmcache*
+ rm -f "${D}"/usr/share/man/man*/rpmgraph*
+ # remove unneeded links
+ rm -f "${D}"/usr/bin/rpm?
+ # remove unused utilities/files
+ #rm -f "${D}"/usr/lib/rpm/rpm.{daily,log,xinetd}
+ rm -f "${D}"/usr/lib/rpm/rpm.xinetd
+ [[ $(tc-arch) != "sparc64" ]] && rm -f "${D}"/usr/lib/rpm/*sparc64*
+ use java || rm -f "${D}"/usr/lib/rpm/*java*
+ dodir /etc/logrotate.d
+ mv "${D}"/usr/lib/rpm/rpm.log "${D}"/etc/logrotate.d/rpm
+ dodir /etc/cron.daily
+ mv "${D}"/usr/lib/rpm/rpm.daily "${D}"/etc/cron.daily/rpm
+ # remove unused requirement checks
+ rm -f "${D}"/usr/lib/rpm/{tcl,sql}.*
+ # misc
+ rm -f "${D}"/usr/lib/rpm/{Specfile.pm,cpanflute,cpanflute2,rpmdiff,rpmdiff.cgi}
+ # disable automatic perl requirements
+ # puts too much info into db
+ chmod 644 "${D}"/usr/lib/rpm/perl.req
+
+ for magic_file in "magic.mime.mgc" "magic.mgc" "magic.mime" "magic"; do
+ dosym /usr/share/misc/file/${magic_file} /usr/lib/rpm/${magic_file}
+ done
+
+ dodir /etc/env.d
+ echo 'CONFIG_PROTECT_MASK="/var/lib/rpm"' > "${D}"/etc/env.d/50rpm
+}
+
+pkg_preinst() {
+ enewgroup ${PN} ${GUID}
+ enewuser ${PN} ${GUID} /bin/bash /var/lib/rpm rpm
+}
+
+pkg_postinst() {
+ chown -R rpm:rpm ${ROOT}/usr/lib/rpm
+ chown -R rpm:rpm ${ROOT}/var/lib/rpm
+ chown rpm:rpm ${ROOT}/usr/bin/rpm{,2cpio,build,db,query,sign,verify}
+ 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
+ chown rpm:rpm ${ROOT}/var/lib/rpm/*
+
+ distutils_pkg_postinst
+}