• issues building compendia at least since tye upgraded to bullseye

    From Laura Arjona Reina@21:1/5 to All on Sat Dec 17 21:50:01 2022
    Hello all

    Since we upgraded tye (i18n.debian.org) to bullseye, we're having an
    issue building compendia.

    The script that has the issue is here:

    https://salsa.debian.org/l10n-team/compendia/-/blob/master/createcompendium

    and, for every language, the line 28:

    msgcat -o "$OUTDIR/compendium-$MSGLANG-stamp$STAMP.po" $POTMPDIR/*.po

    tries to concatenate all the .po files and is run (see logs and output
    in https://i18n.debian.org/compendia ) but for some reason it returns
    with non-zero exit code, so the error message in line 29:

    echo "EEE: failed to generate $OUTDIR/compendium-$MSGLANG-stamp$STAMP.po"

    is written to the log file, and then the program exits.

    The script has additional lines (37 to 40) to remove old compendium*.po
    files when the generation is correct, and make a symbolic link for the
    latest compendium. But the msgcat command exits with non-zero, so these
    lines are not run.

    However, the msgcat command indeeds generates a compendium-$MSGLANG-stamp$STAMP.po file (maybe malformed, not sure), so
    they pile up in tye.debian.org and if nobody removes them, we end after
    one week with no free space in the server (and the rest of the scripts
    start to fail).

    I had a look at this some days ago and removed the old compendium*.po
    files, but didn't realise that the current compendium generated files
    were maybe malformed. Today I just downloaded the Spanish one and
    couldn't open it with POEdit. msgfmt produced a .mo file but if it's run
    with -c option, it returns 36 fatal errors. I have downloaded the Farsi
    one and it's opened with POEdit (it shows errors in the header and in
    the strings, but it is "understood" at least).

    I never used compendium files so I don't know how to check if the
    generated ones are useful or not.

    I don't know if anybody else uses compendia, and I don't know if anybody
    with more knowledge of msgcat and scripts can have a look at this issue.
    I guess that msgcat before bullseye was less strict and now things that
    maybe before were a warning now return error. My proposal to workaround
    the space issue in tye would be to include the lines removing old files
    in any case (wether we success or fail generating the compendium files).

    If anybody has a better idea, please go ahead. If no other comments, I
    would apply the change in some days (and for now, remove the old .po
    files manually).

    If you have no access to tye.debian.org and want me to check anything,
    ping me in IRC and will reply ASAP.

    Kind regards,

    --
    Laura Arjona Reina
    https://wiki.debian.org/LauraArjona

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)