[OE-core] [PATCH] opkg-utils: use multithreaded xz when building packages

Ross Burton ross.burton at intel.com
Mon Mar 19 13:27:06 UTC 2018


Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 .../opkg-utils/opkg-utils/threaded-xz.patch            | 18 ++++++++++++++++++
 meta/recipes-devtools/opkg-utils/opkg-utils_0.3.6.bb   |  1 +
 2 files changed, 19 insertions(+)
 create mode 100644 meta/recipes-devtools/opkg-utils/opkg-utils/threaded-xz.patch

diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils/threaded-xz.patch b/meta/recipes-devtools/opkg-utils/opkg-utils/threaded-xz.patch
new file mode 100644
index 00000000000..13a49f9170b
--- /dev/null
+++ b/meta/recipes-devtools/opkg-utils/opkg-utils/threaded-xz.patch
@@ -0,0 +1,18 @@
+Pass --threads=0 to xz so that it will use as many threads as there are cores to compress the packages.  This makes qemu's do_package_ipk run in 34s instead of 275s on my machine.
+
+Upstream-Status: Inappropriate (ugly but works, discussing with upstream now)
+Signed-off-by: Ross Burton <ross.burton at intel.com>
+
+diff --git a/opkg-build b/opkg-build
+index 0050c2b..93a7956 100755
+--- a/opkg-build
++++ b/opkg-build
+@@ -230,6 +230,8 @@ if gzip --help 2>&1 | grep -- "-T" > /dev/null; then
+ fi
+ if [ $compressor = "gzip" ] ; then
+ 	compressorargs=$zipargs
++elif [ $compressor = "xz" ] ; then
++	compressorargs="--threads 0"
+ fi
+ 
+ tsortargs=
diff --git a/meta/recipes-devtools/opkg-utils/opkg-utils_0.3.6.bb b/meta/recipes-devtools/opkg-utils/opkg-utils_0.3.6.bb
index 081d8d8b7d3..0487c5f3059 100644
--- a/meta/recipes-devtools/opkg-utils/opkg-utils_0.3.6.bb
+++ b/meta/recipes-devtools/opkg-utils/opkg-utils_0.3.6.bb
@@ -11,6 +11,7 @@ SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV
            file://0001-Switch-all-scripts-to-use-Python-3.x.patch \
            file://0001-Only-use-sort-name-on-versions-of-tar-which-support-.patch \
            file://0002-opkg-build-Use-local-time-for-build_date-since-opkg-.patch \
+           file://threaded-xz.patch \
 "
 SRC_URI_append_class-native = " file://tar_ignore_error.patch"
 UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/"
-- 
2.11.0




More information about the Openembedded-core mailing list