>>>>> On Sun, 28 Apr 2024, Florian Schmaus wrote: > --- a/eclass/texlive-common.eclass > +++ b/eclass/texlive-common.eclass > @@ -270,10 +270,18 @@ texlive-common_update_tlpdb() { > touch "${new_tlpdb}" || die > > if [[ -d "${tlpobj}" ]]; then > - find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 | > - sort -z | > - xargs -0 --no-run-if-empty cat >> "${new_tlpdb}" > - assert "generating tlpdb failed" > + all_tlpobjs() { > + find "${tlpobj}" -maxdepth 1 -type f -name "*.tlpobj" -print0 | > + sort -z > + assert "Error enumerating all tlpobj files" > + } > + ( > + while IFS="" read -d $'\0' -r f; do > + cat "${f}" || die "Failed to read ${f}" > + # Ensure there is an empty line between every tlpobj entry. > + echo > + done < <(all_tlpobjs) > + ) >> "${new_tlpdb}" > fi > > if [[ -f ${tlpdb} ]]; then Looks complicated. AFAICS a one-line change like the following would also do the job: - xargs -0 --no-run-if-empty cat >> "${new_tlpdb}" + xargs -0 --no-run-if-empty sed -s '$G' >> "${new_tlpdb}" Alternatively, "sed -s '$s/$/\n/'" would also work (but is longer and maybe harder to read). Ulrich