delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2005/02/14/09:56:00

Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Date: Mon, 14 Feb 2005 09:54:41 -0500 (EST)
From: Dick Repasky <rrepasky AT lack DOT ucs DOT indiana DOT edu>
To: cygwin AT cygwin DOT com
Subject: recommendations for 3rd party distributors?
Message-ID: <Pine.LNX.4.61.0502140952180.6551@lack.ucs.indiana.edu>
MIME-Version: 1.0
X-IsSubscribed: yes

Every so often a query surfaces about cygwin dll version compatibility.
What would be useful is a set of recommendations that can be used by 3rd 
party distributors of the cygwin dll to minimize the chance of version 
collisions with installed instances of cygwin and with other 3rd party 
software that is distributed with cygwin dlls.  Everyone should benefit 
from a set of recommendations: cygwin users will have fewer problems,
3rd party distributors will have fewer problems, and cygwin mailing list 
subscribers will have less mail.

After searching the mailing list archives and finding Igor Pechtchanski's 
post (http://www.cygwin.com/ml/cygwin/2003-10/msg00605.html), reading the 
source code, tinkering and testing, I've come up with a list.  I ask 
readers of the cygwin mailing list for comments and suggestions.  Are 
there errors in the list that I do not see?  Do you have suggestions for 
improving the list?

The recommendations are:

   1) Use a distinctly named shared memory area in the cygwin dll.
   2) Use a distinctly named registry key for storing cygwin file system
      mount points.
   3) Identify the origin of the cygwin dll in the cygwin dll.

These recommendations require that the cygwin dll code be modified and that
the dll be recompiled.

   1) The name of the shared memory area is set in
       winsup/cygwin/include/cygwin/version.h. Change the value of the
       constant CYGWIN_VERSION_DLL_IDENTIFIER to something unique.
       Currently, it is "cygwin1".  You might change it to "acmeapp1".
       It is best to follow cygwin naming conventions: retain the number
       that is at the end of the current cygwin name.

   2) The name of the registry key tree that is used to store information
      about cygwin is also set in
      winsup/cygwin/include/cygwin/version.h. Change the value of
      the constant CYGWIN_INFO_CYGNUS_REGISTRY_NAME to something unique.
      Currently, it is "Cygnus Solutions". You might change it to
      "ACME Inc".

   3) Identifying information is included in the dll from constants
      that are defined in winsup/cygwin/include/cygwin/version.h.
      Identify your organization as the origin of the cygwin dll
      by adding a line that defines the constant
      CYGWIN_INFO_DLL_ORIGIN.  An appropriate define might be:
      #define CYGWIN_INFO_DLL_ORIGIN "www.acme.com"
      . Don't use the form "http://www.acme.com" because it won't
      survive internal editing.

These changes work under the conditions that I have tested them. Comments? 
Suggestions?

Thanks,

Dick Repasky

-----------------

Dick Repasky
Bioinformatics Support
UITS Cubicle 101.08
Indiana University
USA

rrepasky AT indiana DOT edu

--
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019