Skip to contentSkip to conversation

package/rpm: bump to version 4.12.0.1

PATCH Superseded James Knight 2 participants 5 messages Aug 31, 2015

v2 of 7 Superseded Latest is v7 →

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/4 package/rpm: bump to version 4.12.0.1

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

---
 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
package/rpm/0002-depends-fix.patch deleted +0 -19
deleted file mode 100644
index 4a92775..0000000
@@ -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. */
package/rpm/0003-exclude-some-tools.patch deleted +0 -30
deleted file mode 100644
index 2cbc7cb..0000000
@@ -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 = \
package/rpm/0004-ignore-shared-mutexes.patch deleted +0 -12
deleted file mode 100644
index f19d6b6..0000000
@@ -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
package/rpm/0005-no-parentdirs.patch deleted +0 -14
deleted file mode 100644
index d05c99a..0000000
@@ -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)
- 	/*@*/
package/rpm/0006-ordering-fix.patch deleted +0 -45

45 lines not on this page · raw message

package/rpm/0007-parentdir-vs-requires.patch deleted +0 -37
deleted file mode 100644
index 309ab25..0000000
@@ -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);
- 
package/rpm/0008-short-circuit-c99.patch deleted +0 -235

235 lines not on this page · raw message

package/rpm/Config.in +17 -9
index c6fc3b7..e79e9ce 100644
@@ -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
package/rpm/rpm.hash +1 -1
index 0665746..b69fcef 100644
@@ -1,2 +1,2 @@
 # Locally calculated
-sha256	34a959c0ed670cadcdc52c6025e822fac6f5d1015e3b75123f53ebe53b923e98	rpm-5.2.0.tar.gz
+sha256	77ddd228fc332193c874aa0b424f41db1ff8b7edbb6a338703ef747851f50229	rpm-4.12.0.1.tar.bz2
package/rpm/rpm.mk +54 -39

115 lines not on this page · raw message

Signature · 1 line
1.9.5.msysgit.1
#1 lore raw

PATCH v2 2/4 package/berkeleydb: add host variant

Required by an upcoming host variant of the rpm package.

---
Changes v1 -> v2:
- Package changed introduced in change set 2.

---
 package/berkeleydb/berkeleydb.mk | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)
package/berkeleydb/berkeleydb.mk +21 -0
index e5c11bd..e9ab760 100644
@@ -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))
Signature · 1 line
1.9.5.msysgit.1
#2 lore raw

PATCH v2 3/4 package/beecrypt: add host variant

In reply to James Knight

Required by an upcoming host variant of the rpm package.

---
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(-)
package/beecrypt/beecrypt.mk +11 -3
index e66cec1..e3749d5 100644
@@ -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))
Signature · 1 line
1.9.5.msysgit.1
#3 lore raw

PATCH v2 4/4 package/rpm: add host variant

In reply to James Knight

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.

---
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
package/Config.in.host +1 -0
index 1e047aa..1820b20 100644
@@ -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"
package/rpm/Config.in.host new file +8 -0
new file mode 100644
index 0000000..3c15bd4
@@ -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/
package/rpm/rpm.mk +17 -1
index adf408e..6de3e63 100644
@@ -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))
Signature · 1 line
1.9.5.msysgit.1
#4 lore raw

PATCH v2 1/4 package/rpm: bump to version 4.12.0.1

In reply to James Knight

Hi James,

Quoted 5 lines · James Knight

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

---

[...]

Quoted 7 lines
package/rpm/Config.in +1 -1
index c6fc3b7..e79e9ce 100644
@@ -1,21 +1,29 @@
-comment "rpm needs a toolchain w/ threads"
+comment "rpm needs a toolchain w/ threads and beecrypt or libnss"

package/rpm/Config.in line 10

Quoted 10 lines
package/rpm/Config.in +2 -1
 	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

Signature · 3 lines
     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 -