Bug 4532

Summary: 32-bit pam plugins not installed when added to 64-bit image
Product: [Build System, Metadata & Runtime] OE-Core Reporter: Ming Liu <ming.liu>
Component: coreAssignee: Hongxu Jia <hongxu.jia>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: Medium CC: hongxu.jia, meta.mr.watcher, meta.watcher, sgw, song.liu
Version: 1.4   
Target Milestone: 1.6 M5   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: No (bug/feature does not impact docs)

Description Ming Liu 2013-05-23 07:47:42 UTC
Test bases on commit aeb704fee8b4ffeaeddcdb36ae4e1d62c264ce42 of master:

Setting in local.conf:

MACHINE = "qemux86-64"
require conf/multilib.conf
MULTILIBS = "multilib:lib32"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
IMAGE_INSTALL += "lib32-libpam"

Build succeeded, after boot, checkout /lib/security folder for pam_*.so files installed by lib32-pam-plugin* packages, but there is none.
Comment 1 Hongxu Jia 2014-04-09 06:40:29 UTC
The commit (From OE-Core rev: d08e64a98316d7659b0fb56812667c534f66a1a8)
fix the 32-bit pam plugins not installed when added to 64-bit image.

But could not fix 64-bit pam plugins not installed when added to 32-bit image
Comment 2 Hongxu Jia 2014-04-09 06:41:35 UTC
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.