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


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