This is the mail archive of the cygwin 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: How to keep a dependency from [continually] appearing in setup


On 01/08/2012 9:13 AM, Ken Brown wrote:
On 8/1/2012 8:04 AM, Ryan Johnson wrote:
On 31/07/2012 6:07 PM, Ken Brown wrote:
On 7/30/2012 1:33 AM, Wynfield Henman wrote:
I use the in-the-wild, 'texlive 2012' distribution, which I like to
tinker with and customize.
Due to a, what I believe is a dependency by auctex on texlive for some
reason, I keep getting a list of about 10 texlive related packages
automatically appended to what I want to install and I have to keep
manually [skip] them.

I would like to know some efficient way I could make that go away and
just have setup ignore texlive or have it see that I have it already,
but that it's just not a cygwin package, but user installed.

setup.exe only knows about Cygwin packages. You might be able to edit /etc/setup/installed.db to trick setup.exe into thinking that you've installed Cygwin's texlive.
Of course, then it will try to upgrade the non-existent package(s),
potentially leading to problems down the road...

Seriously, though, there are some surprising dependencies on texlive
right now (usually via dblatex), and it's a big enough package set
(several hundred MB download) that it's no surprise lots of people want
to avoid its being pulled in every other time they run setup.

It's not nearly that big if people just install what they need to be able to run latex. See the recommendations in my last announcement:


http://cygwin.com/ml/cygwin/2012-07/msg00311.html

I don't know whether dblatex could get by with fewer dependencies. Yaakov would have to comment on that.

I don't suppose there's an easy refactoring that could help avoid this
problem?

I'm open to suggestions.
Digging through setup.ini shows only a few notable packages that pull in texlive:

texlive
    <- dblatex
        <- gtk-doc
            <- gnome-common
        <- xmlto
    <- emacs-auctex
    <- texemacs.

That's not nearly as many dependencies as I thought, so my initial reaction was probably too strong. That said, there might be some room for improvement:

It can be argued that emacs-auctex should not pull in texlive. Most users installing emacs-auctex will already have some flavor of tex in place, and not necessarily the cygwin one (like the OP, or perhaps a MikTex user). Plus, the error message is pretty intuitive and the solution very simple, if latex is not there: "latex: no such command" ==> "maybe I should install latex." Therefore, the expected aggregate frustration of users who installed auctex without latex available would likely be far lower than the aggregate frustration of users wanting to install auctex and getting saddled with an unwanted redundant texlive distribution (for which there is no easy solution).

Only two packages use dblatex, so it probably makes sense to also question why *they* need it.

It makes sense that gtk-doc needs dblatex, *if* the former is used to create/update documentation rather than merely supply a pile of info and man pages, but if that's the case I'm not convinced that gnome-common needs gtk-doc. Relatively few users of gnome-common need to develop gnome code, and few developers need to regenerate documentation from sources.

I think my own encounter with texlive dependencies came while trying to compile some project whose configure script insisted on having xmlto available. The package description suggests that xmlto does a lot of things that wouldn't require dblatex, but I've never used it before (that project really only needed xmlto to regenerate documentation, which I didn't do).

I can't comment on texemacs, I've never used it.

Ryan


-- Problem reports: http://cygwin.com/problems.html FAQ: http://cygwin.com/faq/ Documentation: http://cygwin.com/docs.html Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple


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