Skip to contentSkip to conversation

opkg-utils: Add support for pigz

PATCH Superseded Mike Crowe 2 participants 3 messages Oct 5, 2018

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore

Mike Crowe

author
#0 lore raw

PATCH 1/1 opkg-utils: Add support for pigz

Support explicit use of pigz when compressing the package contents by setting:

OPKGBUILDCMD = "opkg-build -Z pigz"

---
 .../opkg-utils/opkg-utils/pigz.patch               | 51 ++++++++++++++++++++++
 .../opkg-utils/opkg-utils_0.3.6.bb                 |  1 +
 2 files changed, 52 insertions(+)
 create mode 100644 meta/recipes-devtools/opkg-utils/opkg-utils/pigz.patch
meta/recipes-devtools/opkg-utils/opkg-utils/pigz.patch new file +51 -0
new file mode 100644
index 0000000000..2d8ed8fa8e
@@ -0,0 +1,51 @@
+From ab1436927b47badcd219a5f075dfc848020e061d Mon Sep 17 00:00:00 2001
+From: Mike Crowe <[email protected]>
+Date: Thu, 4 Oct 2018 17:54:19 +0100
+Subject: [opkg-utils PATCH] opkg-build: Add support for explicit use of pigz
+To: [email protected],
+    [email protected]
+
+oe-core has stopped[1] installing pigz as gzip. This means that in
+order to persuade opkg-build to use pigz it must be specified
+explicitly. Let's teach opkg-build to deal with being passed pigz as a
+compressor.
+
+We can't combine the check for whether -T is required with the one for
+gzip because opkg-build needs to call $compressor and gzip separately
+to construct the package.
+
+[1] http://lists.openembedded.org/pipermail/openembedded-commits/2018-February/218767.html
+
+Upstream-status: Submitted https://groups.google.com/forum/#!topic/opkg-devel/E0WVOhjK61w
+Signed-off-by: Mike Crowe <[email protected]>
+---
+ opkg-build | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/opkg-build b/opkg-build
+index 93a7956..f8403ea 100755
+--- a/opkg-build
++++ b/opkg-build
+@@ -170,7 +170,7 @@ fi
+ 
+ compressor_ext() {
+     case $1 in
+-	gzip)
++	gzip|pigz)
+ 	    echo gz
+ 	    ;;
+ 	bzip2)
+@@ -232,6 +232,10 @@ if [ $compressor = "gzip" ] ; then
+ 	compressorargs=$zipargs
+ elif [ $compressor = "xz" ] ; then
+ 	compressorargs="--threads 0"
++elif [ $compressor = "pigz" ] ; then
++	if $compressor --help 2>&1 | grep -- "-T" > /dev/null; then
++		compressorargs="-9nT"
++	fi
+ fi
+ 
+ tsortargs=
+-- 
+2.11.0
+
meta/recipes-devtools/opkg-utils/opkg-utils_0.3.6.bb +1 -0
index 0487c5f305..cb3775d9c9 100644
@@ -12,6 +12,7 @@ SRC_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/${BPN}/snapshot/${BPN}-${PV
            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 \
+           file://pigz.patch \
 "
 SRC_URI_append_class-native = " file://tar_ignore_error.patch"
 UPSTREAM_CHECK_URI = "http://git.yoctoproject.org/cgit/cgit.cgi/opkg-utils/refs/"
Signature · 1 line
2.11.0
author
#1 lore raw

PATCH 1/1 gcc: Remove unnecessary --with-mpfr and --with-mpc when cross compiling

Passing --with-mpfr and --with-mpc when compiling the cross compiler appears to be at best unnecessary, and at worst can cause build failures.

Firstly, the paths passed in gcc-cross-canadian are using the undefined ${layout_exec_prefix}. This results in configure passing -I${STAGING_DIR_HOST}/include twice to the compiler when it's doing its test builds. This is mostly pointless since that directory doesn't exist with the default oe-core configuration - the correct path would be -I${STAGING_DIR_HOST}/usr/include.

The path for mpfr passed in gcc-cross is correct, but unnecessary since it is just the sysroot default.

I've gone back through the history, and it seems that these lines (or similar ones) were originally added way back in 8800d8be25295dd7c7d84dde62c3be4df8e43346 for GCC 4.1.1 in 2006! I asked[1] if anyone knew why this was necessary but received no response, so I can only assume that no-one knows.

I've successfully built for various targets with this patch applied and observed no problems.

[1] http://lists.openembedded.org/pipermail/openembedded-core/2018-September/155971.html

---
 meta/recipes-devtools/gcc/gcc-cross-canadian.inc | 5 -----
 meta/recipes-devtools/gcc/gcc-cross.inc          | 1 -
 2 files changed, 6 deletions(-)
meta/recipes-devtools/gcc/gcc-cross-canadian.inc +0 -5
index bdd6f7ec82..2f32d3407f 100644
@@ -160,11 +160,6 @@ SYSTEMLIBS1 = "${target_libdir}/"
 
 EXTRA_OECONF += "--enable-poison-system-directories"
 
-EXTRA_OECONF += "\
-    --with-mpfr=${STAGING_DIR_HOST}${layout_exec_prefix} \
-    --with-mpc=${STAGING_DIR_HOST}${layout_exec_prefix} \
-"
-
 EXTRA_OECONF_append_libc-baremetal = " --without-headers"
 EXTRA_OECONF_remove_libc-baremetal = "--with-sysroot=/not/exist"
 EXTRA_OECONF_remove_libc-baremetal = "--with-build-sysroot=${STAGING_DIR_TARGET}"
meta/recipes-devtools/gcc/gcc-cross.inc +0 -1
index 95f5968fd4..89b19684be 100644
@@ -28,7 +28,6 @@ EXTRA_OECONF_append_sh4 = " \
 "
 
 EXTRA_OECONF += "\
-    --with-mpfr=${STAGING_DIR_NATIVE}${prefix_native} \
     --with-system-zlib \
 "
 
Signature · 1 line
2.11.0
#2 lore raw

✗ patchtest: failure for opkg-utils: Add support for pigz

In reply to Mike Crowe

== Series Details ==

Series: opkg-utils: Add support for pigz
Revision: 1
URL : https://patchwork.openembedded.org/series/14385/
State : failure

== Summary ==

Thank you for submitting this patch series to OpenEmbedded Core. This is an automated response. Several tests have been executed on the proposed series by patchtest resulting in the following failures:

* Issue Upstream-Status is Submitted, but it is not mentioned where [test_upstream_status_presence_format]

  Suggested fix    Include where pigz.patch was submitted
  Current          Upstream-status: Submitted https://groups.google.com/forum/#!topic/opkg-devel/E0WVOhjK61w
  Standard format  Upstream-Status: Submitted [where]

If you believe any of these test results are incorrect, please reply to the mailing list ([email protected]) raising your concerns. Otherwise we would appreciate you correcting the issues and submitting a new version of the patchset if applicable. Please ensure you add/increment the version number when sending the new version (i.e. [PATCH] -> [PATCH v2] -> [PATCH v3] -> ...).

---

Guidelines:     https://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines
Test framework: http://git.yoctoproject.org/cgit/cgit.cgi/patchtest
Test suite:     http://git.yoctoproject.org/cgit/cgit.cgi/patchtest-oe