Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 1 | python-smartpm: Add checking for "rpm-ignoresize" option |
| 2 | |
| 3 | The do_rootfs takes a very long time when build host has mounted many NFS |
| 4 | devices. syscall lstat() was being called on every filesystem mounted on the |
| 5 | build host during building. |
| 6 | The reason for the lstat() is that rpm is verifying that enough free disk space |
| 7 | is available to do the install. However, since the install is into the target |
| 8 | rootfs it should not matter how much free space there is in the host mounts. |
| 9 | Add checking for "rpm-ignoresize", by it, smart can make whether RPM skip |
| 10 | checking for diskspace when install a rpm package. |
| 11 | |
| 12 | Upstream-Status: Pending |
| 13 | |
| 14 | Signed-off-by: wenlin.kang <wenlin.kang@windriver.com> |
| 15 | Signed-off-by: Chong Lu <Chong.Lu@windriver.com> |
| 16 | --- |
| 17 | smart/backends/rpm/pm.py | 4 ++++ |
| 18 | 1 file changed, 4 insertions(+) |
| 19 | |
Patrick Williams | d8c66bc | 2016-06-20 12:57:21 -0500 | [diff] [blame] | 20 | Index: git/smart/backends/rpm/pm.py |
| 21 | =================================================================== |
| 22 | --- git.orig/smart/backends/rpm/pm.py |
| 23 | +++ git/smart/backends/rpm/pm.py |
| 24 | @@ -233,6 +233,11 @@ class RPMPackageManager(PackageManager): |
| 25 | if sysconf.get("rpm-order"): |
| 26 | ts.order() |
| 27 | probfilter = rpm.RPMPROB_FILTER_OLDPACKAGE |
| 28 | + |
Patrick Williams | c124f4f | 2015-09-15 14:41:29 -0500 | [diff] [blame] | 29 | + if sysconf.get("rpm-ignoresize", False): |
| 30 | + probfilter |= rpm.RPMPROB_FILTER_DISKNODES |
| 31 | + probfilter |= rpm.RPMPROB_FILTER_DISKSPACE |
| 32 | + |
| 33 | if force or reinstall: |
| 34 | probfilter |= rpm.RPMPROB_FILTER_REPLACEPKG |
| 35 | probfilter |= rpm.RPMPROB_FILTER_REPLACEOLDFILES |