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