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 (easily) install multiple versions of the same package (from a repository)?

On Thu, 27 Jan 2005, Adam Heinz wrote:

> Greetings!

Hi Adam,

> I manage the company standard Cygwin installation process, which is simple:
> 1. I populate a Cygwin repository on one of our internal servers (using
> setup.exe).
> 2. Users install everything from that server (using setup.exe).
> This installs the most recent versions of all packages on the repository,
> which has worked fine, except that it looks like I'm going to need to be
> able to provide multiple versions of the same package for backwards
> compatibility.
> When you ask the Cygwin setup program to install a different version of an
> installed package, it uninstalls the installed version, so our current
> installation process will not support multiple versions.
> I'm looking into automated install options, but haven't found any silver
> bullets yet.

As you know doubt know, the Cygwin project doesn't support older releases
of Cygwin software, save for the "prev" and "test" versions, relative to
what is the "current" version.  That being said, there are options
reguarding handling this, but they will not be supported by the Cygwin
list and will require work on your end to maintain.

To really answer your question depends on weither you are interested in
keeping multiple versions of just a few packages or the entire Cygwin
distribution.  If it's the former, then it will likely involve keeping
multiple copies of setup.ini in separate versioned/dated directories
where you edit each setup.ini to contain the desired version of the
specific packages.  This could possibly be automated.  As for pulling the
packages, themselves, I'd suggest picking a mirror from the official list
and using wget to grab successive versions of those packages as they come
out on a semi-regular basis and keeping them in a common repository.
This is somewhat how I maintain the Cygwin Time Machine, only I pull all
packages and keep a revision of setup.ini to go with it (and it's

> I'd really like to end up with a Unix-style environment, i.e. using symlinks
> to point python to python_2_4_0.exe and python_2_3 to python_2_3_4.exe.  I'd

That can lead to problems.  Cygwin's setup (pretty much and package based
architecture for that matter) doesn't allow for more than one version of
any package to be installed at the same time.  Too much potential for file
overlay to occur.  To keep your sanity intact, it would be better for
your users to de-install and re-install as needed.

> like to do this in such a way that the setup burden is entirely on my
> shoulders and that everyone else has an extremely trivial setup process.

It can be.  If you keep several versioned/date directories, each with an
edited setup.ini, you can simply point your users to that specific
directory to install from to get the specific version of those packages.
Then it's just a matter of telling your users what path to use when
running setup.  You might want to look at the Time Machine to see if it
provides the kind of thing you are thinking of or not.  I can give more
details on this if you need them.

However, if you really want several versions installed at the same time,
that's going to be a problem and will be a huge amount of work (for you).

> Any suggestions?  Is there any scripting-level mechanism for installing
> Cygwin packages individually?

'fraid not.

[Oh, I should also state that discussions concerning older versions of
Cygwin and their distribution are somewhat considered off-topic. :]

> Adam Heinz

Peter A. Castro <> or <>
	"Cats are just autistic Dogs" -- Dr. Tony Attwood

Unsubscribe info:
Problem reports:

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