On 8/2/2012 3:53 PM, Achim Gratz wrote:
Hi Ken,
I've been looking into the TeXlive postinstall scripts since just
running these takes over an hour in my installation. As it turns out,
one can remove most of the churn by organising things a little bit
differently and collect the arguments into a single invocations of the
commands (only fmt-util can't do this). This gets the postinstall
runtime down to just 5 ½ minutes, so I think it is well worth the small
effort. I've created a patch package for my installation:
$cygwin=http://cygwin.stromeko.net/
wget
$cygwin/release/zzz_texlive-postinstall/zzz_texlive-postinstall-00001-1-src.tar.bz2
wget
$cygwin/release/zzz_texlive-postinstall/zzz_texlive-postinstall-00001-1.tar.bz2
wget $cygwin/release/zzz_texlive-postinstall/setup.hint
The patch package overwrites the old postinstall scripts (that is also
why the name starts with "zzz") and drops a new postinstaller that takes
care of all requests that the packages have dropped into
/usr/share/texmf-dist/postinstall. I've chosen to re-create all format
files at each run so the result will be consistent no matter what state
we start from, but conceivably one could just create the missing ones
and save three or four more minutes.
Thanks for the suggestion. Let me see if I understand how this would
work. Correct me if you had something else in mind.
1. When creating the various texlive-collection-* packages, instead of
creating postinstall scripts, I would drop files into
/usr/share/texmf-dist/postinstall containing the postinstall information.
2. There would be a new package, say _texlive-postinstall, which would
take care of the postinstall tasks, with arguments lumped together when
possible. I guess the various files in
/usr/share/texmf-dist/postinstall would have to be renamed (with the
addition of ".done"?) afterwards.
Did I get that right?
Ken
P.S. One detail: I don't think running fmtutil-sys --refresh is
sufficient. Wouldn't you also have to run fmtutil-sys --missing to
create format files for the first time?