diff options
author | Hongxu Jia <hongxu.jia@windriver.com> | 2014-04-09 16:56:44 +0800 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-04-09 14:31:14 +0100 |
commit | b0bf00125192a72cb1630494a4a53a71b492287f (patch) | |
tree | 3b73731b46be54223ea1c9b1a3329a134704f7b1 /meta | |
parent | bb20d3afbf0ee0319ef067c7ba48998d57f33f64 (diff) | |
download | poky-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.bb | 26 |
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 | ||
63 | PACKAGES_DYNAMIC += "^pam-plugin-.*" | 63 | PACKAGES_DYNAMIC += "^pam-plugin-.*" |
64 | 64 | ||
65 | RPROVIDES_${PN} += "libpam-${baselib}" | 65 | def get_multilib_bit(d): |
66 | RPROVIDES_${PN}-runtime += "libpam-runtime-${baselib}" | 66 | baselib = d.getVar('baselib', True) or '' |
67 | return baselib.replace('lib', '') | ||
67 | 68 | ||
68 | RDEPENDS_${PN}-runtime = "libpam-${baselib} pam-plugin-deny-${baselib} pam-plugin-permit-${baselib} pam-plugin-warn-${baselib} pam-plugin-unix-${baselib}" | 69 | libpam_suffix = "suffix${@get_multilib_bit(d)}" |
69 | RDEPENDS_${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 | |
70 | RRECOMMENDS_${PN} = "libpam-runtime-${baselib}" | 71 | RPROVIDES_${PN} += "libpam-${libpam_suffix}" |
72 | RPROVIDES_${PN}-runtime += "libpam-runtime-${libpam_suffix}" | ||
73 | |||
74 | RDEPENDS_${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}" | ||
75 | RDEPENDS_${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" | ||
76 | RRECOMMENDS_${PN} = "libpam-runtime-${libpam_suffix}" | ||
71 | 77 | ||
72 | python populate_packages_prepend () { | 78 | python 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) |