All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1
@ 2015-09-03 15:23 James Knight
  2015-09-03 15:23 ` [Buildroot] [PATCH v3 2/4] package/berkeleydb: add host variant James Knight
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: James Knight @ 2015-09-03 15:23 UTC (permalink / raw)
  To: buildroot

The provided "bump" (suggested by Baruch Siach) switches from the rpm5
implementation to rpm.org's more active stream.

Signed-off-by: James Knight <james.knight@rockwellcollins.com>
---
Changes v2 -> v3:
  - Cleanup configuration dependency to beecrypt/libnss; following
     convention (suggested by Baruch Siach).

Changes v1 -> v2:
  - Package change introduced in change set 2.
---
 package/rpm/0002-depends-fix.patch           |  19 ---
 package/rpm/0003-exclude-some-tools.patch    |  30 ----
 package/rpm/0004-ignore-shared-mutexes.patch |  12 --
 package/rpm/0005-no-parentdirs.patch         |  14 --
 package/rpm/0006-ordering-fix.patch          |  45 -----
 package/rpm/0007-parentdir-vs-requires.patch |  37 -----
 package/rpm/0008-short-circuit-c99.patch     | 235 ---------------------------
 package/rpm/Config.in                        |  23 ++-
 package/rpm/rpm.hash                         |   2 +-
 package/rpm/rpm.mk                           |  93 ++++++-----
 10 files changed, 70 insertions(+), 440 deletions(-)
 delete mode 100644 package/rpm/0002-depends-fix.patch
 delete mode 100644 package/rpm/0003-exclude-some-tools.patch
 delete mode 100644 package/rpm/0004-ignore-shared-mutexes.patch
 delete mode 100644 package/rpm/0005-no-parentdirs.patch
 delete mode 100644 package/rpm/0006-ordering-fix.patch
 delete mode 100644 package/rpm/0007-parentdir-vs-requires.patch
 delete mode 100644 package/rpm/0008-short-circuit-c99.patch

diff --git a/package/rpm/0002-depends-fix.patch b/package/rpm/0002-depends-fix.patch
deleted file mode 100644
index 4a92775..0000000
--- a/package/rpm/0002-depends-fix.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Bugfix included upstream
-
-diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_depends-fix/lib/depends.c
---- rpm-5.2.0_vanilla/lib/depends.c	2009-05-23 01:23:46.000000000 +0000
-+++ rpm-5.2.0_depends-fix/lib/depends.c	2009-09-22 06:33:37.950783501 +0000
-@@ -2371,11 +2371,11 @@
- 
- 	memset(selected, 0, sizeof(*selected) * ts->orderCount);
- 
--      if ((requires = rpmteDS(p, RPMTAG_REQUIRENAME)) != NULL) {
--
- 	/* Avoid narcisstic relations. */
- 	selected[rpmtsiOc(pi)] = 1;
- 
-+      if ((requires = rpmteDS(p, RPMTAG_REQUIRENAME)) != NULL) {
-+
- 	/* T2. Next "q <- p" relation. */
- 
- 	/* First, do pre-requisites. */
diff --git a/package/rpm/0003-exclude-some-tools.patch b/package/rpm/0003-exclude-some-tools.patch
deleted file mode 100644
index 2cbc7cb..0000000
--- a/package/rpm/0003-exclude-some-tools.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff -ru rpm-5.2.0_vanilla/tools/Makefile.am rpm-5.2.0_exclude-some-tools/tools/Makefile.am
---- rpm-5.2.0_vanilla/tools/Makefile.am	2009-06-03 01:24:42.000000000 +0000
-+++ rpm-5.2.0_exclude-some-tools/tools/Makefile.am	2009-12-20 07:47:13.000000000 +0000
-@@ -45,9 +45,7 @@
- bin_PROGRAMS =		rpm2cpio
- 
- pkgbindir =		@USRLIBRPM@/bin
--pkgbin_PROGRAMS =	\
--	rpmcache rpmdigest grep mtree rpmrepo rpmspecdump wget \
--	rpmcmp rpmdeps @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@
-+pkgbin_PROGRAMS =	
- dist_man_MANS =		rpmgrep.1
- 
- debugedit_SOURCES =	debugedit.c hashtab.c
-diff -ru rpm-5.2.0_vanilla/tools/Makefile.in rpm-5.2.0_exclude-some-tools/tools/Makefile.in
---- rpm-5.2.0_vanilla/tools/Makefile.in	2009-07-07 21:14:06.000000000 +0000
-+++ rpm-5.2.0_exclude-some-tools/tools/Makefile.in	2009-12-20 07:47:37.000000000 +0000
-@@ -39,11 +39,7 @@
- target_triplet = @target@
- EXTRA_PROGRAMS = rpmkey$(EXEEXT) debugedit$(EXEEXT)
- bin_PROGRAMS = rpm2cpio$(EXEEXT)
--pkgbin_PROGRAMS = rpmcache$(EXEEXT) rpmdigest$(EXEEXT) grep$(EXEEXT) \
--	mtree$(EXEEXT) rpmrepo$(EXEEXT) rpmspecdump$(EXEEXT) \
--	wget$(EXEEXT) rpmcmp$(EXEEXT) rpmdeps$(EXEEXT) \
--	@WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@ $(am__EXEEXT_1) \
--	$(am__EXEEXT_2)
-+pkgbin_PROGRAMS = 
- @WITH_XAR_TRUE at am__append_1 = txar
- @WITH_DB_INTERNAL_TRUE@@WITH_DB_TOOLS_INTEGRATED_TRUE at am__append_2 = db_tool
- @WITH_DB_INTERNAL_TRUE@@WITH_DB_RPC_TRUE@@WITH_DB_TOOLS_INTEGRATED_TRUE@am__append_3 = \
diff --git a/package/rpm/0004-ignore-shared-mutexes.patch b/package/rpm/0004-ignore-shared-mutexes.patch
deleted file mode 100644
index f19d6b6..0000000
--- a/package/rpm/0004-ignore-shared-mutexes.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ru rpm-5.2.0_vanilla/db/env/env_open.c rpm-5.2.0_test/db/env/env_open.c
---- rpm-5.2.0_vanilla/db/env/env_open.c	2008-05-28 01:23:27.000000000 +0000
-+++ rpm-5.2.0_test/db/env/env_open.c	2009-12-24 14:54:55.000000000 +0000
-@@ -124,7 +124,7 @@
- 		}
- 	}
- 
--#ifdef HAVE_MUTEX_THREAD_ONLY
-+#ifdef NK_HAVE_MUTEX_THREAD_ONLY
- 	/*
- 	 * Currently we support one kind of mutex that is intra-process only,
- 	 * POSIX 1003.1 pthreads, because a variety of systems don't support
diff --git a/package/rpm/0005-no-parentdirs.patch b/package/rpm/0005-no-parentdirs.patch
deleted file mode 100644
index d05c99a..0000000
--- a/package/rpm/0005-no-parentdirs.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Reduce parentdirs we use, parentdirs are used for ordering
-Included upstream
-diff -u --new-file --recursive rpm-5.1.9_vanilla/lib/depends.c rpm-5.1.9_no-parentdirs/lib/depends.c
---- rpm-5.1.9_vanilla/lib/depends.c	2009-04-12 19:46:17.000000000 +0000
-+++ rpm-5.1.9_no-parentdirs/lib/depends.c	2009-06-13 15:21:43.504999639 +0000
-@@ -2257,7 +2257,7 @@
- #define isAuto(_x)	((_x) & _autobits)
- 
- /*@unchecked@*/
--static int slashDepth = 100;	/* #slashes pemitted in parentdir deps. */
-+static int slashDepth = 2;	/* #slashes pemitted in parentdir deps. */
- 
- static int countSlashes(const char * dn)
- 	/*@*/
diff --git a/package/rpm/0006-ordering-fix.patch b/package/rpm/0006-ordering-fix.patch
deleted file mode 100644
index a618e1f..0000000
--- a/package/rpm/0006-ordering-fix.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-Included upstream
---- x/lib/depends.c	2009/05/15 13:40:58	1.445
-+++ y/lib/depends.c	2009/08/22 22:12:02	1.446
-@@ -2216,9 +2216,6 @@
- {
-     rpmte q, qprev;
- 
--    /* Mark the package as queued. */
--    rpmteTSI(p)->tsi_queued = 1;
--
-     if ((*rp) == NULL) {	/* 1st element */
- 	/*@-dependenttrans@*/ /* FIX: double indirection */
- 	(*rp) = (*qp) = p;
-@@ -2238,6 +2235,12 @@
- 	/* XXX Insure removed after added. */
- 	if (rpmteType(p) == TR_REMOVED && rpmteType(p) != rpmteType(q))
- 	    continue;
-+
-+	/* XXX Follow all previous generations in the queue. */
-+	if (rpmteTSI(p)->tsi_queued > rpmteTSI(q)->tsi_queued)
-+	    continue;
-+
-+	/* XXX Within a generation, queue behind more "important". */
- 	if (rpmteTSI(q)->tsi_qcnt <= rpmteTSI(p)->tsi_qcnt)
- 	    break;
-     }
-@@ -2521,6 +2524,9 @@
- 
- 	if (rpmteTSI(p)->tsi_count != 0)
- 	    continue;
-+
-+	/* Mark the package as queued. */
-+	rpmteTSI(p)->tsi_queued = orderingCount + 1;
- 	rpmteTSI(p)->tsi_suc = NULL;
- 	addQ(p, &q, &r, prefcolor);
- 	qlen++;
-@@ -2584,6 +2590,8 @@
- 		(void) rpmteSetParent(p, q);
- 		(void) rpmteSetDegree(q, rpmteDegree(q)+1);
- 
-+		/* Mark the package as queued. */
-+		rpmteTSI(p)->tsi_queued = orderingCount + 1;
- 		/* XXX TODO: add control bit. */
- 		rpmteTSI(p)->tsi_suc = NULL;
- /*@-nullstate@*/	/* XXX FIX: rpmteTSI(q)->tsi_suc can be NULL. */
diff --git a/package/rpm/0007-parentdir-vs-requires.patch b/package/rpm/0007-parentdir-vs-requires.patch
deleted file mode 100644
index 309ab25..0000000
--- a/package/rpm/0007-parentdir-vs-requires.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-Avoid looking up files or directories that this package provides
-Included upstream
-diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_parentdir-vs-requires/lib/depends.c
---- rpm-5.2.0_vanilla/lib/depends.c	2009-05-23 01:23:46.000000000 +0000
-+++ rpm-5.2.0_parentdir-vs-requires/lib/depends.c	2009-09-22 17:00:24.880956271 +0000
-@@ -2095,6 +2095,7 @@
-     rpmtsi qi; rpmte q;
-     tsortInfo tsi;
-     nsType NSType = rpmdsNSType(requires);
-+    const char * N = rpmdsN(requires);
-     fnpyKey key;
-     int teType = rpmteType(p);
-     alKey pkgKey;
-@@ -2128,6 +2129,23 @@
- 	break;
-     }
- 
-+    /* Avoid looking up files/directories that are "owned" by _THIS_ package. */
-+    if (*N == '/') {
-+    rpmfi fi = rpmteFI(p, RPMTAG_BASENAMES);
-+    int bingo = 0;
-+
-+    fi = rpmfiInit(fi, 0);
-+    while (rpmfiNext(fi) >= 0) {
-+        const char * fn = rpmfiFN(fi);
-+        if (strcmp(N, fn))
-+        continue;
-+        bingo = 1;
-+        break;
-+    }
-+    if (bingo)
-+        return 0;
-+    }
-+
-     pkgKey = RPMAL_NOMATCH;
-     key = rpmalSatisfiesDepend(al, requires, &pkgKey);
- 
diff --git a/package/rpm/0008-short-circuit-c99.patch b/package/rpm/0008-short-circuit-c99.patch
deleted file mode 100644
index 5d7b53a..0000000
--- a/package/rpm/0008-short-circuit-c99.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-Buildroot specific
-diff -ru rpm-5.1.9_vanilla/xz/configure rpm-5.1.9_short-circuit-c99/xz/configure
---- rpm-5.1.9_vanilla/xz/configure	2009-04-18 16:47:23.000000000 +0000
-+++ rpm-5.1.9_short-circuit-c99/xz/configure	2009-08-04 08:25:59.000000000 +0000
-@@ -4970,214 +4970,7 @@
-   am__fastdepCC_FALSE=
- fi
- 
--
--   { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5
--$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
--if test "${ac_cv_prog_cc_c99+set}" = set; then
--  $as_echo_n "(cached) " >&6
--else
--  ac_cv_prog_cc_c99=no
--ac_save_CC=$CC
--cat >conftest.$ac_ext <<_ACEOF
--/* confdefs.h.  */
--_ACEOF
--cat confdefs.h >>conftest.$ac_ext
--cat >>conftest.$ac_ext <<_ACEOF
--/* end confdefs.h.  */
--#include <stdarg.h>
--#include <stdbool.h>
--#include <stdlib.h>
--#include <wchar.h>
--#include <stdio.h>
--
--// Check varargs macros.  These examples are taken from C99 6.10.3.5.
--#define debug(...) fprintf (stderr, __VA_ARGS__)
--#define showlist(...) puts (#__VA_ARGS__)
--#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
--static void
--test_varargs_macros (void)
--{
--  int x = 1234;
--  int y = 5678;
--  debug ("Flag");
--  debug ("X = %d\n", x);
--  showlist (The first, second, and third items.);
--  report (x>y, "x is %d but y is %d", x, y);
--}
--
--// Check long long types.
--#define BIG64 18446744073709551615ull
--#define BIG32 4294967295ul
--#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
--#if !BIG_OK
--  your preprocessor is broken;
--#endif
--#if BIG_OK
--#else
--  your preprocessor is broken;
--#endif
--static long long int bignum = -9223372036854775807LL;
--static unsigned long long int ubignum = BIG64;
--
--struct incomplete_array
--{
--  int datasize;
--  double data[];
--};
--
--struct named_init {
--  int number;
--  const wchar_t *name;
--  double average;
--};
--
--typedef const char *ccp;
--
--static inline int
--test_restrict (ccp restrict text)
--{
--  // See if C++-style comments work.
--  // Iterate through items via the restricted pointer.
--  // Also check for declarations in for loops.
--  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
--    continue;
--  return 0;
--}
--
--// Check varargs and va_copy.
--static void
--test_varargs (const char *format, ...)
--{
--  va_list args;
--  va_start (args, format);
--  va_list args_copy;
--  va_copy (args_copy, args);
--
--  const char *str;
--  int number;
--  float fnumber;
--
--  while (*format)
--    {
--      switch (*format++)
--	{
--	case 's': // string
--	  str = va_arg (args_copy, const char *);
--	  break;
--	case 'd': // int
--	  number = va_arg (args_copy, int);
--	  break;
--	case 'f': // float
--	  fnumber = va_arg (args_copy, double);
--	  break;
--	default:
--	  break;
--	}
--    }
--  va_end (args_copy);
--  va_end (args);
--}
--
--int
--main ()
--{
--
--  // Check bool.
--  _Bool success = false;
--
--  // Check restrict.
--  if (test_restrict ("String literal") == 0)
--    success = true;
--  char *restrict newvar = "Another string";
--
--  // Check varargs.
--  test_varargs ("s, d' f .", "string", 65, 34.234);
--  test_varargs_macros ();
--
--  // Check flexible array members.
--  struct incomplete_array *ia =
--    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
--  ia->datasize = 10;
--  for (int i = 0; i < ia->datasize; ++i)
--    ia->data[i] = i * 1.234;
--
--  // Check named initializers.
--  struct named_init ni = {
--    .number = 34,
--    .name = L"Test wide string",
--    .average = 543.34343,
--  };
--
--  ni.number = 58;
--
--  int dynamic_array[ni.number];
--  dynamic_array[ni.number - 1] = 543;
--
--  // work around unused variable warnings
--  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
--	  || dynamic_array[ni.number - 1] != 543);
--
--  ;
--  return 0;
--}
--_ACEOF
--for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99
--do
--  CC="$ac_save_CC $ac_arg"
--  rm -f conftest.$ac_objext
--if { (ac_try="$ac_compile"
--case "(($ac_try" in
--  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
--  *) ac_try_echo=$ac_try;;
--esac
--eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
--$as_echo "$ac_try_echo") >&5
--  (eval "$ac_compile") 2>conftest.er1
--  ac_status=$?
--  grep -v '^ *+' conftest.er1 >conftest.err
--  rm -f conftest.er1
--  cat conftest.err >&5
--  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
--  (exit $ac_status); } && {
--	 test -z "$ac_c_werror_flag" ||
--	 test ! -s conftest.err
--       } && test -s conftest.$ac_objext; then
--  ac_cv_prog_cc_c99=$ac_arg
--else
--  $as_echo "$as_me: failed program was:" >&5
--sed 's/^/| /' conftest.$ac_ext >&5
--
--
--fi
--
--rm -f core conftest.err conftest.$ac_objext
--  test "x$ac_cv_prog_cc_c99" != "xno" && break
--done
--rm -f conftest.$ac_ext
--CC=$ac_save_CC
--
--fi
--# AC_CACHE_VAL
--case "x$ac_cv_prog_cc_c99" in
--  x)
--    { $as_echo "$as_me:$LINENO: result: none needed" >&5
--$as_echo "none needed" >&6; } ;;
--  xno)
--    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
--$as_echo "unsupported" >&6; } ;;
--  *)
--    CC="$CC $ac_cv_prog_cc_c99"
--    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5
--$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
--esac
--
--
--
--if test x$ac_cv_prog_cc_c99 = xno ; then
--	{ { $as_echo "$as_me:$LINENO: error: No C99 compiler was found." >&5
--$as_echo "$as_me: error: No C99 compiler was found." >&2;}
--   { (exit 1); exit 1; }; }
--fi
-+CC="$CC -std=c99"
- 
- if test "x$CC" != xcc; then
-   { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5
-diff -ru rpm-5.1.9_vanilla/xz/configure.ac rpm-5.1.9_short-circuit-c99/xz/configure.ac
---- rpm-5.1.9_vanilla/xz/configure.ac	2009-02-16 17:07:46.000000000 +0000
-+++ rpm-5.1.9_short-circuit-c99/xz/configure.ac	2009-08-04 08:25:28.000000000 +0000
-@@ -402,10 +402,7 @@
- AM_INIT_AUTOMAKE([1.10 foreign tar-v7 filename-length-max=99])
- AC_PROG_LN_S
- 
--AC_PROG_CC_C99
--if test x$ac_cv_prog_cc_c99 = xno ; then
--	AC_MSG_ERROR([No C99 compiler was found.])
--fi
-+CC="$CC -std=c99"
- 
- AM_PROG_CC_C_O
- AM_PROG_AS
diff --git a/package/rpm/Config.in b/package/rpm/Config.in
index c6fc3b7..eee4c30 100644
--- a/package/rpm/Config.in
+++ b/package/rpm/Config.in
@@ -6,16 +6,23 @@ config BR2_PACKAGE_RPM
 	bool "rpm"
 	depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
 	depends on BR2_USE_MMU # fork()
-	select BR2_PACKAGE_BEECRYPT
+	select BR2_PACKAGE_BEECRYPT if !BR2_PACKAGE_LIBNSS
+	select BR2_PACKAGE_BERKELEYDB
+	select BR2_PACKAGE_FILE
 	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
-	select BR2_PACKAGE_NEON
-	select BR2_PACKAGE_NEON_SSL
-	select BR2_PACKAGE_NEON_XML
-	select BR2_PACKAGE_NEON_ZLIB
-	select BR2_PACKAGE_OPENSSL
 	select BR2_PACKAGE_POPT
 	select BR2_PACKAGE_ZLIB
 	help
-	  The RPM package management system.
+	  The RPM Package Manager (RPM).
 
-	  http://rpm5.org
+	  http://www.rpm.org/
+
+if BR2_PACKAGE_RPM
+
+config BR2_PACKAGE_RPM_LUA
+	bool "lua support"
+	select BR2_PACKAGE_LUA
+	help
+	  Enable Lua support.
+
+endif
diff --git a/package/rpm/rpm.hash b/package/rpm/rpm.hash
index 0665746..b69fcef 100644
--- a/package/rpm/rpm.hash
+++ b/package/rpm/rpm.hash
@@ -1,2 +1,2 @@
 # Locally calculated
-sha256	34a959c0ed670cadcdc52c6025e822fac6f5d1015e3b75123f53ebe53b923e98	rpm-5.2.0.tar.gz
+sha256	77ddd228fc332193c874aa0b424f41db1ff8b7edbb6a338703ef747851f50229	rpm-4.12.0.1.tar.bz2
diff --git a/package/rpm/rpm.mk b/package/rpm/rpm.mk
index 7f346b2..adf408e 100644
--- a/package/rpm/rpm.mk
+++ b/package/rpm/rpm.mk
@@ -4,61 +4,76 @@
 #
 ################################################################################
 
-RPM_VERSION_MAJOR = 5.2
-RPM_VERSION = $(RPM_VERSION_MAJOR).0
-RPM_SITE = http://rpm5.org/files/rpm/rpm-$(RPM_VERSION_MAJOR)
-RPM_DEPENDENCIES = host-pkgconf zlib beecrypt neon popt openssl
-RPM_LICENSE = LGPLv2.1
-RPM_LICENSE_FILES = COPYING.LIB
+RPM_VERSION_MAJOR = 4.12
+RPM_VERSION = $(RPM_VERSION_MAJOR).0.1
+RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2
+RPM_SITE = http://rpm.org/releases/rpm-$(RPM_VERSION_MAJOR).x
+RPM_DEPENDENCIES = host-pkgconf berkeleydb file popt zlib
+RPM_LICENSE = GPLv2
+RPM_LICENSE_FILES = COPYING
 
-RPM_CONF_ENV = \
-	CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/beecrypt -I$(STAGING_DIR)/usr/include/neon -DHAVE_MUTEX_THREAD_ONLY" \
-	ac_cv_va_copy=yes
-
-RPM_CONF_OPTS = \
-	--disable-build-versionscript \
+RPM_CONF_OPTS += \
+	--disable-largefile \
 	--disable-rpath \
-	--without-selinux \
-	--without-python \
-	--without-perl \
-	--with-openssl=external \
-	--with-zlib=external \
-	--with-libbeecrypt=$(STAGING_DIR) \
-	--with-popt=external
+	--enable-python=no \
+	--with-external-db \
+	--with-gnu-ld \
+	--without-hackingdocs
 
-ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
-RPM_DEPENDENCIES += gettext
+ifeq ($(BR2_PACKAGE_ACL),y)
+RPM_DEPENDENCIES += acl
+RPM_CONF_OPTS += --with-acl
+else
+RPM_CONF_OPTS += --without-acl
 endif
 
-ifeq ($(BR2_PACKAGE_PCRE),y)
-RPM_DEPENDENCIES += pcre
-RPM_CONF_OPTS += --with-pcre=external
+ifeq ($(BR2_PACKAGE_BEECRYPT),y)
+RPM_DEPENDENCIES += beecrypt
+RPM_CONF_OPTS += --with-beecrypt
+RPM_CONFIGURATION += -I$(STAGING_DIR)/usr/include/beecrypt
 else
-RPM_CONF_OPTS += --with-pcre=none
+RPM_DEPENDENCIES += libnss
+RPM_CONF_OPTS += --without-beecrypt
+RPM_CONFIGURATION += \
+	-I$(STAGING_DIR)/usr/include/nss -I$(STAGING_DIR)/usr/include/nspr
 endif
 
-ifeq ($(BR2_PACKAGE_FILE),y)
-RPM_DEPENDENCIES += file
-RPM_CONF_OPTS += --with-file=external
+ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
+RPM_DEPENDENCIES += gettext
+RPM_CONF_OPTS += --with-libintl-prefix=$(STAGING_DIR)/usr
 else
-RPM_CONF_OPTS += --with-file=none
+RPM_CONF_OPTS += --without-libintl-prefix
 endif
 
-# xz payload support needs a toolchain w/ C++
-ifeq ($(BR2_PACKAGE_XZ)$(BR2_INSTALL_LIBSTDCPP),yy)
-RPM_DEPENDENCIES += xz
-RPM_CONF_OPTS += --with-xz=external
+ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
+RPM_DEPENDENCIES += libarchive
+RPM_CONF_OPTS += --with-archive
 else
-RPM_CONF_OPTS += --with-xz=none
+RPM_CONF_OPTS += --without-archive
 endif
 
-ifeq ($(BR2_PACKAGE_BZIP2),y)
-RPM_CONF_OPTS += --with-bzip2
-RPM_DEPENDENCIES += bzip2
+#ifeq ($(BR2_PACKAGE_LIBCAP),y)
+RPM_DEPENDENCIES += libcap
+RPM_CONF_OPTS += --with-cap
+#else
+RPM_CONF_OPTS += --without-cap
+#endif
+
+ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
+RPM_DEPENDENCIES += libselinux
+RPM_CONF_OPTS += --with-selinux
+else
+RPM_CONF_OPTS += --without-selinux
 endif
 
-RPM_MAKE = $(MAKE1)
+ifeq ($(BR2_PACKAGE_RPM_LUA),y)
+RPM_DEPENDENCIES += lua
+RPM_CONF_OPTS += --with-lua
+else
+RPM_CONF_OPTS += --without-lua
+endif
 
-RPM_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) program_transform_name= install
+RPM_CONF_ENV += \
+	CFLAGS="$(TARGET_CFLAGS) $(RPM_CONFIGURATION)"
 
 $(eval $(autotools-package))
-- 
1.9.5.msysgit.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 2/4] package/berkeleydb: add host variant
  2015-09-03 15:23 [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1 James Knight
@ 2015-09-03 15:23 ` James Knight
  2015-09-03 16:13   ` Yann E. MORIN
  2015-09-03 15:23 ` [Buildroot] [PATCH v3 3/4] package/beecrypt: " James Knight
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 14+ messages in thread
From: James Knight @ 2015-09-03 15:23 UTC (permalink / raw)
  To: buildroot

Required by an upcoming host variant of the `rpm` package.

Signed-off-by: James Knight <james.knight@rockwellcollins.com>
---
Changes v2 -> v3:
  - None.

Changes v1 -> v2:
  - Package change introduced in change set 2.
---
 package/berkeleydb/berkeleydb.mk | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/package/berkeleydb/berkeleydb.mk b/package/berkeleydb/berkeleydb.mk
index e5c11bd..e9ab760 100644
--- a/package/berkeleydb/berkeleydb.mk
+++ b/package/berkeleydb/berkeleydb.mk
@@ -44,6 +44,26 @@ define BERKELEYDB_CONFIGURE_CMDS
 	)
 endef
 
+define HOST_BERKELEYDB_CONFIGURE_CMDS
+	(cd $(@D)/build_unix; rm -rf config.cache; \
+		$(HOST_CONFIGURE_OPTS) \
+		$(HOST_CONFIGURE_ARGS) \
+		../dist/configure $(QUIET) \
+		--prefix=/usr \
+		--exec-prefix=/usr \
+		--sysconfdir=/etc \
+		--with-gnu-ld \
+		--disable-java \
+		--disable-tcl \
+		--enable-compat185 \
+		--enable-cxx \
+		--enable-o_direct \
+		--with-pic \
+	)
+endef
+
+HOST_BERKELEYDB_INSTALL_OPTS += DESTDIR="$(HOST_DIR)" install
+
 ifneq ($(BR2_PACKAGE_BERKELEYDB_TOOLS),y)
 
 define BERKELEYDB_REMOVE_TOOLS
@@ -61,3 +81,4 @@ endef
 BERKELEYDB_POST_INSTALL_TARGET_HOOKS += BERKELEYDB_REMOVE_DOCS
 
 $(eval $(autotools-package))
+$(eval $(host-autotools-package))
-- 
1.9.5.msysgit.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 3/4] package/beecrypt: add host variant
  2015-09-03 15:23 [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1 James Knight
  2015-09-03 15:23 ` [Buildroot] [PATCH v3 2/4] package/berkeleydb: add host variant James Knight
@ 2015-09-03 15:23 ` James Knight
  2015-09-03 16:15   ` Yann E. MORIN
  2015-09-03 16:32   ` Yann E. MORIN
  2015-09-03 15:23 ` [Buildroot] [PATCH v3 4/4] package/rpm: " James Knight
                   ` (2 subsequent siblings)
  4 siblings, 2 replies; 14+ messages in thread
From: James Knight @ 2015-09-03 15:23 UTC (permalink / raw)
  To: buildroot

Required by an upcoming host variant of the `rpm` package.

Signed-off-by: James Knight <james.knight@rockwellcollins.com>
---
Changes v2 -> v3:
  - None.

Changes v1 -> v2:
  - Do not configured host variant based off of target variant
     configuration (based off comments from Thomas Petazzoni).
---
 package/beecrypt/beecrypt.mk | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/package/beecrypt/beecrypt.mk b/package/beecrypt/beecrypt.mk
index e66cec1..e3749d5 100644
--- a/package/beecrypt/beecrypt.mk
+++ b/package/beecrypt/beecrypt.mk
@@ -11,11 +11,18 @@ BEECRYPT_INSTALL_STAGING = YES
 BEECRYPT_LICENSE = LGPLv2.1+
 BEECRYPT_LICENSE_FILES = COPYING.LIB
 
-BEECRYPT_CONF_OPTS = \
+BEECRYPT_CONFIGURE_ARGS = \
 	--disable-expert-mode \
+	--disable-openmp \
 	--without-java \
-	--without-python \
-	--disable-openmp
+	--without-python
+
+BEECRYPT_CONF_OPTS += \
+	$(BEECRYPT_CONFIGURE_ARGS)
+
+HOST_BEECRYPT_CONF_OPTS += \
+	$(BEECRYPT_CONFIGURE_ARGS) \
+	--without-cplusplus
 
 ifeq ($(BR2_PACKAGE_BEECRYPT_CPP),y)
 BEECRYPT_DEPENDENCIES += icu
@@ -33,3 +40,4 @@ BEECRYPT_POST_CONFIGURE_HOOKS += BEECRYPT_LINK_WITH_CC
 endif
 
 $(eval $(autotools-package))
+$(eval $(host-autotools-package))
-- 
1.9.5.msysgit.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 4/4] package/rpm: add host variant
  2015-09-03 15:23 [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1 James Knight
  2015-09-03 15:23 ` [Buildroot] [PATCH v3 2/4] package/berkeleydb: add host variant James Knight
  2015-09-03 15:23 ` [Buildroot] [PATCH v3 3/4] package/beecrypt: " James Knight
@ 2015-09-03 15:23 ` James Knight
  2015-09-03 18:35   ` Yann E. MORIN
  2015-09-04 11:22 ` [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1 Vicente Olivert Riera
  2015-10-03 14:15 ` Peter Korsgaard
  4 siblings, 1 reply; 14+ messages in thread
From: James Knight @ 2015-09-03 15:23 UTC (permalink / raw)
  To: buildroot

The following adds support for a host variant of the rpm package. This
support will allow a host system to setup/manipulate a target system's
initial RPM database during the post-build phase.

A target's default RPM database (/var/lib/rpm) is initially empty. If a
developer wishes to create this database during the build phase, they
will have to do so using the same database format between their host
system and target system. By provided an rpm host variant, a developer
can ensure an rpm database build, for example, during the post-build
phase will be compatible with the rpm system installed on the target.

Signed-off-by: James Knight <james.knight@rockwellcollins.com>
---
Changes v2 -> v3:
  - None.

Changes v1 -> v2:
  - A series of changes (different configuration options) based off of a
     switch from rpm 4.12.0.1 (from rpm5).
  - Cleaned up configuration options to ensure host variant is not
     configured based off of target variant configuration (from comments
     provided by from Thomas Petazzoni).
  - Original patch set referenced a host variant neon package. This is
     no longer required in rpm 4.12.0.1 version.
---
 package/Config.in.host     |  1 +
 package/rpm/Config.in.host |  8 ++++++++
 package/rpm/rpm.mk         | 18 +++++++++++++++++-
 3 files changed, 26 insertions(+), 1 deletion(-)
 create mode 100644 package/rpm/Config.in.host

diff --git a/package/Config.in.host b/package/Config.in.host
index 1e047aa..1820b20 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -22,6 +22,7 @@ menu "Host utilities"
 	source "package/patchelf/Config.in.host"
 	source "package/pwgen/Config.in.host"
 	source "package/qemu/Config.in.host"
+	source "package/rpm/Config.in.host"
 	source "package/sam-ba/Config.in.host"
 	source "package/squashfs/Config.in.host"
 	source "package/sunxi-tools/Config.in.host"
diff --git a/package/rpm/Config.in.host b/package/rpm/Config.in.host
new file mode 100644
index 0000000..3c15bd4
--- /dev/null
+++ b/package/rpm/Config.in.host
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_HOST_RPM
+	bool "host rpm"
+	select BR2_PACKAGE_HOST_BEECRYPT
+	select BR2_PACKAGE_HOST_BERKELEYDB
+	help
+	  The RPM Package Manager (RPM).
+
+	  http://www.rpm.org/
diff --git a/package/rpm/rpm.mk b/package/rpm/rpm.mk
index adf408e..6de3e63 100644
--- a/package/rpm/rpm.mk
+++ b/package/rpm/rpm.mk
@@ -9,10 +9,11 @@ RPM_VERSION = $(RPM_VERSION_MAJOR).0.1
 RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2
 RPM_SITE = http://rpm.org/releases/rpm-$(RPM_VERSION_MAJOR).x
 RPM_DEPENDENCIES = host-pkgconf berkeleydb file popt zlib
+HOST_RPM_DEPENDENCIES = host-pkgconf host-beecrypt host-berkeleydb host-popt
 RPM_LICENSE = GPLv2
 RPM_LICENSE_FILES = COPYING
 
-RPM_CONF_OPTS += \
+RPM_CONFIGURE_ARGS = \
 	--disable-largefile \
 	--disable-rpath \
 	--enable-python=no \
@@ -20,6 +21,18 @@ RPM_CONF_OPTS += \
 	--with-gnu-ld \
 	--without-hackingdocs
 
+RPM_CONF_OPTS += \
+	$(RPM_CONFIGURE_ARGS)
+
+HOST_RPM_CONF_OPTS += \
+	$(RPM_CONFIGURE_ARGS) \
+	--with-beecrypt \
+	--without-archive \
+	--without-cap \
+	--without-libintl-prefix \
+	--without-lua \
+	--without-selinux
+
 ifeq ($(BR2_PACKAGE_ACL),y)
 RPM_DEPENDENCIES += acl
 RPM_CONF_OPTS += --with-acl
@@ -75,5 +88,8 @@ endif
 
 RPM_CONF_ENV += \
 	CFLAGS="$(TARGET_CFLAGS) $(RPM_CONFIGURATION)"
+HOST_RPM_CONF_ENV += \
+	CFLAGS="$(HOST_CFLAGS) -I$(HOST_DIR)/usr/include/beecrypt"
 
 $(eval $(autotools-package))
+$(eval $(host-autotools-package))
-- 
1.9.5.msysgit.1

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 2/4] package/berkeleydb: add host variant
  2015-09-03 15:23 ` [Buildroot] [PATCH v3 2/4] package/berkeleydb: add host variant James Knight
@ 2015-09-03 16:13   ` Yann E. MORIN
  0 siblings, 0 replies; 14+ messages in thread
From: Yann E. MORIN @ 2015-09-03 16:13 UTC (permalink / raw)
  To: buildroot

James, All,

On 2015-09-03 11:23 -0400, James Knight spake thusly:
> Required by an upcoming host variant of the `rpm` package.
> 
> Signed-off-by: James Knight <james.knight@rockwellcollins.com>
> ---
> Changes v2 -> v3:
>   - None.
> 
> Changes v1 -> v2:
>   - Package change introduced in change set 2.
> ---
>  package/berkeleydb/berkeleydb.mk | 21 +++++++++++++++++++++
>  1 file changed, 21 insertions(+)
> 
> diff --git a/package/berkeleydb/berkeleydb.mk b/package/berkeleydb/berkeleydb.mk
> index e5c11bd..e9ab760 100644
> --- a/package/berkeleydb/berkeleydb.mk
> +++ b/package/berkeleydb/berkeleydb.mk
> @@ -44,6 +44,26 @@ define BERKELEYDB_CONFIGURE_CMDS
>  	)
>  endef
>  
> +define HOST_BERKELEYDB_CONFIGURE_CMDS
> +	(cd $(@D)/build_unix; rm -rf config.cache; \
> +		$(HOST_CONFIGURE_OPTS) \
> +		$(HOST_CONFIGURE_ARGS) \
> +		../dist/configure $(QUIET) \
> +		--prefix=/usr \

This should be:  --prefix=$(HOST_DIR)/usr

> +		--exec-prefix=/usr \

No execprefix.

> +		--sysconfdir=/etc \

This should be:  --sysconfdir=$(HOST_DIR)/etc

> +		--with-gnu-ld \
> +		--disable-java \
> +		--disable-tcl \
> +		--enable-compat185 \
> +		--enable-cxx \
> +		--enable-o_direct \
> +		--with-pic \
> +	)
> +endef
> +
> +HOST_BERKELEYDB_INSTALL_OPTS += DESTDIR="$(HOST_DIR)" install

And then you do not need DESTDIR.

>  ifneq ($(BR2_PACKAGE_BERKELEYDB_TOOLS),y)
>  
>  define BERKELEYDB_REMOVE_TOOLS
> @@ -61,3 +81,4 @@ endef
>  BERKELEYDB_POST_INSTALL_TARGET_HOOKS += BERKELEYDB_REMOVE_DOCS
>  
>  $(eval $(autotools-package))
> +$(eval $(host-autotools-package))
> -- 
> 1.9.5.msysgit.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 3/4] package/beecrypt: add host variant
  2015-09-03 15:23 ` [Buildroot] [PATCH v3 3/4] package/beecrypt: " James Knight
@ 2015-09-03 16:15   ` Yann E. MORIN
  2015-09-03 16:32   ` Yann E. MORIN
  1 sibling, 0 replies; 14+ messages in thread
From: Yann E. MORIN @ 2015-09-03 16:15 UTC (permalink / raw)
  To: buildroot

James, All,

On 2015-09-03 11:23 -0400, James Knight spake thusly:
> Required by an upcoming host variant of the `rpm` package.
> 
> Signed-off-by: James Knight <james.knight@rockwellcollins.com>
> ---
> Changes v2 -> v3:
>   - None.
> 
> Changes v1 -> v2:
>   - Do not configured host variant based off of target variant
>      configuration (based off comments from Thomas Petazzoni).
> ---
>  package/beecrypt/beecrypt.mk | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/package/beecrypt/beecrypt.mk b/package/beecrypt/beecrypt.mk
> index e66cec1..e3749d5 100644
> --- a/package/beecrypt/beecrypt.mk
> +++ b/package/beecrypt/beecrypt.mk
> @@ -11,11 +11,18 @@ BEECRYPT_INSTALL_STAGING = YES
>  BEECRYPT_LICENSE = LGPLv2.1+
>  BEECRYPT_LICENSE_FILES = COPYING.LIB
>  
> -BEECRYPT_CONF_OPTS = \
> +BEECRYPT_CONFIGURE_ARGS = \
>  	--disable-expert-mode \
> +	--disable-openmp \
>  	--without-java \
> -	--without-python \
> -	--disable-openmp
> +	--without-python

Do not re-order options, it just makes noise.

> +BEECRYPT_CONF_OPTS += \
> +	$(BEECRYPT_CONFIGURE_ARGS)

No need for '+=' since that;s the only assignment. Just use '='.

> +HOST_BEECRYPT_CONF_OPTS += \
> +	$(BEECRYPT_CONFIGURE_ARGS) \
> +	--without-cplusplus

Ditto.

Regards,
Yann E. MORIN.

>  ifeq ($(BR2_PACKAGE_BEECRYPT_CPP),y)
>  BEECRYPT_DEPENDENCIES += icu
> @@ -33,3 +40,4 @@ BEECRYPT_POST_CONFIGURE_HOOKS += BEECRYPT_LINK_WITH_CC
>  endif
>  
>  $(eval $(autotools-package))
> +$(eval $(host-autotools-package))
> -- 
> 1.9.5.msysgit.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 3/4] package/beecrypt: add host variant
  2015-09-03 15:23 ` [Buildroot] [PATCH v3 3/4] package/beecrypt: " James Knight
  2015-09-03 16:15   ` Yann E. MORIN
@ 2015-09-03 16:32   ` Yann E. MORIN
  2015-09-03 20:39     ` Arnout Vandecappelle
  1 sibling, 1 reply; 14+ messages in thread
From: Yann E. MORIN @ 2015-09-03 16:32 UTC (permalink / raw)
  To: buildroot

James, All,

On 2015-09-03 11:23 -0400, James Knight spake thusly:
> Required by an upcoming host variant of the `rpm` package.
> 
> Signed-off-by: James Knight <james.knight@rockwellcollins.com>
> ---
> Changes v2 -> v3:
>   - None.
> 
> Changes v1 -> v2:
>   - Do not configured host variant based off of target variant
>      configuration (based off comments from Thomas Petazzoni).
> ---
>  package/beecrypt/beecrypt.mk | 14 +++++++++++---
>  1 file changed, 11 insertions(+), 3 deletions(-)
> 
> diff --git a/package/beecrypt/beecrypt.mk b/package/beecrypt/beecrypt.mk
> index e66cec1..e3749d5 100644
> --- a/package/beecrypt/beecrypt.mk
> +++ b/package/beecrypt/beecrypt.mk
> @@ -11,11 +11,18 @@ BEECRYPT_INSTALL_STAGING = YES
>  BEECRYPT_LICENSE = LGPLv2.1+
>  BEECRYPT_LICENSE_FILES = COPYING.LIB
>  
> -BEECRYPT_CONF_OPTS = \
> +BEECRYPT_CONFIGURE_ARGS = \
>  	--disable-expert-mode \
> +	--disable-openmp \
>  	--without-java \
> -	--without-python \
> -	--disable-openmp
> +	--without-python
> +
> +BEECRYPT_CONF_OPTS += \
> +	$(BEECRYPT_CONFIGURE_ARGS)
> +
> +HOST_BEECRYPT_CONF_OPTS += \
> +	$(BEECRYPT_CONFIGURE_ARGS) \
> +	--without-cplusplus

Well, I forgot to say: you do not need an intermediate variable:

    BEECRYPT_CONF_OPTS = \
        --disable-expert-mode \
        --without-java \
        --without-python \
        --disable-openmp

    HOST_BEECRYPT_CONF_OPTS = \
        $(BEECRYPT_CONF_OPTS) \
        --without-cplusplus

Regards,
Yann E. MORIN.

>  ifeq ($(BR2_PACKAGE_BEECRYPT_CPP),y)
>  BEECRYPT_DEPENDENCIES += icu
> @@ -33,3 +40,4 @@ BEECRYPT_POST_CONFIGURE_HOOKS += BEECRYPT_LINK_WITH_CC
>  endif
>  
>  $(eval $(autotools-package))
> +$(eval $(host-autotools-package))
> -- 
> 1.9.5.msysgit.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 4/4] package/rpm: add host variant
  2015-09-03 15:23 ` [Buildroot] [PATCH v3 4/4] package/rpm: " James Knight
@ 2015-09-03 18:35   ` Yann E. MORIN
  2015-09-03 20:34     ` James Knight
  0 siblings, 1 reply; 14+ messages in thread
From: Yann E. MORIN @ 2015-09-03 18:35 UTC (permalink / raw)
  To: buildroot

James, All,

Just a quick review about things I spotted with a superficial review...

On 2015-09-03 11:23 -0400, James Knight spake thusly:
> The following adds support for a host variant of the rpm package. This
> support will allow a host system to setup/manipulate a target system's
> initial RPM database during the post-build phase.
[--SNIP--]
> diff --git a/package/rpm/Config.in.host b/package/rpm/Config.in.host
> new file mode 100644
> index 0000000..3c15bd4
> --- /dev/null
> +++ b/package/rpm/Config.in.host
> @@ -0,0 +1,8 @@
> +config BR2_PACKAGE_HOST_RPM
> +	bool "host rpm"
> +	select BR2_PACKAGE_HOST_BEECRYPT
> +	select BR2_PACKAGE_HOST_BERKELEYDB

There are no BR2_PACKAGE_HOST_BEECRYPT or BR2_PACKAGE_HOST_BERKELEYDB
symbols.

Host packages only have symbols when they are user-selectable, which is
not the case for bdb or beecrypt.

Simply depending on them in the .mk is sufficient, and is the way to go
for a dependency on a host library (like bdb and beecrypt are).

> +	help
> +	  The RPM Package Manager (RPM).
> +
> +	  http://www.rpm.org/
> diff --git a/package/rpm/rpm.mk b/package/rpm/rpm.mk
> index adf408e..6de3e63 100644
> --- a/package/rpm/rpm.mk
> +++ b/package/rpm/rpm.mk
> @@ -9,10 +9,11 @@ RPM_VERSION = $(RPM_VERSION_MAJOR).0.1
>  RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2
>  RPM_SITE = http://rpm.org/releases/rpm-$(RPM_VERSION_MAJOR).x
>  RPM_DEPENDENCIES = host-pkgconf berkeleydb file popt zlib
> +HOST_RPM_DEPENDENCIES = host-pkgconf host-beecrypt host-berkeleydb host-popt
>  RPM_LICENSE = GPLv2
>  RPM_LICENSE_FILES = COPYING
>  
> -RPM_CONF_OPTS += \
> +RPM_CONFIGURE_ARGS = \

Same comment as for beecrypt: you do not need an intermediate variable,
just re-use the target variable when defining the host variable; also
there is no need for '+=' since that the first (and only)) asignment to
that variable:

    RPM_CONF_OPTS = \
        --disable-largefile \
        --disable-rpath \
        [...]

    HOST_RPM_CONF_OPTS = \
        $(RPM_CONF_OPTS) \
        --with-beecrypt \
        --without-archive \
        [...]

Regards,
Yann E. MORIN.

>  	--disable-largefile \
>  	--disable-rpath \
>  	--enable-python=no \
> @@ -20,6 +21,18 @@ RPM_CONF_OPTS += \
>  	--with-gnu-ld \
>  	--without-hackingdocs
>  
> +RPM_CONF_OPTS += \
> +	$(RPM_CONFIGURE_ARGS)
> +
> +HOST_RPM_CONF_OPTS += \
> +	$(RPM_CONFIGURE_ARGS) \
> +	--with-beecrypt \
> +	--without-archive \
> +	--without-cap \
> +	--without-libintl-prefix \
> +	--without-lua \
> +	--without-selinux
> +
>  ifeq ($(BR2_PACKAGE_ACL),y)
>  RPM_DEPENDENCIES += acl
>  RPM_CONF_OPTS += --with-acl
> @@ -75,5 +88,8 @@ endif
>  
>  RPM_CONF_ENV += \
>  	CFLAGS="$(TARGET_CFLAGS) $(RPM_CONFIGURATION)"
> +HOST_RPM_CONF_ENV += \
> +	CFLAGS="$(HOST_CFLAGS) -I$(HOST_DIR)/usr/include/beecrypt"
>  
>  $(eval $(autotools-package))
> +$(eval $(host-autotools-package))
> -- 
> 1.9.5.msysgit.1
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 4/4] package/rpm: add host variant
  2015-09-03 18:35   ` Yann E. MORIN
@ 2015-09-03 20:34     ` James Knight
  2015-09-03 20:55       ` Yann E. MORIN
  0 siblings, 1 reply; 14+ messages in thread
From: James Knight @ 2015-09-03 20:34 UTC (permalink / raw)
  To: buildroot

Yann,

Thanks; and sorry for all these little mistakes.

On Thu, Sep 3, 2015 at 2:35 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
>
> Same comment as for beecrypt: you do not need an intermediate variable,
> just re-use the target variable when defining the host variable; [...]
>
>     RPM_CONF_OPTS = \
>         --disable-largefile \
>         --disable-rpath \
>         [...]
>
>     HOST_RPM_CONF_OPTS = \
>         $(RPM_CONF_OPTS) \
>         --with-beecrypt \
>         --without-archive \
>         [...]

Question about this though, won't this be an issue for additional
configuration values set later in the file (ie. options added to
`RPM_CONF_OPTS`)?

When I clean up this patch and remove the intermediate variable, I
assume I should be declaring the host options such as:

    HOST_RPM_CONF_OPTS := \
        $(RPM_CONF_OPTS) \
        --with-beecrypt \
        --without-archive \
        [...]

Unless I've missed something?

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 3/4] package/beecrypt: add host variant
  2015-09-03 16:32   ` Yann E. MORIN
@ 2015-09-03 20:39     ` Arnout Vandecappelle
  0 siblings, 0 replies; 14+ messages in thread
From: Arnout Vandecappelle @ 2015-09-03 20:39 UTC (permalink / raw)
  To: buildroot

On 03-09-15 18:32, Yann E. MORIN wrote:
> James, All,
> 
> On 2015-09-03 11:23 -0400, James Knight spake thusly:
[snip]
>> -BEECRYPT_CONF_OPTS = \
>> +BEECRYPT_CONFIGURE_ARGS = \
>>  	--disable-expert-mode \
>> +	--disable-openmp \
>>  	--without-java \
>> -	--without-python \
>> -	--disable-openmp
>> +	--without-python
>> +
>> +BEECRYPT_CONF_OPTS += \
>> +	$(BEECRYPT_CONFIGURE_ARGS)
>> +
>> +HOST_BEECRYPT_CONF_OPTS += \
>> +	$(BEECRYPT_CONFIGURE_ARGS) \
>> +	--without-cplusplus
> 
> Well, I forgot to say: you do not need an intermediate variable:
> 
>     BEECRYPT_CONF_OPTS = \
>         --disable-expert-mode \
>         --without-java \
>         --without-python \
>         --disable-openmp
> 
>     HOST_BEECRYPT_CONF_OPTS = \
>         $(BEECRYPT_CONF_OPTS) \
>         --without-cplusplus

 Actually, I'd prefer to copy the config options, since in the future they may
change independently for the host and the target.

 Same for rpm, obviously.


 Regards,
 Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 4/4] package/rpm: add host variant
  2015-09-03 20:34     ` James Knight
@ 2015-09-03 20:55       ` Yann E. MORIN
  0 siblings, 0 replies; 14+ messages in thread
From: Yann E. MORIN @ 2015-09-03 20:55 UTC (permalink / raw)
  To: buildroot

James, All,

On 2015-09-03 16:34 -0400, James Knight spake thusly:
> On Thu, Sep 3, 2015 at 2:35 PM, Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> >
> > Same comment as for beecrypt: you do not need an intermediate variable,
> > just re-use the target variable when defining the host variable; [...]
> >
> >     RPM_CONF_OPTS = \
> >         --disable-largefile \
> >         --disable-rpath \
> >         [...]
> >
> >     HOST_RPM_CONF_OPTS = \
> >         $(RPM_CONF_OPTS) \
> >         --with-beecrypt \
> >         --without-archive \
> >         [...]
> 
> Question about this though, won't this be an issue for additional
> configuration values set later in the file (ie. options added to
> `RPM_CONF_OPTS`)?
> 
> When I clean up this patch and remove the intermediate variable, I
> assume I should be declaring the host options such as:
> 
>     HOST_RPM_CONF_OPTS := \
>         $(RPM_CONF_OPTS) \
>         --with-beecrypt \
>         --without-archive \
>         [...]
> 
> Unless I've missed something?

Nope, you're right. I missed the fact that additional configure flags
could be added to the target variant.

And following Arnout's comment, pleas keep the internediate variable.

However, I think it is mis-named. What about RPM_COMMON_CONF_OPTS ?
Ditto for beecrypt, of course.

Regards,
Yann E. MORIN.

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1
  2015-09-03 15:23 [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1 James Knight
                   ` (2 preceding siblings ...)
  2015-09-03 15:23 ` [Buildroot] [PATCH v3 4/4] package/rpm: " James Knight
@ 2015-09-04 11:22 ` Vicente Olivert Riera
  2015-10-03 14:15 ` Peter Korsgaard
  4 siblings, 0 replies; 14+ messages in thread
From: Vicente Olivert Riera @ 2015-09-04 11:22 UTC (permalink / raw)
  To: buildroot

Dear James Knight,
On 09/03/2015 04:23 PM, James Knight wrote:
> The provided "bump" (suggested by Baruch Siach) switches from the rpm5
> implementation to rpm.org's more active stream.
> 
> Signed-off-by: James Knight <james.knight@rockwellcollins.com>
> ---
> Changes v2 -> v3:
>   - Cleanup configuration dependency to beecrypt/libnss; following
>      convention (suggested by Baruch Siach).
> 
> Changes v1 -> v2:
>   - Package change introduced in change set 2.
> ---
>  package/rpm/0002-depends-fix.patch           |  19 ---
>  package/rpm/0003-exclude-some-tools.patch    |  30 ----
>  package/rpm/0004-ignore-shared-mutexes.patch |  12 --
>  package/rpm/0005-no-parentdirs.patch         |  14 --
>  package/rpm/0006-ordering-fix.patch          |  45 -----
>  package/rpm/0007-parentdir-vs-requires.patch |  37 -----
>  package/rpm/0008-short-circuit-c99.patch     | 235 ---------------------------
>  package/rpm/Config.in                        |  23 ++-
>  package/rpm/rpm.hash                         |   2 +-
>  package/rpm/rpm.mk                           |  93 ++++++-----
>  10 files changed, 70 insertions(+), 440 deletions(-)
>  delete mode 100644 package/rpm/0002-depends-fix.patch
>  delete mode 100644 package/rpm/0003-exclude-some-tools.patch
>  delete mode 100644 package/rpm/0004-ignore-shared-mutexes.patch
>  delete mode 100644 package/rpm/0005-no-parentdirs.patch
>  delete mode 100644 package/rpm/0006-ordering-fix.patch
>  delete mode 100644 package/rpm/0007-parentdir-vs-requires.patch
>  delete mode 100644 package/rpm/0008-short-circuit-c99.patch
> 
> diff --git a/package/rpm/0002-depends-fix.patch b/package/rpm/0002-depends-fix.patch
> deleted file mode 100644
> index 4a92775..0000000
> --- a/package/rpm/0002-depends-fix.patch
> +++ /dev/null
> @@ -1,19 +0,0 @@
> -Bugfix included upstream
> -
> -diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_depends-fix/lib/depends.c
> ---- rpm-5.2.0_vanilla/lib/depends.c	2009-05-23 01:23:46.000000000 +0000
> -+++ rpm-5.2.0_depends-fix/lib/depends.c	2009-09-22 06:33:37.950783501 +0000
> -@@ -2371,11 +2371,11 @@
> - 
> - 	memset(selected, 0, sizeof(*selected) * ts->orderCount);
> - 
> --      if ((requires = rpmteDS(p, RPMTAG_REQUIRENAME)) != NULL) {
> --
> - 	/* Avoid narcisstic relations. */
> - 	selected[rpmtsiOc(pi)] = 1;
> - 
> -+      if ((requires = rpmteDS(p, RPMTAG_REQUIRENAME)) != NULL) {
> -+
> - 	/* T2. Next "q <- p" relation. */
> - 
> - 	/* First, do pre-requisites. */
> diff --git a/package/rpm/0003-exclude-some-tools.patch b/package/rpm/0003-exclude-some-tools.patch
> deleted file mode 100644
> index 2cbc7cb..0000000
> --- a/package/rpm/0003-exclude-some-tools.patch
> +++ /dev/null
> @@ -1,30 +0,0 @@
> -diff -ru rpm-5.2.0_vanilla/tools/Makefile.am rpm-5.2.0_exclude-some-tools/tools/Makefile.am
> ---- rpm-5.2.0_vanilla/tools/Makefile.am	2009-06-03 01:24:42.000000000 +0000
> -+++ rpm-5.2.0_exclude-some-tools/tools/Makefile.am	2009-12-20 07:47:13.000000000 +0000
> -@@ -45,9 +45,7 @@
> - bin_PROGRAMS =		rpm2cpio
> - 
> - pkgbindir =		@USRLIBRPM@/bin
> --pkgbin_PROGRAMS =	\
> --	rpmcache rpmdigest grep mtree rpmrepo rpmspecdump wget \
> --	rpmcmp rpmdeps @WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@
> -+pkgbin_PROGRAMS =	
> - dist_man_MANS =		rpmgrep.1
> - 
> - debugedit_SOURCES =	debugedit.c hashtab.c
> -diff -ru rpm-5.2.0_vanilla/tools/Makefile.in rpm-5.2.0_exclude-some-tools/tools/Makefile.in
> ---- rpm-5.2.0_vanilla/tools/Makefile.in	2009-07-07 21:14:06.000000000 +0000
> -+++ rpm-5.2.0_exclude-some-tools/tools/Makefile.in	2009-12-20 07:47:37.000000000 +0000
> -@@ -39,11 +39,7 @@
> - target_triplet = @target@
> - EXTRA_PROGRAMS = rpmkey$(EXEEXT) debugedit$(EXEEXT)
> - bin_PROGRAMS = rpm2cpio$(EXEEXT)
> --pkgbin_PROGRAMS = rpmcache$(EXEEXT) rpmdigest$(EXEEXT) grep$(EXEEXT) \
> --	mtree$(EXEEXT) rpmrepo$(EXEEXT) rpmspecdump$(EXEEXT) \
> --	wget$(EXEEXT) rpmcmp$(EXEEXT) rpmdeps$(EXEEXT) \
> --	@WITH_KEYUTILS_RPMKEY@ @WITH_LIBELF_DEBUGEDIT@ $(am__EXEEXT_1) \
> --	$(am__EXEEXT_2)
> -+pkgbin_PROGRAMS = 
> - @WITH_XAR_TRUE at am__append_1 = txar
> - @WITH_DB_INTERNAL_TRUE@@WITH_DB_TOOLS_INTEGRATED_TRUE at am__append_2 = db_tool
> - @WITH_DB_INTERNAL_TRUE@@WITH_DB_RPC_TRUE@@WITH_DB_TOOLS_INTEGRATED_TRUE at am__append_3 = \
> diff --git a/package/rpm/0004-ignore-shared-mutexes.patch b/package/rpm/0004-ignore-shared-mutexes.patch
> deleted file mode 100644
> index f19d6b6..0000000
> --- a/package/rpm/0004-ignore-shared-mutexes.patch
> +++ /dev/null
> @@ -1,12 +0,0 @@
> -diff -ru rpm-5.2.0_vanilla/db/env/env_open.c rpm-5.2.0_test/db/env/env_open.c
> ---- rpm-5.2.0_vanilla/db/env/env_open.c	2008-05-28 01:23:27.000000000 +0000
> -+++ rpm-5.2.0_test/db/env/env_open.c	2009-12-24 14:54:55.000000000 +0000
> -@@ -124,7 +124,7 @@
> - 		}
> - 	}
> - 
> --#ifdef HAVE_MUTEX_THREAD_ONLY
> -+#ifdef NK_HAVE_MUTEX_THREAD_ONLY
> - 	/*
> - 	 * Currently we support one kind of mutex that is intra-process only,
> - 	 * POSIX 1003.1 pthreads, because a variety of systems don't support
> diff --git a/package/rpm/0005-no-parentdirs.patch b/package/rpm/0005-no-parentdirs.patch
> deleted file mode 100644
> index d05c99a..0000000
> --- a/package/rpm/0005-no-parentdirs.patch
> +++ /dev/null
> @@ -1,14 +0,0 @@
> -Reduce parentdirs we use, parentdirs are used for ordering
> -Included upstream
> -diff -u --new-file --recursive rpm-5.1.9_vanilla/lib/depends.c rpm-5.1.9_no-parentdirs/lib/depends.c
> ---- rpm-5.1.9_vanilla/lib/depends.c	2009-04-12 19:46:17.000000000 +0000
> -+++ rpm-5.1.9_no-parentdirs/lib/depends.c	2009-06-13 15:21:43.504999639 +0000
> -@@ -2257,7 +2257,7 @@
> - #define isAuto(_x)	((_x) & _autobits)
> - 
> - /*@unchecked@*/
> --static int slashDepth = 100;	/* #slashes pemitted in parentdir deps. */
> -+static int slashDepth = 2;	/* #slashes pemitted in parentdir deps. */
> - 
> - static int countSlashes(const char * dn)
> - 	/*@*/
> diff --git a/package/rpm/0006-ordering-fix.patch b/package/rpm/0006-ordering-fix.patch
> deleted file mode 100644
> index a618e1f..0000000
> --- a/package/rpm/0006-ordering-fix.patch
> +++ /dev/null
> @@ -1,45 +0,0 @@
> -Included upstream
> ---- x/lib/depends.c	2009/05/15 13:40:58	1.445
> -+++ y/lib/depends.c	2009/08/22 22:12:02	1.446
> -@@ -2216,9 +2216,6 @@
> - {
> -     rpmte q, qprev;
> - 
> --    /* Mark the package as queued. */
> --    rpmteTSI(p)->tsi_queued = 1;
> --
> -     if ((*rp) == NULL) {	/* 1st element */
> - 	/*@-dependenttrans@*/ /* FIX: double indirection */
> - 	(*rp) = (*qp) = p;
> -@@ -2238,6 +2235,12 @@
> - 	/* XXX Insure removed after added. */
> - 	if (rpmteType(p) == TR_REMOVED && rpmteType(p) != rpmteType(q))
> - 	    continue;
> -+
> -+	/* XXX Follow all previous generations in the queue. */
> -+	if (rpmteTSI(p)->tsi_queued > rpmteTSI(q)->tsi_queued)
> -+	    continue;
> -+
> -+	/* XXX Within a generation, queue behind more "important". */
> - 	if (rpmteTSI(q)->tsi_qcnt <= rpmteTSI(p)->tsi_qcnt)
> - 	    break;
> -     }
> -@@ -2521,6 +2524,9 @@
> - 
> - 	if (rpmteTSI(p)->tsi_count != 0)
> - 	    continue;
> -+
> -+	/* Mark the package as queued. */
> -+	rpmteTSI(p)->tsi_queued = orderingCount + 1;
> - 	rpmteTSI(p)->tsi_suc = NULL;
> - 	addQ(p, &q, &r, prefcolor);
> - 	qlen++;
> -@@ -2584,6 +2590,8 @@
> - 		(void) rpmteSetParent(p, q);
> - 		(void) rpmteSetDegree(q, rpmteDegree(q)+1);
> - 
> -+		/* Mark the package as queued. */
> -+		rpmteTSI(p)->tsi_queued = orderingCount + 1;
> - 		/* XXX TODO: add control bit. */
> - 		rpmteTSI(p)->tsi_suc = NULL;
> - /*@-nullstate@*/	/* XXX FIX: rpmteTSI(q)->tsi_suc can be NULL. */
> diff --git a/package/rpm/0007-parentdir-vs-requires.patch b/package/rpm/0007-parentdir-vs-requires.patch
> deleted file mode 100644
> index 309ab25..0000000
> --- a/package/rpm/0007-parentdir-vs-requires.patch
> +++ /dev/null
> @@ -1,37 +0,0 @@
> -Avoid looking up files or directories that this package provides
> -Included upstream
> -diff -u --new-file --recursive rpm-5.2.0_vanilla/lib/depends.c rpm-5.2.0_parentdir-vs-requires/lib/depends.c
> ---- rpm-5.2.0_vanilla/lib/depends.c	2009-05-23 01:23:46.000000000 +0000
> -+++ rpm-5.2.0_parentdir-vs-requires/lib/depends.c	2009-09-22 17:00:24.880956271 +0000
> -@@ -2095,6 +2095,7 @@
> -     rpmtsi qi; rpmte q;
> -     tsortInfo tsi;
> -     nsType NSType = rpmdsNSType(requires);
> -+    const char * N = rpmdsN(requires);
> -     fnpyKey key;
> -     int teType = rpmteType(p);
> -     alKey pkgKey;
> -@@ -2128,6 +2129,23 @@
> - 	break;
> -     }
> - 
> -+    /* Avoid looking up files/directories that are "owned" by _THIS_ package. */
> -+    if (*N == '/') {
> -+    rpmfi fi = rpmteFI(p, RPMTAG_BASENAMES);
> -+    int bingo = 0;
> -+
> -+    fi = rpmfiInit(fi, 0);
> -+    while (rpmfiNext(fi) >= 0) {
> -+        const char * fn = rpmfiFN(fi);
> -+        if (strcmp(N, fn))
> -+        continue;
> -+        bingo = 1;
> -+        break;
> -+    }
> -+    if (bingo)
> -+        return 0;
> -+    }
> -+
> -     pkgKey = RPMAL_NOMATCH;
> -     key = rpmalSatisfiesDepend(al, requires, &pkgKey);
> - 
> diff --git a/package/rpm/0008-short-circuit-c99.patch b/package/rpm/0008-short-circuit-c99.patch
> deleted file mode 100644
> index 5d7b53a..0000000
> --- a/package/rpm/0008-short-circuit-c99.patch
> +++ /dev/null
> @@ -1,235 +0,0 @@
> -Buildroot specific
> -diff -ru rpm-5.1.9_vanilla/xz/configure rpm-5.1.9_short-circuit-c99/xz/configure
> ---- rpm-5.1.9_vanilla/xz/configure	2009-04-18 16:47:23.000000000 +0000
> -+++ rpm-5.1.9_short-circuit-c99/xz/configure	2009-08-04 08:25:59.000000000 +0000
> -@@ -4970,214 +4970,7 @@
> -   am__fastdepCC_FALSE=
> - fi
> - 
> --
> --   { $as_echo "$as_me:$LINENO: checking for $CC option to accept ISO C99" >&5
> --$as_echo_n "checking for $CC option to accept ISO C99... " >&6; }
> --if test "${ac_cv_prog_cc_c99+set}" = set; then
> --  $as_echo_n "(cached) " >&6
> --else
> --  ac_cv_prog_cc_c99=no
> --ac_save_CC=$CC
> --cat >conftest.$ac_ext <<_ACEOF
> --/* confdefs.h.  */
> --_ACEOF
> --cat confdefs.h >>conftest.$ac_ext
> --cat >>conftest.$ac_ext <<_ACEOF
> --/* end confdefs.h.  */
> --#include <stdarg.h>
> --#include <stdbool.h>
> --#include <stdlib.h>
> --#include <wchar.h>
> --#include <stdio.h>
> --
> --// Check varargs macros.  These examples are taken from C99 6.10.3.5.
> --#define debug(...) fprintf (stderr, __VA_ARGS__)
> --#define showlist(...) puts (#__VA_ARGS__)
> --#define report(test,...) ((test) ? puts (#test) : printf (__VA_ARGS__))
> --static void
> --test_varargs_macros (void)
> --{
> --  int x = 1234;
> --  int y = 5678;
> --  debug ("Flag");
> --  debug ("X = %d\n", x);
> --  showlist (The first, second, and third items.);
> --  report (x>y, "x is %d but y is %d", x, y);
> --}
> --
> --// Check long long types.
> --#define BIG64 18446744073709551615ull
> --#define BIG32 4294967295ul
> --#define BIG_OK (BIG64 / BIG32 == 4294967297ull && BIG64 % BIG32 == 0)
> --#if !BIG_OK
> --  your preprocessor is broken;
> --#endif
> --#if BIG_OK
> --#else
> --  your preprocessor is broken;
> --#endif
> --static long long int bignum = -9223372036854775807LL;
> --static unsigned long long int ubignum = BIG64;
> --
> --struct incomplete_array
> --{
> --  int datasize;
> --  double data[];
> --};
> --
> --struct named_init {
> --  int number;
> --  const wchar_t *name;
> --  double average;
> --};
> --
> --typedef const char *ccp;
> --
> --static inline int
> --test_restrict (ccp restrict text)
> --{
> --  // See if C++-style comments work.
> --  // Iterate through items via the restricted pointer.
> --  // Also check for declarations in for loops.
> --  for (unsigned int i = 0; *(text+i) != '\0'; ++i)
> --    continue;
> --  return 0;
> --}
> --
> --// Check varargs and va_copy.
> --static void
> --test_varargs (const char *format, ...)
> --{
> --  va_list args;
> --  va_start (args, format);
> --  va_list args_copy;
> --  va_copy (args_copy, args);
> --
> --  const char *str;
> --  int number;
> --  float fnumber;
> --
> --  while (*format)
> --    {
> --      switch (*format++)
> --	{
> --	case 's': // string
> --	  str = va_arg (args_copy, const char *);
> --	  break;
> --	case 'd': // int
> --	  number = va_arg (args_copy, int);
> --	  break;
> --	case 'f': // float
> --	  fnumber = va_arg (args_copy, double);
> --	  break;
> --	default:
> --	  break;
> --	}
> --    }
> --  va_end (args_copy);
> --  va_end (args);
> --}
> --
> --int
> --main ()
> --{
> --
> --  // Check bool.
> --  _Bool success = false;
> --
> --  // Check restrict.
> --  if (test_restrict ("String literal") == 0)
> --    success = true;
> --  char *restrict newvar = "Another string";
> --
> --  // Check varargs.
> --  test_varargs ("s, d' f .", "string", 65, 34.234);
> --  test_varargs_macros ();
> --
> --  // Check flexible array members.
> --  struct incomplete_array *ia =
> --    malloc (sizeof (struct incomplete_array) + (sizeof (double) * 10));
> --  ia->datasize = 10;
> --  for (int i = 0; i < ia->datasize; ++i)
> --    ia->data[i] = i * 1.234;
> --
> --  // Check named initializers.
> --  struct named_init ni = {
> --    .number = 34,
> --    .name = L"Test wide string",
> --    .average = 543.34343,
> --  };
> --
> --  ni.number = 58;
> --
> --  int dynamic_array[ni.number];
> --  dynamic_array[ni.number - 1] = 543;
> --
> --  // work around unused variable warnings
> --  return (!success || bignum == 0LL || ubignum == 0uLL || newvar[0] == 'x'
> --	  || dynamic_array[ni.number - 1] != 543);
> --
> --  ;
> --  return 0;
> --}
> --_ACEOF
> --for ac_arg in '' -std=gnu99 -std=c99 -c99 -AC99 -xc99=all -qlanglvl=extc99
> --do
> --  CC="$ac_save_CC $ac_arg"
> --  rm -f conftest.$ac_objext
> --if { (ac_try="$ac_compile"
> --case "(($ac_try" in
> --  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
> --  *) ac_try_echo=$ac_try;;
> --esac
> --eval ac_try_echo="\"\$as_me:$LINENO: $ac_try_echo\""
> --$as_echo "$ac_try_echo") >&5
> --  (eval "$ac_compile") 2>conftest.er1
> --  ac_status=$?
> --  grep -v '^ *+' conftest.er1 >conftest.err
> --  rm -f conftest.er1
> --  cat conftest.err >&5
> --  $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
> --  (exit $ac_status); } && {
> --	 test -z "$ac_c_werror_flag" ||
> --	 test ! -s conftest.err
> --       } && test -s conftest.$ac_objext; then
> --  ac_cv_prog_cc_c99=$ac_arg
> --else
> --  $as_echo "$as_me: failed program was:" >&5
> --sed 's/^/| /' conftest.$ac_ext >&5
> --
> --
> --fi
> --
> --rm -f core conftest.err conftest.$ac_objext
> --  test "x$ac_cv_prog_cc_c99" != "xno" && break
> --done
> --rm -f conftest.$ac_ext
> --CC=$ac_save_CC
> --
> --fi
> --# AC_CACHE_VAL
> --case "x$ac_cv_prog_cc_c99" in
> --  x)
> --    { $as_echo "$as_me:$LINENO: result: none needed" >&5
> --$as_echo "none needed" >&6; } ;;
> --  xno)
> --    { $as_echo "$as_me:$LINENO: result: unsupported" >&5
> --$as_echo "unsupported" >&6; } ;;
> --  *)
> --    CC="$CC $ac_cv_prog_cc_c99"
> --    { $as_echo "$as_me:$LINENO: result: $ac_cv_prog_cc_c99" >&5
> --$as_echo "$ac_cv_prog_cc_c99" >&6; } ;;
> --esac
> --
> --
> --
> --if test x$ac_cv_prog_cc_c99 = xno ; then
> --	{ { $as_echo "$as_me:$LINENO: error: No C99 compiler was found." >&5
> --$as_echo "$as_me: error: No C99 compiler was found." >&2;}
> --   { (exit 1); exit 1; }; }
> --fi
> -+CC="$CC -std=c99"
> - 
> - if test "x$CC" != xcc; then
> -   { $as_echo "$as_me:$LINENO: checking whether $CC and cc understand -c and -o together" >&5
> -diff -ru rpm-5.1.9_vanilla/xz/configure.ac rpm-5.1.9_short-circuit-c99/xz/configure.ac
> ---- rpm-5.1.9_vanilla/xz/configure.ac	2009-02-16 17:07:46.000000000 +0000
> -+++ rpm-5.1.9_short-circuit-c99/xz/configure.ac	2009-08-04 08:25:28.000000000 +0000
> -@@ -402,10 +402,7 @@
> - AM_INIT_AUTOMAKE([1.10 foreign tar-v7 filename-length-max=99])
> - AC_PROG_LN_S
> - 
> --AC_PROG_CC_C99
> --if test x$ac_cv_prog_cc_c99 = xno ; then
> --	AC_MSG_ERROR([No C99 compiler was found.])
> --fi
> -+CC="$CC -std=c99"
> - 
> - AM_PROG_CC_C_O
> - AM_PROG_AS
> diff --git a/package/rpm/Config.in b/package/rpm/Config.in
> index c6fc3b7..eee4c30 100644
> --- a/package/rpm/Config.in
> +++ b/package/rpm/Config.in
> @@ -6,16 +6,23 @@ config BR2_PACKAGE_RPM
>  	bool "rpm"
>  	depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
>  	depends on BR2_USE_MMU # fork()
> -	select BR2_PACKAGE_BEECRYPT
> +	select BR2_PACKAGE_BEECRYPT if !BR2_PACKAGE_LIBNSS
> +	select BR2_PACKAGE_BERKELEYDB
> +	select BR2_PACKAGE_FILE
>  	select BR2_PACKAGE_GETTEXT if BR2_NEEDS_GETTEXT_IF_LOCALE
> -	select BR2_PACKAGE_NEON
> -	select BR2_PACKAGE_NEON_SSL
> -	select BR2_PACKAGE_NEON_XML
> -	select BR2_PACKAGE_NEON_ZLIB
> -	select BR2_PACKAGE_OPENSSL
>  	select BR2_PACKAGE_POPT
>  	select BR2_PACKAGE_ZLIB
>  	help
> -	  The RPM package management system.
> +	  The RPM Package Manager (RPM).
>  
> -	  http://rpm5.org
> +	  http://www.rpm.org/
> +
> +if BR2_PACKAGE_RPM
> +
> +config BR2_PACKAGE_RPM_LUA
> +	bool "lua support"
> +	select BR2_PACKAGE_LUA
> +	help
> +	  Enable Lua support.
> +
> +endif
> diff --git a/package/rpm/rpm.hash b/package/rpm/rpm.hash
> index 0665746..b69fcef 100644
> --- a/package/rpm/rpm.hash
> +++ b/package/rpm/rpm.hash
> @@ -1,2 +1,2 @@
>  # Locally calculated
> -sha256	34a959c0ed670cadcdc52c6025e822fac6f5d1015e3b75123f53ebe53b923e98	rpm-5.2.0.tar.gz
> +sha256	77ddd228fc332193c874aa0b424f41db1ff8b7edbb6a338703ef747851f50229	rpm-4.12.0.1.tar.bz2
> diff --git a/package/rpm/rpm.mk b/package/rpm/rpm.mk
> index 7f346b2..adf408e 100644
> --- a/package/rpm/rpm.mk
> +++ b/package/rpm/rpm.mk
> @@ -4,61 +4,76 @@
>  #
>  ################################################################################
>  
> -RPM_VERSION_MAJOR = 5.2
> -RPM_VERSION = $(RPM_VERSION_MAJOR).0
> -RPM_SITE = http://rpm5.org/files/rpm/rpm-$(RPM_VERSION_MAJOR)
> -RPM_DEPENDENCIES = host-pkgconf zlib beecrypt neon popt openssl
> -RPM_LICENSE = LGPLv2.1
> -RPM_LICENSE_FILES = COPYING.LIB
> +RPM_VERSION_MAJOR = 4.12
> +RPM_VERSION = $(RPM_VERSION_MAJOR).0.1
> +RPM_SOURCE = rpm-$(RPM_VERSION).tar.bz2
> +RPM_SITE = http://rpm.org/releases/rpm-$(RPM_VERSION_MAJOR).x
> +RPM_DEPENDENCIES = host-pkgconf berkeleydb file popt zlib
> +RPM_LICENSE = GPLv2
> +RPM_LICENSE_FILES = COPYING
>  
> -RPM_CONF_ENV = \
> -	CFLAGS="$(TARGET_CFLAGS) -I$(STAGING_DIR)/usr/include/beecrypt -I$(STAGING_DIR)/usr/include/neon -DHAVE_MUTEX_THREAD_ONLY" \
> -	ac_cv_va_copy=yes
> -
> -RPM_CONF_OPTS = \
> -	--disable-build-versionscript \
> +RPM_CONF_OPTS += \
> +	--disable-largefile \
>  	--disable-rpath \
> -	--without-selinux \
> -	--without-python \
> -	--without-perl \
> -	--with-openssl=external \
> -	--with-zlib=external \
> -	--with-libbeecrypt=$(STAGING_DIR) \
> -	--with-popt=external
> +	--enable-python=no \
> +	--with-external-db \
> +	--with-gnu-ld \
> +	--without-hackingdocs
>  
> -ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
> -RPM_DEPENDENCIES += gettext
> +ifeq ($(BR2_PACKAGE_ACL),y)
> +RPM_DEPENDENCIES += acl
> +RPM_CONF_OPTS += --with-acl
> +else
> +RPM_CONF_OPTS += --without-acl
>  endif
>  
> -ifeq ($(BR2_PACKAGE_PCRE),y)
> -RPM_DEPENDENCIES += pcre
> -RPM_CONF_OPTS += --with-pcre=external
> +ifeq ($(BR2_PACKAGE_BEECRYPT),y)
> +RPM_DEPENDENCIES += beecrypt
> +RPM_CONF_OPTS += --with-beecrypt
> +RPM_CONFIGURATION += -I$(STAGING_DIR)/usr/include/beecrypt
>  else
> -RPM_CONF_OPTS += --with-pcre=none
> +RPM_DEPENDENCIES += libnss
> +RPM_CONF_OPTS += --without-beecrypt
> +RPM_CONFIGURATION += \
> +	-I$(STAGING_DIR)/usr/include/nss -I$(STAGING_DIR)/usr/include/nspr
>  endif
>  
> -ifeq ($(BR2_PACKAGE_FILE),y)
> -RPM_DEPENDENCIES += file
> -RPM_CONF_OPTS += --with-file=external
> +ifeq ($(BR2_NEEDS_GETTEXT_IF_LOCALE),y)
> +RPM_DEPENDENCIES += gettext
> +RPM_CONF_OPTS += --with-libintl-prefix=$(STAGING_DIR)/usr
>  else
> -RPM_CONF_OPTS += --with-file=none
> +RPM_CONF_OPTS += --without-libintl-prefix
>  endif
>  
> -# xz payload support needs a toolchain w/ C++
> -ifeq ($(BR2_PACKAGE_XZ)$(BR2_INSTALL_LIBSTDCPP),yy)
> -RPM_DEPENDENCIES += xz
> -RPM_CONF_OPTS += --with-xz=external
> +ifeq ($(BR2_PACKAGE_LIBARCHIVE),y)
> +RPM_DEPENDENCIES += libarchive
> +RPM_CONF_OPTS += --with-archive
>  else
> -RPM_CONF_OPTS += --with-xz=none
> +RPM_CONF_OPTS += --without-archive
>  endif
>  
> -ifeq ($(BR2_PACKAGE_BZIP2),y)
> -RPM_CONF_OPTS += --with-bzip2
> -RPM_DEPENDENCIES += bzip2
> +#ifeq ($(BR2_PACKAGE_LIBCAP),y)
> +RPM_DEPENDENCIES += libcap
> +RPM_CONF_OPTS += --with-cap
> +#else
> +RPM_CONF_OPTS += --without-cap
> +#endif
> +
> +ifeq ($(BR2_PACKAGE_LIBSELINUX),y)
> +RPM_DEPENDENCIES += libselinux
> +RPM_CONF_OPTS += --with-selinux
> +else
> +RPM_CONF_OPTS += --without-selinux
>  endif
>  
> -RPM_MAKE = $(MAKE1)
> +ifeq ($(BR2_PACKAGE_RPM_LUA),y)
> +RPM_DEPENDENCIES += lua
> +RPM_CONF_OPTS += --with-lua
> +else
> +RPM_CONF_OPTS += --without-lua
> +endif
>  
> -RPM_INSTALL_TARGET_OPTS = DESTDIR=$(TARGET_DIR) program_transform_name= install
> +RPM_CONF_ENV += \
> +	CFLAGS="$(TARGET_CFLAGS) $(RPM_CONFIGURATION)"
>  
>  $(eval $(autotools-package))
> 

Tested-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>

Compile test for MIPS architecture:

$ grep ^RPM_VERSION package/rpm/rpm.mk
RPM_VERSION_MAJOR = 4.12
RPM_VERSION = $(RPM_VERSION_MAJOR).0.1

$ file output/target/bin/rpm
output/target/bin/rpm: ELF 32-bit MSB executable, MIPS, MIPS32 rel2
version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux
2.6.32, with unknown capability 0x41000000 = 0xf676e75, with unknown
capability 0x10000 = 0x70401, stripped

Regards,

Vincent.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1
  2015-09-03 15:23 [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1 James Knight
                   ` (3 preceding siblings ...)
  2015-09-04 11:22 ` [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1 Vicente Olivert Riera
@ 2015-10-03 14:15 ` Peter Korsgaard
  2015-10-05 14:31   ` James Knight
  4 siblings, 1 reply; 14+ messages in thread
From: Peter Korsgaard @ 2015-10-03 14:15 UTC (permalink / raw)
  To: buildroot

>>>>> "James" == James Knight <james.knight@rockwellcollins.com> writes:

 > The provided "bump" (suggested by Baruch Siach) switches from the rpm5
 > implementation to rpm.org's more active stream.

 > Signed-off-by: James Knight <james.knight@rockwellcollins.com>
 > ---
 > Changes v2 -> v3:
 >   - Cleanup configuration dependency to beecrypt/libnss; following
 >      convention (suggested by Baruch Siach).

 > Changes v1 -> v2:
 >   - Package change introduced in change set 2.
 > ---
 > +#ifeq ($(BR2_PACKAGE_LIBCAP),y)
 > +RPM_DEPENDENCIES += libcap
 > +RPM_CONF_OPTS += --with-cap
 > +#else
 > +RPM_CONF_OPTS += --without-cap
 > +#endif

Why is this commented out? You don't select libcap in Config.in.

-- 
Bye, Peter Korsgaard

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1
  2015-10-03 14:15 ` Peter Korsgaard
@ 2015-10-05 14:31   ` James Knight
  0 siblings, 0 replies; 14+ messages in thread
From: James Knight @ 2015-10-05 14:31 UTC (permalink / raw)
  To: buildroot

Peter,

On Sat, Oct 3, 2015 at 10:15 AM, Peter Korsgaard <peter@korsgaard.com> wrote:
>  > +#ifeq ($(BR2_PACKAGE_LIBCAP),y)
>  > +RPM_DEPENDENCIES += libcap
>  > +RPM_CONF_OPTS += --with-cap
>  > +#else
>  > +RPM_CONF_OPTS += --without-cap
>  > +#endif
>
> Why is this commented out? You don't select libcap in Config.in.

It is definitely a mistake; sorry. I'll clean that up with the other
patchset changes to be made.

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-10-05 14:31 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-03 15:23 [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1 James Knight
2015-09-03 15:23 ` [Buildroot] [PATCH v3 2/4] package/berkeleydb: add host variant James Knight
2015-09-03 16:13   ` Yann E. MORIN
2015-09-03 15:23 ` [Buildroot] [PATCH v3 3/4] package/beecrypt: " James Knight
2015-09-03 16:15   ` Yann E. MORIN
2015-09-03 16:32   ` Yann E. MORIN
2015-09-03 20:39     ` Arnout Vandecappelle
2015-09-03 15:23 ` [Buildroot] [PATCH v3 4/4] package/rpm: " James Knight
2015-09-03 18:35   ` Yann E. MORIN
2015-09-03 20:34     ` James Knight
2015-09-03 20:55       ` Yann E. MORIN
2015-09-04 11:22 ` [Buildroot] [PATCH v3 1/4] package/rpm: bump to version 4.12.0.1 Vicente Olivert Riera
2015-10-03 14:15 ` Peter Korsgaard
2015-10-05 14:31   ` James Knight

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.