summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStanislav Ochotnicky <sochotnicky@gentoo.org>2010-05-20 20:22:28 +0200
committerStanislav Ochotnicky <sochotnicky@gentoo.org>2010-05-20 20:22:28 +0200
commit09124419e7cd52596b3677293081a25525f9a443 (patch)
tree46c18ccd27b97a1ebedead431e7d1b0dbf3094ff
parentAdding pyqtrailer-0.2.2 (diff)
downloadsochotnicky-09124419e7cd52596b3677293081a25525f9a443.tar.gz
sochotnicky-09124419e7cd52596b3677293081a25525f9a443.tar.bz2
sochotnicky-09124419e7cd52596b3677293081a25525f9a443.zip
Testing ebuild for rpm-4.4.7-r6 with locale patch applied
-rw-r--r--app-arch/rpm/Manifest11
-rw-r--r--app-arch/rpm/files/rpm-4.4.6-autotools.patch22
-rw-r--r--app-arch/rpm/files/rpm-4.4.6-buffer-overflow.patch95
-rw-r--r--app-arch/rpm/files/rpm-4.4.6-neon-0.28.patch63
-rw-r--r--app-arch/rpm/files/rpm-4.4.6-with-sqlite.patch20
-rw-r--r--app-arch/rpm/files/rpm-4.4.7-have-locale-h.patch11
-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/files/rpm-4.4.7-stupidness.patch171
-rw-r--r--app-arch/rpm/rpm-4.4.7-r6.ebuild105
10 files changed, 545 insertions, 0 deletions
diff --git a/app-arch/rpm/Manifest b/app-arch/rpm/Manifest
index 9586515..978cf5c 100644
--- a/app-arch/rpm/Manifest
+++ b/app-arch/rpm/Manifest
@@ -1,6 +1,17 @@
+AUX rpm-4.4.6-autotools.patch 660 RMD160 63155d3737ffdf9927b1763ddf068c5964e168c9 SHA1 70dd2346df0e5d95ec4a06587485381b48d52b81 SHA256 dd4828899e760358b702d0c2ca75e781619f7b65140cf2cc5600ea687a085569
+AUX rpm-4.4.6-buffer-overflow.patch 1952 RMD160 468c71731ec6893de165b4e1047f85f5b240f2f7 SHA1 dc41417f4064eb9476de9ef51e616042e55e5f73 SHA256 6ae715632dabd6cc6c24a92312ac22c1bd57235ff2f027f68943df68dcfc957b
+AUX rpm-4.4.6-neon-0.28.patch 2393 RMD160 7cc24ef31e46682bffa57721e18299c4a9b74637 SHA1 14dd947d44150caa89b58991ed7dbdd358152c3e SHA256 e7b9c177a4ff8027f731ae54b2d6a836ea7be3e6eca92b704dbe30b33b8166c4
+AUX rpm-4.4.6-with-sqlite.patch 517 RMD160 0af724f63b528aabd05f4bcf2d4c4830ebdf98d2 SHA1 0a22207c6bd4114aef4cc9cdca840e996fcf0297 SHA256 c84020fd6402c4d9bfddb554f251b4ac13c6ca151689070a7471e66c8f7bb6ac
+AUX rpm-4.4.7-have-locale-h.patch 440 RMD160 dc9a56049a5fb37bbf8efa09d1cb389f21b0d03d SHA1 fddf3bd74e8213cc16f93fa37b19d9e632cd7e48 SHA256 0c5f4745f332688f59b867fc035d55c20d3e5a2ba4077e0bdf325a9277f33b5f
+AUX rpm-4.4.7-qa-fix-undefined.patch 776 RMD160 895ab185d15c94890ed8f2a34bf4f6b54c8bfb61 SHA1 d16d4a491625d304e96ba85fda982011c9d6d946 SHA256 87a444e00328cd6d78391acdf58ac3ab57fa161241c944df173ac14b2cb025a4
+AUX rpm-4.4.7-qa-implicit-function-to-pointer.patch 604 RMD160 f87086379c28fa878c94dbcd6855af82ee852caf SHA1 61079e3109a41c639015f312603ea43ae49a5bb7 SHA256 a8f12898b8ddba5d7dcc70c1128a2b27dd729c7fe2247450cca068bfa68f1d65
+AUX rpm-4.4.7-stupidness.patch 5268 RMD160 631f1bf3dc4553e27dec4a901fa84e17ffc7c7c9 SHA1 e957a9a549fa1ec52b449b1e8fc3ea14af7b7a09 SHA256 e563657e648e9b5ecfc0a653d7515f93db7785ec6867c81591663213965c0850
AUX rpm-4.8.0-autotools.patch 929 RMD160 9b4b1b08e38f79522a5b1e6ab487ed89b8234add SHA1 f20c1d98d325efa64f54b046cda6a8b5d4463da4 SHA256 2280de624d171399bb48dd4ae9144063ae4ab17f87e57313ba664a234a90e512
AUX rpm-4.8.0-db-path.patch 628 RMD160 cee347c45bbbebd724dd1346bd74b3344b6a7d06 SHA1 08c3aa65104db74c9851911970711b2f503dfcc8 SHA256 791682c72dd3a24e5e8268bfa967412035aa135c7b8d4673541bed129b89a0f3
+DIST rpm-4.4.7.tar.gz 14125623 RMD160 9002eb0fe1d680d8bff447d6918f9726c9a4e34c SHA1 b119fb0f10fd5e2eb330ba547b6a89e40f3c0e68 SHA256 18fde4195e4ac21a4290327336948f8c4fc58a680395edbb5f2f31bae67b18b5
DIST rpm-4.8.0.tar.bz2 3692408 RMD160 3d3d20a81e6f2f06f9cd6e9a02978070ea665a2d SHA1 84210ab42f36ad6b3d856c86a974a5178d1de864 SHA256 a3b4bb2d78eaf1f5200fdcd51372ca9cedce64e030046372e6a13e361cb82b64
+EBUILD rpm-4.4.7-r5.ebuild 3079 RMD160 b439f02517626d9010a75c8511290c2440b4c43f SHA1 50c4834d337594f40ff97948c7c09cf0a3cacc3e SHA256 a7f1ecd4fdf6685b811ad6b0465a18a17ac4379059da1b631fb814f66afb2c16
+EBUILD rpm-4.4.7-r6.ebuild 3130 RMD160 61f7e462701f69d60b449136b39a0c2878e7e4e9 SHA1 f8521cf171544d28d707328401fd8b94616b3fbb SHA256 b34b78d59eafd665a965f7b68d723d24a26ca0ba16852741c177d441b1c058f0
EBUILD rpm-4.8.0.ebuild 2113 RMD160 cee88118ad9a9e8c73b104e596f74a30445719eb SHA1 ccb43ffb916072e4e456e29614e0d59f35a2916e SHA256 9a2fcb086a7ad6a2b9d54f34224e176d7f1aa69851abce2c88fb51e10617460e
MISC ChangeLog 16768 RMD160 7bd4a9458998ca2dc26e509a6fcf625a720ffbeb SHA1 e229e1939589bd73189b669797cf71f18847c69c SHA256 6862fed939a70270c6eb0942d1f390d229d629e10b8eab22603726f7fbe989a0
MISC metadata.xml 333 RMD160 68d3a522b6f8f9414004359b46ce85b62bc968de SHA1 02af812e71a2b3e588b7152b3ac6308fee1e3e29 SHA256 895cc972d28e0f9b12e68dbc496b9cfc3b537e52b55372cc40ba1ae8902bf0e8
diff --git a/app-arch/rpm/files/rpm-4.4.6-autotools.patch b/app-arch/rpm/files/rpm-4.4.6-autotools.patch
new file mode 100644
index 0000000..55fced3
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.4.6-autotools.patch
@@ -0,0 +1,22 @@
+fixup autotool warning:
+
+configure.ac:661: warning: AC_COMPILE_IFELSE was called before AC_GNU_SOURCE
+autoconf/specific.m4:335: AC_GNU_SOURCE is expanded from...
+aclocal.m4:8669: gl_LOCK_BODY is expanded from...
+aclocal.m4:8463: gl_LOCK is expanded from...
+aclocal.m4:609: gt_INTL_SUBDIR_CORE is expanded from...
+aclocal.m4:511: AM_INTL_SUBDIR is expanded from...
+aclocal.m4:387: AM_GNU_GETTEXT is expanded from...
+configure.ac:661: the top level
+configure.ac:661: warning: AC_RUN_IFELSE was called before AC_GNU_SOURCE
+
+--- configure.ac
++++ configure.ac
+@@ -57,6 +57,7 @@
+ AC_PROG_MAKE_SET
+ dnl AC_PROG_RANLIB
+ AC_PROG_YACC
++AC_GNU_SOURCE
+
+ AC_AIX
+ AC_MINIX
diff --git a/app-arch/rpm/files/rpm-4.4.6-buffer-overflow.patch b/app-arch/rpm/files/rpm-4.4.6-buffer-overflow.patch
new file mode 100644
index 0000000..d543958
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.4.6-buffer-overflow.patch
@@ -0,0 +1,95 @@
+Index: lib/query.c
+===================================================================
+RCS file: /cvs/devel/rpm/lib/query.c,v
+retrieving revision 2.173.2.15
+retrieving revision 2.173.2.16
+diff -a -u -r2.173.2.15 -r2.173.2.16
+--- lib/query.c 8 Oct 2006 21:41:45 -0000 2.173.2.15
++++ lib/query.c 30 Oct 2006 02:50:53 -0000 2.173.2.16
+@@ -124,6 +124,28 @@
+ return str;
+ }
+
++/**
++ */
++static void flushBuffer(char ** tp, char ** tep, int nonewline)
++ /*@ modifies *tp, *tep @*/
++{
++ char *t, *te;
++
++ t = *tp;
++ te = *tep;
++ if (te > t) {
++ if (!nonewline) {
++ *te++ = '\n';
++ *te = '\0';
++ }
++ rpmMessage(RPMMESS_NORMAL, "%s", t);
++ te = t;
++ *t = '\0';
++ }
++ *tp = t;
++ *tep = te;
++}
++
+ int showQueryPackage(QVA_t qva, rpmts ts, Header h)
+ {
+ int scareMem = 0;
+@@ -131,7 +153,6 @@
+ char * t, * te;
+ char * prefix = NULL;
+ int rc = 0; /* XXX FIXME: need real return code */
+- int nonewline = 0;
+ int i;
+
+ te = t = xmalloc(BUFSIZ);
+@@ -141,7 +162,6 @@
+
+ if (qva->qva_queryFormat != NULL) {
+ const char * str = queryHeader(h, qva->qva_queryFormat);
+- nonewline = 1;
+ /*@-branchstate@*/
+ if (str) {
+ size_t tb = (te - t);
+@@ -157,6 +177,7 @@
+ /*@=usereleased@*/
+ /*@=boundswrite@*/
+ str = _free(str);
++ flushBuffer(&t, &te, 1);
+ }
+ /*@=branchstate@*/
+ }
+@@ -312,31 +333,13 @@
+ _("package has neither file owner or id lists\n"));
+ }
+ }
+-/*@-branchstate@*/
+- if (te > t) {
+-/*@-boundswrite@*/
+- *te++ = '\n';
+- *te = '\0';
+- rpmMessage(RPMMESS_NORMAL, "%s", t);
+- te = t;
+- *t = '\0';
+-/*@=boundswrite@*/
+- }
+-/*@=branchstate@*/
++ flushBuffer(&t, &te, 0);
+ }
+
+ rc = 0;
+
+ exit:
+- if (te > t) {
+- if (!nonewline) {
+-/*@-boundswrite@*/
+- *te++ = '\n';
+- *te = '\0';
+-/*@=boundswrite@*/
+- }
+- rpmMessage(RPMMESS_NORMAL, "%s", t);
+- }
++ flushBuffer(&t, &te, 0);
+ t = _free(t);
+
+ fi = rpmfiFree(fi);
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 0000000..2218205
--- /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/files/rpm-4.4.6-with-sqlite.patch b/app-arch/rpm/files/rpm-4.4.6-with-sqlite.patch
new file mode 100644
index 0000000..f42e17e
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.4.6-with-sqlite.patch
@@ -0,0 +1,20 @@
+--- configure.ac
++++ configure.ac
+@@ -625,6 +625,9 @@
+ WITH_SQLITE3_INCLUDE=
+ WITH_SQLITE3_LIB=
+
++withval=yes
++AC_ARG_WITH(sqlite, [ --with-sqlite use sqlite database library ])
++if test "$withval" != no; then
+ AC_CHECK_HEADER([sqlite3.h], [
+ AC_CHECK_LIB(sqlite3, sqlite3_open, [
+ AC_DEFINE(HAVE_SQLITE3_H, 1, [Define if you have the <sqlite3.h> header file])
+@@ -642,6 +645,7 @@
+ DBLIBSRCS="$DBLIBSRCS sqlite.c"
+ fi
+ ])
++fi
+
+ AC_SUBST(WITH_SQLITE3_SUBDIR)
+ AC_SUBST(WITH_SQLITE3_INCLUDE)
diff --git a/app-arch/rpm/files/rpm-4.4.7-have-locale-h.patch b/app-arch/rpm/files/rpm-4.4.7-have-locale-h.patch
new file mode 100644
index 0000000..7f2c51e
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.4.7-have-locale-h.patch
@@ -0,0 +1,11 @@
+diff -ur rpm-4.4.7.orig/configure.ac rpm-4.4.7/configure.ac
+--- rpm-4.4.7.orig/configure.ac 2010-04-06 22:43:07.000000000 +0300
++++ rpm-4.4.7/configure.ac 2010-04-07 20:53:40.000000000 +0300
+@@ -1120,6 +1120,7 @@
+ LIBS="$LIBS -lefence"
+ fi
+
++AC_CHECK_HEADER([locale.h], [AC_DEFINE(HAVE_LOCALE_H, 1, [locale.h isn't properly included without this])])
+ AC_CHECK_FUNCS(setlocale)
+
+ dnl XXX Solaris <= 2.6 only permits 8 chars in password.
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 0000000..a5627eb
--- /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 0000000..96f7afb
--- /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/files/rpm-4.4.7-stupidness.patch b/app-arch/rpm/files/rpm-4.4.7-stupidness.patch
new file mode 100644
index 0000000..8812a7b
--- /dev/null
+++ b/app-arch/rpm/files/rpm-4.4.7-stupidness.patch
@@ -0,0 +1,171 @@
+Try and disable over-engineering in the rpm build system.
+
+--- rpm-4.4.7/build/Makefile.am
++++ rpm-4.4.7/build/Makefile.am
+@@ -24,10 +24,7 @@
+ pkginc_HEADERS = rpmbuild.h rpmfc.h rpmfile.h rpmspec.h
+ noinst_HEADERS = buildio.h
+
+-LDFLAGS = -L$(RPM_BUILD_ROOT)$(usrlibdir) -L$(DESTDIR)$(usrlibdir)
+-
+-usrlibdir = $(libdir)@MARK64@
+-usrlib_LTLIBRARIES = librpmbuild.la
++lib_LTLIBRARIES = librpmbuild.la
+ librpmbuild_la_SOURCES = \
+ build.c expression.c files.c misc.c names.c pack.c \
+ parseBuildInstallClean.c parseChangelog.c parseDescription.c \
+--- rpm-4.4.7/configure.ac
++++ rpm-4.4.7/configure.ac
+@@ -117,7 +117,9 @@
+ dnl
+ with_selinuxval=no
+ AC_MSG_CHECKING(flag used by libtool to link rpm)
+-if test X"$GCC" = Xyes ; then
++# We do not want static linking
++#if test X"$GCC" = Xyes ; then
++if false ; then
+ case "$target" in
+ *-*-linux*) LDFLAGS_STATIC="-all-static"
+ with_selinuxval=yes ;;
+@@ -160,14 +162,15 @@
+ dnl XXX Test for libpthread.a that is NPTL aware (static link only).
+ dnl
+ LDFLAGS_NPTL=
+-if test -f /usr/lib/nptl/libpthread.a ; then
+- LDFLAGS_NPTL="-L/usr/lib/nptl"
++# Also do not need static linking
++#if test -f /usr/lib/nptl/libpthread.a ; then
++# LDFLAGS_NPTL="-L/usr/lib/nptl"
+ # INCPATH="$INCPATH -I/usr/include/nptl"
+-fi
+-if test -f /usr/lib64/nptl/libpthread.a ; then
+- LDFLAGS_NPTL="-L/usr/lib64/nptl"
++#fi
++#if test -f /usr/lib64/nptl/libpthread.a ; then
++# LDFLAGS_NPTL="-L/usr/lib64/nptl"
+ # INCPATH="$INCPATH -I/usr/include/nptl"
+-fi
++#fi
+ AC_SUBST(LDFLAGS_NPTL)
+
+ dnl
+@@ -1306,6 +1309,8 @@
+ case "${target_cpu}" in
+ x86_64*|ppc64*|powerpc64*|sparc64*|s390x*) MARK64=64 ;;
+ esac
++# We don't want this magic as portage handles it
++MARK64=ALL-SCREWED-UP
+ AC_SUBST(MARK64)
+
+ # For some systems we know that we have ld_version scripts.
+@@ -1388,13 +1384,16 @@
+ else
+ usrprefix=$prefix
+ fi
++
++test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
++
+ LOCALEDIR="`echo ${usrprefix}/share/locale`"
+ AC_DEFINE_UNQUOTED(LOCALEDIR, "$LOCALEDIR",
+ [Full path to rpm locale directory (usually /usr/share/locale)])
+ AC_SUBST(LOCALEDIR)
+ LIBDIR="`echo $libdir | sed 's-/lib$-/%{_lib}-'`"
+ AC_SUBST(LIBDIR)
+-RPMCONFIGDIR="`echo ${usrprefix}/lib/rpm`"
++RPMCONFIGDIR="`eval echo ${libdir}/rpm`"
+ AC_DEFINE_UNQUOTED(RPMCONFIGDIR, "$RPMCONFIGDIR",
+ [Full path to rpm global configuration directory (usually /usr/lib/rpm)])
+ AC_SUBST(RPMCONFIGDIR)
+--- rpm-4.4.7/lib/Makefile.am
++++ rpm-4.4.7/lib/Makefile.am
+@@ -29,10 +29,7 @@
+ mylibs = librpm.la
+ LIBS =
+
+-LDFLAGS = -L$(RPM_BUILD_ROOT)$(usrlibdir) -L$(DESTDIR)$(usrlibdir)
+-
+-usrlibdir = $(libdir)@MARK64@
+-usrlib_LTLIBRARIES = librpm.la
++lib_LTLIBRARIES = librpm.la
+ librpm_la_SOURCES = \
+ cpio.c depends.c formats.c fs.c fsm.c getdate.c \
+ manifest.c misc.c package.c \
+--- rpm-4.4.7/python/Makefile.am
++++ rpm-4.4.7/python/Makefile.am
+@@ -4,8 +4,8 @@
+
+ LINT = splint
+
+-pylibdir = ${prefix}/lib@MARK64@/python@WITH_PYTHON_VERSION@
+-pyincdir = $(prefix)/include/python@WITH_PYTHON_VERSION@
++pylibdir = $(libdir)/python@WITH_PYTHON_VERSION@
++pyincdir = $(includedir)/python@WITH_PYTHON_VERSION@
+
+ SUBDIRS = rpm
+
+--- rpm-4.4.7/python/rpm/Makefile.am
++++ rpm-4.4.7/python/rpm/Makefile.am
+@@ -4,8 +4,8 @@
+
+ PYVER = @WITH_PYTHON_VERSION@
+
+-pylibdir = ${prefix}/lib@MARK64@/python@WITH_PYTHON_VERSION@
+-pyincdir = $(prefix)/include/python@WITH_PYTHON_VERSION@
++pylibdir = $(libdir)/python@WITH_PYTHON_VERSION@
++pyincdir = $(includedir)/python@WITH_PYTHON_VERSION@
+
+ EXTRA_DIST = \
+ __init__.py
+--- rpm-4.4.7/rpmdb/Makefile.am
++++ rpm-4.4.7/rpmdb/Makefile.am
+@@ -41,11 +41,7 @@
+ # XXX watchout, ../db3/libdb.la created by this Makefile may surprise
+ libdb_la = $(top_builddir)/$(WITH_DB_SUBDIR)/libdb.la
+
+-# XXX grrr, RPM_BUILD_ROOT prevents build pollution if/when -lrpm different
+-LDFLAGS = -L$(RPM_BUILD_ROOT)$(usrlibdir) -L$(DESTDIR)$(usrlibdir)
+-
+-usrlibdir = $(libdir)@MARK64@
+-usrlib_LTLIBRARIES = librpmdb.la
++lib_LTLIBRARIES = librpmdb.la
+ librpmdb_la_SOURCES = \
+ dbconfig.c fprint.c \
+ hdrNVR.c header.c header_internal.c legacy.c merge.c \
+--- rpm-4.4.7/rpmio/Makefile.am
++++ rpm-4.4.7/rpmio/Makefile.am
+@@ -28,10 +28,7 @@
+
+ BEECRYPTLOBJS = $(shell test X"@WITH_BEECRYPT_SUBDIR@" != X && cat $(top_builddir)/@WITH_BEECTYPT_SUBDIR@/listobjs)
+
+-LDFLAGS = -L$(RPM_BUILD_ROOT)$(usrlibdir) -L$(DESTDIR)$(usrlibdir)
+-
+-usrlibdir = $(libdir)@MARK64@
+-usrlib_LTLIBRARIES = librpmio.la
++lib_LTLIBRARIES = librpmio.la
+ librpmio_la_SOURCES = \
+ argv.c digest.c fts.c macro.c md2.c md4.c rmd128.c rmd160.c tiger.c \
+ rpmdav.c rpmhook.c rpmio.c rpmlog.c rpmlua.c rpmmalloc.c \
+--- rpm-4.4.7/scripts/Makefile.am
++++ rpm-4.4.7/scripts/Makefile.am
+@@ -24,7 +24,7 @@
+
+ all:
+
+-configdir = ${prefix}/lib/rpm
++configdir = $(libdir)/rpm
+ config_SCRIPTS = \
+ brp-compress brp-python-bytecompile brp-java-gcjcompile brp-redhat \
+ brp-strip brp-strip-comment-note brp-nobuildrootpath \
+--- rpm-4.4.7/tools/Makefile.am
++++ rpm-4.4.7/tools/Makefile.am
+@@ -54,10 +54,6 @@
+ #rpmdeps_LDFLAGS = $(staticLDFLAGS)
+ rpmdeps_LDADD = $(top_builddir)/build/librpmbuild.la
+
+-rpmfile.c: $(top_srcdir)/file/src/file.c
+- rm -f $@
+- ln -s $< $@
+-
+ rpmfile_SOURCES = rpmfile.c
+ rpmfile_CFLAGS = -DMAGIC='"$(MAGIC)"' $(INCLUDES)
+ rpmfile_LDADD = $(top_builddir)/rpmio/librpmio.la
diff --git a/app-arch/rpm/rpm-4.4.7-r6.ebuild b/app-arch/rpm/rpm-4.4.7-r6.ebuild
new file mode 100644
index 0000000..ffc1905
--- /dev/null
+++ b/app-arch/rpm/rpm-4.4.7-r6.ebuild
@@ -0,0 +1,105 @@
+# 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-4.4.7-r5.ebuild,v 1.2 2010/05/12 19:59:42 sochotnicky Exp $
+
+inherit eutils autotools distutils perl-module flag-o-matic
+
+DESCRIPTION="Red Hat Package Management Utils"
+HOMEPAGE="http://www.rpm5.org/"
+SRC_URI="http://rpm5.org/files/rpm/rpm-4.4/${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-4
+ >=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
+ epatch "${FILESDIR}"/${P}-have-locale-h.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
+ econf \
+ --enable-posixmutexes \
+ --without-javaglue \
+ --without-selinux \
+ $(use_with python python $(python_get_version)) \
+ $(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}" INSTALLDIRS=vendor 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
+}