This is the mail archive of the cygwin-developers@cygwin.com 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]

Re: Updated setup.ini with descriptions, categories, and dependencies


egor duda wrote:

> Hi!
> 
> Tuesday, 28 August, 2001 Robert Collins robert.collins@itdomain.com.au wrote:
> 
> RC> Which brings up a suggestion: how about we rename the "cygwin" package
> RC> to "libcygwin". This might reduce some of the "I installed cygwin"
> RC> confusion.
> 
> yes! and split it into 'libcygwin' (or 'cygwin-core') 'cygwin-utils'
> (ahem, doesn't it yet look like i just love splitting packages? ;) )
> splitting openssh into ssh-client and ssh-server is a good thing too, i
> believe. at least if we want to give user an option to choose what he
> wants to install, we should try to provide as much granularity as
> possible. 


Spliiting packages is okay, now that we've got categories. (Dang! I need 
to go update all my build scripts...)  But, you need to be careful, as I 
discovered with xpm vs. xpm-nox, to keep at least one of your "new" 
packages with the same name as the "old" package.  Otherwise, you get 
continual attempts to update/install the old one -- which may conflict 
with the new packages' files.

e.g.

OLD           NEW
ssh           ssh-server
               ssh-clients
               ssh (perhaps empty? perhaps docs only)

FWIW, I like what RH and Mandrake have been doing recently with 
libraries:  package 'libfooN' contains /usr/lib/libfooN.so (runtime 
shared library and ldconfig-style symlinks).  That way, you can have 
multiple major revisions of the shared lib installed -- libfoo0 and 
libfoo1, for instance.  (in our case, /usr/bin/cygfoo0.dll and 
/usr/bin/cygfoo1.dll). Package 'libfoo-devel' contains the static lib 
and header files, as well as the devel-time symlinks for the most recent 
runtime-sharedlib package (Thus, in my example, the "current" version of 
libfoo-devel depends on libfoo1.  In cygwin, this means libfoo-devel 
contains the implib for cygfoo1.dll)  Then, package 'foo' contains docs, 
any executables that may be part of the 'package', and other "leftover" 
stuff.

This works well with cygwin, because after "splitting" we'd still have a 
package named 'foo' to serve as the "update" for the old, monolithic 
'foo' package.

(side note: something I'd like to add to setup -- and I'll do it myself 
when I get a chance, so this isn't a whine -- is a button to "Skip All 
Uninstalled".  I haven't installed irc, mutt, or squid -- and every time 
I want to update, say "ash", I have to deselect those three packages. 
With more and more packages added all the time, there's going to be more 
packages I just don't want to install; worse, they will now be hidden 
amonst various sub-categories...)

--Chuck


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