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: FAQ suggestion


On Wed, Mar 19, 2008 at 03:24:33PM +0100, Corinna Vinschen wrote:
>On Mar 18 21:47, Dan Kegel wrote:
>> --- snip ---
>> 
>> 9. Deploying Cygwin
>> 
>> 9.1  I want to bundle Cygwin with a product, and ship it to customer
>> sites.  How can I do this without conflicting with any Cygwin
>> installed by the user?
>> 
>> A.  Third party developers who wish to use Cygwin should check if
>> there is a version of cygwin installed and use the installed
>> version if it is newer, or conditionally upgrade if it is not.
>> (If you write a tool to make this easy, consider contributing
>> it to cygwin for others to use.)
>> 
>> 9.2 Can I bundle Cygwin with my product for free?
>> 
>> A. Only if you comply with Cygwin's license very carefully.
>> If you choose to distribute cygwin1.dll, you must also
>> distribute the exact source code used to build that copy of cygwin1.dll.
>> If you ship applications that link with cygwin1.dll,
>> you must either provide those applications' source code under a
>> GPL-compatible license, *or* purchase a cygwin license from Red Hat.
>> 
>> 9.3.  Can I install a private version of cygwin that doesn't conflict
>> with the system cygwin (in the same way that multiple versions
>> of Wine can coexist)?
>> 
>> A. The Cygwin maintainers will resist any suggestion to support
>> this, no matter how sensible it might sound to you, because
>> they feel strongly that the only supportable situation is
>> for everybody to use the same cygwin instance, and for it
>> to be as up to date as possible.
>> 
>> 9.4. But doesn't that mean that if some application installs
>> an older Cygwin library than my system had, my application will break?
>> 
>> A. Yes.  If you run into such an application, uninstall it,
>> point the author to this FAQ, and try to get them to follow
>> the cygwin deployment rules.
>> 
>> --- snip ---
>> 
>> Is that getting closer?
>
>That's quite close, especially the answer to 9.3 :)
>Care to create a matching docbook entry for the FAQ?

Actually, I think 9.3 suggests a disagreement and hints at a point of
view from the FAQ writer.  Also, what does Wine have to do with
anything?  Wine is a Linux package.

                         * * *

9.3.  Can I install a private version of the Cygwin DLL that doesn't
conflict with the system cygwin?

You can have two different versions of the Cygwin DLL installed on your
system at the same time but they must be run serially.  This means that
you can't be running programs using both versions of Cygwin at the same
time.  Please be aware that currently both versions will use the same
mount table entries although this may change in the future.

9.4. But doesn't that mean that if some application installs
an older Cygwin library than my system had, my application will break?

It depends on what you mean by "break".  If the application installs a
version of the Cygwin DLL in another location than Cygwin's /bin
directory then the rules in 9.3 apply.  If the application installs an
older version of the DLL in /bin then you should complain loudly to the
application provider.

Remember that the Cygwin DLL strives to be backwards compatible so a
newer version of the DLL should always work with older executables.  So,
in general, it is always best to keep one version of the DLL on your
system and it should always be the latest version which matches your
installed distribution.

                         * * *

Unless there are clarifications needed to the above, I can check this in.

Thanks for the words, Dan.

cgf

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


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