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): | |||
| 838 | % prefer_color) | 838 | % prefer_color) |
| 839 | 839 | ||
| 840 | self._invoke_smart(cmd) | 840 | self._invoke_smart(cmd) |
| 841 | self._invoke_smart('config --set rpm-ignoresize=1') | ||
| 841 | 842 | ||
| 842 | # Write common configuration for host and target usage | 843 | # Write common configuration for host and target usage |
| 843 | self._invoke_smart('config --set rpm-nolinktos=1') | 844 | 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 @@ | |||
| 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 | |||
| 20 | diff --git a/smart/backends/rpm/pm.py b/smart/backends/rpm/pm.py | ||
| 21 | index 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 | -- | ||
| 36 | 1.9.1 | ||
| 37 | |||
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 = "\ | |||
| 33 | file://smart-attempt.patch \ | 33 | file://smart-attempt.patch \ |
| 34 | file://smart-filename-NAME_MAX.patch \ | 34 | file://smart-filename-NAME_MAX.patch \ |
| 35 | file://smart-rpm4-fixes.patch \ | 35 | file://smart-rpm4-fixes.patch \ |
| 36 | file://smart-add-for-rpm-ignoresize-check.patch \ | ||
| 36 | " | 37 | " |
| 37 | 38 | ||
| 38 | SRC_URI[md5sum] = "573ef32ba177a6b3c4bf7ef04873fcb6" | 39 | SRC_URI[md5sum] = "573ef32ba177a6b3c4bf7ef04873fcb6" |
