diff options
3 files changed, 39 insertions, 0 deletions
diff --git a/meta/lib/oe/package_manager.py b/meta/lib/oe/package_manager.py index 27fdf26e07..ffb83b2cba 100644 --- a/meta/lib/oe/package_manager.py +++ b/meta/lib/oe/package_manager.py @@ -838,6 +838,7 @@ class RpmPM(PackageManager): % prefer_color) self._invoke_smart(cmd) + self._invoke_smart('config --set rpm-ignoresize=1') # Write common configuration for host and target usage self._invoke_smart('config --set rpm-nolinktos=1') diff --git a/meta/recipes-devtools/python/python-smartpm/smart-add-for-rpm-ignoresize-check.patch b/meta/recipes-devtools/python/python-smartpm/smart-add-for-rpm-ignoresize-check.patch new file mode 100644 index 0000000000..8a27f2583a --- /dev/null +++ b/meta/recipes-devtools/python/python-smartpm/smart-add-for-rpm-ignoresize-check.patch @@ -0,0 +1,37 @@ +python-smartpm: Add checking for "rpm-ignoresize" option + +The do_rootfs takes a very long time when build host has mounted many NFS +devices. syscall lstat() was being called on every filesystem mounted on the +build host during building. +The reason for the lstat() is that rpm is verifying that enough free disk space +is available to do the install. However, since the install is into the target +rootfs it should not matter how much free space there is in the host mounts. +Add checking for "rpm-ignoresize", by it, smart can make whether RPM skip +checking for diskspace when install a rpm package. + +Upstream-Status: Pending + +Signed-off-by: wenlin.kang <wenlin.kang@windriver.com> +Signed-off-by: Chong Lu <Chong.Lu@windriver.com> +--- + smart/backends/rpm/pm.py | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/smart/backends/rpm/pm.py b/smart/backends/rpm/pm.py +index 5da9ee6..f0488ec 100644 +--- a/smart/backends/rpm/pm.py ++++ b/smart/backends/rpm/pm.py +@@ -241,6 +241,10 @@ class RPMPackageManager(PackageManager): + except AttributeError: + probfilter |= rpm.RPMPROB_FILTER_IGNOREARCH + ++ if sysconf.get("rpm-ignoresize", False): ++ probfilter |= rpm.RPMPROB_FILTER_DISKNODES ++ probfilter |= rpm.RPMPROB_FILTER_DISKSPACE ++ + if force or reinstall: + probfilter |= rpm.RPMPROB_FILTER_REPLACEPKG + probfilter |= rpm.RPMPROB_FILTER_REPLACEOLDFILES +-- +1.9.1 + 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 f2eb33d3a3..c75f10fbf3 100644 --- a/meta/recipes-devtools/python/python-smartpm_1.4.1.bb +++ b/meta/recipes-devtools/python/python-smartpm_1.4.1.bb @@ -33,6 +33,7 @@ SRC_URI = "\ file://smart-attempt.patch \ file://smart-filename-NAME_MAX.patch \ file://smart-rpm4-fixes.patch \ + file://smart-add-for-rpm-ignoresize-check.patch \ " SRC_URI[md5sum] = "573ef32ba177a6b3c4bf7ef04873fcb6" |