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