commit: 2f21153a85d43ea466a3289a833f35f1049314cf
Author: Patrick McLean <chutzpah <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 24 00:25:07 2020 +0000
Commit: Zac Medico <zmedico <AT> gentoo <DOT> org>
CommitDate: Wed Jun 24 00:33:00 2020 +0000
URL: https://gitweb.gentoo.org/proj/portage.git/commit/?id=2f21153a
ecompress: fix "Argument list too long" for sed (bug 727522)
Use sed -f to feed commands to sed via stdin, in order to avoid
the "Argument list too long" error reported in bug 727522.
Fixes: 5508bf7a6db5 ("ecompress: ignore docompress -x files in precompressed QA
check (bug 721516)")
Bug: https://bugs.gentoo.org/727522
Signed-off-by: Zac Medico <zmedico <AT> gentoo.org>
bin/ecompress | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/bin/ecompress b/bin/ecompress
index 7aabc8e4c..1ab07ccd7 100755
--- a/bin/ecompress
+++ b/bin/ecompress
@@ -38,9 +38,10 @@ while [[ $# -gt 0 ]] ; do
if [[ ${#skip_files[@]} -gt 0 && -s
${T}/.ecompress_had_precompressed ]]; then
sed_args=()
for f in "${skip_files[@]}"; do
- sed_args+=(-e "s|^${f}\$||")
+ sed_args+=("s|^${f}\$||;")
done
- sed "${sed_args[@]}" -e '/^$/d' -i
"${T}/.ecompress_had_precompressed" || die
+ sed_args+=('/^$/d')
+ sed -f - -i "${T}/.ecompress_had_precompressed" <<<
"${sed_args[@]}" || die
fi
exit 0