diff options
Diffstat (limited to 'app-arch')
-rw-r--r-- | app-arch/rpm/ChangeLog | 13 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.4.6-neon-0.28.patch | 63 | ||||
-rw-r--r-- | app-arch/rpm/rpm-4.4.6-r5.ebuild | 108 | ||||
-rw-r--r-- | app-arch/rpm/rpm-4.4.7-r4.ebuild | 105 |
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 +} |