[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#748962: texlive-bastexlive-base: fmtutil-sys --all may not return error exit code under low free space condition.



Hi,

Thank you for your comment and all the help.
I will bring the discussion to TeX Live mailing list then.

A few comments below.

On Fri, May 23, 2014 at 8:24 AM, Norbert Preining <preining@logic.at> wrote:
Hi

thanks for your bug report and analysis, but could you please
send this to
        tex-live@tug.org
Of course I can forward it, but then the discussion would probably
be held between me and upstream TeX Live, and there will be
quite some discussion. You can drop the whole Debian specific
part (if you want).

Some remarks only on the patches:
>  verbose()
>  {
> -  $mktexfmtMode && ${1+"$@"} >&2 || ${1+"$@"}
> +  if $mktexfmtMode
> +  then
> +    ${1+"$@"} >&2;
> +  else
> +    ${1+"$@"};
> +  fi
>  }

I see your point here, but I am far from convinced. Thomas Esser wrote
this part *long*long* time ago, and he is known for excellent
programming work. He surely had an intention behind this code,
otherwise he would not write it like that.

It is possible then Thomas Esser wrote this way so that
the command is executed TWICE explicitly in the face of
failure. The command is idempotent (in the sense that it can be run twice without
ill-effect) and so should be OK, and that he may have surmised that the second
execution would print error message to console (unlike the re-directed execution on LHS of "||").

But I would prefer that this be explicitly "documented" for maintenance reason.
In that sense, my mundane rewrite may need a  suitable modification for the extra second-time execution which Thomas Esser may have intended.

>    if test -f "$fmtfile"; then
>      grep '^! ' $format.log >/dev/null 2>&1 &&
> -      log_warning "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."
> +      log_failure "\`$engine -ini $tcxflag $jobswitch $prgswitch $texargs' possibly failed."

I am not sure - but probably this makes sense in Debian, but not
anywhere else. The problem is we don't want fmtutil to stop
but continue building other formats.

Imagine root calling
        fmtutil-sys --all
to rebuild all formats, and one is failing. Then we don't want to
stop there, but continue building, right?

 
You are right. My point here was that the script seems to "forget" that the
error was there during the re-production of the whole set of .fmt files, and
did not return error code (my casual reading. Maybe I am wrong.) at the end.
I think it should.

I will propose a rewrite that log_warning would keep the error code and
return it at the end. (Maybe it did this way already, but it doesn't look so after my casual reading.)
 
Same with the other log_warning/_failure change

Norbert


Thank you again. I noticed by reading tex live mailing list that
you and a few others are at the core of maintaining tex live.
Thank you for making the package so that a user like me who don't care much about the intricate innards of these software packages can use on
Debian and elsewhere.

(Yeah, I even tried to install OLD ASCII ptex on my own after encountering the strange error on my PC. It was an uphill and hilarious battle. At one point, a certain date test in tex macro refused to proceed saying that
I was trying to install a file that was more than 5 years old and I should get a
newer installation. Oh well. So, I lied by modifying the date in a style file.
Then a patch file could not be applied since the time stamp did not match. So I lied again by modifying the timestamp in the patch. Then it was compiled, etc, and ran. And I still got a run-time warning about using an outdated software. Good and bad.

I wonder what people would do when old TeX files that were once typeset using the vertical writing feature supported by ASCII's ptex needed to be modified afresh and typeset again.

We may need a time machine (of a sort) where the old typeset software is kept intact so that in the future the old documents that need modification can be typeset again on such a machine. Otherwise, Knuth's original idea of being able to reproduce the same document even after a dozen year or so is a pipe dream under the current situation. But I digress.

TIA and expect my post in tex-live mailing list soon.

 
------------------------------------------------------------------------
PREINING, Norbert                               http://www.preining.info
JAIST, Japan                                 TeX Live & Debian Developer
GPG: 0x860CDC13   fp: F7D8 A928 26E3 16A1 9FA0  ACF0 6CAC A448 860C DC13
------------------------------------------------------------------------


Reply to: