blob: fe98d070d33246793d0b1eb6132716975a713ca8 [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
Patrick Williamsd8c66bc2016-06-20 12:57:21 -050020Index: 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 Williamsc124f4f2015-09-15 14:41:29 -050029+ 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