diff options
author | Mark Hatle <mark.hatle@windriver.com> | 2012-12-11 08:09:40 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-12-17 17:24:52 +0000 |
commit | e1345b76c04b5a829b7219c12772bec1fb301850 (patch) | |
tree | 793cf4775df349af9db83230272ea6d7bcc8b840 /meta | |
parent | 8b671644e1fa5cb4e4d8b6b0dc26a4b08e7485b7 (diff) | |
download | poky-e1345b76c04b5a829b7219c12772bec1fb301850.tar.gz |
rpm/smart: Fix runtime-relocation issues w/ RPM and Smart
Fix runtime-relocation issues with the RPM and Smart wrappers.
In addition the patches were necessary to fix related problems.
The changes to the includes three categories of issues:
*) Incorrect pathname evaluations
*) Incorrect evaluation of the /etc/rpm/platform file contents
*) Confusing vendor #define checks
Finally, a simple way to debug the platformScore was added as
that is necessary to debug how this works and into the smart system.
(From OE-Core rev: 355a621caca66ed393d36fff6be8918921cf45ae)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r-- | meta/recipes-devtools/python/python-smartpm_1.4.1.bb | 17 | ||||
-rw-r--r-- | meta/recipes-devtools/rpm/rpm/rpm-debug-platform.patch | 65 | ||||
-rw-r--r-- | meta/recipes-devtools/rpm/rpm/rpm-platform.patch | 2 | ||||
-rw-r--r-- | meta/recipes-devtools/rpm/rpm/rpm-platform2.patch | 87 | ||||
-rw-r--r-- | meta/recipes-devtools/rpm/rpm_5.4.9.bb | 41 |
5 files changed, 173 insertions, 39 deletions
diff --git a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb index 53f232bfab..04f61f8999 100644 --- a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb +++ b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb | |||
@@ -11,7 +11,7 @@ LICENSE = "GPLv2" | |||
11 | LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833" | 11 | LIC_FILES_CHKSUM = "file://LICENSE;md5=393a5ca445f6965873eca0259a17f833" |
12 | 12 | ||
13 | DEPENDS = "python rpm" | 13 | DEPENDS = "python rpm" |
14 | PR = "r4" | 14 | PR = "r5" |
15 | SRCNAME = "smart" | 15 | SRCNAME = "smart" |
16 | 16 | ||
17 | SRC_URI = "\ | 17 | SRC_URI = "\ |
@@ -87,6 +87,21 @@ do_install_append() { | |||
87 | fi | 87 | fi |
88 | } | 88 | } |
89 | 89 | ||
90 | add_native_wrapper() { | ||
91 | create_wrapper ${D}/${bindir}/smart \ | ||
92 | RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \ | ||
93 | RPM_ETCRPM='$'{RPM_ETCRPM-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/rpm} \ | ||
94 | RPM_LOCALEDIRRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/locale | ||
95 | } | ||
96 | |||
97 | do_install_append_class-native() { | ||
98 | add_native_wrapper | ||
99 | } | ||
100 | |||
101 | do_install_append_class-nativesdk() { | ||
102 | add_native_wrapper | ||
103 | } | ||
104 | |||
90 | PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc smartpm \ | 105 | PACKAGES = "${PN}-dev ${PN}-dbg ${PN}-doc smartpm \ |
91 | ${@base_contains('PACKAGECONFIG', 'rpm', '${PN}-backend-rpm', '', d)} \ | 106 | ${@base_contains('PACKAGECONFIG', 'rpm', '${PN}-backend-rpm', '', d)} \ |
92 | ${@base_contains('PACKAGECONFIG', 'qt4', '${PN}-interface-qt4', '', d)} \ | 107 | ${@base_contains('PACKAGECONFIG', 'qt4', '${PN}-interface-qt4', '', d)} \ |
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-debug-platform.patch b/meta/recipes-devtools/rpm/rpm/rpm-debug-platform.patch new file mode 100644 index 0000000000..25ebbdcbed --- /dev/null +++ b/meta/recipes-devtools/rpm/rpm/rpm-debug-platform.patch | |||
@@ -0,0 +1,65 @@ | |||
1 | Debug the platform score generation... | ||
2 | |||
3 | Index: rpm-5.4.9/lib/rpmrc.c | ||
4 | =================================================================== | ||
5 | --- rpm-5.4.9.orig/lib/rpmrc.c | ||
6 | +++ rpm-5.4.9/lib/rpmrc.c | ||
7 | @@ -465,6 +465,8 @@ static rpmRC rpmPlatform(const char * pl | ||
8 | |||
9 | rc = (rpmRC) rpmiobSlurp(platform, &iob); | ||
10 | |||
11 | + fprintf(stderr, "D: rpmPlatform file %s\n", platform); | ||
12 | + | ||
13 | if (rc || iob == NULL) { | ||
14 | rc = RPMRC_FAIL; | ||
15 | goto exit; | ||
16 | @@ -486,6 +488,7 @@ static rpmRC rpmPlatform(const char * pl | ||
17 | while (--t > p && xisspace(*t)) | ||
18 | *t = '\0'; | ||
19 | if (t > p) { | ||
20 | + fprintf(stderr, "D: rpmPlatform mireAppend REGEX %s\n", p); | ||
21 | xx = mireAppend(RPMMIRE_REGEX, 0, p, NULL, &mi_re, &mi_nre); | ||
22 | } | ||
23 | continue; | ||
24 | @@ -503,6 +506,11 @@ static rpmRC rpmPlatform(const char * pl | ||
25 | _gnu = rpmExpand("-", cvog->gnu, NULL); | ||
26 | |||
27 | addMacro(NULL, "_platform_gnu", NULL, (_gnu ? _gnu : ""), -1); | ||
28 | + fprintf(stderr, "D: rpmPlatform addMacro %s-%s-%s(%s)\n", | ||
29 | + rpmExpand("%{_platform_cpu}", NULL), | ||
30 | + rpmExpand("%{_platform_vendor}", NULL), | ||
31 | + rpmExpand("%{_platform_os}", NULL), | ||
32 | + rpmExpand("%{_platform_gnu}", NULL)); | ||
33 | #else | ||
34 | addMacro(NULL, "_host_cpu", NULL, cvog->cpu, -1); | ||
35 | addMacro(NULL, "_host_vendor", NULL, cvog->vendor, -1); | ||
36 | @@ -510,6 +518,7 @@ static rpmRC rpmPlatform(const char * pl | ||
37 | #endif | ||
38 | } | ||
39 | |||
40 | + fprintf(stderr, "D: rpmPlatform mireAppend STRCMP %s -- ", p); | ||
41 | #if defined(RPM_VENDOR_OPENPKG) /* explicit-platform */ | ||
42 | /* do not use vendor and GNU attribution */ | ||
43 | p = rpmExpand("%{_host_cpu}-%{_host_os}", NULL); | ||
44 | @@ -518,6 +527,7 @@ static rpmRC rpmPlatform(const char * pl | ||
45 | (cvog && *cvog->gnu ? "-" : NULL), | ||
46 | (cvog ? cvog->gnu : NULL), NULL); | ||
47 | #endif | ||
48 | + fprintf(stderr, "%s\n", p); | ||
49 | xx = mireAppend(RPMMIRE_STRCMP, 0, p, NULL, &mi_re, &mi_nre); | ||
50 | p = _free(p); | ||
51 | |||
52 | @@ -686,9 +696,12 @@ int rpmPlatformScore(const char * platfo | ||
53 | |||
54 | if ((mire = (miRE) mi_re) != NULL) | ||
55 | for (i = 0; i < mi_nre; i++) { | ||
56 | - if (mireRegexec(mire + i, platform, 0) >= 0) | ||
57 | + if (mireRegexec(mire + i, platform, 0) >= 0) { | ||
58 | + fprintf(stderr, "D: rpmPlatformScore %s (%d)\n", platform, i + 1); | ||
59 | return (i + 1); | ||
60 | + } | ||
61 | } | ||
62 | + fprintf(stderr, "D: rpmPlatformScore %s (%d)\n", platform, 0); | ||
63 | return 0; | ||
64 | } | ||
65 | /*@=onlytrans@*/ | ||
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-platform.patch b/meta/recipes-devtools/rpm/rpm/rpm-platform.patch index 7b81857837..9e167d82f3 100644 --- a/meta/recipes-devtools/rpm/rpm/rpm-platform.patch +++ b/meta/recipes-devtools/rpm/rpm/rpm-platform.patch | |||
@@ -40,7 +40,7 @@ diff -ur rpm-5.4.0.orig/lib/depends.c rpm-5.4.0/lib/depends.c | |||
40 | return rc; | 40 | return rc; |
41 | } | 41 | } |
42 | 42 | ||
43 | +#if defined(RPM_VENDOR_WINDRIVER) | 43 | +#if defined(RPM_VENDOR_WINDRIVER) || defined(RPM_VENDOR_POKY) |
44 | +#define _ETC_RPM_SYSINFO "%{_etcrpm}/sysinfo" | 44 | +#define _ETC_RPM_SYSINFO "%{_etcrpm}/sysinfo" |
45 | +#else | 45 | +#else |
46 | +#define _ETC_RPM_SYSINFO SYSCONFIGDIR "/sysinfo" | 46 | +#define _ETC_RPM_SYSINFO SYSCONFIGDIR "/sysinfo" |
diff --git a/meta/recipes-devtools/rpm/rpm/rpm-platform2.patch b/meta/recipes-devtools/rpm/rpm/rpm-platform2.patch index 3d50e46c11..6683d8fdbf 100644 --- a/meta/recipes-devtools/rpm/rpm/rpm-platform2.patch +++ b/meta/recipes-devtools/rpm/rpm/rpm-platform2.patch | |||
@@ -3,10 +3,13 @@ Fix up platform and related sysinfo file loading (part 2). | |||
3 | Upstream-Status: Pending | 3 | Upstream-Status: Pending |
4 | 4 | ||
5 | We need to ensure that we set the _gnu flag somehow. We do this by reading | 5 | We need to ensure that we set the _gnu flag somehow. We do this by reading |
6 | from the platform file, and setting a new platform_gnu and related vars. | 6 | from the platform file, and setting a new _platform_gnu and related vars. |
7 | 7 | ||
8 | We then check for the existance of these things and change the configure | 8 | The default values of _host_cpu, _host_vendor and _host_os are changed to |
9 | time defaults to the run-time values as necessary. | 9 | reference either the automatically determined _target_... or _platform_... |
10 | values. The macros file uses the configure time defaults in _platform_... | ||
11 | versions have not been defined. This preserves existing behavior, but | ||
12 | ensures reasonable defaults are always available. | ||
10 | 13 | ||
11 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> | 14 | Signed-off-by: Mark Hatle <mark.hatle@windriver.com> |
12 | 15 | ||
@@ -14,17 +17,43 @@ Index: rpm-5.4.9/lib/rpmrc.c | |||
14 | =================================================================== | 17 | =================================================================== |
15 | --- rpm-5.4.9.orig/lib/rpmrc.c | 18 | --- rpm-5.4.9.orig/lib/rpmrc.c |
16 | +++ rpm-5.4.9/lib/rpmrc.c | 19 | +++ rpm-5.4.9/lib/rpmrc.c |
17 | @@ -487,9 +487,10 @@ static rpmRC rpmPlatform(const char * pl | 20 | @@ -328,10 +328,15 @@ static void setDefaults(void) |
21 | /*@modifies rpmGlobalMacroContext, internalState @*/ | ||
22 | { | ||
23 | |||
24 | -#if defined(RPM_VENDOR_WINDRIVER) | ||
25 | +#if defined(RPM_VENDOR_WINDRIVER) || defined(RPM_VENDOR_POKY) | ||
26 | addMacro(NULL, "_usrlibrpm", NULL, __usrlibrpm, RMIL_DEFAULT); | ||
27 | addMacro(NULL, "_etcrpm", NULL, __etcrpm, RMIL_DEFAULT); | ||
28 | addMacro(NULL, "_vendor", NULL, "%{?_host_vendor}%{!?_host_vendor:wrs}", RMIL_DEFAULT); | ||
29 | + | ||
30 | + addMacro(NULL, "_host_cpu", NULL, "%{?_platform_cpu}%{!?_platform_cpu:%{?_target_cpu}}", RMIL_DEFAULT); | ||
31 | + addMacro(NULL, "_host_vendor", NULL, "%{?_platform_vendor}%{!?_platform_cpu:%{?_target_vendor}}", RMIL_DEFAULT); | ||
32 | + addMacro(NULL, "_host_os", NULL, "%{?_platform_os}%{!?_platform_os:%{?_target_os}}", RMIL_DEFAULT); | ||
33 | + addMacro(NULL, "_host_gnu", NULL, "%{?_platform_gnu}%{!?_platform_gnu:%{?_gnu}}", RMIL_DEFAULT); | ||
34 | #endif | ||
35 | |||
36 | addMacro(NULL, "_usr", NULL, USRPREFIX, RMIL_DEFAULT); | ||
37 | @@ -487,9 +492,22 @@ static rpmRC rpmPlatform(const char * pl | ||
18 | } | 38 | } |
19 | 39 | ||
20 | if (!parseCVOG(p, &cvog) && cvog != NULL) { | 40 | if (!parseCVOG(p, &cvog) && cvog != NULL) { |
21 | - addMacro(NULL, "_host_cpu", NULL, cvog->cpu, -1); | 41 | +#if defined(RPM_VENDOR_POKY) |
22 | - addMacro(NULL, "_host_vendor", NULL, cvog->vendor, -1); | 42 | + char * _gnu = NULL; |
23 | - addMacro(NULL, "_host_os", NULL, cvog->os, -1); | 43 | + |
24 | + addMacro(NULL, "_platform_cpu", NULL, cvog->cpu, -1); | 44 | + addMacro(NULL, "_platform_cpu", NULL, cvog->cpu, -1); |
25 | + addMacro(NULL, "_platform_vendor", NULL, cvog->vendor, -1); | 45 | + addMacro(NULL, "_platform_vendor", NULL, cvog->vendor, -1); |
26 | + addMacro(NULL, "_platform_os", NULL, cvog->os, -1); | 46 | + addMacro(NULL, "_platform_os", NULL, cvog->os, -1); |
27 | + addMacro(NULL, "_platform_gnu", NULL, cvog->gnu, -1); | 47 | + |
48 | + if (cvog->gnu && cvog->gnu[0] != '\0') | ||
49 | + _gnu = rpmExpand("-", cvog->gnu, NULL); | ||
50 | + | ||
51 | + addMacro(NULL, "_platform_gnu", NULL, (_gnu ? _gnu : ""), -1); | ||
52 | +#else | ||
53 | addMacro(NULL, "_host_cpu", NULL, cvog->cpu, -1); | ||
54 | addMacro(NULL, "_host_vendor", NULL, cvog->vendor, -1); | ||
55 | addMacro(NULL, "_host_os", NULL, cvog->os, -1); | ||
56 | +#endif | ||
28 | } | 57 | } |
29 | 58 | ||
30 | #if defined(RPM_VENDOR_OPENPKG) /* explicit-platform */ | 59 | #if defined(RPM_VENDOR_OPENPKG) /* explicit-platform */ |
@@ -32,25 +61,45 @@ Index: rpm-5.4.9/macros/macros.in | |||
32 | =================================================================== | 61 | =================================================================== |
33 | --- rpm-5.4.9.orig/macros/macros.in | 62 | --- rpm-5.4.9.orig/macros/macros.in |
34 | +++ rpm-5.4.9/macros/macros.in | 63 | +++ rpm-5.4.9/macros/macros.in |
35 | @@ -873,7 +873,7 @@ $_arbitrary_tags_tests Foo:Bar | 64 | @@ -875,9 +875,9 @@ $_arbitrary_tags_tests Foo:Bar |
36 | %_build_arch @RPMCANONARCH@ | ||
37 | %_vendor @RPMCANONVENDOR@ | ||
38 | %_os @RPMCANONOS@ | 65 | %_os @RPMCANONOS@ |
39 | -%_gnu @RPMCANONGNU@ | 66 | %_gnu @RPMCANONGNU@ |
40 | +%_gnu %{?_platform_gnu:-%{_platform_gnu}}%{!?_platform_gnu:@RPMCANONGNU@} | 67 | |
68 | -%_host_platform %{_host_cpu}-%{_host_vendor}-%{_host_os}%{?_gnu} | ||
69 | -%_build_platform %{_build_cpu}-%{_build_vendor}-%{_build_os}%{?_gnu} | ||
70 | -%_target_platform %{_target_cpu}-%{_target_vendor}-%{_target_os}%{?_gnu} | ||
71 | +%_host_platform %{_host_cpu}-%{_host_vendor}-%{_host_os}%{?_host_gnu}%{!?_host_gnu:%{?_gnu}} | ||
72 | +%_build_platform %{_build_cpu}-%{_build_vendor}-%{_build_os}%{?_host_gnu}%{!?_host_gnu:%{?_gnu}} | ||
73 | +%_target_platform %{_target_cpu}-%{_target_vendor}-%{_target_os}%{?_host_gnu}%{!?_host_gnu:%{?_gnu}} | ||
41 | 74 | ||
42 | %_host_platform %{_host_cpu}-%{_host_vendor}-%{_host_os}%{?_gnu} | 75 | #============================================================================== |
43 | %_build_platform %{_build_cpu}-%{_build_vendor}-%{_build_os}%{?_gnu} | 76 | # ---- configure macros. |
44 | @@ -920,9 +920,9 @@ $_arbitrary_tags_tests Foo:Bar | 77 | @@ -920,9 +920,10 @@ $_arbitrary_tags_tests Foo:Bar |
45 | %_build_os %{_host_os} | 78 | %_build_os %{_host_os} |
46 | %_host @host@ | 79 | %_host @host@ |
47 | %_host_alias @host_alias@%{nil} | 80 | %_host_alias @host_alias@%{nil} |
48 | -%_host_cpu @host_cpu@ | 81 | -%_host_cpu @host_cpu@ |
49 | -%_host_vendor @host_vendor@ | 82 | -%_host_vendor @host_vendor@ |
50 | -%_host_os @host_os@ | 83 | -%_host_os @host_os@ |
51 | +%_host_cpu %{?_platform_cpu}%{!?_platform_cpu:@host_cpu@} | 84 | +%_host_cpu %{?_platform_cpu}%{!?_platform_cpu:%{_arch}} |
52 | +%_host_vendor %{?_platform_vendor}%{!?_platform_vendor:@host_vendor@} | 85 | +%_host_vendor %{?_platform_vendor}%{!?_platform_vendor:%{_vendor}} |
53 | +%_host_os %{?_platform_os}%{!?_platform_os:@host_os@} | 86 | +%_host_os %{?_platform_os}%{!?_platform_os:%{_os}} |
87 | +%_host_gnu %{?_platform_gnu}%{!?_platform_gnu:%{_gnu}} | ||
54 | %_target %{_host} | 88 | %_target %{_host} |
55 | %_target_alias %{_host_alias} | 89 | %_target_alias %{_host_alias} |
56 | %_target_cpu %{_host_cpu} | 90 | %_target_cpu %{_host_cpu} |
91 | Index: rpm-5.4.9/python/rpmmodule.c | ||
92 | =================================================================== | ||
93 | --- rpm-5.4.9.orig/python/rpmmodule.c | ||
94 | +++ rpm-5.4.9/python/rpmmodule.c | ||
95 | @@ -65,8 +65,8 @@ static PyObject * archScore(PyObject * s | ||
96 | if (!PyArg_ParseTupleAndKeywords(args, kwds, "s", kwlist, &arch)) | ||
97 | return NULL; | ||
98 | |||
99 | -#if defined(RPM_VENDOR_WINDRIVER) | ||
100 | - platform = rpmExpand(arch, "-%{_host_vendor}", "-%{_host_os}%{?_gnu}", NULL); | ||
101 | +#if defined(RPM_VENDOR_WINDRIVER) || defined(RPM_VENDOR_POKY) | ||
102 | + platform = rpmExpand(arch, "-%{_host_vendor}", "-%{_host_os}%{?_host_gnu}%{!?_host_gnu:%{?_gnu}}", NULL); | ||
103 | #else | ||
104 | platform = rpmExpand(arch, "-", "%{_vendor}", "-", "%{_os}", NULL); | ||
105 | #endif | ||
diff --git a/meta/recipes-devtools/rpm/rpm_5.4.9.bb b/meta/recipes-devtools/rpm/rpm_5.4.9.bb index 7311d0e015..be76f2470a 100644 --- a/meta/recipes-devtools/rpm/rpm_5.4.9.bb +++ b/meta/recipes-devtools/rpm/rpm_5.4.9.bb | |||
@@ -43,7 +43,7 @@ LICENSE = "LGPLv2.1" | |||
43 | LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" | 43 | LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=2d5025d4aa3495befef8f17206a5b0a1" |
44 | 44 | ||
45 | DEPENDS = "libpcre attr acl popt ossp-uuid file bison-native" | 45 | DEPENDS = "libpcre attr acl popt ossp-uuid file bison-native" |
46 | PR = "r58" | 46 | PR = "r59" |
47 | 47 | ||
48 | # rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed | 48 | # rpm2cpio is a shell script, which is part of the rpm src.rpm. It is needed |
49 | # in order to extract the distribution SRPM into a format we can extract... | 49 | # in order to extract the distribution SRPM into a format we can extract... |
@@ -86,6 +86,11 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex | |||
86 | file://rpm-platform2.patch \ | 86 | file://rpm-platform2.patch \ |
87 | " | 87 | " |
88 | 88 | ||
89 | # Uncomment the following line to enable platform score debugging | ||
90 | # This is useful when identifying issues with Smart being unable | ||
91 | # to process certain package feeds. | ||
92 | #SRC_URI += "file://rpm-debug-platform.patch" | ||
93 | |||
89 | SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768" | 94 | SRC_URI[md5sum] = "60d56ace884340c1b3fcac6a1d58e768" |
90 | SRC_URI[sha256sum] = "bac7cc5bd9d0e8262fdc0099349924608da8f680f5cb243751f696552239dde8" | 95 | SRC_URI[sha256sum] = "bac7cc5bd9d0e8262fdc0099349924608da8f680f5cb243751f696552239dde8" |
91 | 96 | ||
@@ -150,7 +155,7 @@ PACKAGECONFIG[tcl] = "--with-tcl,--without-tcl,tcl," | |||
150 | PACAKGECONFIG[augeas] = "--with-augeas,--without-augeas,augeas," | 155 | PACAKGECONFIG[augeas] = "--with-augeas,--without-augeas,augeas," |
151 | 156 | ||
152 | EXTRA_OECONF += "--verbose \ | 157 | EXTRA_OECONF += "--verbose \ |
153 | --sysconfdir=/etc \ | 158 | --sysconfdir=${sysconfdir} \ |
154 | --with-file \ | 159 | --with-file \ |
155 | --with-path-magic=%{_usrlibrpm}/../../share/misc/magic.mgc \ | 160 | --with-path-magic=%{_usrlibrpm}/../../share/misc/magic.mgc \ |
156 | --with-syck=internal \ | 161 | --with-syck=internal \ |
@@ -226,7 +231,7 @@ FILES_${PN}-dbg += "${libdir}/rpm/.debug \ | |||
226 | 231 | ||
227 | FILES_${PN}-common = "${bindir}/rpm2cpio \ | 232 | FILES_${PN}-common = "${bindir}/rpm2cpio \ |
228 | ${bindir}/gendiff \ | 233 | ${bindir}/gendiff \ |
229 | /etc/rpm \ | 234 | ${sysconfdir}/rpm \ |
230 | /var/spool/repackage \ | 235 | /var/spool/repackage \ |
231 | " | 236 | " |
232 | 237 | ||
@@ -444,30 +449,30 @@ do_install_append() { | |||
444 | 449 | ||
445 | do_install_append_class-native() { | 450 | do_install_append_class-native() { |
446 | create_wrapper ${D}/${bindir}/rpm \ | 451 | create_wrapper ${D}/${bindir}/rpm \ |
447 | RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \ | 452 | RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \ |
448 | RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \ | 453 | RPM_ETCRPM='$'{RPM_ETCRPM-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/rpm} \ |
449 | RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale | 454 | RPM_LOCALEDIRRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/locale |
450 | 455 | ||
451 | create_wrapper ${D}/${bindir}/rpm2cpio \ | 456 | create_wrapper ${D}/${bindir}/rpm2cpio \ |
452 | RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \ | 457 | RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \ |
453 | RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \ | 458 | RPM_ETCRPM='$'{RPM_ETCRPM-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/rpm} \ |
454 | RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale | 459 | RPM_LOCALEDIRRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/locale |
455 | 460 | ||
456 | create_wrapper ${D}/${bindir}/rpmbuild \ | 461 | create_wrapper ${D}/${bindir}/rpmbuild \ |
457 | RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \ | 462 | RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \ |
458 | RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \ | 463 | RPM_ETCRPM='$'{RPM_ETCRPM-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/rpm} \ |
459 | RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale | 464 | RPM_LOCALEDIRRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/locale |
460 | 465 | ||
461 | create_wrapper ${D}/${bindir}/rpmconstant \ | 466 | create_wrapper ${D}/${bindir}/rpmconstant \ |
462 | RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \ | 467 | RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \ |
463 | RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \ | 468 | RPM_ETCRPM='$'{RPM_ETCRPM-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/rpm} \ |
464 | RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale | 469 | RPM_LOCALEDIRRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/locale |
465 | 470 | ||
466 | for rpm_binary in ${D}/${libdir}/rpm/bin/rpm*; do | 471 | for rpm_binary in ${D}/${libdir}/rpm/bin/rpm*; do |
467 | create_wrapper $rpm_binary | 472 | create_wrapper $rpm_binary |
468 | RPM_USRLIBRPM=${STAGING_LIBDIR_NATIVE}/rpm \ | 473 | RPM_USRLIBRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('libdir', True), d.getVar('bindir', True))}/rpm \ |
469 | RPM_ETCRPM=${STAGING_ETCDIR_NATIVE}/rpm \ | 474 | RPM_ETCRPM='$'{RPM_ETCRPM-'`dirname $''realpath`'/${@os.path.relpath(d.getVar('sysconfdir', True), d.getVar('bindir', True))}/rpm} \ |
470 | RPM_LOCALEDIRRPM=${STAGING_DATADIR_NATIVE}/locale | 475 | RPM_LOCALEDIRRPM='`dirname $''realpath`'/${@os.path.relpath(d.getVar('datadir', True), d.getVar('bindir', True))}/locale |
471 | done | 476 | done |
472 | 477 | ||
473 | # Adjust popt macros to match... | 478 | # Adjust popt macros to match... |