X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-1.9 required=5.0	tests=AWL,BAYES_00,KHOP_RCVD_UNTRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,SPF_NEUTRAL,TW_GT,T_RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
Message-ID: <50193AA8.8050307@cs.utoronto.ca>
Date: Wed, 01 Aug 2012 10:18:16 -0400
From: Ryan Johnson <ryan.johnson@cs.utoronto.ca>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:14.0) Gecko/20120713 Thunderbird/14.0
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: How to keep a dependency from [continually] appearing in setup
References: <CAM-A7MA-VX7yD=iEW5o3c+d+WCLybYkJMhcrSX_nZ_EPDy_R4g@mail.gmail.com> <50185716.8050504@cornell.edu> <50191B67.5010106@cs.utoronto.ca> <50192B7B.5060501@cornell.edu>
In-Reply-To: <50192B7B.5060501@cornell.edu>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

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

