Global 32/64 bit collision issues

Yaakov (Cygwin/X) yselkowitz@users.sourceforge.net
Mon May 27 02:29:00 GMT 2013


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



More information about the Cygwin-apps mailing list