Gentoo Archives: gentoo-portage-dev

From: Zac Medico <zmedico@g.o>
To: gentoo-portage-dev@l.g.o
Cc: Patrick McLean <chutzpah@g.o>, Zac Medico <zmedico@g.o>
Subject: [gentoo-portage-dev] [PATCH] ecompress: fix "Argument list too long" for sed (bug 727522)
Date: Wed, 24 Jun 2020 00:36:41
Message-Id: 20200624003614.33001-1-zmedico@gentoo.org
1 From: Patrick McLean <chutzpah@g.o>
2
3 Use sed -f to feed commands to sed via stdin, in order to avoid
4 the "Argument list too long" error reported in bug 727522.
5
6 Fixes: 5508bf7a6db5 ("ecompress: ignore docompress -x files in precompressed QA check (bug 721516)")
7 Bug: https://bugs.gentoo.org/727522
8 Signed-off-by: Zac Medico <zmedico@g.o>
9 ---
10 bin/ecompress | 5 +++--
11 1 file changed, 3 insertions(+), 2 deletions(-)
12
13 diff --git a/bin/ecompress b/bin/ecompress
14 index 7aabc8e4c..1ab07ccd7 100755
15 --- a/bin/ecompress
16 +++ b/bin/ecompress
17 @@ -38,9 +38,10 @@ while [[ $# -gt 0 ]] ; do
18 if [[ ${#skip_files[@]} -gt 0 && -s ${T}/.ecompress_had_precompressed ]]; then
19 sed_args=()
20 for f in "${skip_files[@]}"; do
21 - sed_args+=(-e "s|^${f}\$||")
22 + sed_args+=("s|^${f}\$||;")
23 done
24 - sed "${sed_args[@]}" -e '/^$/d' -i "${T}/.ecompress_had_precompressed" || die
25 + sed_args+=('/^$/d')
26 + sed -f - -i "${T}/.ecompress_had_precompressed" <<< "${sed_args[@]}" || die
27 fi
28
29 exit 0
30 --
31 2.25.3

Replies