diff options
author | Stanislav Ochotnicky <sochotnicky@gentoo.org> | 2010-05-20 20:22:28 +0200 |
---|---|---|
committer | Stanislav Ochotnicky <sochotnicky@gentoo.org> | 2010-05-20 20:22:28 +0200 |
commit | 09124419e7cd52596b3677293081a25525f9a443 (patch) | |
tree | 46c18ccd27b97a1ebedead431e7d1b0dbf3094ff | |
parent | Adding pyqtrailer-0.2.2 (diff) | |
download | sochotnicky-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/Manifest | 11 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.4.6-autotools.patch | 22 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.4.6-buffer-overflow.patch | 95 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.4.6-neon-0.28.patch | 63 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.4.6-with-sqlite.patch | 20 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.4.7-have-locale-h.patch | 11 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.4.7-qa-fix-undefined.patch | 33 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.4.7-qa-implicit-function-to-pointer.patch | 14 | ||||
-rw-r--r-- | app-arch/rpm/files/rpm-4.4.7-stupidness.patch | 171 | ||||
-rw-r--r-- | app-arch/rpm/rpm-4.4.7-r6.ebuild | 105 |
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 +} |