package/rpm: bump to version 4.12.0.1
PATCH v4 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.
---
Changes v3 -> v4:
- Adjusting package's hash to use hash value provided from official sources.
- Always build package without libcap. The initial patch (noticed by Peter Korsgaard) did not correctly configure the rpm package to use libcap. Adjusting the Makefile to correctly configure to use libcap results in some build issues. I'm hoping to include libcap support when rpm 4.13.0.1 is released; in the meantime, disabling libcap support.
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 | 4 +- package/rpm/rpm.mk | 87 +++++----- 10 files changed, 65 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
@@ -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
@@ -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
@@ -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
@@ -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
@@ -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 +15 -8
@@ -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
package/rpm/rpm.hash +2 -2
@@ -1,2 +1,2 @@ -# Locally calculated -sha256 34a959c0ed670cadcdc52c6025e822fac6f5d1015e3b75123f53ebe53b923e98 rpm-5.2.0.tar.gz +# From http://rpm.org/wiki/Releases/4.12.0.1 +sha1 d416bdb249b246b00b2d5d34c66e7f5a68a62524 rpm-4.12.0.1.tar.bz2
package/rpm/rpm.mk +48 -39
109 lines not on this page · raw message
Signature · 1 line
1.9.5.msysgit.1
PATCH v4 2/4 package/berkeleydb: add host variant
Required by an upcoming host variant of the rpm package.
---
Changes v3 -> v4:
- Correcting a series of host configuration options which were incorrectly set (pointed out by Yann E. MORIN).
Changes v2 -> v3:
- None.
Changes v1 -> v2:
- Package change introduced in change set 2.
--- package/berkeleydb/berkeleydb.mk | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+)
package/berkeleydb/berkeleydb.mk +18 -0
@@ -44,6 +44,23 @@ 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=$(HOST_DIR)/usr \ + --sysconfdir=$(HOST_DIR)/etc \ + --with-gnu-ld \ + --disable-java \ + --disable-tcl \ + --enable-compat185 \ + --enable-cxx \ + --enable-o_direct \ + --with-pic \ + ) +endef + ifneq ($(BR2_PACKAGE_BERKELEYDB_TOOLS),y) define BERKELEYDB_REMOVE_TOOLS
@@ -61,3 +78,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
PATCH v4 3/4 package/beecrypt: add host variant
In reply to James KnightRequired by an upcoming host variant of the rpm package.
---
Changes v3 -> v4:
- Restore order to common configuration options to reduce noise (suggested by Yann E. MORIN).
- Altered name of common configuration variable from BEECRYPT_CONF_OPTS to BEECRYPT_COMMON_CONF_OPTS for clarity (suggested by Yann E. MORIN).
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 | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
package/beecrypt/beecrypt.mk +9 -1
@@ -11,12 +11,19 @@ BEECRYPT_INSTALL_STAGING = YES BEECRYPT_LICENSE = LGPLv2.1+ BEECRYPT_LICENSE_FILES = COPYING.LIB -BEECRYPT_CONF_OPTS = \ +BEECRYPT_COMMON_CONF_OPTS = \ --disable-expert-mode \ --without-java \ --without-python \ --disable-openmp +BEECRYPT_CONF_OPTS = \ + $(BEECRYPT_COMMON_CONF_OPTS) + +HOST_BEECRYPT_CONF_OPTS = \ + $(BEECRYPT_COMMON_CONF_OPTS) \ + --without-cplusplus + ifeq ($(BR2_PACKAGE_BEECRYPT_CPP),y) BEECRYPT_DEPENDENCIES += icu BEECRYPT_CONF_OPTS += --with-cplusplus
@@ -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
PATCH v4 4/4 package/rpm: add host variant
In reply to James KnightThe 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 v3 -> v4:
- Removed invalid host symbols provided in Config.in.host (pointed out by Yann E. MORIN).
- Altered name of common configuration variable from RPM_CONF_OPTS to RPM_COMMON_CONF_OPTS for clarity (suggested by Yann E. MORIN).
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 | 6 ++++++
package/rpm/rpm.mk | 17 ++++++++++++++++-
3 files changed, 23 insertions(+), 1 deletion(-)
create mode 100644 package/rpm/Config.in.hostpackage/Config.in.host +1 -0
@@ -23,6 +23,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 +6 -0
@@ -0,0 +1,6 @@ +config BR2_PACKAGE_HOST_RPM + bool "host rpm" + help + The RPM Package Manager (RPM). + + http://www.rpm.org/
package/rpm/rpm.mk +16 -1
@@ -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_COMMON_CONF_OPTS = \ --disable-largefile \ --disable-rpath \ --enable-python=no \
@@ -21,6 +22,17 @@ RPM_CONF_OPTS += \ --without-cap \ --without-hackingdocs +RPM_CONF_OPTS = \ + $(RPM_COMMON_CONF_OPTS) + +HOST_RPM_CONF_OPTS = \ + $(RPM_COMMON_CONF_OPTS) \ + --with-beecrypt \ + --without-archive \ + --without-libintl-prefix \ + --without-lua \ + --without-selinux + ifeq ($(BR2_PACKAGE_ACL),y) RPM_DEPENDENCIES += acl RPM_CONF_OPTS += --with-acl
@@ -69,5 +81,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
PATCH v4 1/4 package/rpm: bump to version 4.12.0.1
In reply to James KnightJames,
Quoted 47 lines · James Knight
The provided "bump" (suggested by Baruch Siach) switches from the rpm5 implementation to rpm.org's more active stream.
Signed-off-by James Knight <[email protected]>package/rpm/rpm.mk +18
-21-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-cap \ + --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
package/rpm/rpm.mk line 34
Quoted 10 lines
package/rpm/rpm.mk +5
-3+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
This should be named RPM_CFLAGS instead, it's more logical and consistent with what we do in other packages.
Also, I had some issues building your package with uClibc and musl:
- the check for -fstack-protector doesn't work properly. I've written a patch to fix this (attached). You need to set RPM_AUTORECONF = YES to use this patch.
- uclibc and musl don't provide __fxstat64(). I've written a fix that works for uclibc (attached). But it doesn't work as is for musl since musl doesn't provide a __MUSL__ symbol, so you need to do a proper configure.ac check.
- when building with musl, _D_EXACT_NAMELEN is missing.
So could you rework this package to make it work with musl/uclibc or alternatively mark it as not available for these C libraries if you are not interested in supporting this use case.
In the mean time, I'll mark your patches as "Changes Requested" in patchwork.
Thanks!
Thomas
Signature · 17 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -------------- next part -------------- A non-text attachment was scrubbed... Name: 0001-configure.ac-use-link-instead-of-compile-for-gcc-fla.patch Type: text/x-patch Size: 1251 bytes Desc: not available URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20151011/a1e09a21/attachment.bin> -------------- next part -------------- A non-text attachment was scrubbed... Name: 0002-fts-add-quirk-for-__fxstat64-on-uclibc.patch Type: text/x-patch Size: 840 bytes Desc: not available URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20151011/a1e09a21/attachment-0001.bin>
PATCH v4 1/4 package/rpm: bump to version 4.12.0.1
Thomas,
Quoted 1 line · Thomas Petazzoni
So could you rework this package to make it work with musl/uclibc
Thanks for checking this; I'll give it a shot. :)
Quoted 2 lines
In the mean time, I'll mark your patches as "Changes Requested" in patchwork.
Minor patchwork question, when a patch has been flagged as "Changes Requested" and I submit a new one, should I flag the old patch as superseded?
PATCH v4 1/4 package/rpm: bump to version 4.12.0.1
Dear James Knight,
Quoted 4 lines · James Knight
Quoted 1 line · Thomas Petazzoni
So could you rework this package to make it work with musl/uclibc
Quoted 8 lines
Thanks for checking this; I'll give it a shot. :)
Quoted 2 lines
In the mean time, I'll mark your patches as "Changes Requested" in patchwork.
Minor patchwork question, when a patch has been flagged as "Changes Requested" and I submit a new one, should I flag the old patch as superseded?
You can do it if you want, but that's really not necessary. When a patch is either in the "Changes Requested" state or the "Superseded" state, we simply no longer see in the list of pending patches. This means we won't care anymore about such patches, until the submitter sends an updated version.
We never go back to older patches marked "Changes Requested" to change them to "Superseded" when the new version comes.
Thomas
Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com