mirror of
https://git.yoctoproject.org/poky
synced 2026-04-18 21:32:12 +02:00
rpm: Uprev to rpm-5.4.16 (pre) and rpm-5.4+cvs to current CVS head
meta/lib/oe/package_manager.py was also updated. This ensures that any diagnostic messages are ignored from the output of rpmresolve. The patches have been split into bug fixes (things that belong upstream) and local changes that are OE specific. The following patches are obsolete and have been removed: rpm-remove-sykcparse-decl.patch fstack-protector-configure-check.patch rpm-disable-Wno-override-init.patch rpm-lua-fix-print.patch rpm-rpmpgp-fix.patch verify-fix-broken-logic-for-ghost-avoidance-Mark-Hat.patch (From OE-Core rev: ee97e53fcceabc6ef4ddc68f38c5fa0e05c5d9a8) Signed-off-by: Mark Hatle <mark.hatle@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
a27ca6da59
commit
007c284cb8
@@ -418,11 +418,15 @@ class RpmPkgsList(PkgsList):
|
||||
|
||||
# Populate deps dictionary for better manipulation
|
||||
for line in dependencies.splitlines():
|
||||
pkg, dep = line.split("|")
|
||||
if not pkg in deps:
|
||||
deps[pkg] = list()
|
||||
if not dep in deps[pkg]:
|
||||
deps[pkg].append(dep)
|
||||
try:
|
||||
pkg, dep = line.split("|")
|
||||
if not pkg in deps:
|
||||
deps[pkg] = list()
|
||||
if not dep in deps[pkg]:
|
||||
deps[pkg].append(dep)
|
||||
except:
|
||||
# Ignore any other lines they're debug or errors
|
||||
pass
|
||||
|
||||
for line in tmp_output.split('\n'):
|
||||
if len(line.strip()) == 0:
|
||||
|
||||
@@ -15,34 +15,36 @@ Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.14/tools/debugedit.c
|
||||
Index: rpm/tools/debugedit.c
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/tools/debugedit.c
|
||||
+++ rpm-5.4.14/tools/debugedit.c
|
||||
@@ -1445,21 +1445,24 @@ handle_build_id (DSO *dso, Elf_Data *bui
|
||||
auto inline void process (const void *data, size_t size)
|
||||
{
|
||||
memchunk chunk = { .data = (void *) data, .size = size };
|
||||
- hashFunctionContextUpdateMC (&ctx, &chunk);
|
||||
+ if (data != NULL && size != 0)
|
||||
+ hashFunctionContextUpdateMC (&ctx, &chunk);
|
||||
}
|
||||
union
|
||||
{
|
||||
--- rpm.orig/tools/debugedit.c
|
||||
+++ rpm/tools/debugedit.c
|
||||
@@ -1403,7 +1403,8 @@ static inline void process (hashFunction
|
||||
const void *data, size_t size)
|
||||
{
|
||||
memchunk chunk = { .data = (void *) data, .size = size };
|
||||
- hashFunctionContextUpdateMC (ctx, &chunk);
|
||||
+ if (data != NULL && size != 0)
|
||||
+ hashFunctionContextUpdateMC (ctx, &chunk);
|
||||
}
|
||||
|
||||
/* Compute a fresh build ID bit-string from the editted file contents. */
|
||||
@@ -1456,14 +1457,16 @@ handle_build_id (DSO *dso, Elf_Data *bui
|
||||
GElf_Ehdr ehdr;
|
||||
GElf_Phdr phdr;
|
||||
GElf_Shdr shdr;
|
||||
- } u;
|
||||
- Elf_Data x = { .d_version = EV_CURRENT, .d_buf = &u };
|
||||
+ } u1, u2;
|
||||
+ Elf_Data src = { .d_version = EV_CURRENT, .d_buf = &u1 };
|
||||
+ Elf_Data dest = { .d_version = EV_CURRENT, .d_buf = &u2 };
|
||||
|
||||
-
|
||||
- x.d_type = ELF_T_EHDR;
|
||||
- x.d_size = sizeof u.ehdr;
|
||||
- u.ehdr = dso->ehdr;
|
||||
- u.ehdr.e_phoff = u.ehdr.e_shoff = 0;
|
||||
- if (elf64_xlatetom (&x, &x, dso->ehdr.e_ident[EI_DATA]) == NULL)
|
||||
+ } u1, u2;
|
||||
+ Elf_Data src = { .d_version = EV_CURRENT, .d_buf = &u1 };
|
||||
+ Elf_Data dest = { .d_version = EV_CURRENT, .d_buf = &u2 };
|
||||
+
|
||||
+ src.d_type = ELF_T_EHDR;
|
||||
+ src.d_size = sizeof u1.ehdr;
|
||||
+ dest.d_size = sizeof u2.ehdr;
|
||||
@@ -52,7 +54,7 @@ Index: rpm-5.4.14/tools/debugedit.c
|
||||
{
|
||||
bad:
|
||||
fprintf (stderr, "Failed to compute header checksum: %s\n",
|
||||
@@ -1467,29 +1470,31 @@ handle_build_id (DSO *dso, Elf_Data *bui
|
||||
@@ -1471,29 +1474,31 @@ handle_build_id (DSO *dso, Elf_Data *bui
|
||||
exit (1);
|
||||
}
|
||||
|
||||
@@ -69,8 +71,8 @@ Index: rpm-5.4.14/tools/debugedit.c
|
||||
- if (elf64_xlatetom (&x, &x, dso->ehdr.e_ident[EI_DATA]) == NULL)
|
||||
+ if (elf64_xlatetom (&dest, &src, dso->ehdr.e_ident[EI_DATA]) == NULL)
|
||||
goto bad;
|
||||
- process (x.d_buf, x.d_size);
|
||||
+ process (dest.d_buf, dest.d_size);
|
||||
- process (&ctx, x.d_buf, x.d_size);
|
||||
+ process (&ctx, dest.d_buf, dest.d_size);
|
||||
}
|
||||
|
||||
- x.d_type = ELF_T_SHDR;
|
||||
@@ -88,8 +90,8 @@ Index: rpm-5.4.14/tools/debugedit.c
|
||||
+ u1.shdr.sh_offset = 0;
|
||||
+ if (elf64_xlatetom (&dest, &src, dso->ehdr.e_ident[EI_DATA]) == NULL)
|
||||
goto bad;
|
||||
- process (x.d_buf, x.d_size);
|
||||
+ process (dest.d_buf, dest.d_size);
|
||||
- process (&ctx, x.d_buf, x.d_size);
|
||||
+ process (&ctx, dest.d_buf, dest.d_size);
|
||||
|
||||
- if (u.shdr.sh_type != SHT_NOBITS)
|
||||
+ if (u1.shdr.sh_type != SHT_NOBITS)
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
Some options checked in this loop are needing linking to find out
|
||||
if the option can be used or not e.g. -fstack-protector which needs
|
||||
libssp to be staged and available for compiler to link against
|
||||
Therefore we change the compile only check to compile and link check
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
Upstream-Status: Pending
|
||||
|
||||
Index: rpm-5.4.14/configure.ac
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/configure.ac
|
||||
+++ rpm-5.4.14/configure.ac
|
||||
@@ -201,7 +201,7 @@ dnl # GNU GCC (usually "gcc")
|
||||
my_save_cflags="$CFLAGS"
|
||||
CFLAGS=$c
|
||||
AC_MSG_CHECKING([whether GCC supports $c])
|
||||
- AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])],
|
||||
+ AC_LINK_IFELSE([AC_LANG_PROGRAM([])],
|
||||
[AC_MSG_RESULT([yes])]
|
||||
[my_cflags=$c],
|
||||
[AC_MSG_RESULT([no])]
|
||||
@@ -1,5 +1,15 @@
|
||||
Update two rpm headers to include other headers.
|
||||
|
||||
Using rpmdb.h w/o including errno.h may result in a warning.
|
||||
|
||||
Using rpmtag.h w/o also adding stdint.h will result in numerous failures
|
||||
about unknown types on modern compilers.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Qing He <qing.he@intel.com>
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.14/rpmdb/rpmdb.h
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/rpmdb/rpmdb.h
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
popt: Disable default stack protection on internal version of popt
|
||||
|
||||
Upstream-Status: Inappropriate [configuration]
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.15/popt/configure.ac
|
||||
===================================================================
|
||||
--- rpm-5.4.15.orig/popt/configure.ac
|
||||
+++ rpm-5.4.15/popt/configure.ac
|
||||
@@ -123,7 +123,6 @@ AS_IF([test "x$popt_gcc_warnings" = xyes
|
||||
popt_CFLAGS_ADD([-Wjump-misses-init],[POPT_CFLAGS])
|
||||
popt_CFLAGS_ADD([-Wno-format-nonliteral],[POPT_CFLAGS])
|
||||
popt_CFLAGS_ADD([-Wframe-larger-than=$MAX_STACK_SIZE],[POPT_CFLAGS])
|
||||
- popt_CFLAGS_ADD([-fstack-protector-all],[POPT_CFLAGS])
|
||||
popt_CFLAGS_ADD([-fasynchronous-unwind-tables],[POPT_CFLAGS])
|
||||
popt_CFLAGS_ADD([-fdiagnostics-show-option],[POPT_CFLAGS])
|
||||
popt_CFLAGS_ADD([-funit-at-a-time],[POPT_CFLAGS])
|
||||
@@ -203,7 +202,7 @@ AC_SUBST([POPT_LDFLAGS])
|
||||
# -fno-delete-null-pointer as the kernel does http://patchwork.kernel.org/patch/36060/
|
||||
# GNU GCC (usually "gcc")
|
||||
AS_IF([test "x$GCC" != x],
|
||||
- [ for c in -fno-delete-null-pointer-checks -Wp,-D_FORTIFY_SOURCE=2 -fstack-protector -fexceptions
|
||||
+ [ for c in -fno-delete-null-pointer-checks -fexceptions
|
||||
do
|
||||
popt_CFLAGS_ADD([$c], [POPT_CFLAGS])
|
||||
done
|
||||
@@ -8,26 +8,24 @@ Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.14/python/rpmmodule.c
|
||||
Index: rpm/python/rpmmodule.c
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/python/rpmmodule.c
|
||||
+++ rpm-5.4.14/python/rpmmodule.c
|
||||
@@ -494,12 +494,16 @@ void init_rpm(void)
|
||||
REGISTER_ENUM(RPMSENSE_EQUAL);
|
||||
REGISTER_ENUM(RPMSENSE_NOTEQUAL);
|
||||
REGISTER_ENUM(RPMSENSE_FIND_REQUIRES);
|
||||
-#if defined(RPM_VENDOR_MANDRIVA)
|
||||
+#if defined(RPM_VENDOR_MANDRIVA) || defined(RPM_VENDOR_WINDRIVER) || defined(RPM_VENDOR_OE)
|
||||
--- rpm.orig/python/rpmmodule.c
|
||||
+++ rpm/python/rpmmodule.c
|
||||
@@ -525,12 +525,15 @@ static int initModule(PyObject *m)
|
||||
REGISTER_ENUM(RPMSENSE_PREREQ);
|
||||
REGISTER_ENUM(RPMSENSE_PRETRANS);
|
||||
REGISTER_ENUM(RPMSENSE_INTERP);
|
||||
+#else
|
||||
+ #if defined(RPM_VENDOR_WINDRIVER) || defined(RPM_VENDOR_OE)
|
||||
REGISTER_ENUM(RPMSENSE_SCRIPT_PRE);
|
||||
REGISTER_ENUM(RPMSENSE_SCRIPT_POST);
|
||||
REGISTER_ENUM(RPMSENSE_SCRIPT_PREUN);
|
||||
- REGISTER_ENUM(RPMSENSE_SCRIPT_POSTUN)
|
||||
+ REGISTER_ENUM(RPMSENSE_SCRIPT_POSTUN);
|
||||
+#endif
|
||||
+
|
||||
+#if defined(RPM_VENDOR_WINDRIVER) || defined(RPM_VENDOR_OE)
|
||||
REGISTER_ENUM(RPMSENSE_SCRIPT_POSTUN);
|
||||
REGISTER_ENUM(RPMSENSE_SCRIPT_VERIFY);
|
||||
-#else
|
||||
+ REGISTER_ENUM(RPMSENSE_MISSINGOK);
|
||||
+ #endif
|
||||
REGISTER_ENUM(RPMSENSE_NOTEQUAL);
|
||||
#endif
|
||||
|
||||
REGISTER_ENUM(RPMDEPS_FLAG_NOUPGRADE);
|
||||
REGISTER_ENUM(RPMSENSE_FIND_REQUIRES);
|
||||
|
||||
73
meta/recipes-devtools/rpm/rpm/rpm-atomic-ops.patch
Normal file
73
meta/recipes-devtools/rpm/rpm/rpm-atomic-ops.patch
Normal file
@@ -0,0 +1,73 @@
|
||||
Some architectures do not have __sync_add_and_fetch_8 implemented.
|
||||
|
||||
MIPS (32-bit) and some PPC systems do not have sync_add_and_fetch_8.
|
||||
|
||||
Provide an alternative. This alternative function is based on code from:
|
||||
https://github.com/mongodb/libbson/blob/master/src/bson/bson-atomic.c
|
||||
|
||||
Code is under an Apache 2.0 License.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.15/rpmio/bson.h
|
||||
===================================================================
|
||||
--- rpm-5.4.15.orig/rpmio/bson.h
|
||||
+++ rpm-5.4.15/rpmio/bson.h
|
||||
@@ -879,10 +879,18 @@ BSON_END_DECLS
|
||||
|
||||
BSON_BEGIN_DECLS
|
||||
|
||||
+/* Some architectures do not support __sync_add_and_fetch_8 */
|
||||
+#if (__mips == 32) || (defined(__PPC__) && !defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_8))
|
||||
+# define __BSON_NEED_ATOMIC_64 1
|
||||
+#endif
|
||||
|
||||
#if defined(__GNUC__)
|
||||
# define bson_atomic_int_add(p, v) (__sync_add_and_fetch(p, v))
|
||||
-# define bson_atomic_int64_add(p, v) (__sync_add_and_fetch_8(p, v))
|
||||
+#ifndef __BSON_NEED_ATOMIC_64
|
||||
+# define bson_atomic_int64_add(p, v) (__sync_add_and_fetch_8(p, v))
|
||||
+# else
|
||||
+ int64_t bson_atomic_int64_add (volatile int64_t *p, int64_t n);
|
||||
+# endif
|
||||
# define bson_memory_barrier __sync_synchronize
|
||||
#elif defined(_MSC_VER) || defined(_WIN32)
|
||||
# define bson_atomic_int_add(p, v) (InterlockedExchangeAdd((long int *)(p), v))
|
||||
Index: rpm-5.4.15/rpmio/bson.c
|
||||
===================================================================
|
||||
--- rpm-5.4.15.orig/rpmio/bson.c
|
||||
+++ rpm-5.4.15/rpmio/bson.c
|
||||
@@ -3863,13 +3863,30 @@ _bson_context_get_oid_seq64_threadsafe (
|
||||
#elif defined BSON_OS_WIN32
|
||||
uint64_t seq = InterlockedIncrement64 ((int64_t *)&context->seq64);
|
||||
#else
|
||||
- uint64_t seq = __sync_fetch_and_add_8 (&context->seq64, 1);
|
||||
+ uint64_t seq = bson_atomic_int64_add (&context->seq64, 1);
|
||||
#endif
|
||||
|
||||
seq = BSON_UINT64_TO_BE (seq);
|
||||
memcpy (&oid->bytes[4], &seq, 8);
|
||||
}
|
||||
|
||||
+#ifdef __BSON_NEED_ATOMIC_64
|
||||
+#include <pthread.h>
|
||||
+static pthread_mutex_t gSync64 = PTHREAD_MUTEX_INITIALIZER;
|
||||
+int64_t
|
||||
+bson_atomic_int64_add (volatile int64_t *p,
|
||||
+ int64_t n)
|
||||
+{
|
||||
+ int64_t ret;
|
||||
+
|
||||
+ pthread_mutex_lock (&gSync64);
|
||||
+ *p += n;
|
||||
+ ret = *p;
|
||||
+ pthread_mutex_unlock (&gSync64);
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
+#endif
|
||||
|
||||
/**
|
||||
* bson_context_new:
|
||||
@@ -10,20 +10,20 @@ Signed-off-by: Yuanjie Huang <Yuanjie.Huang@windriver.com>
|
||||
configure.ac | 103 ++++++++++++++++++++++++++++++++++++++++++++++-------------
|
||||
1 file changed, 81 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 02716a0..889a425 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -547,8 +547,6 @@ else
|
||||
Index: rpm/configure.ac
|
||||
===================================================================
|
||||
--- rpm.orig/configure.ac
|
||||
+++ rpm/configure.ac
|
||||
@@ -871,8 +871,6 @@ else
|
||||
MYPATH=$PATH
|
||||
fi
|
||||
|
||||
-DBXY=db60
|
||||
-DBXY=db61
|
||||
-
|
||||
AC_PATH_PROG(__BASH, bash, %{_bindir}/bash, $MYPATH)
|
||||
AC_PATH_PROG(__BZIP2, bzip2, %{_bindir}/bzip2, $MYPATH)
|
||||
AC_PATH_PROG(__CAT, cat, /bin/cat, $MYPATH)
|
||||
@@ -560,22 +558,6 @@ AC_PATH_PROG(__CMAKE, cmake, %{_bindir}/cmake, $MYPATH)
|
||||
@@ -884,22 +882,6 @@ AC_PATH_PROG(__CMAKE, cmake, %{_bindir}/
|
||||
AC_PATH_PROG(__CPIO, cpio, /bin/cpio, $MYPATH)
|
||||
AC_PATH_PROG(__CURL, curl, %{_bindir}/curl, $MYPATH)
|
||||
AC_PATH_PROG(__CVS, cvs, %{_bindir}/cvs, $MYPATH)
|
||||
@@ -46,7 +46,7 @@ index 02716a0..889a425 100644
|
||||
AC_PATH_PROG(__DIFF, diff, /bin/diff, $MYPATH)
|
||||
AC_PATH_PROG(__DITTO, ditto, %{_bindir}/ditto, $MYPATH)
|
||||
AC_PATH_PROG(__FILE, file, %{_bindir}/file, $MYPATH)
|
||||
@@ -1598,13 +1580,46 @@ RPM_CHECK_LIB(
|
||||
@@ -2050,13 +2032,46 @@ RPM_CHECK_LIB(
|
||||
|
||||
dnl # Berkeley-DB & SQLite
|
||||
DBLIBSRCS=""
|
||||
@@ -56,7 +56,7 @@ index 02716a0..889a425 100644
|
||||
-CPPFLAGS="${CPPFLAGS} -I${prefix}/include/${DBXY}"
|
||||
-RPM_CHECK_LIB(
|
||||
+CPPFLAGS_save="${CPPFLAGS}"
|
||||
+CPPFLAGS="${CPPFLAGS_save} -I${prefix}/include/db-6.0"
|
||||
+CPPFLAGS="${CPPFLAGS_save}"
|
||||
+with_db_save="${with_db}"
|
||||
+
|
||||
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
@@ -69,11 +69,11 @@ index 02716a0..889a425 100644
|
||||
+]])],
|
||||
+[RPM_CHECK_LIB(
|
||||
[Berkeley-DB], [db],
|
||||
[db-6.0], [db_create], [db.h],
|
||||
[db-6.1], [db_create], [db.h],
|
||||
- [yes,external], [db3],
|
||||
+ [yes,external], [db6],
|
||||
[ DBLIBSRCS="$DBLIBSRCS db3.c"
|
||||
+ DBXY=db60
|
||||
+ DBXY=db61
|
||||
+ AM_CONDITIONAL(WITH_DB, [ true ])
|
||||
+ AM_CONDITIONAL(WITH_DB_INTERNAL, [ test ".$RPM_CHECK_LIB_LOCATION" = .internal ])
|
||||
+ if test ".$RPM_CHECK_LIB_LOCATION" = .internal; then
|
||||
@@ -86,7 +86,7 @@ index 02716a0..889a425 100644
|
||||
+ AM_CONDITIONAL(WITH_DB_INTERNAL, [ false ])
|
||||
+ ])],
|
||||
+[with_db="${with_db_save}"
|
||||
+ CPPFLAGS="${CPPFLAGS_save} -I${prefix}/include/db-5.3"
|
||||
+ CPPFLAGS="${CPPFLAGS_save}"
|
||||
+ RPM_CHECK_LIB(
|
||||
+ [Berkeley-DB], [db],
|
||||
+ [db-5.3], [db_create], [db.h],
|
||||
@@ -96,32 +96,32 @@ index 02716a0..889a425 100644
|
||||
AM_CONDITIONAL(WITH_DB, [ true ])
|
||||
AM_CONDITIONAL(WITH_DB_INTERNAL, [ test ".$RPM_CHECK_LIB_LOCATION" = .internal ])
|
||||
if test ".$RPM_CHECK_LIB_LOCATION" = .internal; then
|
||||
@@ -1616,6 +1631,11 @@ RPM_CHECK_LIB(
|
||||
@@ -2068,6 +2083,11 @@ RPM_CHECK_LIB(
|
||||
[ AM_CONDITIONAL(WITH_DB, [ false ])
|
||||
AM_CONDITIONAL(WITH_DB_INTERNAL, [ false ])
|
||||
])
|
||||
+])
|
||||
+
|
||||
+if test ".$ac_cv_lib_db_6_0_db_create" != .yes -a ".$ac_cv_lib_db_5_3_db_create" != .yes; then
|
||||
+if test ".$ac_cv_lib_db_6_1_db_create" != .yes -a ".$ac_cv_lib_db_5_3_db_create" != .yes; then
|
||||
+ CPPFLAGS="${CPPFLAGS_save}"
|
||||
+fi
|
||||
|
||||
dnl # Sqlite external
|
||||
RPM_CHECK_LIB(
|
||||
@@ -1627,10 +1647,11 @@ RPM_CHECK_LIB(
|
||||
@@ -2078,10 +2098,11 @@ RPM_CHECK_LIB(
|
||||
[])
|
||||
|
||||
dnl # Sqlite 3.7.0.1 from db-5.1.19
|
||||
dnl XXX error: `db3' is already registered with AC_CONFIG_SUBDIRS.
|
||||
+if test ".$ac_cv_lib_db_6_0_db_create" = .yes; then
|
||||
dnl # Sqlite 3.8.3.1 from db-6.1.19
|
||||
+if test ".$ac_cv_lib_db_6_1_db_create" = .yes; then
|
||||
RPM_CHECK_LIB(
|
||||
[Berkeley-DB (+SQLite3)], [dbsql],
|
||||
[db_sql-6.0], [sqlite3_open], [dbsql.h],
|
||||
[db_sql-6.1], [sqlite3_open], [dbsql.h],
|
||||
- [yes,external], [db3/sql],
|
||||
+ [yes,external], [db6/sql],
|
||||
[
|
||||
AM_CONDITIONAL(WITH_DBSQL, [ true ])
|
||||
AC_DEFINE(WITH_SQLITE, 1, [Define as 1 if building with SQLite library])
|
||||
@@ -1644,12 +1665,50 @@ RPM_CHECK_LIB(
|
||||
@@ -2095,12 +2116,50 @@ RPM_CHECK_LIB(
|
||||
], [
|
||||
AM_CONDITIONAL(WITH_DBSQL, [ false ])
|
||||
])
|
||||
@@ -172,6 +172,3 @@ index 02716a0..889a425 100644
|
||||
AC_ARG_WITH(db-largefile, AS_HELP_STRING([--with-db-largefile], [build Berkeley-DB with LARGEFILE support]))
|
||||
AC_ARG_WITH(db-mutex, AS_HELP_STRING([--with-db-mutex=ARG], [build Berkeley-DB with MUTEX type ARG]))
|
||||
|
||||
--
|
||||
2.6.2
|
||||
|
||||
|
||||
56
meta/recipes-devtools/rpm/rpm/rpm-db60.patch
Normal file
56
meta/recipes-devtools/rpm/rpm/rpm-db60.patch
Normal file
@@ -0,0 +1,56 @@
|
||||
Set the DB 6 version to match oe-core db 6.0.30
|
||||
|
||||
Upstream-Status: Inappropriate [configuration]
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm/configure.ac
|
||||
===================================================================
|
||||
--- rpm.orig/configure.ac
|
||||
+++ rpm/configure.ac
|
||||
@@ -2049,10 +2049,10 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
]])],
|
||||
[RPM_CHECK_LIB(
|
||||
[Berkeley-DB], [db],
|
||||
- [db-6.1], [db_create], [db.h],
|
||||
+ [db-6.0], [db_create], [db.h],
|
||||
[yes,external], [db6],
|
||||
[ DBLIBSRCS="$DBLIBSRCS db3.c"
|
||||
- DBXY=db61
|
||||
+ DBXY=db60
|
||||
AM_CONDITIONAL(WITH_DB, [ true ])
|
||||
AM_CONDITIONAL(WITH_DB_INTERNAL, [ test ".$RPM_CHECK_LIB_LOCATION" = .internal ])
|
||||
if test ".$RPM_CHECK_LIB_LOCATION" = .internal; then
|
||||
@@ -2085,7 +2085,7 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
|
||||
])
|
||||
])
|
||||
|
||||
-if test ".$ac_cv_lib_db_6_1_db_create" != .yes -a ".$ac_cv_lib_db_5_3_db_create" != .yes; then
|
||||
+if test ".$ac_cv_lib_db_6_0_db_create" != .yes -a ".$ac_cv_lib_db_5_3_db_create" != .yes; then
|
||||
CPPFLAGS="${CPPFLAGS_save}"
|
||||
fi
|
||||
|
||||
@@ -2097,11 +2097,11 @@ RPM_CHECK_LIB(
|
||||
[ DBLIBSRCS="$DBLIBSRCS sqlite.c" ],
|
||||
[])
|
||||
|
||||
-dnl # Sqlite 3.8.3.1 from db-6.1.19
|
||||
-if test ".$ac_cv_lib_db_6_1_db_create" = .yes; then
|
||||
+dnl # Sqlite 3.8.3.1 from db-6.0.30
|
||||
+if test ".$ac_cv_lib_db_6_0_db_create" = .yes; then
|
||||
RPM_CHECK_LIB(
|
||||
[Berkeley-DB (+SQLite3)], [dbsql],
|
||||
- [db_sql-6.1], [sqlite3_open], [dbsql.h],
|
||||
+ [db_sql-6.0], [sqlite3_open], [dbsql.h],
|
||||
[yes,external], [db6/sql],
|
||||
[
|
||||
AM_CONDITIONAL(WITH_DBSQL, [ true ])
|
||||
@@ -2253,7 +2253,7 @@ AC_SUBST(WITH_RUBY_CPPFLAGS)
|
||||
AC_SUBST(WITH_RUBY_SUBDIR)
|
||||
AC_SUBST(WITH_RUBY_VENDORARCHDIR)
|
||||
|
||||
-dnl # Java prerequisites (swiped from db-6.1.19/dist/aclocal_java et al)
|
||||
+dnl # Java prerequisites (swiped from db-6.0.30/dist/aclocal_java et al)
|
||||
WITH_JAVA=no
|
||||
AC_ARG_WITH([java],
|
||||
AS_HELP_STRING([--with-java], [build RPM with java support]),
|
||||
@@ -1,32 +0,0 @@
|
||||
From 70d881873b443c9bad502db9665595455d4f0ac9 Mon Sep 17 00:00:00 2001
|
||||
From: Robert Yang <liezhi.yang@windriver.com>
|
||||
Date: Tue, 8 Jul 2014 07:41:10 +0800
|
||||
Subject: [PATCH] configure.ac: disable -Wno-override-init
|
||||
|
||||
Fixed rpm-native.do_configure error on CentOS 5.x:
|
||||
|
||||
cc1: error: unrecognized command line option "-Wno-override-init"
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
|
||||
---
|
||||
configure.ac | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index adeffe0..6746b4c 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -163,7 +163,7 @@ AC_ARG_ENABLE(build-warnings,
|
||||
# XXX gcc-4.2 on Mac OS X hasn't
|
||||
# CFLAGS="$CFLAGS -Wno-unused-but-set-variable"
|
||||
# XXX rpmio/set.c needs this
|
||||
- CFLAGS="$CFLAGS -Wno-override-init"
|
||||
+# CFLAGS="$CFLAGS -Wno-override-init"
|
||||
elif test ".`$CC -V 2>&1 | grep 'Sun C'`" != .; then
|
||||
dnl # Sun Studio (usually "cc")
|
||||
CFLAGS="$CFLAGS -v"
|
||||
--
|
||||
1.8.2.1
|
||||
|
||||
@@ -0,0 +1,24 @@
|
||||
Make security switches manual settings
|
||||
|
||||
RPM checks for the availability of the stack protector switch and
|
||||
transactional-memory support. If supported it unconditionally
|
||||
enables the compiler options which can cause errors if the support has
|
||||
not been built into the compiler.
|
||||
|
||||
Upstream-Status: Inappropriate [configuration]
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.15/configure.ac
|
||||
===================================================================
|
||||
--- rpm-5.4.15.orig/configure.ac
|
||||
+++ rpm-5.4.15/configure.ac
|
||||
@@ -425,7 +425,7 @@ dnl # rpm_CFLAGS_ADD([-fstack-arrays],[
|
||||
dnl # build RPM instrumented for extra optimization/security (GCC only)
|
||||
dnl # --- other optimizations
|
||||
rpm_CFLAGS_ADD([-fexceptions], [RPM_CFLAGS])
|
||||
- rpm_CFLAGS_ADD([-D_FORTIFY_SOURCE=2 -fstack-protector], [RPM_CFLAGS])
|
||||
+dnl rpm_CFLAGS_ADD([-D_FORTIFY_SOURCE=2 -fstack-protector], [RPM_CFLAGS])
|
||||
dnl # rpm_CFLAGS_ADD([-fstack-protector-all],[RPM_CFLAGS])
|
||||
|
||||
if test \( ".`$CC --version 2>&1 | grep 'GCC'`" != . \); then
|
||||
28
meta/recipes-devtools/rpm/rpm/rpm-disable-blaketest.patch
Normal file
28
meta/recipes-devtools/rpm/rpm/rpm-disable-blaketest.patch
Normal file
@@ -0,0 +1,28 @@
|
||||
rpmio: Disable building of the tblake2 test(s).
|
||||
|
||||
There is some type of a dependency fault here that can occasionally result in:
|
||||
|
||||
gcc: error: tblake2b.o: No such file or directory
|
||||
or
|
||||
gcc: error: tblake2bp.o: No such file or directory
|
||||
|
||||
These items are simply test cases that are not packaged, so they can be
|
||||
safely disabled to resolve the dependency issue.
|
||||
|
||||
Upstream-Status: Inappropriate [workaround]
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.15/rpmio/Makefile.am
|
||||
===================================================================
|
||||
--- rpm-5.4.15.orig/rpmio/Makefile.am
|
||||
+++ rpm-5.4.15/rpmio/Makefile.am
|
||||
@@ -29,7 +29,7 @@ EXTRA_PROGRAMS += bsdiff bspatch pcrsed
|
||||
tmire todbc toid tperl tpython tput trpmio tsexp tsvn tsw ttcl \
|
||||
dumpasn1 lookup3 trel twitter github tmicrojson duk
|
||||
|
||||
-noinst_PROGRAMS += b2sum tset tblake2b tblake2bp tblake2s tblake2sp tgfs
|
||||
+#noinst_PROGRAMS += b2sum tset tblake2b tblake2bp tblake2s tblake2sp tgfs
|
||||
if WITH_LIBGIT2
|
||||
noinst_PROGRAMS += tgit
|
||||
else
|
||||
27
meta/recipes-devtools/rpm/rpm/rpm-fix-parseEmbedded.patch
Normal file
27
meta/recipes-devtools/rpm/rpm/rpm-fix-parseEmbedded.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
Fix an issue where parseEmbedded is not defined, but is still used.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm/rpmio/macro.c
|
||||
===================================================================
|
||||
--- rpm.orig/rpmio/macro.c
|
||||
+++ rpm/rpmio/macro.c
|
||||
@@ -1616,8 +1616,6 @@ exit:
|
||||
* @retval *avp invocation args
|
||||
* @return script string
|
||||
*/
|
||||
-#if defined(WITH_AUGEAS) || defined(WITH_FICL) || defined(WITH_MOZJS) || defined(WITH_JNIEMBED) || defined(WITH_PERLEMBED) || defined(WITH_PYTHONEMBED) || defined(WITH_RUBYEMBED) || defined(WITH_MRUBY_EMBED) || defined(WITH_SQLITE) || defined(WITH_SQUIRREL) || defined(WITH_TCL)
|
||||
-
|
||||
static char _FIXME_embedded_interpreter_eval_returned_null[] =
|
||||
"FIXME: embedded interpreter eval returned null.";
|
||||
|
||||
@@ -1668,7 +1666,6 @@ bingo:
|
||||
script[nb] = '\0';
|
||||
return script;
|
||||
}
|
||||
-#endif
|
||||
|
||||
/**
|
||||
* The main macro recursion loop.
|
||||
64
meta/recipes-devtools/rpm/rpm/rpm-gnu-atomic.patch
Normal file
64
meta/recipes-devtools/rpm/rpm/rpm-gnu-atomic.patch
Normal file
@@ -0,0 +1,64 @@
|
||||
configure.ac: Check if the current compiler supports the transactions
|
||||
|
||||
Some distributions appear to have compilers that are built without support
|
||||
for transactions, even though they are GCC 4.7 or newer.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.15/configure.ac
|
||||
===================================================================
|
||||
--- rpm-5.4.15.orig/configure.ac
|
||||
+++ rpm-5.4.15/configure.ac
|
||||
@@ -425,9 +425,34 @@ dnl # --- other optimizations
|
||||
rpm_CFLAGS_ADD([-D_FORTIFY_SOURCE=2 -fstack-protector], [RPM_CFLAGS])
|
||||
dnl # rpm_CFLAGS_ADD([-fstack-protector-all],[RPM_CFLAGS])
|
||||
|
||||
- if test \( ".`$CC --version 2>&1 | grep 'GCC'`" != . \); then
|
||||
- rpm_CFLAGS_ADD([-fgnu-tm], [RPM_CFLAGS])
|
||||
- fi
|
||||
+dnl # Check if the current gcc supports -fgnu-tm and __transaction_atomic
|
||||
+AC_MSG_CHECKING([If the compiler supports __transaction_atomic])
|
||||
+save_CFLAGS="$CFLAGS"
|
||||
+save_LDFLAGS="$LDFLAGS"
|
||||
+CFLAGS="${CFLAGS} -fgnu-tm -litm"
|
||||
+LDFLAGS="${LDFLAGS} -litm"
|
||||
+AC_LINK_IFELSE([AC_LANG_SOURCE([[
|
||||
+int
|
||||
+main()
|
||||
+{
|
||||
+#if !__clang__ && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 7) || (__GNUC__ > 4)) /* XXX gud enuf? */
|
||||
+ int i = 0;
|
||||
+ __transaction_atomic { i++; }
|
||||
+#else
|
||||
+# error Compiler does not support __transaction_atomic
|
||||
+#endif
|
||||
+ return 0;
|
||||
+}
|
||||
+]])], [
|
||||
+ AC_DEFINE([HAVE_GNUC_TM_ATOMIC], [1],
|
||||
+ [Define to 1 if the compiler supports __transaction_atomic.])
|
||||
+ AC_MSG_RESULT([yes])
|
||||
+], [
|
||||
+ CFLAGS="$save_CFLAGS"
|
||||
+ LDFLAGS="$save_LDFLAGS"
|
||||
+ AC_MSG_RESULT([no])
|
||||
+])
|
||||
+
|
||||
|
||||
dnl # --- options below are added to RPM_CFLAGS but _NOT_ added to CFLAGS
|
||||
CPPFLAGS="$CPPFLAGS $RPM_CPPFLAGS"
|
||||
Index: rpm-5.4.15/rpmio/rpmutil.h
|
||||
===================================================================
|
||||
--- rpm-5.4.15.orig/rpmio/rpmutil.h
|
||||
+++ rpm-5.4.15/rpmio/rpmutil.h
|
||||
@@ -105,7 +105,7 @@
|
||||
# define RPM_GNUC_INTERNAL
|
||||
#endif
|
||||
|
||||
-#if !__clang__ && __GNUC__ == 4 && __GNUC_MINOR__ >= 7 /* XXX gud enuf? */
|
||||
+#ifdef HAVE_GNUC_TM_ATOMIC
|
||||
# define RPM_GNUC_TM_SAFE __attribute__((transaction_safe))
|
||||
# define RPM_GNUC_TM_PURE __attribute__((transaction_pure))
|
||||
# define RPM_GNUC_TM_CALLABLE __attribute__((transaction_callable))
|
||||
27
meta/recipes-devtools/rpm/rpm/rpm-keccak-sse-intrin.patch
Normal file
27
meta/recipes-devtools/rpm/rpm/rpm-keccak-sse-intrin.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
rpm - rpmio/keccak.c: make SSE/MMX dependent upon gcc config
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.15/rpmio/keccak.c
|
||||
===================================================================
|
||||
--- rpm-5.4.15.orig/rpmio/keccak.c
|
||||
+++ rpm-5.4.15/rpmio/keccak.c
|
||||
@@ -17,9 +17,13 @@ http://keccak.noekeon.org/
|
||||
#if OPTIMIZED == 64
|
||||
/* ===== "KeccakOpt64-settings.h" */
|
||||
#define Unrolling 18
|
||||
-//#define UseBebigokimisa
|
||||
-#define UseSSE
|
||||
-//#define UseMMX
|
||||
+#if defined(__SSE2__)
|
||||
+ #define UseSSE
|
||||
+#elif defined(__MMX__)
|
||||
+ #define UseMMX
|
||||
+#else
|
||||
+ #define UseBebigokimisa
|
||||
+#endif
|
||||
/* ===== */
|
||||
#endif
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
Lua 'print' statement is not working properly inside of RPM 5
|
||||
|
||||
The print statement should capture the output and send it to the script
|
||||
processing engine, and not display it directly to the screen.
|
||||
|
||||
This patch is from: http://rpm5.org/cvs/patchset?cn=17671
|
||||
|
||||
Upstream-Status: backport (patchset 17671 from rpm5.org)
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.14/CHANGES
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/CHANGES
|
||||
+++ rpm-5.4.14/CHANGES
|
||||
@@ -1,3 +1,4 @@
|
||||
+ - jbj: lua: fix: resurrect output capture with lua-5.2.
|
||||
- jbj: verify: fix: broken logic for %ghost avoidance (Mark Hatle).
|
||||
|
||||
5.4.13 -> 5.4.14:
|
||||
Index: rpm-5.4.14/rpmio/rpmlua.c
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/rpmio/rpmlua.c
|
||||
+++ rpm-5.4.14/rpmio/rpmlua.c
|
||||
@@ -175,7 +175,7 @@ rpmlua rpmluaNew(void)
|
||||
};
|
||||
/*@=readonlytrans =nullassign @*/
|
||||
/*@observer@*/ /*@unchecked@*/
|
||||
- const luaL_Reg *lib = lualibs;
|
||||
+ const luaL_Reg *lib;
|
||||
char *path_buf;
|
||||
char *path_next;
|
||||
char *path;
|
||||
@@ -190,31 +190,34 @@ rpmlua rpmluaNew(void)
|
||||
|
||||
luaL_openlibs(L);
|
||||
|
||||
- for (; lib->name; lib++) {
|
||||
+ for (lib = lualibs; lib->name; lib++) {
|
||||
luaL_requiref(L, lib->name, lib->func, 1);
|
||||
+ lua_pop(L, 1);
|
||||
}
|
||||
|
||||
{ const char * _lua_path = rpmGetPath(rpmluaPath, NULL);
|
||||
if (_lua_path != NULL) {
|
||||
+#if defined(LUA_GLOBALSINDEX)
|
||||
lua_pushliteral(L, "LUA_PATH");
|
||||
lua_pushstring(L, _lua_path);
|
||||
+ lua_rawset(L, LUA_GLOBALSINDEX);
|
||||
+#else
|
||||
+ lua_pushstring(L, _lua_path);
|
||||
+ lua_setglobal(L, "LUA_PATH");
|
||||
+#endif
|
||||
_lua_path = _free(_lua_path);
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(LUA_GLOBALSINDEX)
|
||||
- lua_rawset(L, LUA_GLOBALSINDEX);
|
||||
-#else
|
||||
- lua_pushglobaltable(L);
|
||||
-#endif
|
||||
lua_pushliteral(L, "print");
|
||||
lua_pushcfunction(L, rpm_print);
|
||||
-
|
||||
-#if defined(LUA_GLOBALSINDEX)
|
||||
lua_rawset(L, LUA_GLOBALSINDEX);
|
||||
#else
|
||||
- lua_pushglobaltable(L);
|
||||
+ lua_pushcfunction(L, rpm_print);
|
||||
+ lua_setglobal(L, "print");
|
||||
#endif
|
||||
+
|
||||
rpmluaSetData(lua, "lua", lua);
|
||||
|
||||
/* load all standard RPM Lua script files */
|
||||
@@ -351,6 +354,9 @@ void rpmluaSetVar(rpmlua _lua, rpmluav v
|
||||
#if defined(LUA_GLOBALSINDEX)
|
||||
if (lua->pushsize == 0)
|
||||
lua_pushvalue(L, LUA_GLOBALSINDEX);
|
||||
+#else
|
||||
+ if (lua->pushsize == 0)
|
||||
+ lua_pushglobaltable(L);
|
||||
#endif
|
||||
if (pushvar(L, var->keyType, &var->key) != -1) {
|
||||
if (pushvar(L, var->valueType, &var->value) != -1)
|
||||
@@ -1039,14 +1045,15 @@ static int rpm_print (lua_State *L)
|
||||
lua_getglobal(L, "tostring");
|
||||
for (i = 1; i <= n; i++) {
|
||||
const char *s;
|
||||
+ size_t l;
|
||||
lua_pushvalue(L, -1); /* function to be called */
|
||||
lua_pushvalue(L, i); /* value to print */
|
||||
lua_call(L, 1, 1);
|
||||
- s = lua_tostring(L, -1); /* get result */
|
||||
+ s = lua_tolstring(L, -1, &l); /* get result */
|
||||
if (s == NULL)
|
||||
return luaL_error(L, "`tostring' must return a string to `print'");
|
||||
if (lua->storeprint) {
|
||||
- size_t sl = lua_rawlen(L, -1);
|
||||
+ size_t sl = l;
|
||||
if ((size_t)(lua->printbufused+sl+1) > lua->printbufsize) {
|
||||
lua->printbufsize += sl+512;
|
||||
lua->printbuf = (char *) xrealloc(lua->printbuf, lua->printbufsize);
|
||||
@@ -12,16 +12,20 @@ it's easy enough to do by enabling the necessary macros.
|
||||
|
||||
Signed-off-by: yzhu1 <yanjun.zhu@windriver.com>
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
--- a/macros/macros.in
|
||||
+++ b/macros/macros.in
|
||||
@@ -546,8 +546,8 @@ $_arbitrary_tags_tests Foo:Bar
|
||||
Index: rpm/macros/macros.in
|
||||
===================================================================
|
||||
--- rpm.orig/macros/macros.in
|
||||
+++ rpm/macros/macros.in
|
||||
@@ -563,10 +563,10 @@ $_arbitrary_tags_tests Foo:Bar
|
||||
|
||||
# Horowitz Key Protocol server configuration
|
||||
#
|
||||
-%_hkp_keyserver hkp://keys.rpm5.org
|
||||
+#%_hkp_keyserver hkp://keys.rpm5.org
|
||||
#%_hkp_keyserver hkp://keys.n3npq.net
|
||||
-%_hkp_keyserver hkp://pool.sks-keyservers.net
|
||||
#%_hkp_keyserver hkp://pool.sks-keyservers.net
|
||||
-%_hkp_keyserver_query %{_hkp_keyserver}/pks/lookup?op=get&search=
|
||||
+#%_hkp_keyserver hkp://pool.sks-keyservers.net
|
||||
+#%_hkp_keyserver_query %{_hkp_keyserver}/pks/lookup?op=get&search=
|
||||
|
||||
|
||||
%_nssdb_path /etc/pki/nssdb
|
||||
# NSS_InitContext() parameter configuration
|
||||
|
||||
69
meta/recipes-devtools/rpm/rpm/rpm-mongodb-sasl.patch
Normal file
69
meta/recipes-devtools/rpm/rpm/rpm-mongodb-sasl.patch
Normal file
@@ -0,0 +1,69 @@
|
||||
Fix errors when building with sasl2 disabled
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm/rpmio/mongoc.c
|
||||
===================================================================
|
||||
--- rpm.orig/rpmio/mongoc.c
|
||||
+++ rpm/rpmio/mongoc.c
|
||||
@@ -39,8 +39,10 @@
|
||||
# include <winerror.h>
|
||||
#endif
|
||||
|
||||
+#ifdef HAVE_LIBSASL2
|
||||
#include <sasl/sasl.h>
|
||||
#include <sasl/saslutil.h>
|
||||
+#endif
|
||||
|
||||
#include <openssl/bio.h>
|
||||
#include <openssl/ssl.h>
|
||||
@@ -14228,6 +14230,7 @@ mongoc_read_prefs_copy (const mongoc_rea
|
||||
return ret;
|
||||
}
|
||||
|
||||
+#ifdef MONGOC_ENABLE_SASL
|
||||
/*==============================================================*/
|
||||
/* --- mongoc-sasl.c */
|
||||
|
||||
@@ -14555,6 +14558,7 @@ _mongoc_sasl_step (mongoc_sasl_t *sasl,
|
||||
|
||||
return true;
|
||||
}
|
||||
+#endif
|
||||
|
||||
/*==============================================================*/
|
||||
/* --- mongoc-socket.c */
|
||||
Index: rpm/rpmio/mongoc.h
|
||||
===================================================================
|
||||
--- rpm.orig/rpmio/mongoc.h
|
||||
+++ rpm/rpmio/mongoc.h
|
||||
@@ -38,8 +38,10 @@
|
||||
# include <sys/un.h>
|
||||
#endif
|
||||
|
||||
+#ifdef HAVE_LIBSASL2
|
||||
#include <sasl/sasl.h>
|
||||
#include <sasl/saslutil.h>
|
||||
+#endif
|
||||
|
||||
#include <openssl/bio.h>
|
||||
#include <openssl/ssl.h>
|
||||
@@ -2455,6 +2457,8 @@ BSON_END_DECLS
|
||||
/*==============================================================*/
|
||||
/* --- mongoc-sasl-private.h */
|
||||
|
||||
+#ifdef MONGOC_ENABLE_SASL
|
||||
+
|
||||
BSON_BEGIN_DECLS
|
||||
|
||||
|
||||
@@ -2498,6 +2502,7 @@ bool _mongoc_sasl_step (mong
|
||||
|
||||
|
||||
BSON_END_DECLS
|
||||
+#endif
|
||||
|
||||
/*==============================================================*/
|
||||
/* --- mongoc-ssl-private.h */
|
||||
@@ -124,23 +124,3 @@ Index: rpm-5.4.14/build/files.c
|
||||
}
|
||||
|
||||
ui32 = fl->totalFileSize;
|
||||
Index: rpm-5.4.14/lib/fsm.c
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/lib/fsm.c
|
||||
+++ rpm-5.4.14/lib/fsm.c
|
||||
@@ -904,6 +904,7 @@ int fsmMapAttrs(IOSM_t fsm)
|
||||
|
||||
if (fi && i >= 0 && i < (int) fi->fc) {
|
||||
mode_t perms = (S_ISDIR(st->st_mode) ? fi->dperms : fi->fperms);
|
||||
+ ino_t finalInode = (fi->finodes ? (ino_t)fi->finodes[i] : 0);
|
||||
mode_t finalMode = (fi->fmodes ? (mode_t)fi->fmodes[i] : perms);
|
||||
dev_t finalRdev = (dev_t)(fi->frdevs ? fi->frdevs[i] : 0);
|
||||
rpmuint32_t finalMtime = (fi->fmtimes ? fi->fmtimes[i] : 0);
|
||||
@@ -943,6 +944,7 @@ int fsmMapAttrs(IOSM_t fsm)
|
||||
if ((S_ISCHR(st->st_mode) || S_ISBLK(st->st_mode))
|
||||
&& st->st_nlink == 0)
|
||||
st->st_nlink = 1;
|
||||
+ st->st_ino = finalInode;
|
||||
st->st_rdev = finalRdev;
|
||||
st->st_mtime = finalMtime;
|
||||
}
|
||||
|
||||
@@ -9,14 +9,14 @@ Upstream-Status: Inappropriate [configuration]
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.14/scripts/pkgconfigdeps.sh
|
||||
Index: rpm/scripts/pkgconfigdeps.sh
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/scripts/pkgconfigdeps.sh
|
||||
+++ rpm-5.4.14/scripts/pkgconfigdeps.sh
|
||||
--- rpm.orig/scripts/pkgconfigdeps.sh
|
||||
+++ rpm/scripts/pkgconfigdeps.sh
|
||||
@@ -18,8 +18,8 @@ case $1 in
|
||||
*.pc)
|
||||
# Query the dependencies of the package.
|
||||
DIR=`dirname ${filename}`
|
||||
DIR=$(dirname ${filename})
|
||||
- PKG_CONFIG_PATH="$DIR:$DIR/../../share/pkgconfig"
|
||||
- export PKG_CONFIG_PATH
|
||||
+ PKG_CONFIG_LIBDIR="$DIR:$DIR/../../share/pkgconfig"
|
||||
@@ -27,7 +27,7 @@ Index: rpm-5.4.14/scripts/pkgconfigdeps.sh
|
||||
@@ -42,8 +42,8 @@ case $1 in
|
||||
[ -n "$oneshot" ] && echo "$oneshot"; oneshot=""
|
||||
# Query the dependencies of the package.
|
||||
DIR=`dirname ${filename}`
|
||||
DIR=$(dirname ${filename})
|
||||
- PKG_CONFIG_PATH="$DIR:$DIR/../../share/pkgconfig"
|
||||
- export PKG_CONFIG_PATH
|
||||
+ PKG_CONFIG_LIBDIR="$DIR:$DIR/../../share/pkgconfig"
|
||||
|
||||
@@ -11,15 +11,17 @@ Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.14/python/rpmmodule.c
|
||||
Index: rpm/python/rpmmodule.c
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/python/rpmmodule.c
|
||||
+++ rpm-5.4.14/python/rpmmodule.c
|
||||
@@ -392,7 +392,8 @@ void init_rpm(void)
|
||||
if (Py_AtExit(rpm_exithook) == -1)
|
||||
return;
|
||||
--- rpm.orig/python/rpmmodule.c
|
||||
+++ rpm/python/rpmmodule.c
|
||||
@@ -382,9 +382,8 @@ static int initModule(PyObject *m)
|
||||
/* XXX add --noparentdirs --nolinktos to rpmtsCheck() */
|
||||
global_depFlags = (RPMDEPS_FLAG_NOPARENTDIRS | RPMDEPS_FLAG_NOLINKTOS);
|
||||
|
||||
- rpmReadConfigFiles(NULL, NULL);
|
||||
- /* failure to initialize rpm (crypto and all) is rather fatal too... */
|
||||
- if (rpmReadConfigFiles(NULL, NULL) == -1)
|
||||
- return 0;
|
||||
+ const char *argv[1] = {"rpmmodule", 0};
|
||||
+ rpmcliInit(1, argv, NULL);
|
||||
|
||||
|
||||
35
meta/recipes-devtools/rpm/rpm/rpm-python-AddErase.patch
Normal file
35
meta/recipes-devtools/rpm/rpm/rpm-python-AddErase.patch
Normal file
@@ -0,0 +1,35 @@
|
||||
rpm/python: The RPM5 API requires a hdrNum to be passed in
|
||||
|
||||
The former behavior of passing in -1 as the hdrNum resulting in erase
|
||||
operations that did not complete, but also did not error. Changing to
|
||||
using the header instance resolves this problem.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.15/python/rpmts-py.c
|
||||
===================================================================
|
||||
--- rpm-5.4.15.orig/python/rpmts-py.c
|
||||
+++ rpm-5.4.15/python/rpmts-py.c
|
||||
@@ -241,12 +241,19 @@ static PyObject *
|
||||
rpmts_AddErase(rpmtsObject * s, PyObject * args)
|
||||
{
|
||||
Header h;
|
||||
+ uint32_t hdrNum;
|
||||
|
||||
if (!PyArg_ParseTuple(args, "O&:AddErase", hdrFromPyObject, &h))
|
||||
return NULL;
|
||||
|
||||
-SPEW((stderr, "*** %s(%p,%p) ts %p\n", __FUNCTION__, s, h, s->ts));
|
||||
+ hdrNum = headerGetInstance(h);
|
||||
+
|
||||
+SPEW((stderr, "*** %s(%p,%p) ts %p hdrNum %ld\n", __FUNCTION__, s, h, s->ts, hdrNum));
|
||||
+#ifdef REFERENCE /* this doesn't work, RPM5 requires a unique hdrNum */
|
||||
return PyBool_FromLong(rpmtsAddEraseElement(s->ts, h, -1) == 0);
|
||||
+#else
|
||||
+ return PyBool_FromLong(rpmtsAddEraseElement(s->ts, h, hdrNum) == 0);
|
||||
+#endif
|
||||
}
|
||||
|
||||
static int
|
||||
@@ -0,0 +1,49 @@
|
||||
Fix an issue where the PACKAGEORIGIN is not properly stored.
|
||||
|
||||
Restore the rpmtsCallback fdSetOpen call and related code.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm/python/rpmts-py.c
|
||||
===================================================================
|
||||
--- rpm.orig/python/rpmts-py.c
|
||||
+++ rpm/python/rpmts-py.c
|
||||
@@ -672,6 +672,8 @@ rpmtsCallback(const void * hd, const rpm
|
||||
Header h = (Header) hd;
|
||||
struct rpmtsCallbackType_s * cbInfo = data;
|
||||
PyObject * pkgObj = (PyObject *) pkgKey;
|
||||
+ PyObject * oh = NULL;
|
||||
+ const char * origin = NULL;
|
||||
PyObject * args, * result;
|
||||
static FD_t fd;
|
||||
|
||||
@@ -693,8 +695,16 @@ rpmtsCallback(const void * hd, const rpm
|
||||
pkgObj = Py_None;
|
||||
Py_INCREF(pkgObj);
|
||||
}
|
||||
- } else
|
||||
+ } else {
|
||||
Py_INCREF(pkgObj);
|
||||
+ /* XXX yum has (h, rpmloc) tuple as pkgKey. Extract the path. */
|
||||
+ if (!(PyTuple_Check(pkgObj) && PyArg_ParseTuple(pkgObj, "|Os", &oh, &origin)))
|
||||
+ origin = NULL;
|
||||
+ /* XXX clean up the path, yum paths start "//..." */
|
||||
+ if (origin && origin[0] == '/' && origin[1] == '/')
|
||||
+ origin++;
|
||||
+ }
|
||||
+
|
||||
|
||||
PyEval_RestoreThread(cbInfo->_save);
|
||||
|
||||
@@ -723,6 +733,9 @@ SPEW((stderr, "\t%p = fdDup(%d)\n", fd,
|
||||
|
||||
fcntl(Fileno(fd), F_SETFD, FD_CLOEXEC);
|
||||
|
||||
+ if (origin != NULL)
|
||||
+ (void) fdSetOpen(fd, origin, 0, 0);
|
||||
+
|
||||
return fd;
|
||||
} else
|
||||
if (what == RPMCALLBACK_INST_CLOSE_FILE) {
|
||||
24
meta/recipes-devtools/rpm/rpm/rpm-python-tagname.patch
Normal file
24
meta/recipes-devtools/rpm/rpm/rpm-python-tagname.patch
Normal file
@@ -0,0 +1,24 @@
|
||||
rpm-python-module: Change the extension tag from PyCObject to PyInt
|
||||
|
||||
Use the tagValue to determine the custom PyInt value to use for the extension
|
||||
tag. Without this, any custom tag extensions will be returned in a format
|
||||
that the tagNumFromPyObject and related functions like hdr_subscript will
|
||||
failed to process. Usually the failure is error: expected a string or integer
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.15/python/rpmmodule.c
|
||||
===================================================================
|
||||
--- rpm-5.4.15.orig/python/rpmmodule.c
|
||||
+++ rpm-5.4.15/python/rpmmodule.c
|
||||
@@ -316,7 +316,7 @@ static void addRpmTags(PyObject *module)
|
||||
{
|
||||
if (ext->name == NULL || ext->type != HEADER_EXT_TAG)
|
||||
continue;
|
||||
- PyDict_SetItemString(d, (char *) ext->name, to=PyCObject_FromVoidPtr((void *)ext, NULL));
|
||||
+ PyDict_SetItemString(d, (char *) ext->name, to=PyInt_FromLong(tagValue(ext->name)));
|
||||
Py_XDECREF(to);
|
||||
PyDict_SetItem(dict, to, o=PyString_FromString(ext->name + 7));
|
||||
Py_XDECREF(o);
|
||||
@@ -1,14 +0,0 @@
|
||||
Index: rpm-5.4.14/syck/lib/syck.h
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/syck/lib/syck.h
|
||||
+++ rpm-5.4.14/syck/lib/syck.h
|
||||
@@ -621,9 +621,6 @@ long syck_seq_count( SyckNode *seq )
|
||||
*/
|
||||
void syckerror( char *msg )
|
||||
/*@*/;
|
||||
-int syckparse( void * )
|
||||
- /*@globals fileSystem @*/
|
||||
- /*@modifies fileSystem @*/;
|
||||
/* XXX union YYSTYPE *sycklval has issues on Mac OS X. */
|
||||
int sycklex( void *_sycklval, SyckParser *parser )
|
||||
/*@modifies _sycklval, parser @*/;
|
||||
124
meta/recipes-devtools/rpm/rpm/rpm-rpmdb-grammar.patch
Normal file
124
meta/recipes-devtools/rpm/rpm/rpm-rpmdb-grammar.patch
Normal file
@@ -0,0 +1,124 @@
|
||||
Disable various items that do not cross compile well.
|
||||
|
||||
Upstream-Status: Inappropriate [Configuration]
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm/rpmdb/Makefile.am
|
||||
===================================================================
|
||||
--- rpm.orig/rpmdb/Makefile.am
|
||||
+++ rpm/rpmdb/Makefile.am
|
||||
@@ -34,10 +34,10 @@ EXTRA_DIST = \
|
||||
db3.c sqlite.c db_emu.h librpmdb.vers bdb.sql libsqldb.c \
|
||||
logio.awk logio.src logio_recover_template logio_template logio.c \
|
||||
logio_rec.c logio_auto.c logio_autop.c logio_auto.h \
|
||||
- qf.l qf.y qf.inp tqf.l tqf.y tqf.inp grammar.y scanner.l json1.js
|
||||
+ tqf.l tqf.y tqf.inp grammar.y scanner.l json1.js
|
||||
|
||||
-EXTRA_PROGRAMS = qfcalc qfgraph logio tjfn tqf # tbdb
|
||||
-noinst_PROGRAMS = json
|
||||
+EXTRA_PROGRAMS = qfcalc qfgraph logio # tjfn tqf tbdb
|
||||
+noinst_PROGRAMS = # json
|
||||
|
||||
RPMMISC_LDADD_COMMON = \
|
||||
$(top_builddir)/misc/librpmmisc.la \
|
||||
@@ -321,54 +321,39 @@ BUILT_SOURCES += .syntastic_c_config
|
||||
.syntastic_c_config: Makefile
|
||||
@echo $(COMPILE) | tr ' ' '\n' | sed -e '1d' > $@
|
||||
|
||||
-tjfn_SOURCES = tjfn.c
|
||||
-tjfn_LDADD = $(mylibs)
|
||||
-
|
||||
-LEX = flex
|
||||
-LFLAGS= -d -T -v -8 -b --yylineno --reentrant --bison-bridge --perf-report
|
||||
-YACC = bison
|
||||
-YFLAGS= -Dapi.pure -t -d -v --report=all
|
||||
-
|
||||
-BUILT_SOURCES += Jgrammar.c Jgrammar.h Jscanner.c
|
||||
-Jgrammar.c: grammar.y
|
||||
- $(YACC) $(YFLAGS) -o $@ $<
|
||||
-Jscanner.c: scanner.l
|
||||
- $(LEX) -R -o $@ $<
|
||||
-json_SOURCES = Jgrammar.c Jscanner.c json.c
|
||||
-
|
||||
-testjson: json1.js json
|
||||
- ./json json1.js
|
||||
-
|
||||
-BUILT_SOURCES += Qgrammar.c Qgrammar.h Qscanner.c
|
||||
-Qgrammar.c: qf.y
|
||||
- $(YACC) $(YFLAGS) -o $@ $<
|
||||
-Qscanner.c: qf.l
|
||||
- $(LEX) -R -o $@ $<
|
||||
-qfcalc_SOURCES = Qgrammar.c Qscanner.c interpreter.c
|
||||
-qfgraph_SOURCES = Qgrammar.c Qscanner.c graph.c
|
||||
-
|
||||
-testqf: qfcalc qfgraph
|
||||
- ./qfcalc < qf.inp
|
||||
- ./qfgraph < qf.inp
|
||||
-
|
||||
-BUILT_SOURCES += Tgrammar.c Tgrammar.h Tscanner.c
|
||||
-Tgrammar.c Tgrammar.h: tqf.y
|
||||
- $(YACC) $(YFLAGS) -o $@ $<
|
||||
-Tscanner.c Tscanner.h: tqf.l
|
||||
- $(LEX) --prefix="Tyy" $(LFLAGS) -o $@ $<
|
||||
-tqf_SOURCES = Tgrammar.c Tscanner.c tgraph.c
|
||||
-tqf_CFLAGS = $(CFLAGS) -fsanitize=address # -DTSCANNER_MAIN
|
||||
-tqf_LDADD = ../lib/librpm.la \
|
||||
- ./librpmdb.la \
|
||||
- ../popt/libpopt.la
|
||||
-
|
||||
-testdir = $(abs_top_builddir)/tests
|
||||
-foo: tqf
|
||||
- -../libtool --mode=execute \
|
||||
- ./tqf \
|
||||
- --dbpath=$(testdir) \
|
||||
- -r $(testdir)/fodder/*.rpm \
|
||||
- $(testdir)/fodder/fmtmod.qf
|
||||
+#tjfn_SOURCES = tjfn.c
|
||||
+#tjfn_LDADD = $(mylibs)
|
||||
+#
|
||||
+#LFLAGS= -d -T -v -8 -b --yylineno --reentrant --bison-bridge --perf-report
|
||||
+#
|
||||
+#BUILT_SOURCES += Jgrammar.c Jgrammar.h Jscanner.c
|
||||
+#Jgrammar.c Jgrammar.h: grammar.y
|
||||
+# $(YACC) $(YFLAGS) -t -d -v -o $@ $<
|
||||
+#Jscanner.c: scanner.l
|
||||
+# $(LEX) -R -o $@ $<
|
||||
+#json_SOURCES = Jgrammar.c Jscanner.c json.c
|
||||
+#
|
||||
+#testjson: json1.js json
|
||||
+# ./json json1.js
|
||||
+#
|
||||
+#BUILT_SOURCES += Tgrammar.c Tgrammar.h Tscanner.c
|
||||
+#Tgrammar.c Tgrammar.h: tqf.y
|
||||
+# $(YACC) $(YFLAGS) -t -d -v -o $@ $<
|
||||
+#Tscanner.c Tscanner.h: tqf.l
|
||||
+# $(LEX) --prefix="Tyy" $(LFLAGS) -o $@ $<
|
||||
+#tqf_SOURCES = Tgrammar.c Tscanner.c tgraph.c
|
||||
+#tqf_CFLAGS = $(CFLAGS) -fsanitize=address # -DTSCANNER_MAIN
|
||||
+#tqf_LDADD = ../lib/librpm.la \
|
||||
+# ./librpmdb.la \
|
||||
+# ../popt/libpopt.la
|
||||
+
|
||||
+#testdir = $(abs_top_builddir)/tests
|
||||
+#foo: tqf
|
||||
+# -../libtool --mode=execute \
|
||||
+# ./tqf \
|
||||
+# --dbpath=$(testdir) \
|
||||
+# -r $(testdir)/fodder/*.rpm \
|
||||
+# $(testdir)/fodder/fmtmod.qf
|
||||
|
||||
#tbdb_SOURCES = tbdb.c bdb.c
|
||||
#tbdb_LDADD = $(mylibs)
|
||||
Index: rpm/configure.ac
|
||||
===================================================================
|
||||
--- rpm.orig/configure.ac
|
||||
+++ rpm/configure.ac
|
||||
@@ -119,6 +119,7 @@ AC_PROG_MAKE_SET
|
||||
AC_PROG_LIBTOOL
|
||||
AC_PROG_RANLIB
|
||||
AC_PROG_YACC
|
||||
+AM_PROG_LEX
|
||||
|
||||
AC_PATH_PROG(AS, as, as)
|
||||
|
||||
19
meta/recipes-devtools/rpm/rpm/rpm-rpmio-headers.patch
Normal file
19
meta/recipes-devtools/rpm/rpm/rpm-rpmio-headers.patch
Normal file
@@ -0,0 +1,19 @@
|
||||
Fix a typo in the rpmio Makefile.am
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm/rpmio/Makefile.am
|
||||
===================================================================
|
||||
--- rpm.orig/rpmio/Makefile.am
|
||||
+++ rpm/rpmio/Makefile.am
|
||||
@@ -121,7 +121,7 @@ luaLPATHdir = ${pkgsharedir)/lua
|
||||
|
||||
pkgincdir = $(pkgincludedir)$(WITH_PATH_VERSIONED_SUFFIX)
|
||||
pkginc_HEADERS = argv.h mire.h rpmzlog.h yarn.h \
|
||||
- rpmbf.h rpmcb.h rpmio.h rpmlog.h rpmiotypes.h rpmmacro.h
|
||||
+ rpmbf.h rpmcb.h rpmio.h rpmlog.h rpmiotypes.h rpmmacro.h \
|
||||
rpmpgp.h rpmsw.h rpmutil.h
|
||||
noinst_HEADERS = \
|
||||
ar.h bcon.h bson.h cpio.h crc.h envvar.h fnmatch.h fts.h glob.h iosm.h \
|
||||
@@ -1,67 +0,0 @@
|
||||
rpmpgp.c: Add missing if defs around crypto implementations
|
||||
|
||||
Without these, the system will error trying to find the correct crypto
|
||||
library to use.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm/rpmio/rpmpgp.c
|
||||
===================================================================
|
||||
--- rpm.orig/rpmio/rpmpgp.c
|
||||
+++ rpm/rpmio/rpmpgp.c
|
||||
@@ -1339,16 +1339,26 @@ int pgpExportPubkey(pgpDig dig)
|
||||
{
|
||||
int rc = 0; /* assume failure */
|
||||
|
||||
+#if defined(WITH_BEECRYPT)
|
||||
if (pgpImplVecs == &rpmbcImplVecs)
|
||||
rc = rpmbcExportPubkey(dig);
|
||||
+#endif
|
||||
+#if defined(WITH_SSL)
|
||||
if (pgpImplVecs == &rpmsslImplVecs)
|
||||
rc = rpmsslExportPubkey(dig);
|
||||
+#endif
|
||||
+#if defined(WITH_NSS)
|
||||
if (pgpImplVecs == &rpmnssImplVecs)
|
||||
rc = rpmnssExportPubkey(dig);
|
||||
+#endif
|
||||
+#if defined(WITH_GCRYPT)
|
||||
if (pgpImplVecs == &rpmgcImplVecs)
|
||||
rc = rpmgcExportPubkey(dig);
|
||||
+#endif
|
||||
+#if defined(WITH_TOMCRYPT)
|
||||
if (pgpImplVecs == &rpmltcImplVecs)
|
||||
rc = rpmltcExportPubkey(dig);
|
||||
+#endif
|
||||
return rc;
|
||||
}
|
||||
|
||||
@@ -1356,16 +1366,26 @@ int pgpExportSignature(pgpDig dig, DIGES
|
||||
{
|
||||
int rc = 0; /* assume failure */
|
||||
|
||||
+#if defined(WITH_BEECRYPT)
|
||||
if (pgpImplVecs == &rpmbcImplVecs)
|
||||
rc = rpmbcExportSignature(dig, ctx);
|
||||
+#endif
|
||||
+#if defined(WITH_SSL)
|
||||
if (pgpImplVecs == &rpmsslImplVecs)
|
||||
rc = rpmsslExportSignature(dig, ctx);
|
||||
+#endif
|
||||
+#if defined(WITH_NSS)
|
||||
if (pgpImplVecs == &rpmnssImplVecs)
|
||||
rc = rpmnssExportSignature(dig, ctx);
|
||||
+#endif
|
||||
+#if defined(WITH_GCRYPT)
|
||||
if (pgpImplVecs == &rpmgcImplVecs)
|
||||
rc = rpmgcExportSignature(dig, ctx);
|
||||
+#endif
|
||||
+#if defined(WITH_TOMCRYPT)
|
||||
if (pgpImplVecs == &rpmltcImplVecs)
|
||||
rc = rpmltcExportSignature(dig, ctx);
|
||||
+#endif
|
||||
return rc;
|
||||
}
|
||||
|
||||
26
meta/recipes-devtools/rpm/rpm/rpm-rpmpgp-popt.patch
Normal file
26
meta/recipes-devtools/rpm/rpm/rpm-rpmpgp-popt.patch
Normal file
@@ -0,0 +1,26 @@
|
||||
rpmpgp.h: We do not require the popt header in order to use rpmpgp functions
|
||||
|
||||
This can cause failures if the internal libpopt is used, as it's header is
|
||||
not exported.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.14/rpmio/rpmpgp.h
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/rpmio/rpmpgp.h
|
||||
+++ rpm-5.4.14/rpmio/rpmpgp.h
|
||||
@@ -11,11 +11,11 @@
|
||||
*/
|
||||
|
||||
#include <string.h>
|
||||
-#include <popt.h>
|
||||
#include <rpmiotypes.h>
|
||||
#include <yarn.h>
|
||||
|
||||
#if defined(_RPMPGP_INTERNAL)
|
||||
+#include <popt.h>
|
||||
#include <rpmsw.h>
|
||||
|
||||
/*@unchecked@*/
|
||||
@@ -12,22 +12,21 @@ Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.14/lib/psm.c
|
||||
Index: rpm/lib/psm.c
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/lib/psm.c
|
||||
+++ rpm-5.4.14/lib/psm.c
|
||||
@@ -806,6 +806,10 @@ static rpmRC runScript(rpmpsm psm, Heade
|
||||
--- rpm.orig/lib/psm.c
|
||||
+++ rpm/lib/psm.c
|
||||
@@ -846,6 +846,9 @@ static rpmRC runScript(rpmpsm psm, Heade
|
||||
pid_t pid;
|
||||
int xx;
|
||||
int i;
|
||||
|
||||
+#ifdef RPM_VENDOR_OE
|
||||
+ const char * scriptletWrapper = rpmExpand("%{?_cross_scriptlet_wrapper}", NULL);
|
||||
+#endif
|
||||
+
|
||||
if (psm->sstates != NULL && ix >= 0 && ix < RPMSCRIPT_MAX)
|
||||
ssp = psm->sstates + ix;
|
||||
if (ssp != NULL)
|
||||
@@ -872,14 +876,29 @@ assert(he->p.str != NULL);
|
||||
|
||||
#ifdef __clang__
|
||||
#pragma clang diagnostic push
|
||||
@@ -923,14 +926,29 @@ assert(he->p.str != NULL);
|
||||
(F_ISSET(psm, UNORDERED) ? "a" : ""));
|
||||
|
||||
if (Phe->p.argv == NULL) {
|
||||
@@ -63,7 +62,7 @@ Index: rpm-5.4.14/lib/psm.c
|
||||
ldconfig_done = (ldconfig_path && !strcmp(argv[0], ldconfig_path)
|
||||
? 1 : 0);
|
||||
}
|
||||
@@ -930,7 +949,12 @@ assert(he->p.str != NULL);
|
||||
@@ -981,7 +999,12 @@ assert(he->p.str != NULL);
|
||||
goto exit;
|
||||
|
||||
if (rpmIsDebug() &&
|
||||
@@ -77,7 +76,7 @@ Index: rpm-5.4.14/lib/psm.c
|
||||
{
|
||||
static const char set_x[] = "set -x\n";
|
||||
nw = Fwrite(set_x, sizeof(set_x[0]), sizeof(set_x)-1, fd);
|
||||
@@ -1065,12 +1089,22 @@ assert(he->p.str != NULL);
|
||||
@@ -1116,12 +1139,22 @@ assert(he->p.str != NULL);
|
||||
|
||||
{ const char * rootDir = rpmtsRootDir(ts);
|
||||
if (!rpmtsChrootDone(ts) && rootDir != NULL &&
|
||||
@@ -100,7 +99,7 @@ Index: rpm-5.4.14/lib/psm.c
|
||||
xx = Chdir("/");
|
||||
rpmlog(RPMLOG_DEBUG, D_("%s: %s(%s)\texecv(%s) pid %d\n"),
|
||||
psm->stepName, sln, NVRA,
|
||||
@@ -2985,6 +3019,13 @@ assert(psm->te != NULL);
|
||||
@@ -3052,6 +3085,13 @@ assert(psm->te != NULL);
|
||||
case PSM_SCRIPT: /* Run current package scriptlets. */
|
||||
/* XXX running %verifyscript/%sanitycheck doesn't have psm->te */
|
||||
{ rpmtxn _parent = (psm && psm->te ? psm->te->txn : NULL);
|
||||
@@ -114,7 +113,7 @@ Index: rpm-5.4.14/lib/psm.c
|
||||
xx = rpmtxnBegin(rpmtsGetRdb(ts), _parent, NULL);
|
||||
rc = runInstScript(psm);
|
||||
if (rc)
|
||||
@@ -2992,11 +3033,24 @@ assert(psm->te != NULL);
|
||||
@@ -3059,11 +3099,24 @@ assert(psm->te != NULL);
|
||||
else
|
||||
xx = rpmtxnCommit(rpmtsGetRdb(ts)->db_txn);
|
||||
rpmtsGetRdb(ts)->db_txn = NULL;
|
||||
@@ -139,7 +138,7 @@ Index: rpm-5.4.14/lib/psm.c
|
||||
break;
|
||||
case PSM_IMMED_TRIGGERS:
|
||||
/* Run triggers in this package other package(s) set off. */
|
||||
@@ -3006,7 +3060,18 @@ assert(psm->te != NULL);
|
||||
@@ -3073,7 +3126,18 @@ assert(psm->te != NULL);
|
||||
F_SET(psm, GOTTRIGGERS);
|
||||
}
|
||||
if (psm->triggers != NULL)
|
||||
|
||||
1081
meta/recipes-devtools/rpm/rpm/rpm-syck-fix-gram.patch
Normal file
1081
meta/recipes-devtools/rpm/rpm/rpm-syck-fix-gram.patch
Normal file
File diff suppressed because it is too large
Load Diff
25
meta/recipes-devtools/rpm/rpm/rpm-tagname-type.patch
Normal file
25
meta/recipes-devtools/rpm/rpm/rpm-tagname-type.patch
Normal file
@@ -0,0 +1,25 @@
|
||||
rpmdb/tagname.c: Add the 0x54aafb71 (filenames) type to rpmTagGetType
|
||||
|
||||
There is already a workaround in the _tagName function to show that the
|
||||
special 'filenames' item is value. This adds a similar patch to the
|
||||
_tagType to return the proper type, otherwise it comes back as a simple
|
||||
RPM_STRING_ARRAY_TYPE which limits the response to the first element.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.15/rpmdb/tagname.c
|
||||
===================================================================
|
||||
--- rpm-5.4.15.orig/rpmdb/tagname.c
|
||||
+++ rpm-5.4.15/rpmdb/tagname.c
|
||||
@@ -353,6 +353,9 @@ static unsigned int _tagType(rpmTag tag)
|
||||
case RPMDBI_RECNO:
|
||||
case RPMDBI_HEAP:
|
||||
break;
|
||||
+ /* XXX make sure that h.['filenames'] in python "works". */
|
||||
+ case 0x54aafb71:
|
||||
+ return (RPM_STRING_ARRAY_TYPE + RPM_ARRAY_RETURN_TYPE);
|
||||
default:
|
||||
if (_rpmTags.byValue == NULL)
|
||||
break;
|
||||
@@ -1,5 +1,6 @@
|
||||
Add configure check for rpmatch() and
|
||||
creates a compatable macro if it is not provided by the C library.
|
||||
Create a compatable macro if rpmatch() is not provided by the C library.
|
||||
|
||||
This uses an existing configure check.
|
||||
|
||||
This is needed for uclibc since it does not have the above function
|
||||
implemented.
|
||||
@@ -8,24 +9,15 @@ Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
Index: rpm-5.4.14/configure.ac
|
||||
Updated to rpm 5.4.15+.
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm/system.h
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/configure.ac
|
||||
+++ rpm-5.4.14/configure.ac
|
||||
@@ -943,7 +943,7 @@ AC_CHECK_FUNCS([dnl
|
||||
ftok getaddrinfo getattrlist getcwd getdelim getline getmode getnameinfo dnl
|
||||
getpassphrase getxattr getwd iconv inet_aton lchflags lchmod lchown dnl
|
||||
lgetxattr lsetxattr lutimes madvise mempcpy mkdtemp mkstemp mtrace dnl
|
||||
- posix_fadvise posix_fallocate putenv realpath regcomp secure_getenv __secure_getenv dnl
|
||||
+ posix_fadvise posix_fallocate putenv realpath regcomp rpmatch secure_getenv __secure_getenv dnl
|
||||
setattrlist setenv setlocale setmode setxattr dnl
|
||||
sigaddset sigdelset sigemptyset sighold sigrelse sigpause dnl
|
||||
sigprocmask sigsuspend sigaction dnl
|
||||
Index: rpm-5.4.14/system.h
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/system.h
|
||||
+++ rpm-5.4.14/system.h
|
||||
@@ -353,6 +353,14 @@ extern int _tolower(int) __THROW /*@*/;
|
||||
--- rpm.orig/system.h
|
||||
+++ rpm/system.h
|
||||
@@ -358,6 +358,14 @@ extern int _tolower(int) __THROW /*@*/;
|
||||
#include <libgen.h>
|
||||
#endif
|
||||
|
||||
|
||||
@@ -1,4 +1,7 @@
|
||||
rpm: compile rpmqv.c instead of rpmqv.cc
|
||||
From e8bae261615e19ff8a28683765c9539cfb22a086 Mon Sep 17 00:00:00 2001
|
||||
From: Joe Slater <jslater@windriver.com>
|
||||
Date: Thu, 17 Jul 2014 18:14:54 -0700
|
||||
Subject: [PATCH 1/9] rpm: compile rpmqv.c instead of rpmqv.cc
|
||||
|
||||
Some versions of gcc, 4.4.5 for example, will put a reference to __gxx_personality_v0
|
||||
into rpm.o and rpmbuild.o. This means we must link with g++, and the Makefile we
|
||||
@@ -10,23 +13,38 @@ Upstream-Status: Inappropriate [other]
|
||||
|
||||
When linking with g++ is really necessary, the upstream package will do that.
|
||||
|
||||
Signed-off-by: Joe Slater <joe.slater@windriver.com>
|
||||
Also instead of symlinking files in two places, which can and does race in
|
||||
parallel builds, simply refer to the file's full location [RB]
|
||||
|
||||
Signed-off-by: Joe Slater <joe.slater@windriver.com>
|
||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
||||
|
||||
---
|
||||
Makefile.am | 6 ++----
|
||||
1 file changed, 2 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Makefile.am b/Makefile.am
|
||||
index 1dade0a..55f8669 100644
|
||||
--- a/Makefile.am
|
||||
+++ b/Makefile.am
|
||||
@@ -127,13 +127,13 @@ rpm_SOURCES = build.c
|
||||
@@ -201,15 +201,13 @@ rpm_SOURCES = build.c
|
||||
rpm_LDFLAGS = @LDFLAGS_STATIC@ $(LDFLAGS)
|
||||
rpm_LDADD = rpm.o $(myLDADD)
|
||||
rpm.o: $(top_srcdir)/rpmqv.c
|
||||
- $(COMPILE) -DIAM_RPMBT -DIAM_RPMDB -DIAM_RPMEIU -DIAM_RPMK -DIAM_RPMQV -o $@ -c $(top_srcdir)/rpmqv.cc
|
||||
+ $(COMPILE) -DIAM_RPMBT -DIAM_RPMDB -DIAM_RPMEIU -DIAM_RPMK -DIAM_RPMQV -o $@ -c $(top_srcdir)/rpmqv.c
|
||||
- ln -sf $< rpmqv.cc
|
||||
- $(COMPILE) -DIAM_RPMBT -DIAM_RPMDB -DIAM_RPMEIU -DIAM_RPMK -DIAM_RPMQV -o $@ -c rpmqv.cc
|
||||
+ $(COMPILE) -DIAM_RPMBT -DIAM_RPMDB -DIAM_RPMEIU -DIAM_RPMK -DIAM_RPMQV -o $@ -c $^
|
||||
|
||||
rpmbuild_SOURCES = build.c
|
||||
rpmbuild_LDFLAGS = @LDFLAGS_STATIC@ $(LDFLAGS)
|
||||
rpmbuild_LDADD = rpmbuild.o $(myLDADD)
|
||||
rpmbuild.o: $(top_srcdir)/rpmqv.c
|
||||
- $(COMPILE) -DIAM_RPMBT -o $@ -c $(top_srcdir)/rpmqv.cc
|
||||
+ $(COMPILE) -DIAM_RPMBT -o $@ -c $(top_srcdir)/rpmqv.c
|
||||
rpmbuild.o: $(top_srcdir)/rpmqv.c
|
||||
- ln -sf $< rpmqv.cc
|
||||
- $(COMPILE) -DIAM_RPMBT -o $@ -c rpmqv.cc
|
||||
+ $(COMPILE) -DIAM_RPMBT -o $@ -c $^
|
||||
|
||||
.PHONY: splint
|
||||
splint:
|
||||
.syntastic_c_config: Makefile
|
||||
@echo $(COMPILE) | tr ' ' '\n' | sed -e '1d' > $@
|
||||
--
|
||||
2.7.0
|
||||
|
||||
|
||||
@@ -4,10 +4,10 @@ Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
|
||||
Index: rpm-5.4.14/rpmio/rpmio.h
|
||||
Index: rpm/rpmio/rpmio.h
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/rpmio/rpmio.h
|
||||
+++ rpm-5.4.14/rpmio/rpmio.h
|
||||
--- rpm.orig/rpmio/rpmio.h
|
||||
+++ rpm/rpmio/rpmio.h
|
||||
@@ -23,7 +23,8 @@
|
||||
*/
|
||||
/*@{*/
|
||||
@@ -18,11 +18,11 @@ Index: rpm-5.4.14/rpmio/rpmio.h
|
||||
#define USE_COOKIE_SEEK_POINTER 1
|
||||
typedef _IO_off64_t _libio_off_t;
|
||||
typedef _libio_off_t * _libio_pos_t;
|
||||
Index: rpm-5.4.14/system.h
|
||||
Index: rpm/system.h
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/system.h
|
||||
+++ rpm-5.4.14/system.h
|
||||
@@ -481,7 +481,7 @@ extern void muntrace (void)
|
||||
--- rpm.orig/system.h
|
||||
+++ rpm/system.h
|
||||
@@ -489,7 +489,7 @@ extern void muntrace (void)
|
||||
#endif /* defined(__LCLINT__) */
|
||||
|
||||
/* Memory allocation via macro defs to get meaningful locations from mtrace() */
|
||||
@@ -31,11 +31,11 @@ Index: rpm-5.4.14/system.h
|
||||
#define xmalloc(_size) (malloc(_size) ? : vmefail(_size))
|
||||
#define xcalloc(_nmemb, _size) (calloc((_nmemb), (_size)) ? : vmefail(_size))
|
||||
#define xrealloc(_ptr, _size) (realloc((_ptr), (_size)) ? : vmefail(_size))
|
||||
Index: rpm-5.4.14/lib/librpm.vers
|
||||
Index: rpm/lib/librpm.vers
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/lib/librpm.vers
|
||||
+++ rpm-5.4.14/lib/librpm.vers
|
||||
@@ -405,6 +405,10 @@ LIBRPM_0
|
||||
--- rpm.orig/lib/librpm.vers
|
||||
+++ rpm/lib/librpm.vers
|
||||
@@ -406,6 +406,10 @@ LIBRPM_0
|
||||
specedit;
|
||||
strict_erasures;
|
||||
XrpmtsiInit;
|
||||
@@ -46,14 +46,14 @@ Index: rpm-5.4.14/lib/librpm.vers
|
||||
local:
|
||||
*;
|
||||
};
|
||||
Index: rpm-5.4.14/rpmio/librpmio.vers
|
||||
Index: rpm/rpmio/librpmio.vers
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/rpmio/librpmio.vers
|
||||
+++ rpm-5.4.14/rpmio/librpmio.vers
|
||||
@@ -1056,6 +1056,10 @@ LIBRPMIO_0
|
||||
mongo_write_concern_set_mode;
|
||||
mongo_write_concern_set_w;
|
||||
mongo_write_concern_set_wtimeout;
|
||||
--- rpm.orig/rpmio/librpmio.vers
|
||||
+++ rpm/rpmio/librpmio.vers
|
||||
@@ -1455,6 +1455,10 @@ LIBRPMIO_0
|
||||
_mongoc_write_result_init;
|
||||
_mongoc_write_result_merge;
|
||||
_mongoc_write_result_merge_legacy;
|
||||
+ xmalloc;
|
||||
+ xrealloc;
|
||||
+ xcalloc;
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
From 9e7b72ee0c994609975981e135fc18d0387aefb6 Mon Sep 17 00:00:00 2001
|
||||
From: jbj <jbj>
|
||||
Date: Wed, 14 May 2014 21:19:41 +0000
|
||||
Subject: [PATCH] - verify: fix: broken logic for %ghost avoidance (Mark
|
||||
Hatle).
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
---
|
||||
CHANGES | 1 +
|
||||
lib/verify.c | 3 +--
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: rpm-5.4.14/CHANGES
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/CHANGES
|
||||
+++ rpm-5.4.14/CHANGES
|
||||
@@ -1,3 +1,5 @@
|
||||
+ - jbj: verify: fix: broken logic for %ghost avoidance (Mark Hatle).
|
||||
+
|
||||
5.4.13 -> 5.4.14:
|
||||
- mooney: use __sun instead of __sun__ in #define (lp#1243472).
|
||||
- mooney: rpmconstant: ensure linkage w Oracle Studio 12.3 (lp#1243469).
|
||||
Index: rpm-5.4.14/lib/verify.c
|
||||
===================================================================
|
||||
--- rpm-5.4.14.orig/lib/verify.c
|
||||
+++ rpm-5.4.14/lib/verify.c
|
||||
@@ -588,8 +588,7 @@ uint32_t fc = rpmfiFC(fi);
|
||||
continue;
|
||||
|
||||
/* If not verifying %ghost, skip ghost files. */
|
||||
- /* XXX the broken!!! logic disables %ghost queries always. */
|
||||
- if (!(FF_ISSET(qva->qva_fflags, GHOST) && FF_ISSET(fflags, GHOST)))
|
||||
+ if (!FF_ISSET(qva->qva_fflags, GHOST) && FF_ISSET(fflags, GHOST))
|
||||
continue;
|
||||
|
||||
/* Gather per-file data into a carrier. */
|
||||
@@ -34,24 +34,22 @@ DESCRIPTION_perl-modules-rpm = "The perl-modules-rpm package contains a module t
|
||||
written in the Perl programming language to use the interface \
|
||||
supplied by the RPM Package Manager libraries."
|
||||
|
||||
SUMMARY_perl-module-rpm-dev = "Development components for perl bindings"
|
||||
DESCRIPTION_perl-modules-rpm-dev = "Development items such as man pages for use with the Perl \
|
||||
language bindings."
|
||||
|
||||
HOMEPAGE = "http://rpm5.org/"
|
||||
LICENSE = "LGPLv2.1"
|
||||
LICENSE = "LGPLv2.1 & Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
|
||||
LIC_FILES_CHKSUM += "file://rpmio/mongo.c;begin=5;end=18;md5=d8327ba2c71664c059143e6d333b8901"
|
||||
|
||||
DEPENDS = "libpcre attr acl popt ossp-uuid file byacc-native"
|
||||
# We must have gettext-native, we need gettextize, which may not be provided
|
||||
DEPENDS = "libpcre attr acl ossp-uuid file byacc-native gettext-native"
|
||||
DEPENDS_append_class-native = " file-replacement-native"
|
||||
|
||||
S = "${WORKDIR}/rpm"
|
||||
|
||||
# Apply various fixups that are unique to the CVS environment
|
||||
do_fixup_unpack () {
|
||||
ln -sf ../syck ${S}/syck || :
|
||||
ln -sf ../lua ${S}/lua || :
|
||||
ln ${S}/rpmqv.c ${S}/rpmqv.cc || :
|
||||
# 'ln' isn't reliable, and 'mv' could break later builds
|
||||
rm -rf ${S}/syck ; cp -r ${WORKDIR}/syck ${S}/.
|
||||
rm -rf ${S}/lua ; cp -r ${WORKDIR}/lua ${S}/.
|
||||
rm -rf ${S}/popt ; cp -r ${WORKDIR}/popt ${S}/.
|
||||
rm -rf ${S}/beecrypt ; cp -r ${WORKDIR}/beecrypt ${S}/.
|
||||
}
|
||||
|
||||
addtask fixup_unpack after do_unpack before do_patch
|
||||
@@ -60,45 +58,34 @@ addtask fixup_unpack after do_unpack before do_patch
|
||||
# community work in progress.
|
||||
DEFAULT_PREFERENCE = "-1"
|
||||
|
||||
S = "${WORKDIR}/rpm"
|
||||
|
||||
# rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed
|
||||
# in order to extract the distribution SRPM into a format we can extract...
|
||||
SRC_URI = "cvs://anonymous@rpm5.org/cvs;tag=rpm-5_4;module=rpm \
|
||||
cvs://anonymous@rpm5.org/cvs;tag=rpm-5_4;module=syck \
|
||||
cvs://anonymous@rpm5.org/cvs;tag=rpm-5_4;module=lua \
|
||||
file://rpm-log-auto-rm.patch \
|
||||
file://rpm-db-reduce.patch \
|
||||
cvs://anonymous@rpm5.org/cvs;tag=rpm-5_4;module=popt \
|
||||
cvs://anonymous@rpm5.org/cvs;tag=rpm-5_4;module=beecrypt \
|
||||
file://perfile_rpmdeps.sh \
|
||||
file://rpm-autogen.patch \
|
||||
file://rpm-libsql-fix.patch \
|
||||
file://pythondeps.sh \
|
||||
"
|
||||
|
||||
# Bug fixes
|
||||
SRC_URI += " \
|
||||
file://header-include-fix.patch \
|
||||
file://rpm-libsql-fix.patch \
|
||||
file://rpm-platform.patch \
|
||||
file://rpm-showrc.patch \
|
||||
file://rpm-platform2.patch \
|
||||
file://rpm-tools-mtree-LDFLAGS.patch \
|
||||
file://rpm-fileclass.patch \
|
||||
file://rpm-canonarch.patch \
|
||||
file://rpm-no-loopmsg.patch \
|
||||
file://rpm-scriptletexechelper.patch \
|
||||
file://pythondeps.sh \
|
||||
file://rpmdeps-oecore.patch \
|
||||
file://rpm-resolvedep.patch \
|
||||
file://rpm-no-perl-urpm.patch \
|
||||
file://rpm-macros.patch \
|
||||
file://rpm-lua.patch \
|
||||
file://rpm-ossp-uuid.patch \
|
||||
file://rpm-packageorigin.patch \
|
||||
file://rpm-pkgconfigdeps.patch \
|
||||
file://uclibc-support.patch \
|
||||
file://rpmatch.patch \
|
||||
file://fstack-protector-configure-check.patch \
|
||||
file://dbconvert.patch \
|
||||
file://rpm-uuid-include.patch \
|
||||
file://makefile-am-exec-hook.patch \
|
||||
file://rpm-db_buffer_small.patch \
|
||||
file://rpm-py-init.patch \
|
||||
file://python-rpm-rpmsense.patch \
|
||||
file://rpm-reloc-macros.patch \
|
||||
file://rpm-platform2.patch \
|
||||
file://rpm-remove-sykcparse-decl.patch \
|
||||
file://debugedit-segv.patch \
|
||||
file://debugedit-valid-file-to-fix-segment-fault.patch \
|
||||
file://rpm-platform-file-fix.patch \
|
||||
@@ -107,13 +94,61 @@ SRC_URI = "cvs://anonymous@rpm5.org/cvs;tag=rpm-5_4;module=rpm \
|
||||
file://rpm-hardlink-segfault-fix.patch \
|
||||
file://rpm-payload-use-hashed-inode.patch \
|
||||
file://rpm-fix-logio-cp.patch \
|
||||
file://rpm-db5-or-db6.patch \
|
||||
file://rpm-rpmpgp-fix.patch \
|
||||
file://rpm-disable-Wno-override-init.patch \
|
||||
file://rpm-realpath.patch \
|
||||
file://0001-using-poptParseArgvString-to-parse-the-_gpg_check_pa.patch \
|
||||
file://rpm-opendb-before-verifyscript-to-avoid-null-point.patch \
|
||||
file://0001-define-EM_AARCH64.patch \
|
||||
file://rpm-rpmfc.c-fix-for-N32-MIPS64.patch \
|
||||
"
|
||||
file://rpm-lib-transaction.c-fix-file-conflicts-for-mips64-N32.patch \
|
||||
file://rpm-mongodb-sasl.patch \
|
||||
file://rpm-fix-parseEmbedded.patch \
|
||||
file://rpm-rpmio-headers.patch \
|
||||
file://rpm-python-restore-origin.patch \
|
||||
file://rpm-keccak-sse-intrin.patch \
|
||||
file://rpm-atomic-ops.patch \
|
||||
file://rpm-gnu-atomic.patch \
|
||||
file://rpm-tagname-type.patch \
|
||||
file://rpm-python-tagname.patch \
|
||||
file://rpm-python-AddErase.patch \
|
||||
file://rpm-rpmpgp-popt.patch \
|
||||
"
|
||||
|
||||
# OE specific changes
|
||||
SRC_URI += " \
|
||||
file://rpm-log-auto-rm.patch \
|
||||
file://rpm-db-reduce.patch \
|
||||
file://rpm-autogen.patch \
|
||||
file://rpm-showrc.patch \
|
||||
file://rpm-fileclass.patch \
|
||||
file://rpm-scriptletexechelper.patch \
|
||||
file://rpmdeps-oecore.patch \
|
||||
file://rpm-no-perl-urpm.patch \
|
||||
file://rpm-macros.patch \
|
||||
file://rpm-lua.patch \
|
||||
file://rpm-ossp-uuid.patch \
|
||||
file://rpm-uuid-include.patch \
|
||||
file://rpm-pkgconfigdeps.patch \
|
||||
file://no-ldflags-in-pkgconfig.patch \
|
||||
file://dbconvert.patch \
|
||||
file://rpm-db_buffer_small.patch \
|
||||
file://rpm-py-init.patch \
|
||||
file://rpm-reloc-macros.patch \
|
||||
file://rpm-db5-or-db6.patch \
|
||||
file://rpm-db60.patch \
|
||||
file://rpmqv_cc_b_gone.patch \
|
||||
file://rpm-realpath.patch \
|
||||
file://rpm-check-rootpath-reasonableness.patch \
|
||||
file://rpm-macros.in-disable-external-key-server.patch \
|
||||
file://configure.ac-check-for-both-gpg2-and-gpg.patch \
|
||||
file://rpm-disable-auto-stack-protector.patch \
|
||||
file://popt-disable-auto-stack-protector.patch \
|
||||
file://rpm-syck-fix-gram.patch \
|
||||
file://rpm-rpmdb-grammar.patch \
|
||||
file://rpm-disable-blaketest.patch \
|
||||
"
|
||||
|
||||
SRC_URI_append_libc-musl = "\
|
||||
file://0001-rpm-Fix-build-on-musl.patch \
|
||||
"
|
||||
# Uncomment the following line to enable platform score debugging
|
||||
# This is useful when identifying issues with Smart being unable
|
||||
# to process certain package feeds.
|
||||
@@ -123,16 +158,25 @@ inherit autotools gettext
|
||||
|
||||
acpaths = "-I ${S}/db/dist/aclocal -I ${S}/db/dist/aclocal_java"
|
||||
|
||||
# The local distribution macro directory
|
||||
distromacrodir = "${libdir}/rpm/poky"
|
||||
|
||||
# Specify the default rpm macros in terms of adjustable variables
|
||||
rpm_macros = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:%{_etcrpm}/macros.*:%{_etcrpm}/macros:%{_etcrpm}/%{_target}/macros:~/.oerpmmacros"
|
||||
rpm_macros_class-native = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:~/.oerpmmacros"
|
||||
rpm_macros_class-nativesdk = "%{_usrlibrpm}/macros:%{_usrlibrpm}/poky/macros:%{_usrlibrpm}/poky/%{_target}/macros:~/.oerpmmacros"
|
||||
rpm_macros = "%{_usrlibrpm}/macros:%{_usrlibrpm}/${DISTRO}/macros:%{_usrlibrpm}/${DISTRO}/%{_target}/macros:%{_etcrpm}/macros.*:%{_etcrpm}/macros:%{_etcrpm}/%{_target}/macros:~/.oerpmmacros"
|
||||
rpm_macros_class-native = "%{_usrlibrpm}/macros:%{_usrlibrpm}/${DISTRO}/macros:%{_usrlibrpm}/${DISTRO}/%{_target}/macros:~/.oerpmmacros"
|
||||
rpm_macros_class-nativesdk = "%{_usrlibrpm}/macros:%{_usrlibrpm}/${DISTRO}/macros:%{_usrlibrpm}/${DISTRO}/%{_target}/macros:~/.oerpmmacros"
|
||||
|
||||
# sqlite lua tcl augeas nss gcrypt neon xz xar keyutils perl selinux
|
||||
|
||||
# Note: perl and sqlite w/o db specified does not currently work.
|
||||
# tcl, augeas, nss, gcrypt, xar and keyutils support is untested.
|
||||
PACKAGECONFIG ??= "db bzip2 zlib beecrypt openssl libelf python"
|
||||
PACKAGECONFIG ??= "db bzip2 zlib popt openssl libelf python"
|
||||
|
||||
# Note: switching to internal popt may not work, as it will generate
|
||||
# a shared library which will intentionally not be packaged.
|
||||
#
|
||||
# If you intend to use the internal version, additional work may be required.
|
||||
PACKAGECONFIG[popt] = "--with-popt=external,--with-popt=internal,popt,"
|
||||
|
||||
PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2,"
|
||||
PACKAGECONFIG[xz] = "--with-xz,--without-xz,xz,"
|
||||
@@ -193,7 +237,6 @@ EXTRA_OECONF += "--verbose \
|
||||
--with-uuid \
|
||||
--with-attr \
|
||||
--with-acl \
|
||||
--with-popt=external \
|
||||
--with-pthreads \
|
||||
--without-cudf \
|
||||
--without-ficl \
|
||||
@@ -205,6 +248,7 @@ EXTRA_OECONF += "--verbose \
|
||||
--without-gpsee \
|
||||
--without-ruby \
|
||||
--without-squirrel \
|
||||
--without-sasl2 \
|
||||
--with-build-extlibdep \
|
||||
--with-build-maxextlibdep \
|
||||
--without-valgrind \
|
||||
@@ -224,7 +268,7 @@ CFLAGS_append = " -DRPM_VENDOR_WINDRIVER -DRPM_VENDOR_POKY -DRPM_VENDOR_OE"
|
||||
|
||||
LDFLAGS_append_libc-uclibc = "-lrt -lpthread"
|
||||
|
||||
PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-libs ${PN}-dev ${PN}-staticdev ${PN}-common ${PN}-build python-rpm-staticdev python-rpm-dev python-rpm perl-module-rpm perl-module-rpm-dev ${PN}-locale"
|
||||
PACKAGES = "${PN}-dbg ${PN} ${PN}-doc ${PN}-libs ${PN}-dev ${PN}-staticdev ${PN}-common ${PN}-build python-rpm perl-module-rpm ${PN}-locale"
|
||||
|
||||
SOLIBS = "5.4.so"
|
||||
|
||||
@@ -342,24 +386,21 @@ FILES_${PN}-build = "${prefix}/src/rpm \
|
||||
${libdir}/rpm/vpkg-provides.sh \
|
||||
${libdir}/rpm/vpkg-provides2.sh \
|
||||
${libdir}/rpm/perfile_rpmdeps.sh \
|
||||
${distromacrodir} \
|
||||
"
|
||||
RDEPENDS_${PN} = "base-files run-postinsts"
|
||||
RDEPENDS_${PN}_class-native = ""
|
||||
RDEPENDS_${PN}_class-nativesdk = ""
|
||||
RDEPENDS_${PN}-build = "file bash perl"
|
||||
|
||||
RDEPENDS_python-rpm = "${PN}"
|
||||
RDEPENDS_python-rpm = "${PN} python"
|
||||
|
||||
FILES_python-rpm-dev = "${libdir}/python*/site-packages/rpm/*.la"
|
||||
FILES_python-rpm-staticdev = "${libdir}/python*/site-packages/rpm/*.a"
|
||||
FILES_python-rpm = "${libdir}/python*/site-packages/rpm"
|
||||
PROVIDES += "python-rpm"
|
||||
|
||||
FILES_perl-module-rpm = "${libdir}/perl/*/* \
|
||||
"
|
||||
|
||||
FILES_perl-module-rpm-dev = "${prefix}/share/man/man3/RPM* \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN}-dev += "bash"
|
||||
|
||||
FILES_${PN}-dev = "${includedir}/rpm \
|
||||
@@ -388,6 +429,7 @@ FILES_${PN}-staticdev = " \
|
||||
${libdir}/librpmmisc.a \
|
||||
${libdir}/librpmbuild.a \
|
||||
${libdir}/rpm/lib/liblua.a \
|
||||
${libdir}/python*/site-packages/rpm/*.a \
|
||||
"
|
||||
|
||||
do_configure() {
|
||||
@@ -408,12 +450,18 @@ do_configure() {
|
||||
}
|
||||
|
||||
do_install_append() {
|
||||
# Preserve the previous default of DSA self-signed pkgs
|
||||
sed -i -e 's,%_build_sign.*,%_build_sign DSA,' ${D}/${libdir}/rpm/macros.rpmbuild
|
||||
|
||||
sed -i -e 's,%__scriptlet_requires,#%%__scriptlet_requires,' ${D}/${libdir}/rpm/macros
|
||||
sed -i -e 's,%__perl_provides,#%%__perl_provides,' ${D}/${libdir}/rpm/macros ${D}/${libdir}/rpm/macros.d/*
|
||||
sed -i -e 's,%__perl_requires,#%%__perl_requires,' ${D}/${libdir}/rpm/macros ${D}/${libdir}/rpm/macros.d/*
|
||||
sed -i -e 's,%_repackage_all_erasures[^_].*,%_repackage_all_erasures 0,' ${D}/${libdir}/rpm/macros
|
||||
sed -i -e 's,^#%_openall_before_chroot.*,%_openall_before_chroot\t1,' ${D}/${libdir}/rpm/macros
|
||||
|
||||
# Enable MIPS64 N32 transactions. (This is a no-op on non-MIPS targets.)
|
||||
sed -i -e 's,%_transaction_color[^_].*,%_transaction_color 7,' ${D}/${libdir}/rpm/macros
|
||||
|
||||
# Enable Debian style arbitrary tags...
|
||||
sed -i -e 's,%_arbitrary_tags[^_].*,%_arbitrary_tags %{_arbitrary_tags_debian},' ${D}/${libdir}/rpm/macros
|
||||
|
||||
@@ -485,6 +533,83 @@ do_install_append() {
|
||||
|
||||
}
|
||||
|
||||
do_install_append_class-target() {
|
||||
# Create and install distribution specific macros
|
||||
mkdir -p ${D}/${distromacrodir}
|
||||
cat << EOF > ${D}/${distromacrodir}/macros
|
||||
%_defaultdocdir ${docdir}
|
||||
|
||||
%_prefix ${prefix}
|
||||
%_exec_prefix ${exec_prefix}
|
||||
%_datarootdir ${datadir}
|
||||
%_bindir ${bindir}
|
||||
%_sbindir ${sbindir}
|
||||
%_libexecdir %{_libdir}/%{name}
|
||||
%_datadir ${datadir}
|
||||
%_sysconfdir ${sysconfdir}
|
||||
%_sharedstatedir ${sharedstatedir}
|
||||
%_localstatedir ${localstatedir}
|
||||
%_lib lib
|
||||
%_libdir %{_exec_prefix}/%{_lib}
|
||||
%_includedir ${includedir}
|
||||
%_oldincludedir ${oldincludedir}
|
||||
%_infodir ${infodir}
|
||||
%_mandir ${mandir}
|
||||
%_localedir %{_libdir}/locale
|
||||
EOF
|
||||
|
||||
# Create and install multilib specific macros
|
||||
${@multilib_rpmmacros(d)}
|
||||
}
|
||||
|
||||
def multilib_rpmmacros(d):
|
||||
localdata = d.createCopy()
|
||||
# We need to clear the TOOLCHAIN_OPTIONS (--sysroot)
|
||||
localdata.delVar('TOOLCHAIN_OPTIONS')
|
||||
|
||||
# Set 'localdata' values to be consistent with 'd' values.
|
||||
localdata.setVar('distromacrodir', d.getVar('distromacrodir', True))
|
||||
localdata.setVar('WORKDIR', d.getVar('WORKDIR', True))
|
||||
|
||||
ret = gen_arch_macro(localdata)
|
||||
|
||||
variants = d.getVar("MULTILIB_VARIANTS", True) or ""
|
||||
for item in variants.split():
|
||||
# Load overrides from 'd' to avoid having to reset the value...
|
||||
localdata = d.createCopy()
|
||||
overrides = d.getVar("OVERRIDES", False) + ":virtclass-multilib-" + item
|
||||
localdata.setVar("OVERRIDES", overrides)
|
||||
localdata.setVar("MLPREFIX", item + "-")
|
||||
bb.data.update_data(localdata)
|
||||
ret += gen_arch_macro(localdata)
|
||||
return ret
|
||||
|
||||
def gen_arch_macro(d):
|
||||
# Generate shell script to produce the file as part of do_install
|
||||
val = "mkdir -p ${D}/${distromacrodir}/${TARGET_ARCH}-${TARGET_OS}\n"
|
||||
val += "cat << EOF > ${D}/${distromacrodir}/${TARGET_ARCH}-${TARGET_OS}/macros\n"
|
||||
val += "%_lib ${baselib}\n"
|
||||
val += "%_libdir ${libdir}\n"
|
||||
val += "%_localedir ${localedir}\n"
|
||||
val += "\n"
|
||||
val += "# Toolchain configuration\n"
|
||||
val += "%TOOLCHAIN_OPTIONS %{nil}\n"
|
||||
val += "%__ar ${@d.getVar('AR', True).replace('$','%')}\n"
|
||||
val += "%__as ${@d.getVar('AS', True).replace('$','%')}\n"
|
||||
val += "%__cc ${@d.getVar('CC', True).replace('$','%')}\n"
|
||||
val += "%__cpp ${@d.getVar('CPP', True).replace('$','%')}\n"
|
||||
val += "%__cxx ${@d.getVar('CXX', True).replace('$','%')}\n"
|
||||
val += "%__ld ${@d.getVar('LD', True).replace('$','%')}\n"
|
||||
val += "%__nm ${@d.getVar('NM', True).replace('$','%')}\n"
|
||||
val += "%__objcopy ${@d.getVar('OBJCOPY', True).replace('$','%')}\n"
|
||||
val += "%__objdump ${@d.getVar('OBJDUMP', True).replace('$','%')}\n"
|
||||
val += "%__ranlib ${@d.getVar('RANLIB', True).replace('$','%')}\n"
|
||||
val += "%__strip ${@d.getVar('STRIP', True).replace('$','%')}\n"
|
||||
val += "EOF\n"
|
||||
val += "\n"
|
||||
return d.expand(val)
|
||||
|
||||
|
||||
add_native_wrapper() {
|
||||
create_wrapper ${D}/${bindir}/rpm \
|
||||
RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \
|
||||
|
||||
@@ -5,8 +5,6 @@ verifying, querying, and updating software packages. Each software \
|
||||
package consists of an archive of files along with information about \
|
||||
the package like its version, a description, etc."
|
||||
|
||||
RECIPE_NO_UPDATE_REASON = "5.4.15 has a package database issue: http://lists.openembedded.org/pipermail/openembedded-core/2015-August/109187.html"
|
||||
|
||||
SUMMARY_${PN}-libs = "Libraries for manipulating RPM packages"
|
||||
DESCRIPTION_${PN}-libs = "This package contains the RPM shared libraries."
|
||||
|
||||
@@ -37,72 +35,118 @@ written in the Perl programming language to use the interface \
|
||||
supplied by the RPM Package Manager libraries."
|
||||
|
||||
HOMEPAGE = "http://rpm5.org/"
|
||||
LICENSE = "LGPLv2.1"
|
||||
LICENSE = "LGPLv2.1 & Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1"
|
||||
LIC_FILES_CHKSUM += "file://rpmio/mongo.c;begin=5;end=18;md5=d8327ba2c71664c059143e6d333b8901"
|
||||
|
||||
DEPENDS = "libpcre attr acl popt ossp-uuid file byacc-native"
|
||||
# We must have gettext-native, we need gettextize, which may not be provided
|
||||
DEPENDS = "libpcre attr acl ossp-uuid file byacc-native gettext-native"
|
||||
DEPENDS_append_class-native = " file-replacement-native"
|
||||
|
||||
# rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed
|
||||
# in order to extract the distribution SRPM into a format we can extract...
|
||||
SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.14-0.20131024.src.rpm;extract=rpm-5.4.14.tar.gz \
|
||||
file://rpm-log-auto-rm.patch \
|
||||
file://rpm-db-reduce.patch \
|
||||
|
||||
# There is no official 5.4.16 release yet, so start w/ 5.4.15 and patch it
|
||||
# based on CVS
|
||||
S = "${WORKDIR}/rpm-5.4.15"
|
||||
|
||||
SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.15-0.20140824.src.rpm;name=srpm;extract=rpm-5.4.15.tar.gz \
|
||||
http://downloads.yoctoproject.org/releases/rpm5/rpm-5.4.15-to-5.4.16-20160225.patch.gz;name=rpm-patch \
|
||||
http://downloads.yoctoproject.org/releases/rpm5/syck-5.4.15-to-5.4.16-20160225.patch.gz;name=syck-patch \
|
||||
http://downloads.yoctoproject.org/releases/rpm5/beecrypt-5.4.15-to-5.4.16-20160225.patch.gz;name=beecrypt-patch \
|
||||
http://downloads.yoctoproject.org/releases/rpm5/lua-5.4.15-to-5.4.16-20160225.patch.gz;name=lua-patch \
|
||||
file://perfile_rpmdeps.sh \
|
||||
file://rpm-autogen.patch \
|
||||
file://rpm-libsql-fix.patch \
|
||||
file://pythondeps.sh \
|
||||
"
|
||||
|
||||
SRC_URI[srpm.md5sum] = "d53782842ac11b3100a43fb2958c9bc0"
|
||||
SRC_URI[srpm.sha256sum] = "d4ae5e9ed5df8ab9931b660f491418d20ab5c4d72eb17ed9055b80b71ef6c4ee"
|
||||
|
||||
SRC_URI[rpm-patch.md5sum] = "8b7deb1c9574d3d47ed8ba8c690fd8bf"
|
||||
SRC_URI[rpm-patch.sha256sum] = "1c1983d001b04eaa23eb2c8d9598b9d0899acb0a89f54a2d4c4e974086fd17a5"
|
||||
|
||||
SRC_URI[syck-patch.md5sum] = "f31d7a32105a364688354419ec3559e4"
|
||||
SRC_URI[syck-patch.sha256sum] = "4dd1d04489206d8b5d1970f2a8d143a002f2895cefbe15d73459785096545e8a"
|
||||
|
||||
SRC_URI[beecrypt-patch.md5sum] = "9e71ee3ccb0a52985a071dd250279132"
|
||||
SRC_URI[beecrypt-patch.sha256sum] ="df7c0708a7fab9bdf6d46194519b42e736f99cb0599dcc1c3c1bf1b228705cde"
|
||||
|
||||
SRC_URI[lua-patch.md5sum] = "ca10d03d83b1fc1c31a0b50819534cd7"
|
||||
SRC_URI[lua-patch.sha256sum] = "6bde435cc827a7d4b2520e8f3e1c9bd2ca74375de0a4402aa99ef4d48eab9a7e"
|
||||
|
||||
# Bug fixes
|
||||
SRC_URI += " \
|
||||
file://header-include-fix.patch \
|
||||
file://rpm-libsql-fix.patch \
|
||||
file://rpm-platform.patch \
|
||||
file://rpm-showrc.patch \
|
||||
file://rpm-platform2.patch \
|
||||
file://rpm-tools-mtree-LDFLAGS.patch \
|
||||
file://rpm-fileclass.patch \
|
||||
file://rpm-canonarch.patch \
|
||||
file://rpm-no-loopmsg.patch \
|
||||
file://rpm-scriptletexechelper.patch \
|
||||
file://pythondeps.sh \
|
||||
file://rpmdeps-oecore.patch \
|
||||
file://rpm-resolvedep.patch \
|
||||
file://rpm-no-perl-urpm.patch \
|
||||
file://rpm-macros.patch \
|
||||
file://rpm-lua.patch \
|
||||
file://rpm-ossp-uuid.patch \
|
||||
file://rpm-packageorigin.patch \
|
||||
file://rpm-pkgconfigdeps.patch \
|
||||
file://uclibc-support.patch \
|
||||
file://rpmatch.patch \
|
||||
file://fstack-protector-configure-check.patch \
|
||||
file://dbconvert.patch \
|
||||
file://rpm-uuid-include.patch \
|
||||
file://makefile-am-exec-hook.patch \
|
||||
file://rpm-db_buffer_small.patch \
|
||||
file://rpm-py-init.patch \
|
||||
file://python-rpm-rpmsense.patch \
|
||||
file://rpm-reloc-macros.patch \
|
||||
file://rpm-platform2.patch \
|
||||
file://rpm-remove-sykcparse-decl.patch \
|
||||
file://debugedit-segv.patch \
|
||||
file://debugedit-valid-file-to-fix-segment-fault.patch \
|
||||
file://rpm-platform-file-fix.patch \
|
||||
file://rpm-lsb-compatibility.patch \
|
||||
file://rpm-tag-generate-endian-conversion-fix.patch \
|
||||
file://verify-fix-broken-logic-for-ghost-avoidance-Mark-Hat.patch \
|
||||
file://rpm-hardlink-segfault-fix.patch \
|
||||
file://rpm-payload-use-hashed-inode.patch \
|
||||
file://rpm-fix-logio-cp.patch \
|
||||
file://rpm-db5-or-db6.patch \
|
||||
file://rpm-disable-Wno-override-init.patch \
|
||||
file://rpmqv_cc_b_gone.patch \
|
||||
file://rpm-realpath.patch \
|
||||
file://0001-using-poptParseArgvString-to-parse-the-_gpg_check_pa.patch \
|
||||
file://no-ldflags-in-pkgconfig.patch \
|
||||
file://rpm-lua-fix-print.patch \
|
||||
file://rpm-check-rootpath-reasonableness.patch \
|
||||
file://rpm-macros.in-disable-external-key-server.patch \
|
||||
file://rpm-opendb-before-verifyscript-to-avoid-null-point.patch \
|
||||
file://configure.ac-check-for-both-gpg2-and-gpg.patch \
|
||||
file://0001-define-EM_AARCH64.patch \
|
||||
file://rpm-rpmfc.c-fix-for-N32-MIPS64.patch \
|
||||
file://rpm-lib-transaction.c-fix-file-conflicts-for-mips64-N32.patch \
|
||||
file://rpm-mongodb-sasl.patch \
|
||||
file://rpm-fix-parseEmbedded.patch \
|
||||
file://rpm-rpmio-headers.patch \
|
||||
file://rpm-python-restore-origin.patch \
|
||||
file://rpm-keccak-sse-intrin.patch \
|
||||
file://rpm-atomic-ops.patch \
|
||||
file://rpm-gnu-atomic.patch \
|
||||
file://rpm-tagname-type.patch \
|
||||
file://rpm-python-tagname.patch \
|
||||
file://rpm-python-AddErase.patch \
|
||||
file://rpm-rpmpgp-popt.patch \
|
||||
"
|
||||
|
||||
# OE specific changes
|
||||
SRC_URI += " \
|
||||
file://rpm-log-auto-rm.patch \
|
||||
file://rpm-db-reduce.patch \
|
||||
file://rpm-autogen.patch \
|
||||
file://rpm-showrc.patch \
|
||||
file://rpm-fileclass.patch \
|
||||
file://rpm-scriptletexechelper.patch \
|
||||
file://rpmdeps-oecore.patch \
|
||||
file://rpm-no-perl-urpm.patch \
|
||||
file://rpm-macros.patch \
|
||||
file://rpm-lua.patch \
|
||||
file://rpm-ossp-uuid.patch \
|
||||
file://rpm-uuid-include.patch \
|
||||
file://rpm-pkgconfigdeps.patch \
|
||||
file://no-ldflags-in-pkgconfig.patch \
|
||||
file://dbconvert.patch \
|
||||
file://rpm-db_buffer_small.patch \
|
||||
file://rpm-py-init.patch \
|
||||
file://rpm-reloc-macros.patch \
|
||||
file://rpm-db5-or-db6.patch \
|
||||
file://rpm-db60.patch \
|
||||
file://rpmqv_cc_b_gone.patch \
|
||||
file://rpm-realpath.patch \
|
||||
file://rpm-check-rootpath-reasonableness.patch \
|
||||
file://rpm-macros.in-disable-external-key-server.patch \
|
||||
file://configure.ac-check-for-both-gpg2-and-gpg.patch \
|
||||
file://rpm-disable-auto-stack-protector.patch \
|
||||
file://popt-disable-auto-stack-protector.patch \
|
||||
file://rpm-syck-fix-gram.patch \
|
||||
file://rpm-rpmdb-grammar.patch \
|
||||
file://rpm-disable-blaketest.patch \
|
||||
"
|
||||
|
||||
SRC_URI_append_libc-musl = "\
|
||||
@@ -113,9 +157,6 @@ SRC_URI_append_libc-musl = "\
|
||||
# to process certain package feeds.
|
||||
#SRC_URI += "file://rpm-debug-platform.patch"
|
||||
|
||||
SRC_URI[md5sum] = "25093d399a0b5d1342d24900a91b347d"
|
||||
SRC_URI[sha256sum] = "676e3ab41f72e3b504e04109cfb565a300742f56a7da084f202013b30eeae467"
|
||||
|
||||
UPSTREAM_CHECK_REGEX = "rpm-(?P<pver>(\d+[\.\-_]*)+)-.*$"
|
||||
|
||||
inherit autotools gettext
|
||||
@@ -134,7 +175,13 @@ rpm_macros_class-nativesdk = "%{_usrlibrpm}/macros:%{_usrlibrpm}/${DISTRO}/macro
|
||||
|
||||
# Note: perl and sqlite w/o db specified does not currently work.
|
||||
# tcl, augeas, nss, gcrypt, xar and keyutils support is untested.
|
||||
PACKAGECONFIG ??= "db bzip2 zlib beecrypt openssl libelf python"
|
||||
PACKAGECONFIG ??= "db bzip2 zlib popt openssl libelf python"
|
||||
|
||||
# Note: switching to internal popt may not work, as it will generate
|
||||
# a shared library which will intentionally not be packaged.
|
||||
#
|
||||
# If you intend to use the internal version, additional work may be required.
|
||||
PACKAGECONFIG[popt] = "--with-popt=external,--with-popt=internal,popt,"
|
||||
|
||||
PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2,"
|
||||
PACKAGECONFIG[xz] = "--with-xz,--without-xz,xz,"
|
||||
@@ -195,7 +242,6 @@ EXTRA_OECONF += "--verbose \
|
||||
--with-uuid \
|
||||
--with-attr \
|
||||
--with-acl \
|
||||
--with-popt=external \
|
||||
--with-pthreads \
|
||||
--without-cudf \
|
||||
--without-ficl \
|
||||
@@ -207,6 +253,7 @@ EXTRA_OECONF += "--verbose \
|
||||
--without-gpsee \
|
||||
--without-ruby \
|
||||
--without-squirrel \
|
||||
--without-sasl2 \
|
||||
--with-build-extlibdep \
|
||||
--with-build-maxextlibdep \
|
||||
--without-valgrind \
|
||||
@@ -351,7 +398,7 @@ RDEPENDS_${PN}_class-native = ""
|
||||
RDEPENDS_${PN}_class-nativesdk = ""
|
||||
RDEPENDS_${PN}-build = "file bash perl"
|
||||
|
||||
RDEPENDS_python-rpm = "${PN}"
|
||||
RDEPENDS_python-rpm = "${PN} python"
|
||||
|
||||
FILES_python-rpm = "${libdir}/python*/site-packages/rpm"
|
||||
PROVIDES += "python-rpm"
|
||||
@@ -408,6 +455,9 @@ do_configure() {
|
||||
}
|
||||
|
||||
do_install_append() {
|
||||
# Preserve the previous default of DSA self-signed pkgs
|
||||
sed -i -e 's,%_build_sign.*,%_build_sign DSA,' ${D}/${libdir}/rpm/macros.rpmbuild
|
||||
|
||||
sed -i -e 's,%__scriptlet_requires,#%%__scriptlet_requires,' ${D}/${libdir}/rpm/macros
|
||||
sed -i -e 's,%__perl_provides,#%%__perl_provides,' ${D}/${libdir}/rpm/macros ${D}/${libdir}/rpm/macros.d/*
|
||||
sed -i -e 's,%__perl_requires,#%%__perl_requires,' ${D}/${libdir}/rpm/macros ${D}/${libdir}/rpm/macros.d/*
|
||||
@@ -517,6 +567,14 @@ EOF
|
||||
${@multilib_rpmmacros(d)}
|
||||
}
|
||||
|
||||
do_install_append_class-native () {
|
||||
sed -i -e 's|^#!.*/usr/bin/python|#! /usr/bin/env nativepython|' ${D}/${libdir}/python2.7/site-packages/rpm/transaction.py
|
||||
}
|
||||
|
||||
do_install_append_class-nativesdk () {
|
||||
sed -i -e 's|^#!.*/usr/bin/python|#! /usr/bin/env python|' ${D}/${libdir}/python2.7/site-packages/rpm/transaction.py
|
||||
}
|
||||
|
||||
def multilib_rpmmacros(d):
|
||||
localdata = d.createCopy()
|
||||
# We need to clear the TOOLCHAIN_OPTIONS (--sysroot)
|
||||
Reference in New Issue
Block a user