Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2 1/4] package/rpm: bump to version 4.12.0.1
@ 2015-08-31 17:26 James Knight
  2015-08-31 17:26 ` [Buildroot] [PATCH v2 2/4] package/berkeleydb: add host variant James Knight
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: James Knight @ 2015-08-31 17:26 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>
---
 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                        |  26 ++-
 package/rpm/rpm.hash                         |   2 +-
 package/rpm/rpm.mk                           |  93 ++++++-----
 10 files changed, 72 insertions(+), 441 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..e79e9ce 100644
--- a/package/rpm/Config.in
+++ b/package/rpm/Config.in
@@ -1,21 +1,29 @@
-comment "rpm needs a toolchain w/ threads"
+comment "rpm needs a toolchain w/ threads and beecrypt or libnss"
 	depends on !BR2_TOOLCHAIN_HAS_THREADS
+	depends on !BR2_PACKAGE_BEECRYPT && !BR2_PACKAGE_LIBNSS
 	depends on BR2_USE_MMU # fork()
 
 config BR2_PACKAGE_RPM
 	bool "rpm"
 	depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
 	depends on BR2_USE_MMU # fork()
-	select BR2_PACKAGE_BEECRYPT
+	depends on BR2_PACKAGE_BEECRYPT || 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] 5+ messages in thread

* [Buildroot] [PATCH v2 2/4] package/berkeleydb: add host variant
  2015-08-31 17:26 [Buildroot] [PATCH v2 1/4] package/rpm: bump to version 4.12.0.1 James Knight
@ 2015-08-31 17:26 ` James Knight
  2015-08-31 17:26 ` [Buildroot] [PATCH v2 3/4] package/beecrypt: " James Knight
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: James Knight @ 2015-08-31 17:26 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 v1 -> v2:
  - Package changed 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] 5+ messages in thread

* [Buildroot] [PATCH v2 3/4] package/beecrypt: add host variant
  2015-08-31 17:26 [Buildroot] [PATCH v2 1/4] package/rpm: bump to version 4.12.0.1 James Knight
  2015-08-31 17:26 ` [Buildroot] [PATCH v2 2/4] package/berkeleydb: add host variant James Knight
@ 2015-08-31 17:26 ` James Knight
  2015-08-31 17:26 ` [Buildroot] [PATCH v2 4/4] package/rpm: " James Knight
  2015-08-31 18:07 ` [Buildroot] [PATCH v2 1/4] package/rpm: bump to version 4.12.0.1 Baruch Siach
  3 siblings, 0 replies; 5+ messages in thread
From: James Knight @ 2015-08-31 17:26 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 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] 5+ messages in thread

* [Buildroot] [PATCH v2 4/4] package/rpm: add host variant
  2015-08-31 17:26 [Buildroot] [PATCH v2 1/4] package/rpm: bump to version 4.12.0.1 James Knight
  2015-08-31 17:26 ` [Buildroot] [PATCH v2 2/4] package/berkeleydb: add host variant James Knight
  2015-08-31 17:26 ` [Buildroot] [PATCH v2 3/4] package/beecrypt: " James Knight
@ 2015-08-31 17:26 ` James Knight
  2015-08-31 18:07 ` [Buildroot] [PATCH v2 1/4] package/rpm: bump to version 4.12.0.1 Baruch Siach
  3 siblings, 0 replies; 5+ messages in thread
From: James Knight @ 2015-08-31 17:26 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 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] 5+ messages in thread

* [Buildroot] [PATCH v2 1/4] package/rpm: bump to version 4.12.0.1
  2015-08-31 17:26 [Buildroot] [PATCH v2 1/4] package/rpm: bump to version 4.12.0.1 James Knight
                   ` (2 preceding siblings ...)
  2015-08-31 17:26 ` [Buildroot] [PATCH v2 4/4] package/rpm: " James Knight
@ 2015-08-31 18:07 ` Baruch Siach
  3 siblings, 0 replies; 5+ messages in thread
From: Baruch Siach @ 2015-08-31 18:07 UTC (permalink / raw)
  To: buildroot

Hi James,

On Mon, Aug 31, 2015 at 01:26:14PM -0400, 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>
> ---

[...]

> diff --git a/package/rpm/Config.in b/package/rpm/Config.in
> index c6fc3b7..e79e9ce 100644
> --- a/package/rpm/Config.in
> +++ b/package/rpm/Config.in
> @@ -1,21 +1,29 @@
> -comment "rpm needs a toolchain w/ threads"
> +comment "rpm needs a toolchain w/ threads and beecrypt or libnss"
>  	depends on !BR2_TOOLCHAIN_HAS_THREADS
> +	depends on !BR2_PACKAGE_BEECRYPT && !BR2_PACKAGE_LIBNSS
>  	depends on BR2_USE_MMU # fork()
>  
>  config BR2_PACKAGE_RPM
>  	bool "rpm"
>  	depends on BR2_TOOLCHAIN_HAS_THREADS # beecrypt
>  	depends on BR2_USE_MMU # fork()
> -	select BR2_PACKAGE_BEECRYPT
> +	depends on BR2_PACKAGE_BEECRYPT || BR2_PACKAGE_LIBNSS

The convention is to do this instead:

	select BR2_PACKAGE_BEECRYPT if !BR2_PACKAGE_LIBNSS

Assuming that beecrypt is more lightweight then libnss (is it?).

This also obviates the need for the dependency comment change above.

baruch

-- 
     http://baruch.siach.name/blog/                  ~. .~   Tk Open Systems
=}------------------------------------------------ooO--U--Ooo------------{=
   - baruch at tkos.co.il - tel: +972.2.679.5364, http://www.tkos.co.il -

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

end of thread, other threads:[~2015-08-31 18:07 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-08-31 17:26 [Buildroot] [PATCH v2 1/4] package/rpm: bump to version 4.12.0.1 James Knight
2015-08-31 17:26 ` [Buildroot] [PATCH v2 2/4] package/berkeleydb: add host variant James Knight
2015-08-31 17:26 ` [Buildroot] [PATCH v2 3/4] package/beecrypt: " James Knight
2015-08-31 17:26 ` [Buildroot] [PATCH v2 4/4] package/rpm: " James Knight
2015-08-31 18:07 ` [Buildroot] [PATCH v2 1/4] package/rpm: bump to version 4.12.0.1 Baruch Siach

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox