This is the mail archive of the cygwin-apps mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: cygport suggestion: src_postinstall


On 3/11/2012 8:52 AM, Ken Brown wrote:
[moving from cygwin to cygwin-apps]

On 3/11/2012 12:53 AM, Yaakov (Cygwin/X) wrote:
On 2012-03-09 17:53, Ken Brown wrote:
On 3/9/2012 5:58 PM, Yaakov (Cygwin/X) wrote:
On 2012-03-09 15:26, Ken Brown wrote:
and I don't like some of the things that are done in __src_postinst
when
I build that package.

Could you specify?

There are two things:


1. I don't think __prepemacs should be called for this package because
the compile process explicitly byte compiles most of the *.el files.
There are three (at the top level of /usr/share/emacs/site-lisp) that it
does not byte compile. I don't know the reason, but I don't think the
Cygwin build should override this upstream decision.

The official way to avoid byte compilation is with no-byte-compile[1]. preview-latex.el and tex-site.el are so marked, so they won't be compiled anyway. auctex.el is not so marked, so either there is no reason to not compile it, or else it should also be marked; either way, this should be fixed upstream.

OK. But if you look at the command that does the byte-compiling in the auctex sources, it includes `-l lpath.el'. The contents of lpath.el are:

;;; This file is only used for installing AUCTeX.
;;; It is not a part of AUCTeX itself.

;; Make sure we get the right files.
(setq load-path (cons "." load-path)
byte-compile-warnings nil
TeX-lisp-directory "<none>"
TeX-auto-global "<none>")

By re-byte-compiling without this, we run the risk of messing something
up. So I still think it's wrong to call __prepemacs on this package. If
you don't like my suggestion of providing src_postinstall, then I think
there should be a different way for cygport users to have some control
over the postinstall process. What about defining variables (like
PREPEMACS, etc.) that allow the user to turn the __prep* functions on or
off?

2. I would prefer that __prep_texlive not be called, since it causes the
postinstall script to do unnecessary work. All that's needed for auctex
is mktexlsr.

Then we should figure out how to fine-tune __prep_texlive(). The first mktexlsr is always needed, and the updmap-sys will be limited to packages including Add*Map command(s) per our other thread. Should we limit the fmtutil-sys call to packages including addFormat command(s)?

That seems like a good idea. But what about packages that include addHyphen commands? I'm not sure whether formats have to be rebuilt after such packages are installed. In any case, there's probably something that needs to be done for such packages.

I've just looked at tlmgr.pl, and it does appear that fmtutil needs to be called if there's an AddHyphen command. But first the relevant languages are regenerated. This involves calls to create_language_dat, create_language_def, and create_language_lua. All of this seems pretty complicated and hard to get right if we try to do it ourselves.


Maybe it would be better for the postinstall scripts to make use of the capabilities of /usr/share/texmf/scripts/texlive/tlmgr.pl. For example, it accepts the commands

       generate language
       generate language.dat
       generate language.def
       generate language.dat.lua
       generate fmtutil
       generate updmap

Or do you have a better idea? Do you know what the Linux distros do? I imagine you looked at one or more of these before packaging TeX Live.

Do any non-texlive packages add anything which would necessitate a call
to updmap-sys and/or fmtutil-sys?

I don't think so. The only non-texlive package in the distro that adds anything to /usr/share/texmf is gnuplot, and it only adds a .sty file and a .cfg file.

Ken


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]