mirror of
https://git.yoctoproject.org/poky
synced 2026-03-11 01:39:40 +01:00
The dnf stack is written and tested against rpm 4.x. So if we want to use dnf for packaging, we should also use rpm 4 - there's simply too much work involved in making rpm 5 work with it due to significant API differences, and supporting that going forward. (From OE-Core rev: 2358e786ec8d1199d90e181eb5d8d00816f669b4) Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
73 lines
2.4 KiB
Diff
73 lines
2.4 KiB
Diff
From 383c0b097b7eba16801a9e3c4b8e36a4b6de74ab Mon Sep 17 00:00:00 2001
|
|
From: Alexander Kanavin <alex.kanavin@gmail.com>
|
|
Date: Fri, 20 Jan 2017 13:33:05 +0200
|
|
Subject: [PATCH 2/2] Add support for prefixing /etc from RPM_ETCCONFIGDIR
|
|
environment variable
|
|
|
|
This is needed so that rpm can pick up target-specific configuration
|
|
from target rootfs instead of its own native sysroot.
|
|
|
|
Upstream-Status: Inappropriate [oe-core specific]
|
|
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
|
|
---
|
|
lib/rpmrc.c | 19 ++++++++++++++-----
|
|
1 file changed, 14 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/lib/rpmrc.c b/lib/rpmrc.c
|
|
index 19fe80f98..6b27b3941 100644
|
|
--- a/lib/rpmrc.c
|
|
+++ b/lib/rpmrc.c
|
|
@@ -455,10 +455,14 @@ const char * lookupInDefaultTable(const char * name,
|
|
static void setDefaults(void)
|
|
{
|
|
const char *confdir = rpmConfigDir();
|
|
+ const char *etcconfdir = getenv("RPM_ETCCONFIGDIR");
|
|
+ if (etcconfdir == NULL)
|
|
+ etcconfdir = "";
|
|
+
|
|
if (!defrcfiles) {
|
|
defrcfiles = rstrscat(NULL, confdir, "/rpmrc", ":",
|
|
confdir, "/" RPMCANONVENDOR "/rpmrc", ":",
|
|
- SYSCONFDIR "/rpmrc", ":");
|
|
+ etcconfdir, SYSCONFDIR "/rpmrc", ":", NULL);
|
|
}
|
|
|
|
#ifndef MACROFILES
|
|
@@ -468,9 +472,9 @@ static void setDefaults(void)
|
|
confdir, "/platform/%{_target}/macros", ":",
|
|
confdir, "/fileattrs/*.attr", ":",
|
|
confdir, "/" RPMCANONVENDOR "/macros", ":",
|
|
- SYSCONFDIR "/rpm/macros.*", ":",
|
|
- SYSCONFDIR "/rpm/macros", ":",
|
|
- SYSCONFDIR "/rpm/%{_target}/macros", ":");
|
|
+ etcconfdir, SYSCONFDIR "/rpm/macros.*", ":",
|
|
+ etcconfdir, SYSCONFDIR "/rpm/macros", ":",
|
|
+ etcconfdir, SYSCONFDIR "/rpm/%{_target}/macros", ":", NULL);
|
|
}
|
|
#else
|
|
macrofiles = MACROFILES;
|
|
@@ -989,7 +993,11 @@ static void read_auxv(void)
|
|
*/
|
|
static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
|
|
{
|
|
- const char * const platform_path = SYSCONFDIR "/rpm/platform";
|
|
+ const char *etcconfdir = getenv("RPM_ETCCONFIGDIR");
|
|
+ if (etcconfdir == NULL)
|
|
+ etcconfdir = "";
|
|
+
|
|
+ const char * const platform_path = rstrscat(NULL, etcconfdir, SYSCONFDIR "/rpm/platform", NULL);
|
|
static struct utsname un;
|
|
char * chptr;
|
|
canonEntry canon;
|
|
@@ -1286,6 +1294,7 @@ static void defaultMachine(rpmrcCtx ctx, const char ** arch, const char ** os)
|
|
|
|
if (arch) *arch = un.machine;
|
|
if (os) *os = un.sysname;
|
|
+ free(platform_path);
|
|
}
|
|
|
|
static
|
|
--
|
|
2.11.0
|
|
|