On 28/04/2024 14.13, Ulrich Mueller wrote:
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}"

That is exactly the feedback I was hoping for.

Thanks ulm.

Attachment: OpenPGP_0x8CAC2A9678548E35.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to