From 4622c79b0a1bad6dd0c741f3d10fbc987e4f565e Mon Sep 17 00:00:00 2001 From: Fabian Groffen Date: Fri, 13 Nov 2020 10:30:53 +0100 Subject: 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 --- qmerge.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'qmerge.c') diff --git a/qmerge.c b/qmerge.c index 143c4f3..36d3596 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) */ -- cgit v1.2.3-65-gdbad