aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFabian Groffen <grobian@gentoo.org>2020-11-13 10:30:53 +0100
committerFabian Groffen <grobian@gentoo.org>2020-11-13 10:30:53 +0100
commit4622c79b0a1bad6dd0c741f3d10fbc987e4f565e (patch)
treebf948a65f463dfcab19484c9ae0b7936f27c0975 /qmerge.c
parentqlop: adapt terminating/exiting logic somewhat (diff)
downloadportage-utils-4622c79b0a1bad6dd0c741f3d10fbc987e4f565e.tar.gz
portage-utils-4622c79b0a1bad6dd0c741f3d10fbc987e4f565e.tar.bz2
portage-utils-4622c79b0a1bad6dd0c741f3d10fbc987e4f565e.zip
qmerge: don't call zstd with --long=31 on 32-bits platforms
32-bits recent versions of zstd do not grok this argument, so just drop it for those platforms Bug: https://bugs.gentoo.org/754102 Signed-off-by: Fabian Groffen <grobian@gentoo.org>
Diffstat (limited to 'qmerge.c')
-rw-r--r--qmerge.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/qmerge.c b/qmerge.c
index 143c4f3f..36d35963 100644
--- a/qmerge.c
+++ b/qmerge.c
@@ -1191,8 +1191,17 @@ pkg_merge(int level, const depend_atom *atom, const struct pkg_t *pkg)
* --long=xx where xx>27. The option is "safe" in the sense
* that not more memory is allocated than what is really
* needed to decompress the file. See
- * https://bugs.gentoo.org/show_bug.cgi?id=634980 */
+ * https://bugs.gentoo.org/show_bug.cgi?id=634980,
+ * however, on 32-bits arches this yields an parameter
+ * out of bound error:
+ * https://bugs.gentoo.org/show_bug.cgi?id=710444
+ * https://bugs.gentoo.org/show_bug.cgi?id=754102
+ * so only do this on 64-bits systems */
+#if SIZEOF_SIZE_T >= 8
compr = "zstd --long=31 -dc";
+#else
+ compr = "zstd -dc";
+#endif
/* If really tar -I would be used we would have to quote:
* compr = "I \"zstd --long=31\"";
* But actually we use a pipe (see below) */