| Summary: |
mkfs.ext4-native compiles with hardcoded .conf file location that is not valid if a shared sstate feed is used |
| Product: |
[Build System, Metadata & Runtime] OE-Core
|
Reporter: |
Rob Anders <rob.anders> |
| Component: |
devtools / tool chain | Assignee: |
Rob Anders <rob.anders> |
| Status: |
RESOLVED
WONTFIX
|
QA Contact: |
|
| Severity: |
minor
|
|
|
| Priority: |
Medium
|
CC: |
meta.mr.watcher, meta.watcher, sgw
|
| Version: |
1.6.1 | |
|
| Target Milestone: |
1.8 M4 | |
|
| Hardware: |
x86 | |
|
| OS: |
Multiple | |
|
| Whiteboard: |
|
|
OS type for building Yocto:
|
---
|
Type of Regression:
|
---
|
|
Verified:
|
|
Documentation change:
|
Don't know
|
mkfs.ext4 compiles in a fixed location for mke2fs.conf using the value of $sysconfdir at build time. However, if the e2fsprogs package is being shared across multiple build environments using a shared sstate package feed (ie, SSTATE_MIRRORS is set), then this mkfs.ext4 can end up in a completely different build environment, still referencing the absolute path to mke2fs.conf in the original build environment where it was compiled. This can lead to one of two outcomes: - If the original mke2fs.conf no longer exits, mkfs.ext4 silently fails to open it and proceeds (I'm not sure what sort of default values it then uses or the impact of not referencing the actual file in the local environment) - If the original mke2fs.conf exists, but has no read permissions for the user running mkfs.ext4, then mkfs.ext4 fails. It seems the ideal situation would be to add this line to the do_install of e2fsprogs.bb: create_wrapper ${D}/${base_sbindir}/mkfs.ext4 MKE2FS_CONFIG=$sysconfdir/../etc/mke2fs.conf Except that the create_image.ext4 script does not export $sysconfdir, do this doesn't work.