This is the mail archive of the
cygwin-apps
mailing list for the Cygwin project.
Re: Global 32/64 bit collision issues
- From: "Yaakov (Cygwin/X)" <yselkowitz at users dot sourceforge dot net>
- To: cygwin-apps at cygwin dot com
- Date: Sun, 26 May 2013 21:29:30 -0500
- Subject: Re: Global 32/64 bit collision issues
- References: <20130523084435 dot GB13513 at calimero dot vinschen dot de>
On 2013-05-23 03:44, Corinna Vinschen wrote:
However, there are a couple of packages which change the system on a
global basis. I see three groups here:
[snip]
2. Packages installing services.
#2 packages have a service name collision. Obviously you can't
install two services called "cron". Should the package install its
service under another name, again by just attaching a "64" to the
service name?
cron may be a bad example; see below.
This would require to change the service installer scripts to check
on what platform they are running and then attaching the "64" suffix
if `uname -m' returns "x86_64".
An alternative would be to change cygrunsrv so that the 64 bit
version always attaches the "64" automatically. While this is easy
to accomplish, I see a problem here because the name change is not
transparent to the user, nor to scripts.
I suggest changing the installer scripts, as duplicates do not make
sense for all services.
Having said that, the name change from "cron" to "cron64" is also
kind of cumbersome. Usually you only need one service, either the 32
or the 64 bit version, but not both. So, do we want the name change
at all?
Some of these aren't so clear cut:
* cron
While due to the purpose it serves, one may suffice, only that crontabs
must be configured within the same Cygwin root. OTOH, that itself may
depend on what people are putting in their crontabs in the first place.
* clamd
Provides either or both of local socket and TCP connections; the former
is the default. One will suffice for both if the network mode is (also)
enabled.
Other "OS services" however, which are accessed only via local socket or
the like, would need to be installed and running for both:
* messagebus (D-Bus system bus)
* avahi-daemon (uses messagebus)
* syslogd/syslog-ng
* and...
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.
3. Packages installing network services.
As for the #3 packages, they collide in another way as well since a
service is usually connected with a default port. Sshd is expected
on port 22. Telnet on port 23, smtp on port 25, etc. I don't think
it would be the right thing to move all 64 bit server to other ports
by default. I don't see any satisfactory way to install those
services in parallel with a simple installer script, so I would keep
this to the knowledgable user. And here it might be even helpful
that the service names already collide since it disallows to install
two network services
Leaving these to collide makes sense IMO.
Yaakov