This is the mail archive of the cygwin-apps 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: Global 32/64 bit collision issues


On May 27 06:39, Karl M wrote:
> >>> But what about cygserver? Without cygserver there's no XSI IPC.
> >>> Even if we don't change the service names on a general basis,
> >>> shouldn't cygserver at least be available in parallel, using
> >>> different service names?
> >>
> >> IMO yes.
> >
> > I guessed.
> >
> > I'm kind of cringing when thinking of a naming convention for the 64 bit
> > packages. Not only that it looks weird in the service list:
> >
> > cron64
> > clamd64
> > sshd
> > cygserver64
> >
> > it's also a nuisance when starting/stopping the service. You now longer
> > start the service, you start the service64, even if you don't have a 32
> > bit installation on that machine. ANybody having a *good* idea for a
> > naming convention?
> >
> > In the end, we want users to have only one installation, either 32 bit
> > or 64 bit, and the latter should be preferred on 64 bit machines anyway.
> > So I'm still wondering if we really should bother at all. The only
> > "users" running both installations in parallel are maintainers and
> > Cygwin devs, isn't it? And those, I trust, know what they are doing.
> > Is that too simple?
> >
> How about using an environment variable like CYGWIN32 and CYGWIN64 or CYGWIN32SUFFIX and CYGWIN64SUFFIX... and if they are defined they are used to adjust the corresponding default names by the scripts.

I'm not too keen on adding such environment vars.  An installer script
who's concerned about parallel installs could check the registry along
these lines:

- /proc/registry64/Wow6432Node exists?

  If not, just go ahead, we're on a 32 bit machine.

- uname -r is x86_64 AND /proc/registry64/Wow6432Node/Cygwin/setup/rootdir
  exists AND the directory given in that key exists?

  - We're in a 64 bit installation and there's a parallel 32 bit
    installation, so attach the string "64" to service name and description.

- uname -r is not x86_64 AND /proc/registry64/Cygwin/setup/rootdir
  exists AND the directory given in that key exists?

  - We-re in a 32 bit installation and there's a parallel 64 bit
    installation, so attach the string "32" to service name and description.

- Otherwise, just go ahead, we only have a single install.

In fact, csih could handle that transparently, I think.

The service names are still potentially nuisances, though.


Corinna

-- 
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Maintainer                 cygwin AT cygwin DOT com
Red Hat


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