diff options
author | Marcin Juszkiewicz <hrw@openembedded.org> | 2008-11-19 12:12:37 +0100 |
---|---|---|
committer | Marcin Juszkiewicz <hrw@openembedded.org> | 2009-03-19 20:22:34 +0100 |
commit | aed057419cb98babd0c3856a76222c72c7919a81 (patch) | |
tree | 111aef7acd635c1a1addf9548466c92e45d6ca1d /recipes/rpm | |
parent | 47bb0f5ca3d62205703973398d79ed553bed8a4f (diff) |
rpm/rpm-native: Add recipe for 4.4.2.3 (from Poky)
Squashed set of changes from Poky:
svn r5069 - rpm/rpm-native: Add recipe for 4.4.2.3
svn r5085 - rpm: Patch out some Makefile strangeness causing build failures
svn r5093 - rpm: Enable python extensions and improve cross compiling patches
svn r5103 - rpm: Tweak patches to remove popt problem
svn r5113 - rpm: Add recommends support from suse rpm patches
svn r5132 - rpm-native: Set varprefix to get the rpm database in a sane location
svn r5152 - rpm: Handle PYTHONVER differently in EXTRA_OECONF to stop gettext/uclibc failures during parsing
svn r5154 - rpm: Add missing patches
svn r5423 - rpm: Add python module packaging
OE changes:
rpm-native: add Python 2.6 support
rpm: use distutils-base to get Python version
rpm: use sed instead of ed - it is present in our metadata
rpm: set ARM_INSTRUCTION_SET as it fails to build for thumb
| /tmp/ccYO91se.s: Assembler messages:
| /tmp/ccYO91se.s:71: Error: selected processor does not support `swpb r2,r3,[r4]'
| /tmp/ccYO91se.s:72: Error: unshifted register required -- `eor r2,r2,#1'
Diffstat (limited to 'recipes/rpm')
-rw-r--r-- | recipes/rpm/files/cross_libpaths.patch | 239 | ||||
-rw-r--r-- | recipes/rpm/files/extcond.patch | 78 | ||||
-rw-r--r-- | recipes/rpm/files/external-tools.patch | 108 | ||||
-rw-r--r-- | recipes/rpm/files/fix_mypath.patch | 13 | ||||
-rw-r--r-- | recipes/rpm/files/missingok.patch | 44 | ||||
-rw-r--r-- | recipes/rpm/files/tagsbackport.patch | 37 | ||||
-rw-r--r-- | recipes/rpm/files/weakdeps.patch | 312 | ||||
-rw-r--r-- | recipes/rpm/rpm-native_4.4.2.3.bb | 7 | ||||
-rw-r--r-- | recipes/rpm/rpm_4.4.2.3.bb | 95 | ||||
-rw-r--r-- | recipes/rpm/rpm_4.4.bb | 44 |
10 files changed, 915 insertions, 62 deletions
diff --git a/recipes/rpm/files/cross_libpaths.patch b/recipes/rpm/files/cross_libpaths.patch index d6139dbdde..9e8f7dca82 100644 --- a/recipes/rpm/files/cross_libpaths.patch +++ b/recipes/rpm/files/cross_libpaths.patch @@ -1,8 +1,8 @@ -Index: rpm-4.4/configure.ac +Index: rpm-4.4.2.3/configure.ac =================================================================== ---- rpm-4.4.orig/configure.ac 2005-01-29 10:54:37.698359056 -0500 -+++ rpm-4.4/configure.ac 2005-01-29 10:55:16.492461456 -0500 -@@ -321,10 +321,8 @@ +--- rpm-4.4.2.3.orig/configure.ac 2008-08-23 16:03:51.000000000 +0100 ++++ rpm-4.4.2.3/configure.ac 2008-08-25 16:26:11.000000000 +0100 +@@ -326,10 +326,8 @@ localdone= @@ -14,7 +14,7 @@ Index: rpm-4.4/configure.ac for dir in $dirs do case $dir in -@@ -366,6 +364,7 @@ +@@ -371,6 +369,7 @@ else AC_MSG_RESULT(no) fi @@ -22,3 +22,232 @@ Index: rpm-4.4/configure.ac dnl dnl Check for features +@@ -473,7 +472,7 @@ + AC_CHECK_HEADER([beecrypt/api.h], [ + AC_DEFINE(HAVE_BEECRYPT_API_H, 1, [Define to 1 if you have the <beecrypt/api.h> header file.]) + ]) +- WITH_BEECRYPT_INCLUDE="-I${includedir}/beecrypt" ++ WITH_BEECRYPT_INCLUDE="" + WITH_BEECRYPT_LIB="-lbeecrypt" + ]) + ],[ +@@ -506,7 +505,7 @@ + AC_CHECK_LIB(neon, ne_send_request_chunk, [ + AC_DEFINE(HAVE_NEON_NE_SEND_REQUEST_CHUNK, 1, [Define to 1 if you have ne_send_request_chunk() in libneon.]) + ]) +- WITH_NEON_INCLUDE="-I${includedir}/neon" ++ WITH_NEON_INCLUDE="" + WITH_NEON_LIB="-lneon" + ]) + ],[ +@@ -857,6 +856,12 @@ + dnl + dnl Auto-detect which python bindings should be built. + dnl ++ ++AC_ARG_WITH(python-incdir, [ --with-python-incdir python include directory ]) ++PYTHON_INCDIR=$withval ++AC_ARG_WITH(python-libdir, [ --with-python-libdir python library directory ]) ++PYTHON_LIBDIR=$withval ++ + withval=auto + AC_ARG_WITH(python, [ --with-python build rpm python bindings ]) + +@@ -934,6 +939,8 @@ + AC_SUBST(WITH_PYTHON_SUBDIR) + AC_SUBST(WITH_PYTHON_SUBPACKAGE) + AC_SUBST(WITH_PYTHON_VERSION) ++AC_SUBST(PYTHON_LIBDIR) ++AC_SUBST(PYTHON_INCDIR) + + AC_PATH_PROG(__DOXYGEN, doxygen, no, $PATH) + dnl +Index: rpm-4.4.2.3/rpmio/Makefile.am +=================================================================== +--- rpm-4.4.2.3.orig/rpmio/Makefile.am 2008-04-01 08:28:22.000000000 +0100 ++++ rpm-4.4.2.3/rpmio/Makefile.am 2008-08-23 12:14:12.000000000 +0100 +@@ -26,9 +26,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@ ++usrlibdir = $(libdir) + usrlib_LTLIBRARIES = librpmio.la + librpmio_la_SOURCES = \ + argv.c digest.c fts.c macro.c rpmdav.c \ +Index: rpm-4.4.2.3/rpmio/rpmio_internal.h +=================================================================== +--- rpm-4.4.2.3.orig/rpmio/rpmio_internal.h 2008-04-01 08:28:22.000000000 +0100 ++++ rpm-4.4.2.3/rpmio/rpmio_internal.h 2008-08-23 12:07:29.000000000 +0100 +@@ -12,22 +12,22 @@ + #if HAVE_BEECRYPT_API_H + #include <api.h> + #else +-#include <beecrypt.api.h> ++#include <beecrypt/beecrypt.api.h> + #endif + + #include <rpmpgp.h> + #include <rpmsw.h> + + /* Drag in the beecrypt includes. */ +-#include <beecrypt.h> +-#include <base64.h> +-#include <dsa.h> +-#include <endianness.h> +-#include <md5.h> +-#include <mp.h> +-#include <rsa.h> +-#include <rsapk.h> +-#include <sha1.h> ++#include <beecrypt/beecrypt.h> ++#include <beecrypt/base64.h> ++#include <beecrypt/dsa.h> ++#include <beecrypt/endianness.h> ++#include <beecrypt/md5.h> ++#include <beecrypt/mp.h> ++#include <beecrypt/rsa.h> ++#include <beecrypt/rsapk.h> ++#include <beecrypt/sha1.h> + #if HAVE_BEECRYPT_API_H + #include <sha256.h> + #include <sha384.h> +Index: rpm-4.4.2.3/Makefile.am +=================================================================== +--- rpm-4.4.2.3.orig/Makefile.am 2008-04-01 08:28:21.000000000 +0100 ++++ rpm-4.4.2.3/Makefile.am 2008-08-25 23:09:40.000000000 +0100 +@@ -10,7 +10,7 @@ + po/*.in po/*.po po/rpm.pot \ + rpm.magic rpmpopt-$(VERSION) rpmqv.c + +-SUBDIRS = po misc @WITH_ZLIB_SUBDIR@ @WITH_ELFUTILS_SUBDIR@ @WITH_MAGIC_SUBDIR@ @WITH_DB_SUBDIR@ @WITH_SQLITE3_SUBDIR@ @WITH_POPT_SUBDIR@ @WITH_BEECRYPT_SUBDIR@ @WITH_NEON_SUBDIR@ lua rpmio rpmdb lib build @WITH_PYTHON_SUBDIR@ tools scripts doc . ++SUBDIRS = po misc @WITH_ZLIB_SUBDIR@ @WITH_ELFUTILS_SUBDIR@ @WITH_MAGIC_SUBDIR@ @WITH_DB_SUBDIR@ @WITH_SQLITE3_SUBDIR@ @WITH_POPT_SUBDIR@ @WITH_BEECRYPT_SUBDIR@ @WITH_NEON_SUBDIR@ rpmio rpmdb lib build @WITH_PYTHON_SUBDIR@ tools scripts doc . + + INCLUDES = \ + -I$(top_srcdir)/build \ +@@ -93,7 +93,7 @@ + rpm2cpio_LDFLAGS = $(myLDFLAGS) + rpm2cpio_LDADD = $(myLDADD) @LIBMISC@ + +-$(PROGRAMS): $(myLDADD) @WITH_APIDOCS_TARGET@ ++$(PROGRAMS): @WITH_APIDOCS_TARGET@ + + .PHONY: splint + splint: +Index: rpm-4.4.2.3/rpmdb/Makefile.am +=================================================================== +--- rpm-4.4.2.3.orig/rpmdb/Makefile.am 2008-04-01 08:28:22.000000000 +0100 ++++ rpm-4.4.2.3/rpmdb/Makefile.am 2008-08-23 12:13:18.000000000 +0100 +@@ -41,10 +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@ ++usrlibdir = $(libdir) + usrlib_LTLIBRARIES = librpmdb.la + librpmdb_la_SOURCES = \ + dbconfig.c fprint.c \ +Index: rpm-4.4.2.3/lib/Makefile.am +=================================================================== +--- rpm-4.4.2.3.orig/lib/Makefile.am 2008-04-01 08:28:22.000000000 +0100 ++++ rpm-4.4.2.3/lib/Makefile.am 2008-08-23 16:03:51.000000000 +0100 +@@ -29,9 +29,7 @@ + mylibs = librpm.la + LIBS = + +-LDFLAGS = -L$(RPM_BUILD_ROOT)$(usrlibdir) -L$(DESTDIR)$(usrlibdir) +- +-usrlibdir = $(libdir)@MARK64@ ++usrlibdir = $(libdir) + usrlib_LTLIBRARIES = librpm.la + librpm_la_SOURCES = \ + cpio.c depends.c formats.c fs.c fsm.c getdate.c \ +Index: rpm-4.4.2.3/build/Makefile.am +=================================================================== +--- rpm-4.4.2.3.orig/build/Makefile.am 2008-04-01 08:28:21.000000000 +0100 ++++ rpm-4.4.2.3/build/Makefile.am 2008-08-23 16:03:51.000000000 +0100 +@@ -22,9 +22,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@ ++usrlibdir = $(libdir) + usrlib_LTLIBRARIES = librpmbuild.la + librpmbuild_la_SOURCES = \ + build.c expression.c files.c misc.c names.c pack.c \ +Index: rpm-4.4.2.3/python/Makefile.am +=================================================================== +--- rpm-4.4.2.3.orig/python/Makefile.am 2008-04-01 08:28:22.000000000 +0100 ++++ rpm-4.4.2.3/python/Makefile.am 2008-08-25 16:26:56.000000000 +0100 +@@ -4,8 +4,8 @@ + + LINT = splint + +-pylibdir = ${prefix}/lib@MARK64@/python@WITH_PYTHON_VERSION@ +-pyincdir = $(prefix)/include/python@WITH_PYTHON_VERSION@ ++pylibdir = @PYTHON_LIBDIR@ ++pyincdir = @PYTHON_INCDIR@ + + SUBDIRS = rpm + +Index: rpm-4.4.2.3/python/rpm/Makefile.am +=================================================================== +--- rpm-4.4.2.3.orig/python/rpm/Makefile.am 2008-04-01 08:28:22.000000000 +0100 ++++ rpm-4.4.2.3/python/rpm/Makefile.am 2008-08-25 16:27:29.000000000 +0100 +@@ -4,8 +4,8 @@ + + PYVER = @WITH_PYTHON_VERSION@ + +-pylibdir = ${prefix}/lib@MARK64@/python@WITH_PYTHON_VERSION@ +-pyincdir = $(prefix)/include/python@WITH_PYTHON_VERSION@ ++pylibdir = @PYTHON_LIBDIR@ ++pyincdir = @PYTHON_INCDIR@ + + EXTRA_DIST = \ + __init__.py +Index: rpm-4.4.2.3/file/src/Makefile.am +=================================================================== +--- rpm-4.4.2.3.orig/file/src/Makefile.am 2008-08-23 16:06:25.000000000 +0100 ++++ rpm-4.4.2.3/file/src/Makefile.am 2008-08-23 16:06:39.000000000 +0100 +@@ -4,7 +4,7 @@ + EXTRA_DIST = test.c + + # XXX Make sure compress.c links internal zlib +-INCLUDES = -I. -I ../../zlib ++INCLUDES = -I. + + pkglibdir = @prefix@/lib/rpm + MAGIC = $(pkglibdir)/magic +@@ -26,7 +26,7 @@ + + noinst_PROGRAMS = file + file_SOURCES = file.c +-file_LDFLAGS = -L../../zlib # -all-static ++#file_LDFLAGS = -L../../zlib # -all-static + file_LDADD = libmagic.la + + listobjs: +Index: rpm-4.4.2.3/file/magic/Makefile.am +=================================================================== +--- rpm-4.4.2.3.orig/file/magic/Makefile.am 2008-08-25 16:14:47.000000000 +0100 ++++ rpm-4.4.2.3/file/magic/Makefile.am 2008-08-25 16:15:02.000000000 +0100 +@@ -18,10 +18,10 @@ + done >> $@ + + magic.mgc: magic +- $(top_builddir)/src/file -C -m magic ++ file -C -m magic + + magic.mime.mgc: magic.mime +- $(top_builddir)/src/file -C -m $(srcdir)/magic.mime ++ file -C -m $(srcdir)/magic.mime + + magic_FRAGMENTS = \ + Magdir/acorn \ diff --git a/recipes/rpm/files/extcond.patch b/recipes/rpm/files/extcond.patch new file mode 100644 index 0000000000..6963b8606c --- /dev/null +++ b/recipes/rpm/files/extcond.patch @@ -0,0 +1,78 @@ +This patch supports an extension in the condition evaluation. +If the condition is a format and returns an nonempty string, it is +assumed to be true. +This mechanism is used by the weakdeps patch to filter the +"RPMSENSE_STRONG" flag. + +--- ./rpmdb/header.c.orig 2005-06-06 23:33:54.000000000 +0000 ++++ ./rpmdb/header.c 2006-03-17 18:08:02.000000000 +0000 +@@ -2980,8 +2980,12 @@ static int parseExpression(headerSprintf + + *endPtr = chptr; + ++ token->u.cond.tag.type = NULL; ++ token->u.cond.tag.format = ""; + token->type = PTOK_COND; + ++ if ((token->u.cond.tag.type = strchr(str, ':')) != 0) ++ *token->u.cond.tag.type++ = 0; + (void) findTag(hsa, token, str); + + return 0; +@@ -3239,6 +3243,7 @@ static char * singleSprintf(headerSprint + int_32 type; + int_32 count; + sprintfToken spft; ++ sprintfTag stag; + int condNumFormats; + size_t need; + +@@ -3270,6 +3275,18 @@ static char * singleSprintf(headerSprint + if (token->u.cond.tag.ext || headerIsEntry(hsa->h, token->u.cond.tag.tag)) { + spft = token->u.cond.ifFormat; + condNumFormats = token->u.cond.numIfTokens; ++ if (token->u.cond.tag.fmt) { ++ /* check if format creates output */ ++ size_t vallen = hsa->vallen; ++ formatValue(hsa, &token->u.cond.tag, element); ++ if (hsa->vallen == vallen) { ++ spft = token->u.cond.elseFormat; ++ condNumFormats = token->u.cond.numElseTokens; ++ } else { ++ hsa->vallen = vallen; ++ hsa->val[hsa->vallen] = 0; ++ } ++ } + } else { + spft = token->u.cond.elseFormat; + condNumFormats = token->u.cond.numElseTokens; +@@ -3291,19 +3308,22 @@ static char * singleSprintf(headerSprint + spft = token->u.array.format; + for (i = 0; i < token->u.array.numTokens; i++, spft++) + { +- if (spft->type != PTOK_TAG || +- spft->u.tag.arrayCount || +- spft->u.tag.justOne) continue; ++ if (spft->type != PTOK_TAG && spft->type != PTOK_COND) ++ continue; ++ ++ stag = (spft->type == PTOK_COND ? &spft->u.cond.tag : &spft->u.tag); ++ if (stag->arrayCount || stag->justOne) ++ continue; + +- if (spft->u.tag.ext) { ++ if (stag->ext) { + /*@-boundswrite@*/ +- if (getExtension(hsa, spft->u.tag.ext, &type, NULL, &count, +- hsa->ec + spft->u.tag.extNum)) ++ if (getExtension(hsa, stag->ext, &type, NULL, &count, ++ hsa->ec + stag->extNum)) + continue; + /*@=boundswrite@*/ + } else { + /*@-boundswrite@*/ +- if (!headerGetEntry(hsa->h, spft->u.tag.tag, &type, NULL, &count)) ++ if (!headerGetEntry(hsa->h, stag->tag, &type, NULL, &count)) + continue; + /*@=boundswrite@*/ + } diff --git a/recipes/rpm/files/external-tools.patch b/recipes/rpm/files/external-tools.patch new file mode 100644 index 0000000000..2b2ff701ad --- /dev/null +++ b/recipes/rpm/files/external-tools.patch @@ -0,0 +1,108 @@ +Index: rpm-4.4.2.3/configure.ac +=================================================================== +--- rpm-4.4.2.3.orig/configure.ac 2008-04-01 08:30:14.000000000 +0100 ++++ rpm-4.4.2.3/configure.ac 2008-08-17 10:57:30.000000000 +0100 +@@ -529,7 +529,7 @@ + WITH_MAGIC_INCLUDE= + WITH_MAGIC_LIB= + +-if test -d file ; then ++if test -d file ; then + WITH_RPMFILE=rpmfile + WITH_MAGIC_SUBDIR=file + WITH_MAGIC_INCLUDE="-I\${top_srcdir}/${WITH_MAGIC_SUBDIR}/src" +@@ -1307,7 +1307,7 @@ + dnl # XXX Propagate -lucb to popt ... + dnl export LIBS INCPATH CONFIG_SITE + +-AC_CONFIG_SUBDIRS(popt file db3) ++AC_CONFIG_SUBDIRS(db/dist file) + + AC_CONFIG_FILES([ Doxyfile Makefile rpmrc macros platform rpmpopt + rpmio/Makefile rpmdb/Makefile lib/Makefile build/Makefile +Index: rpm-4.4.2.3/db/dist/configure.ac +=================================================================== +--- rpm-4.4.2.3.orig/db/dist/configure.ac 2008-04-01 08:28:21.000000000 +0100 ++++ rpm-4.4.2.3/db/dist/configure.ac 2008-08-17 09:54:37.000000000 +0100 +@@ -11,14 +11,6 @@ + AC_CANONICAL_HOST() + AC_ARG_PROGRAM() + +-# Don't build in the top-level or dist directories. +-AC_MSG_CHECKING(if building in the top-level or dist directories) +-if [ test -d db_archive -o -f configure.ac ] ; then +- AC_MSG_RESULT(yes) +- AC_MSG_ERROR( +- [Berkeley DB should not be built in the top-level or dist directories.]) +-fi +-AC_MSG_RESULT(no) + + # Substitution variables. + AC_SUBST(ADDITIONAL_INCS) +@@ -281,7 +273,7 @@ + AC_PROG_LIBTOOL + + SOFLAGS="-rpath \$(libdir)" +-LIBTOOL_PROG="${SHELL} ./libtool" ++LIBTOOL_PROG="${SHELL} ./$host_alias-libtool" + + # Set SOSUFFIX and friends + SOSUFFIX_CONFIG +@@ -297,7 +289,7 @@ + MAKEFILE_XSOLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CXXLINK} -avoid-version" + MAKEFILE_CXXLINK="\$(LIBTOOL) --mode=link ${MAKEFILE_CXXLINK}" + +-LIBTOOL="\$(SHELL) ./libtool" ++LIBTOOL="\$(SHELL) ./$host_alias-libtool" + + case "$host_os" in + cygwin* | mingw*) +Index: rpm-4.4.2.3/db/dist/aclocal/options.ac +=================================================================== +--- rpm-4.4.2.3.orig/db/dist/aclocal/options.ac 2008-08-17 09:57:49.000000000 +0100 ++++ rpm-4.4.2.3/db/dist/aclocal/options.ac 2008-08-17 09:57:59.000000000 +0100 +@@ -277,10 +277,6 @@ + + # Uniquename excludes C++, Java, RPC. + if test "$db_cv_uniquename" = "yes"; then +- if test "$db_cv_rpc" = "yes"; then +- AC_MSG_ERROR( +- [--with-uniquename is not compatible with --enable-rpc]) +- fi + if test "$db_cv_cxx" = "yes"; then + AC_MSG_ERROR( + [--with-uniquename is not compatible with --enable-cxx]) +Index: rpm-4.4.2.3/db/dist/aclocal/rpc.ac +=================================================================== +--- rpm-4.4.2.3.orig/db/dist/aclocal/rpc.ac 2008-08-17 10:46:26.000000000 +0100 ++++ rpm-4.4.2.3/db/dist/aclocal/rpc.ac 2008-08-17 10:46:47.000000000 +0100 +@@ -60,6 +60,7 @@ + -e 's/^}/__dbsrv_timeout(0);}/' \ + -e '}' \ + -e '1,/^#include/s/^#include/#include "db_config.h"\ ++#include "db_int_def.h"\ + &/' > db_server_svc.c + + $RPCGEN -c $XDR_FILE | +Index: rpm-4.4.2.3/tools/rpmfile.c +=================================================================== +--- rpm-4.4.2.3.orig/tools/rpmfile.c 2008-08-17 11:01:51.000000000 +0100 ++++ rpm-4.4.2.3/tools/rpmfile.c 2008-08-17 11:03:07.000000000 +0100 +@@ -29,7 +29,7 @@ + * file - find type of a file or files - main program. + */ + +-#include "file.h" ++#include "../file/src/file.h" + #include "magic.h" + + #include <stdio.h> +@@ -69,7 +69,7 @@ + + #include <netinet/in.h> /* for byte swapping */ + +-#include "patchlevel.h" ++#include "../file/src/patchlevel.h" + + #ifndef lint + FILE_RCSID("@(#)$Id: file.c,v 1.96 2005/03/06 05:58:22 christos Exp $") diff --git a/recipes/rpm/files/fix_mypath.patch b/recipes/rpm/files/fix_mypath.patch deleted file mode 100644 index 09512be131..0000000000 --- a/recipes/rpm/files/fix_mypath.patch +++ /dev/null @@ -1,13 +0,0 @@ -Index: rpm-4.4/configure.ac -=================================================================== ---- rpm-4.4.orig/configure.ac 2005-01-29 10:54:13.599022712 -0500 -+++ rpm-4.4/configure.ac 2005-01-29 10:54:37.698359056 -0500 -@@ -230,7 +230,7 @@ - dnl use defaults if cross-compiling, otherwise use the default path. - dnl - if test "$cross_compiling" = "yes"; then -- MYPATH="" -+ MYPATH=":" - else - # MYPATH="/bin:/usr/bin:/usr/local/bin:$PATH:/sbin:/usr/sbin:/usr/local/sbin:/opt/gnu/bin" - MYPATH=$PATH diff --git a/recipes/rpm/files/missingok.patch b/recipes/rpm/files/missingok.patch new file mode 100644 index 0000000000..b008c9a02b --- /dev/null +++ b/recipes/rpm/files/missingok.patch @@ -0,0 +1,44 @@ +Obey MISSINGOK flag for dependencies. Backport from rpm-4.4.7. + +Index: lib/depends.c +=================================================================== +--- lib/depends.c.orig 2008-04-01 08:28:22.000000000 +0100 ++++ lib/depends.c 2008-09-04 14:09:58.000000000 +0100 +@@ -593,8 +593,13 @@ + /*@=boundsread@*/ + + unsatisfied: +- rc = 1; /* dependency is unsatisfied */ +- rpmdsNotify(dep, NULL, rc); ++ if (rpmdsFlags(dep) & RPMSENSE_MISSINGOK) { ++ rc = 0; /* dependency is unsatisfied, but just a hint. */ ++ rpmdsNotify(dep, _("(hint skipped)"), rc); ++ } else { ++ rc = 1; /* dependency is unsatisfied */ ++ rpmdsNotify(dep, NULL, rc); ++ } + + exit: + /* +@@ -963,6 +968,8 @@ + return "Requires(postun):"; + if (f & RPMSENSE_SCRIPT_VERIFY) + return "Requires(verify):"; ++ if (f & RPMSENSE_MISSINGOK) ++ return "Requires(hint):"; + if (f & RPMSENSE_FIND_REQUIRES) + return "Requires(auto):"; + return "Requires:"; +Index: lib/rpmlib.h +=================================================================== +--- lib/rpmlib.h.orig 2008-09-03 22:22:43.000000000 +0100 ++++ lib/rpmlib.h 2008-09-04 15:17:17.000000000 +0100 +@@ -562,6 +562,8 @@ + RPMSENSE_SCRIPT_POSTUN | \ + RPMSENSE_SCRIPT_VERIFY | \ + RPMSENSE_FIND_REQUIRES | \ ++ RPMSENSE_MISSINGOK | \ ++ RPMSENSE_STRONG | \ + RPMSENSE_SCRIPT_PREP | \ + RPMSENSE_SCRIPT_BUILD | \ + RPMSENSE_SCRIPT_INSTALL | \ diff --git a/recipes/rpm/files/tagsbackport.patch b/recipes/rpm/files/tagsbackport.patch new file mode 100644 index 0000000000..a2a360944c --- /dev/null +++ b/recipes/rpm/files/tagsbackport.patch @@ -0,0 +1,37 @@ +Backported some new tags and sense values. + +Index: lib/rpmlib.h +=================================================================== +--- lib/rpmlib.h.orig 2008-08-26 17:07:12.000000000 +0100 ++++ lib/rpmlib.h 2008-08-26 17:22:21.000000000 +0100 +@@ -447,7 +447,19 @@ + RPMTAG_PRIORITY = 1162, /* i extension placeholder */ + RPMTAG_CVSID = 1163, /* s */ + #define RPMTAG_SVNID RPMTAG_CVSID /* s */ ++ RPMTAG_BLINKPKGID = 1164, /* s[] */ ++ RPMTAG_BLINKHDRID = 1165, /* s[] */ ++ RPMTAG_BLINKNEVRA = 1166, /* s[] */ ++ RPMTAG_FLINKPKGID = 1167, /* s[] */ ++ RPMTAG_FLINKHDRID = 1168, /* s[] */ ++ RPMTAG_FLINKNEVRA = 1169, /* s[] */ ++ RPMTAG_PACKAGEORIGIN = 1170, /* s */ + RPMTAG_TRIGGERPREIN = 1171, /*!< internal */ ++ RPMTAG_BUILDSUGGESTS = 1172, /*!< internal */ ++ RPMTAG_BUILDENHANCES = 1173, /*!< internal */ ++ RPMTAG_SCRIPTSTATES = 1174, /*!< i scriptlet exit codes */ ++ RPMTAG_SCRIPTMETRICS = 1175, /*!< i scriptlet execution times */ ++ RPMTAG_BUILDCPUCLOCK = 1176, /*!< i */ + + /*@-enummemuse@*/ + RPMTAG_FIRSTFREE_TAG /*!< internal */ +@@ -531,7 +543,9 @@ + /*@=enummemuse@*/ + RPMSENSE_KEYRING = (1 << 26), + RPMSENSE_STRONG = (1 << 27), +- RPMSENSE_CONFIG = (1 << 28) ++ RPMSENSE_CONFIG = (1 << 28), ++ RPMSENSE_PROBE = (1 << 29), ++ RPMSENSE_PACKAGE = (1 << 30) + } rpmsenseFlags; + + #define RPMSENSE_SENSEMASK 15 /* Mask to get senses, ie serial, */ diff --git a/recipes/rpm/files/weakdeps.patch b/recipes/rpm/files/weakdeps.patch new file mode 100644 index 0000000000..a013b75542 --- /dev/null +++ b/recipes/rpm/files/weakdeps.patch @@ -0,0 +1,312 @@ +Taken from OpenSUSE 11 rpm source file - RP 26/8/08 + +Add support for weak dependencies: + +A) use RPMTAG_SUGGESTS and RPMTAG_ENHANCES to store them. + + This is different to upstream, which uses RPMSENSE_MISSINGOK + and RPMTAG_REQUIRES/RPMTAG_PROVIDES instead. I chose different + tags because I wanted to be compatible. The point is that + applications that don't know about the new MISSINGOK semantics + will mis-interpret the provides/requires otherwise, which + I deemed to risky. + +B) use RPMSENSE_STRONG to support a "strong" version, "Recommends" + instead of "Suggests" and "Supplements" instead of "Enhances". + +Needs extcond.diff for query operations. + +Index: build/parsePreamble.c +=================================================================== +--- build/parsePreamble.c.orig 2008-04-01 08:28:21.000000000 +0100 ++++ build/parsePreamble.c 2008-08-26 16:58:09.000000000 +0100 +@@ -129,6 +129,8 @@ + { "post", RPMSENSE_SCRIPT_POST }, + { "rpmlib", RPMSENSE_RPMLIB }, + { "verify", RPMSENSE_SCRIPT_VERIFY }, ++ { "hint", RPMSENSE_MISSINGOK }, ++ { "strong", RPMSENSE_STRONG }, + { NULL, 0 } + }; + +@@ -140,6 +142,8 @@ + { "build", RPMSENSE_SCRIPT_BUILD }, + { "install", RPMSENSE_SCRIPT_INSTALL }, + { "clean", RPMSENSE_SCRIPT_CLEAN }, ++ { "hint", RPMSENSE_MISSINGOK }, ++ { "strong", RPMSENSE_STRONG }, + { NULL, 0 } + }; + +@@ -692,6 +696,18 @@ + if ((rc = parseRCPOT(spec, pkg, field, tag, 0, tagflags))) + return rc; + break; ++ case RPMTAG_SUGGESTSFLAGS: ++ case RPMTAG_ENHANCESFLAGS: ++ case RPMTAG_BUILDSUGGESTS: ++ case RPMTAG_BUILDENHANCES: ++ tagflags = RPMSENSE_MISSINGOK; ++ if (macro && (!strcmp(macro, "recommends") || !strcmp(macro, "buildrecommends"))) ++ tagflags |= RPMSENSE_STRONG; ++ if (macro && (!strcmp(macro, "supplements") || !strcmp(macro, "buildsupplements"))) ++ tagflags |= RPMSENSE_STRONG; ++ if ((rc = parseRCPOT(spec, pkg, field, tag, 0, tagflags))) ++ return rc; ++ break; + case RPMTAG_EXCLUDEARCH: + case RPMTAG_EXCLUSIVEARCH: + case RPMTAG_EXCLUDEOS: +@@ -783,6 +799,14 @@ + {RPMTAG_DISTTAG, 0, 0, 0, "disttag"}, + {RPMTAG_CVSID, 0, 0, 0, "cvsid"}, + {RPMTAG_SVNID, 0, 0, 0, "svnid"}, ++ {RPMTAG_SUGGESTSFLAGS, 0, 0, 0, "recommends"}, ++ {RPMTAG_SUGGESTSFLAGS, 0, 0, 0, "suggests"}, ++ {RPMTAG_ENHANCESFLAGS, 0, 0, 0, "supplements"}, ++ {RPMTAG_ENHANCESFLAGS, 0, 0, 0, "enhances"}, ++ {RPMTAG_BUILDSUGGESTS, 0, 0, 0, "buildrecommends"}, ++ {RPMTAG_BUILDSUGGESTS, 0, 0, 0, "buildsuggests"}, ++ {RPMTAG_BUILDENHANCES, 0, 0, 0, "buildsupplements"}, ++ {RPMTAG_BUILDENHANCES, 0, 0, 0, "buildenhances"}, + /*@-nullassign@*/ /* LCL: can't add null annotation */ + {0, 0, 0, 0, 0} + /*@=nullassign@*/ +Index: build/parseReqs.c +=================================================================== +--- build/parseReqs.c.orig 2008-04-01 08:28:21.000000000 +0100 ++++ build/parseReqs.c 2008-08-26 16:58:09.000000000 +0100 +@@ -85,6 +85,14 @@ + tagflags |= RPMSENSE_ANY; + h = spec->buildRestrictions; + break; ++ case RPMTAG_SUGGESTSFLAGS: ++ case RPMTAG_ENHANCESFLAGS: ++ h = pkg->header; ++ break; ++ case RPMTAG_BUILDSUGGESTS: ++ case RPMTAG_BUILDENHANCES: ++ h = spec->buildRestrictions; ++ break; + default: + case RPMTAG_REQUIREFLAGS: + tagflags |= RPMSENSE_ANY; +Index: build/reqprov.c +=================================================================== +--- build/reqprov.c.orig 2008-04-01 08:28:21.000000000 +0100 ++++ build/reqprov.c 2008-08-26 16:58:09.000000000 +0100 +@@ -48,6 +48,16 @@ + flagtag = RPMTAG_TRIGGERFLAGS; + indextag = RPMTAG_TRIGGERINDEX; + extra = Flags & RPMSENSE_TRIGGER; ++ } else if (tagN == RPMTAG_SUGGESTSFLAGS || tagN == RPMTAG_BUILDSUGGESTS) { ++ nametag = RPMTAG_SUGGESTSNAME; ++ versiontag = RPMTAG_SUGGESTSVERSION; ++ flagtag = RPMTAG_SUGGESTSFLAGS; ++ extra = Flags & _ALL_REQUIRES_MASK; ++ } else if (tagN == RPMTAG_ENHANCESFLAGS || tagN == RPMTAG_BUILDENHANCES) { ++ nametag = RPMTAG_ENHANCESNAME; ++ versiontag = RPMTAG_ENHANCESVERSION; ++ flagtag = RPMTAG_ENHANCESFLAGS; ++ extra = Flags & _ALL_REQUIRES_MASK; + } else { + nametag = RPMTAG_REQUIRENAME; + versiontag = RPMTAG_REQUIREVERSION; +Index: build/rpmfc.c +=================================================================== +--- build/rpmfc.c.orig 2008-04-01 08:28:21.000000000 +0100 ++++ build/rpmfc.c 2008-08-26 16:58:09.000000000 +0100 +@@ -1385,6 +1385,12 @@ + { "Obsoletes", { "%{?__find_obsoletes}", NULL, NULL, NULL }, + RPMTAG_OBSOLETENAME, RPMTAG_OBSOLETEVERSION, RPMTAG_OBSOLETEFLAGS, + 0, -1 }, ++ { "Enhances", { "%{?__find_enhances}", NULL, NULL, NULL }, ++ RPMTAG_ENHANCESNAME, RPMTAG_ENHANCESVERSION, RPMTAG_ENHANCESFLAGS, ++ RPMSENSE_STRONG, RPMSENSE_STRONG }, ++ { "Supplements", { "%{?__find_supplements}", NULL, NULL, NULL }, ++ RPMTAG_ENHANCESNAME, RPMTAG_ENHANCESVERSION, RPMTAG_ENHANCESFLAGS, ++ RPMSENSE_STRONG, 0 }, + { NULL, { NULL, NULL, NULL, NULL }, 0, 0, 0, 0, 0 } + }; + +@@ -1480,6 +1486,14 @@ + failnonzero = 0; + tagflags = RPMSENSE_FIND_REQUIRES; + /*@switchbreak@*/ break; ++ case RPMTAG_ENHANCESFLAGS: ++ if (!pkg->autoProv) ++ continue; ++ failnonzero = 0; ++ tagflags = RPMSENSE_FIND_REQUIRES | RPMSENSE_MISSINGOK; ++ if (strcmp(dm->msg, "Supplements") == 0) ++ tagflags |= RPMSENSE_STRONG; ++ /*@switchbreak@*/ break; + default: + continue; + /*@notreached@*/ /*@switchbreak@*/ break; +Index: lib/rpmlib.h +=================================================================== +--- lib/rpmlib.h.orig 2008-04-01 08:28:22.000000000 +0100 ++++ lib/rpmlib.h 2008-08-26 17:00:37.000000000 +0100 +@@ -530,7 +530,7 @@ + RPMSENSE_TRIGGERPREIN = (1 << 25), /*!< @todo Implement %triggerprein. */ + /*@=enummemuse@*/ + RPMSENSE_KEYRING = (1 << 26), +- RPMSENSE_PATCHES = (1 << 27), ++ RPMSENSE_STRONG = (1 << 27), + RPMSENSE_CONFIG = (1 << 28) + } rpmsenseFlags; + +Index: python/rpmmodule.c +=================================================================== +--- python/rpmmodule.c.orig 2008-04-01 08:28:22.000000000 +0100 ++++ python/rpmmodule.c 2008-08-26 16:58:09.000000000 +0100 +@@ -433,7 +433,7 @@ + REGISTER_ENUM(RPMSENSE_RPMLIB); + REGISTER_ENUM(RPMSENSE_TRIGGERPREIN); + REGISTER_ENUM(RPMSENSE_KEYRING); +- REGISTER_ENUM(RPMSENSE_PATCHES); ++ REGISTER_ENUM(RPMSENSE_STRONG); + REGISTER_ENUM(RPMSENSE_CONFIG); + + REGISTER_ENUM(RPMTRANS_FLAG_TEST); +Index: lib/rpmds.c +=================================================================== +--- lib/rpmds.c.orig 2008-04-01 08:28:22.000000000 +0100 ++++ lib/rpmds.c 2008-08-26 16:58:09.000000000 +0100 +@@ -320,6 +320,11 @@ + tagEVR = RPMTAG_TRIGGERVERSION; + tagF = RPMTAG_TRIGGERFLAGS; + } else ++ if (tagN == RPMTAG_ENHANCESNAME) { ++ Type = "Enhances"; ++ tagEVR = RPMTAG_ENHANCESVERSION; ++ tagF = RPMTAG_ENHANCESFLAGS; ++ } else + goto exit; + + /*@-branchstate@*/ +Index: rpmpopt.in +=================================================================== +--- rpmpopt.in.orig 2008-04-01 08:28:22.000000000 +0100 ++++ rpmpopt.in 2008-08-26 16:58:09.000000000 +0100 +@@ -68,6 +68,22 @@ + --POPTdesc=$"list capabilities required by package(s)" + rpm alias -R --requires + ++rpm alias --suggests --qf \ ++ "[%|SUGGESTSFLAGS:depflag_strong?{}:{%{SUGGESTSNAME} %{SUGGESTSFLAGS:depflags} %{SUGGESTSVERSION}\n}|]" \ ++ --POPTdesc=$"list capabilities this package suggests" ++ ++rpm alias --recommends --qf \ ++ "[%|SUGGESTSFLAGS:depflag_strong?{%{SUGGESTSNAME} %{SUGGESTSFLAGS:depflags} %{SUGGESTSVERSION}\n}|]" \ ++ --POPTdesc=$"list capabilities this package recommends" ++ ++rpm alias --enhances --qf \ ++ "[%|ENHANCESFLAGS:depflag_strong?{}:{%{ENHANCESNAME} %{ENHANCESFLAGS:depflags} %{ENHANCESVERSION}\n}|]" \ ++ --POPTdesc=$"list capabilities this package enhances" ++ ++rpm alias --supplements --qf \ ++ "[%|ENHANCESFLAGS:depflag_strong?{%{ENHANCESNAME} %{ENHANCESFLAGS:depflags} %{ENHANCESVERSION}\n}|]" \ ++ --POPTdesc=$"list capabilities this package supplements" ++ + rpm alias --info --qf 'Name : %-27{NAME} Relocations: %|PREFIXES?{[%{PREFIXES} ]}:{(not relocatable)}|\n\ + Version : %-27{VERSION} Vendor: %{VENDOR}\n\ + Release : %-27{RELEASE} Build Date: %{BUILDTIME:date}\n\ +@@ -351,6 +367,22 @@ + --POPTdesc=$"list capabilities required by package(s)" + rpmq alias -R --requires + ++rpmq alias --suggests --qf \ ++ "[%|SUGGESTSFLAGS:depflag_strong?{}:{%{SUGGESTSNAME} %{SUGGESTSFLAGS:depflags} %{SUGGESTSVERSION}\n}|]" \ ++ --POPTdesc=$"list capabilities this package suggests" ++ ++rpmq alias --recommends --qf \ ++ "[%|SUGGESTSFLAGS:depflag_strong?{%{SUGGESTSNAME} %{SUGGESTSFLAGS:depflags} %{SUGGESTSVERSION}\n}|]" \ ++ --POPTdesc=$"list capabilities this package recommends" ++ ++rpmq alias --enhances --qf \ ++ "[%|ENHANCESFLAGS:depflag_strong?{}:{%{ENHANCESNAME} %{ENHANCESFLAGS:depflags} %{ENHANCESVERSION}\n}|]" \ ++ --POPTdesc=$"list capabilities this package enhances" ++ ++rpmq alias --supplements --qf \ ++ "[%|ENHANCESFLAGS:depflag_strong?{%{ENHANCESNAME} %{ENHANCESFLAGS:depflags} %{ENHANCESVERSION}\n}|]" \ ++ --POPTdesc=$"list capabilities this package supplements" ++ + rpmq alias --info --qf 'Name : %-27{NAME} Relocations: %|PREFIXES?{[%{PREFIXES} ]}:{(not relocatable)}|\n\ + Version : %-27{VERSION} Vendor: %{VENDOR}\n\ + Release : %-27{RELEASE} Build Date: %{BUILDTIME:date}\n\ +@@ -452,6 +484,22 @@ + --POPTdesc=$"list capabilities required by package(s)" + rpmquery alias -R --requires + ++rpmquery alias --suggests --qf \ ++ "[%|SUGGESTSFLAGS:depflag_strong?{}:{%{SUGGESTSNAME} %{SUGGESTSFLAGS:depflags} %{SUGGESTSVERSION}\n}|]" \ ++ --POPTdesc=$"list capabilities this package suggests" ++ ++rpmquery alias --recommends --qf \ ++ "[%|SUGGESTSFLAGS:depflag_strong?{%{SUGGESTSNAME} %{SUGGESTSFLAGS:depflags} %{SUGGESTSVERSION}\n}|]" \ ++ --POPTdesc=$"list capabilities this package recommends" ++ ++rpmquery alias --enhances --qf \ ++ "[%|ENHANCESFLAGS:depflag_strong?{}:{%{ENHANCESNAME} %{ENHANCESFLAGS:depflags} %{ENHANCESVERSION}\n}|]" \ ++ --POPTdesc=$"list capabilities this package enhances" ++ ++rpmquery alias --supplements --qf \ ++ "[%|ENHANCESFLAGS:depflag_strong?{%{ENHANCESNAME} %{ENHANCESFLAGS:depflags} %{ENHANCESVERSION}\n}|]" \ ++ --POPTdesc=$"list capabilities this package supplements" ++ + rpmquery alias --info --qf 'Name : %-27{NAME} Relocations: %|PREFIXES?{[%{PREFIXES} ]}:{(not relocatable)}|\n\ + Version : %-27{VERSION} Vendor: %{VENDOR}\n\ + Release : %-27{RELEASE} Build Date: %{BUILDTIME:date}\n\ +Index: lib/formats.c +=================================================================== +--- lib/formats.c.orig 2008-04-01 08:28:22.000000000 +0100 ++++ lib/formats.c 2008-08-26 16:58:09.000000000 +0100 +@@ -543,6 +543,38 @@ + return val; + } + ++static /*@only@*/ char * depflag_strongFormat(int_32 type, const void * data, ++ char * formatPrefix, int padding, /*@unused@*/ int element) ++ /*@modifies formatPrefix @*/ ++ /*@requires maxRead(data) >= 0 @*/ ++{ ++ char * val; ++ char buf[10]; ++ int anint; ++ ++ if (type != RPM_INT32_TYPE) { ++ val = xstrdup(_("(not a number)")); ++ } else { ++ anint = *((int_32 *) data); ++ buf[0] = '\0'; ++ ++/*@-boundswrite@*/ ++ if (anint & RPMSENSE_STRONG) ++ strcat(buf, "strong"); ++/*@=boundswrite@*/ ++ ++ val = xmalloc(7 + padding); ++/*@-boundswrite@*/ ++ strcat(formatPrefix, "s"); ++/*@=boundswrite@*/ ++ /*@-formatconst@*/ ++ sprintf(val, formatPrefix, buf); ++ /*@=formatconst@*/ ++ } ++ ++ return val; ++} ++ + /** + * Retrieve mounted file system paths. + * @param h header +@@ -1171,6 +1203,7 @@ + { HEADER_EXT_FORMAT, "base64", { base64Format } }, + { HEADER_EXT_FORMAT, "pgpsig", { pgpsigFormat } }, + { HEADER_EXT_FORMAT, "depflags", { depflagsFormat } }, ++ { HEADER_EXT_FORMAT, "depflag_strong", { depflag_strongFormat } }, + { HEADER_EXT_FORMAT, "fflags", { fflagsFormat } }, + { HEADER_EXT_FORMAT, "perms", { permsFormat } }, + { HEADER_EXT_FORMAT, "permissions", { permsFormat } }, diff --git a/recipes/rpm/rpm-native_4.4.2.3.bb b/recipes/rpm/rpm-native_4.4.2.3.bb new file mode 100644 index 0000000000..5ed737e366 --- /dev/null +++ b/recipes/rpm/rpm-native_4.4.2.3.bb @@ -0,0 +1,7 @@ +require rpm_${PV}.bb +inherit native + +DEPENDS = "beecrypt-native zlib-native file-native popt-native python-native" + +export localstatedir = "${layout_localstatedir}" +export varprefix = "${layout_localstatedir}" diff --git a/recipes/rpm/rpm_4.4.2.3.bb b/recipes/rpm/rpm_4.4.2.3.bb new file mode 100644 index 0000000000..6c2dc55e69 --- /dev/null +++ b/recipes/rpm/rpm_4.4.2.3.bb @@ -0,0 +1,95 @@ +DESCRIPTION = "The RPM Package Manager." +HOMEPAGE = "http://rpm.org/" +LICENSE = "LGPL GPL" +DEPENDS = "zlib beecrypt file popt python sed-native" +PR = "r13" + +SRC_URI = "http://www.rpm.org/releases/rpm-4.4.x/rpm-4.4.2.3.tar.gz \ + file://external-tools.patch;patch=1 \ + file://cross_libpaths.patch;patch=1 \ + file://weakdeps.patch;patch=1;pnum=0 \ + file://tagsbackport.patch;patch=1;pnum=0 \ + file://missingok.patch;patch=1;pnum=0 \ + file://extcond.patch;patch=1;pnum=0" + +inherit autotools gettext distutils-base + +S = "${WORKDIR}/rpm-${PV}" + +ARM_INSTRUCTION_SET = "arm" + +acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java" + +EXTRA_OECONF = "--with-python \ + --with-python-incdir=${STAGING_INCDIR}/${PYTHON_DIR} \ + --with-python-libdir=${libdir}/${PYTHON_DIR} \ + --without-apidocs \ + --without-selinux \ + --without-lua \ + --without-dmalloc \ + --without-efence" + +PACKAGES += "python-rpm" +FILES_python-rpm = "${libdir}/python*/site-recipes/rpm/_*" + +# Handle the db MUTEX settings here, the POSIX library is +# the default - "POSIX/pthreads/library". +# Don't ignore the nice SWP instruction on the ARM: +# These enable the ARM assembler mutex code, this won't +# work with thumb compilation... +ARM_MUTEX = "--with-mutex=ARM/gcc-assembly" +MUTEX = "" +MUTEX_arm = "${ARM_MUTEX}" +MUTEX_armeb = "${ARM_MUTEX}" +EXTRA_OECONF += "${MUTEX}" + +export varprefix = "${localstatedir}" + +do_configure () { + rm ${S}/popt/ -Rf + rm ${S}/db/dist/configure.in -f + cd ${S}/db/dist/aclocal + rm libtool* -f + for i in `ls *.ac`; do + j=`echo $i | sed 's/.ac/.m4/g'` + mv $i $j + done + cd ${S}/db/dist/aclocal_java + for i in `ls *.ac`; do + j=`echo $i | sed 's/.ac/.m4/g'` + mv $i $j + done + cd ${S} + autotools_do_configure + cd ${S}/db/dist + . ./RELEASE + # Edit version information we couldn't pre-compute. + sed -i -e "s/__EDIT_DB_VERSION_MAJOR__/$DB_VERSION_MAJOR/g" configure + sed -i -e "s/__EDIT_DB_VERSION_MINOR__/$DB_VERSION_MINOR/g" configure + sed -i -e "s/__EDIT_DB_VERSION_PATCH__/$DB_VERSION_PATCH/g" configure + sed -i -e "s/__EDIT_DB_VERSION_STRING__/$DB_VERSION_STRING/g" configure + sed -i -e "s/__EDIT_DB_VERSION_UNIQUE_NAME__/$DB_VERSION_UNIQUE_NAME/g" configure + sed -i -e "s/__EDIT_DB_VERSION__/$DB_VERSION/g" configure + cd ${S}/db3 + ${S}/db3/configure \ + --build=${BUILD_SYS} \ + --host=${HOST_SYS} \ + --target=${TARGET_SYS} \ + --prefix=${prefix} \ + --exec_prefix=${exec_prefix} \ + --bindir=${bindir} \ + --sbindir=${sbindir} \ + --libexecdir=${libexecdir} \ + --datadir=${datadir} \ + --sysconfdir=${sysconfdir} \ + --sharedstatedir=${sharedstatedir} \ + --localstatedir=${localstatedir} \ + --libdir=${libdir} \ + --includedir=${includedir} \ + --oldincludedir=${oldincludedir} \ + --infodir=${infodir} \ + --mandir=${mandir} \ + ${EXTRA_OECONF} \ + --with-pic + +} diff --git a/recipes/rpm/rpm_4.4.bb b/recipes/rpm/rpm_4.4.bb deleted file mode 100644 index ff69ddc50f..0000000000 --- a/recipes/rpm/rpm_4.4.bb +++ /dev/null @@ -1,44 +0,0 @@ -DESCRIPTION = "The RPM Package Manager." -HOMEPAGE = "http://rpm.org/" -LICENSE = "LGPL GPL" -# NOTE: currently rpm doesn't support using an external popt, -# file, or virtual/db. FIXME: patch it to support that. -# DEPENDS = "virtual/db popt file zlib" -DEPENDS = "zlib" -PR = "r1" - -SRC_URI = "ftp://ftp.jbj.org/pub/rpm-4.4.x/rpm-4.4-1.src.rpm \ - file://fix_mypath.patch;patch=1 \ - file://cross_libpaths.patch;patch=1" -TARBALL = "${WORKDIR}/rpm-4.4.tar.gz" - -inherit autotools gettext - -acpaths = "" -# NOTE: currently BROKEN because its internal build of 'file' tries -# to run the binary it builds. Either switch to an external build, -# or depend on our file-native and make it call that. -BROKEN = "1" -EXTRA_OECONF = "--without-python \ - --without-apidocs \ - --without-selinux \ - --without-lua \ - --without-dmalloc \ - --without-efence" - -python unpack_again () { - import bb, os - os.chdir(bb.data.getVar('WORKDIR', d, 1) or '') - if not oe_unpack_file(bb.data.expand('${TARBALL}', d), d): - raise bb.build.FuncFailed(bb.data.expand("Unable to unpack ${TARBALL}", d)) -} - -python do_unpack () { - bb.build.exec_func('base_do_unpack', d) - bb.build.exec_func('unpack_again', d) -} - -do_configure () { - touch db3/configure.ac - autotools_do_configure -} |