diff options
Diffstat (limited to 'import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-add-for-rpm-ignoresize-check.patch')
-rw-r--r-- | import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-add-for-rpm-ignoresize-check.patch | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-add-for-rpm-ignoresize-check.patch b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-add-for-rpm-ignoresize-check.patch new file mode 100644 index 000000000..fe98d070d --- /dev/null +++ b/import-layers/yocto-poky/meta/recipes-devtools/python/python-smartpm/smart-add-for-rpm-ignoresize-check.patch @@ -0,0 +1,35 @@ +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(+) + +Index: git/smart/backends/rpm/pm.py +=================================================================== +--- git.orig/smart/backends/rpm/pm.py ++++ git/smart/backends/rpm/pm.py +@@ -233,6 +233,11 @@ class RPMPackageManager(PackageManager): + if sysconf.get("rpm-order"): + ts.order() + probfilter = rpm.RPMPROB_FILTER_OLDPACKAGE ++ ++ 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 |