summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorHongxu Jia <hongxu.jia@windriver.com>2014-04-09 16:56:44 +0800
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-04-09 14:31:14 +0100
commitb0bf00125192a72cb1630494a4a53a71b492287f (patch)
tree3b73731b46be54223ea1c9b1a3329a134704f7b1 /meta
parentbb20d3afbf0ee0319ef067c7ba48998d57f33f64 (diff)
downloadpoky-b0bf00125192a72cb1630494a4a53a71b492287f.tar.gz
libpam: fix 64-bit pam plugins not installed when add to 32-bit image
While the BSP is configured as a 64-bit kernel and 32-bit userspace, add a 64-bit version of libpam to the filesystem, there was a failure: ... | Computing transaction...error: Can't install pam-plugin-unix-1.1.6-r2@lib64_x86_64: no package provides libpam-lib64 | | Saving cache... ... While using 'lib64' as the multilib suffix of libpam RPROVIDES , the RPROVIDES was overridden by map_depends_variable in classextend.py. ... $RPROVIDES_lib64-libpam [2 operations] set data_smart.py:429 [finalize] " libpam-${baselib}" set classextend.py:71 [map_depends_variable]4532 "lib64-libpam" computed: "lib64-libpam" RPROVIDES_lib64-libpam="lib64-libpam" ... Rename the suffix could fix this issue. [YOCTO #4532] (From OE-Core rev: 77e3d60fa00a41424fe65977b2bf307727a5a26c) Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
-rw-r--r--meta/recipes-extended/pam/libpam_1.1.6.bb26
1 files changed, 16 insertions, 10 deletions
diff --git a/meta/recipes-extended/pam/libpam_1.1.6.bb b/meta/recipes-extended/pam/libpam_1.1.6.bb
index 61aa0a1ddd..7c0111fb04 100644
--- a/meta/recipes-extended/pam/libpam_1.1.6.bb
+++ b/meta/recipes-extended/pam/libpam_1.1.6.bb
@@ -62,12 +62,18 @@ FILES_${PN}-xtests = "${datadir}/Linux-PAM/xtests"
62 62
63PACKAGES_DYNAMIC += "^pam-plugin-.*" 63PACKAGES_DYNAMIC += "^pam-plugin-.*"
64 64
65RPROVIDES_${PN} += "libpam-${baselib}" 65def get_multilib_bit(d):
66RPROVIDES_${PN}-runtime += "libpam-runtime-${baselib}" 66 baselib = d.getVar('baselib', True) or ''
67 return baselib.replace('lib', '')
67 68
68RDEPENDS_${PN}-runtime = "libpam-${baselib} pam-plugin-deny-${baselib} pam-plugin-permit-${baselib} pam-plugin-warn-${baselib} pam-plugin-unix-${baselib}" 69libpam_suffix = "suffix${@get_multilib_bit(d)}"
69RDEPENDS_${PN}-xtests = "libpam-${baselib} pam-plugin-access-${baselib} pam-plugin-debug-${baselib} pam-plugin-cracklib-${baselib} pam-plugin-pwhistory-${baselib} pam-plugin-succeed-if-${baselib} pam-plugin-time-${baselib} coreutils" 70
70RRECOMMENDS_${PN} = "libpam-runtime-${baselib}" 71RPROVIDES_${PN} += "libpam-${libpam_suffix}"
72RPROVIDES_${PN}-runtime += "libpam-runtime-${libpam_suffix}"
73
74RDEPENDS_${PN}-runtime = "libpam-${libpam_suffix} pam-plugin-deny-${libpam_suffix} pam-plugin-permit-${libpam_suffix} pam-plugin-warn-${libpam_suffix} pam-plugin-unix-${libpam_suffix}"
75RDEPENDS_${PN}-xtests = "libpam-${libpam_suffix} pam-plugin-access-${libpam_suffix} pam-plugin-debug-${libpam_suffix} pam-plugin-cracklib-${libpam_suffix} pam-plugin-pwhistory-${libpam_suffix} pam-plugin-succeed-if-${libpam_suffix} pam-plugin-time-${libpam_suffix} coreutils"
76RRECOMMENDS_${PN} = "libpam-runtime-${libpam_suffix}"
71 77
72python populate_packages_prepend () { 78python populate_packages_prepend () {
73 def pam_plugin_append_file(pn, dir, file): 79 def pam_plugin_append_file(pn, dir, file):
@@ -78,21 +84,21 @@ python populate_packages_prepend () {
78 d.setVar('FILES_' + pn, nf) 84 d.setVar('FILES_' + pn, nf)
79 85
80 def pam_plugin_hook(file, pkg, pattern, format, basename): 86 def pam_plugin_hook(file, pkg, pattern, format, basename):
81 baselib = d.getVar('baselib', True) 87 libpam_suffix = d.getVar('libpam_suffix', True)
82 mlprefix = d.getVar('MLPREFIX', True) or '' 88 mlprefix = d.getVar('MLPREFIX', True) or ''
83 89
84 rdeps = d.getVar('RDEPENDS_' + pkg, True) 90 rdeps = d.getVar('RDEPENDS_' + pkg, True)
85 if rdeps: 91 if rdeps:
86 rdeps = rdeps + " " + mlprefix + "libpam-" + baselib 92 rdeps = rdeps + " " + mlprefix + "libpam-" + libpam_suffix
87 else: 93 else:
88 rdeps = mlprefix + "libpam-" + baselib 94 rdeps = mlprefix + "libpam-" + libpam_suffix
89 d.setVar('RDEPENDS_' + pkg, rdeps) 95 d.setVar('RDEPENDS_' + pkg, rdeps)
90 96
91 provides = d.getVar('RPROVIDES_' + pkg, True) 97 provides = d.getVar('RPROVIDES_' + pkg, True)
92 if provides: 98 if provides:
93 provides = provides + " " + pkg + "-" + baselib 99 provides = provides + " " + pkg + "-" + libpam_suffix
94 else: 100 else:
95 provides = pkg + "-" + baselib 101 provides = pkg + "-" + libpam_suffix
96 d.setVar('RPROVIDES_' + pkg, provides) 102 d.setVar('RPROVIDES_' + pkg, provides)
97 103
98 dvar = bb.data.expand('${WORKDIR}/package', d, True) 104 dvar = bb.data.expand('${WORKDIR}/package', d, True)