summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-arch')
-rw-r--r--app-arch/rpm/ChangeLog13
-rw-r--r--app-arch/rpm/files/rpm-4.4.6-neon-0.28.patch63
-rw-r--r--app-arch/rpm/rpm-4.4.6-r5.ebuild108
-rw-r--r--app-arch/rpm/rpm-4.4.7-r4.ebuild105
4 files changed, 288 insertions, 1 deletions
diff --git a/app-arch/rpm/ChangeLog b/app-arch/rpm/ChangeLog
index 784b1ab85ecf..ff60ca1db919 100644
--- a/app-arch/rpm/ChangeLog
+++ b/app-arch/rpm/ChangeLog
@@ -1,6 +1,17 @@
# ChangeLog for app-arch/rpm
# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/ChangeLog,v 1.89 2008/03/30 03:49:16 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-arch/rpm/ChangeLog,v 1.90 2008/05/20 07:44:25 caster Exp $
+
+*rpm-4.4.7-r4 (20 May 2008)
+*rpm-4.4.6-r5 (20 May 2008)
+
+ 20 May 2008; Vlastimil Babka <caster@gentoo.org>
+ +files/rpm-4.4.6-neon-0.28.patch, +rpm-4.4.6-r5.ebuild,
+ +rpm-4.4.7-r4.ebuild:
+ Revbumps to update to neon 0.28 API, patch by Honza Machacek
+ <Hloupy.Honza@centrum.cz>, fixes bug #214799. Dropped ~ppc and ~mips which
+ don't have neon 0.28 keyworded. 4.4.6-r5 is based on -r4. 4.4.7-r4 on -r2
+ - the p.masked -r3 was skipped.
*rpm-5.0.3 (30 Mar 2008)
diff --git a/app-arch/rpm/files/rpm-4.4.6-neon-0.28.patch b/app-arch/rpm/files/rpm-4.4.6-neon-0.28.patch
new file mode 100644
index 000000000000..2218205048c7
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.4.6-neon-0.28.patch
@@ -0,0 +1,63 @@
+Update to neon 0.28 API, by Honza Machacek <Hloupy.Honza@centrum.cz> bug #214799.
+
+diff -Naur tmp-old/rpmio/rpmdav.c tmp-new/rpmio/rpmdav.c
+--- rpmio/rpmdav.c 2008-03-28 04:40:52.000000000 +0000
++++ rpmio/rpmdav.c 2008-03-28 05:19:50.000000000 +0000
+@@ -103,7 +103,7 @@
+ }
+
+ static void davNotify(void * userdata,
+- ne_conn_status connstatus, const char * info)
++ ne_session_status sessionstatus, const char * info)
+ /*@*/
+ {
+ urlinfo u = userdata;
+@@ -124,18 +124,20 @@
+
+ #ifdef REFERENCE
+ typedef enum {
+- ne_conn_namelookup, /* lookup up hostname (info = hostname) */
+- ne_conn_connecting, /* connecting to host (info = hostname) */
+- ne_conn_connected, /* connected to host (info = hostname) */
+- ne_conn_secure /* connection now secure (info = crypto level) */
+-} ne_conn_status;
++ ne_status_lookup = 0, /* looking up hostname */
++ ne_status_connecting, /* connecting to host */
++ ne_status_connected, /* connected to host */
++ ne_status_sending, /* sending a request body */
++ ne_status_recving, /* receiving a response body */
++ ne_status_disconnected /* disconnected from host */
++} ne_session_status;
+ #endif
+
+- u->connstatus = connstatus;
++ u->sessionstatus = sessionstatus;
+
+ /*@-boundsread@*/
+ if (_dav_debug < 0)
+-fprintf(stderr, "*** davNotify(%p,%d,%p) sess %p u %p %s\n", userdata, connstatus, info, sess, u, connstates[ (connstatus < 4 ? connstatus : 4)]);
++fprintf(stderr, "*** davNotify(%p,%d,%p) sess %p u %p %s\n", userdata, sessionstatus, info, sess, u, connstates[ (sessionstatus < 5 ? sessionstatus : 5)]);
+ /*@=boundsread@*/
+
+ }
+@@ -350,7 +352,7 @@
+ #endif
+
+ ne_set_progress(u->sess, davProgress, u);
+- ne_set_status(u->sess, davNotify, u);
++ ne_set_notifier(u->sess, davNotify, u);
+
+ ne_set_persist(u->sess, 1);
+ ne_set_read_timeout(u->sess, httpTimeoutSecs);
+diff -Naur tmp-old/rpmio/rpmurl.h tmp-new/rpmio/rpmurl.h
+--- rpmio/rpmurl.h 2008-03-28 04:55:02.000000000 +0000
++++ rpmio/rpmurl.h 2008-03-28 04:56:09.000000000 +0000
+@@ -60,7 +60,7 @@
+ void * sess; /*!< neon: ne_session ptr */
+ off_t current; /*!< neon: current body offset. */
+ off_t total; /*!< neon: total body length. */
+- int connstatus; /*!< neon: connection status. */
++ int sessionstatus; /*!< neon: session status. */
+ #ifdef REFERENCE
+ typedef enum {
+ ne_conn_namelookup, /* lookup up hostname (info = hostname) */
diff --git a/app-arch/rpm/rpm-4.4.6-r5.ebuild b/app-arch/rpm/rpm-4.4.6-r5.ebuild
new file mode 100644
index 000000000000..aeb219567e3f
--- /dev/null
+++ b/app-arch/rpm/rpm-4.4.6-r5.ebuild
@@ -0,0 +1,108 @@
+# Copyright 1999-2008 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-r5.ebuild,v 1.1 2008/05/20 07:44:25 caster 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 ~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-0.28"
+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
+ # bug 214799
+ epatch "${FILESDIR}"/${P}-neon-0.28.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-r4.ebuild b/app-arch/rpm/rpm-4.4.7-r4.ebuild
new file mode 100644
index 000000000000..fcae57d10836
--- /dev/null
+++ b/app-arch/rpm/rpm-4.4.7-r4.ebuild
@@ -0,0 +1,105 @@
+# Copyright 1999-2008 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-r4.ebuild,v 1.1 2008/05/20 07:44:25 caster 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 ~ppc64 ~s390 ~sh ~sparc ~x86"
+IUSE="nls python perl doc sqlite"
+
+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
+ 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-0.28"
+DEPEND="${RDEPEND}
+ nls? ( sys-devel/gettext )
+ doc? ( app-doc/doxygen )"
+
+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 "${FILESDIR}"/${P}-qa-implicit-function-to-pointer.patch
+ epatch "${FILESDIR}"/${P}-qa-fix-undefined.patch
+ # bug 214799
+ epatch "${FILESDIR}"/${PN}-4.4.6-neon-0.28.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 -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 /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
+}
+
+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
+}