FAQ Search Today's Posts Mark Forums Read
» Video Reviews

» Linux Archive

Linux-archive is a website aiming to archive linux email lists and to make them easily accessible for linux users/developers.


» Sponsor

» Partners

» Sponsor

Go Back   Linux Archive > Debian > Debian Development

 
 
LinkBack Thread Tools
 
Old 02-07-2011, 10:23 AM
Ian Jackson
 
Default The "node" command in Debian

Jonathan Nieder writes ("The "node" command in Debian"):
> (please follow-up to debian-devel only)

> If no consensus emerges, policy §10.1 in its Solomon-like wisdom says
> _both_ commands must be renamed. I hope we can do better. I will be
> happy to file release-critical bugs against both packages to that
> effect if not.

I think this is exactly the correct thing to do in this case.
At least no scripts will get the wrong program.

An alternative would be to somehow arrange for "node" to be

#!/bin/sh
cat >&2 <<END
use "nodejs" for the Javascript interpreter
use "nodeax25" for the AX.25 (ham radio) tool

regardless of what's installed, but that's a lot of faff.

Ian.


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 19791.54839.224469.762167@chiark.greenend.org.uk"> http://lists.debian.org/19791.54839.224469.762167@chiark.greenend.org.uk
 
Old 02-07-2011, 11:54 AM
Henrique de Moraes Holschuh
 
Default The "node" command in Debian

On Mon, 07 Feb 2011, Jonathan Nieder wrote:
> As you may know[0], there are currently two packages in Debian
> experimental providing a "node" binary.
>
> [0] http://lists.debian.org/debian-devel/2010/08/msg00568.html

...

> One is from the node.js project. It was renamed from "server" to
> "node" on March 3, 2009. The purpose of this tool is to run servers

So, this one has a past history of hazardous, poor thought-out behavior
re. the global namespace... and it blew its second chance when it went
from "server" (insanely bad choice) to "node" (another insanely bad
choice, for _exactly the same reasons_).

> The LinuxNode project
> ---------------------
> The other is a frontend to libax25, an AX.25 implementation for Linux.
> Hardware implementations of AX.25 are apparently called "terminal node
> controllers" or "nodes" for short; hence this Linux-based
> implementation was called LinuxNode and its binary called "node". It
> was introduced in January, 1996. It seems that its family tree also
> includes (unpackaged) implementations named AWZNode and FlexNode.

1996 was a long time ago, the world was much smaller back then. It was
still a very very poor choice of naming, and it should have been named
ax25node from day one.

> | As a continuous very long term (about 1994) user of kernel ax25 I
> | object strongly to this request which will affect far more users
> | world-wide than just a few nodejs users.
>
> [2] http://lists.debian.org/debian-hams/2010/08/msg00032.html

You go for generic names in the common namespace, you set yourself up
for disaster, and you get what you deserve.

However, Debian has a lot of penetration in the HAM community, "node"
has preferred usage for networking matters in any Unix-like system due
to more than 20 years of tradition, and they have a previous claim for
the name. Poorly named as it is, that package has been in Debian stable
releases since 1999.

If push comes to shove, nobody is going to try to force _them_ to give
up that name. You can get the package itself renamed to ax25node, and
have the required "node" transitional package in squeeze+1, so as to
have no "node" package in squeeze+2, but rename the executable itself?
not likely.

> Problem: scripts may use the 'node' name to refer to either of these
> programs. Which should get the name? You decide, based not on
> popularity or priority but --- well, based on whatever makes sense.

The nasty thing is that whatever answers to "node" is defined by path
precedence, and often sbin is only included for root, so it is a large
pitfall.

> If no consensus emerges, policy §10.1 in its Solomon-like wisdom says
> _both_ commands must be renamed. I hope we can do better. I will be
> happy to file release-critical bugs against both packages to that
> effect if not.

1. they can declare a conflict with each other, so that the packaging
system will never let both get installed in the same system.

Unless both communities have a large overlap, this one makes both
happy, until a third package shows up trying to claim "node".

2. they can be forced (by the TC) to drop their claim of "node" in the
common namespace. This is not likely to happen.

3. It is possible that they could do nothing, since there is no direct
file conflict (different paths). Not good for the unaware user that
installs both, but I am not sure whether we forbid this kind of
potential pitfall in the first place.

4. as the one with the weaker claim, node.js can move its executable out
of the generic namespace or rename its executable to something else.

--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20110207125424.GA26664@khazad-dum.debian.net">http://lists.debian.org/20110207125424.GA26664@khazad-dum.debian.net
 
Old 02-07-2011, 02:43 PM
Ian Jackson
 
Default The "node" command in Debian

Henrique de Moraes Holschuh writes ("Re: The "node" command in Debian"):
> 1. they can declare a conflict with each other, so that the packaging
> system will never let both get installed in the same system.

No, this is explicitly forbidden by policy and quite rightly so.

Ian.


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 19792.4916.750805.893011@chiark.greenend.org.uk">h ttp://lists.debian.org/19792.4916.750805.893011@chiark.greenend.org.uk
 
Old 02-07-2011, 02:43 PM
Adrian von Bidder
 
Default The "node" command in Debian

On Monday 07 February 2011 13.54:24 Henrique de Moraes Holschuh wrote:
> 1. they can declare a conflict with each other, so that the packaging
> system will never let both get installed in the same system.

JavaScript and AX.25 sounds like it might be quite a distance in terms of
people involved, although this is really just a guess.

Start with a package conflict plus explanatory notice in README.Debian and
move on to other measures if "enough" people complain, perhaps?

Downside is of course that this discussion will probably repeated a few
times.

cheers
-- vbi

--
As we found out later, our activities had both saturated an uplink two
"hops" up from our university, at the Nordic University Network level
and made some DoS-alarms go off at the national level. All part of a fun
release.
-- serving Debian sarge and Ubuntu Breezy CD images
http://www.acc.umu.se/~maswan/2005-12-10/2gbit-freesoftware.html
 
Old 02-07-2011, 02:47 PM
Jérémy Lal
 
Default The "node" command in Debian

On 07/02/2011 16:43, Adrian von Bidder wrote:
> On Monday 07 February 2011 13.54:24 Henrique de Moraes Holschuh wrote:
>> 1. they can declare a conflict with each other, so that the packaging
>> system will never let both get installed in the same system.
>
> JavaScript and AX.25 sounds like it might be quite a distance in terms of
> people involved, although this is really just a guess.
>
> Start with a package conflict plus explanatory notice in README.Debian and
> move on to other measures if "enough" people complain, perhaps?

+1
though against policy, it is the least frustration (and work) path.

> Downside is of course that this discussion will probably repeated a few
> times.
Let's hope nobody want to drive ax25 through nodejs.

Jérémy.


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4D501428.5090506@edagames.com">http://lists.debian.org/4D501428.5090506@edagames.com
 
Old 02-07-2011, 03:11 PM
"brian m. carlson"
 
Default The "node" command in Debian

On Mon, Feb 07, 2011 at 03:43:48PM +0000, Ian Jackson wrote:
> Henrique de Moraes Holschuh writes ("Re: The "node" command in Debian"):
> > 1. they can declare a conflict with each other, so that the packaging
> > system will never let both get installed in the same system.
>
> No, this is explicitly forbidden by policy and quite rightly so.

What Policy actually says is (§10.1):

Two different packages must not install programs with different
functionality but with the same filenames.

The definition of "filename" here is unclear. AX.25's node is in
/usr/sbin (IIRC) and nodejs's is in /usr/bin. This, of course, poses
practical problems for people that have both in their path. This is
usually the case for root, and for some users as well.

Lacking an official definition for "filename" in Policy, I think it's
reasonable to assume that it should not be read as "path", and instead
be read to forbid this use (as you said, Ian). Nevertheless, I see how
reasonable people could disagree.

--
brian m. carlson / brian with sandals: Houston, Texas, US
+1 832 623 2791 | http://www.crustytoothpaste.net/~bmc | My opinion only
OpenPGP: RSA v4 4096b: 88AC E9B2 9196 305B A994 7552 F1BA 225C 0223 B187
 
Old 02-07-2011, 03:36 PM
Ian Jackson
 
Default The "node" command in Debian

brian m. carlson writes ("Re: The "node" command in Debian"):
> The definition of "filename" here is unclear. AX.25's node is in
> /usr/sbin (IIRC) and nodejs's is in /usr/bin. This, of course, poses
> practical problems for people that have both in their path. This is
> usually the case for root, and for some users as well.

Yes.

> Lacking an official definition for "filename" in Policy, I think it's
> reasonable to assume that it should not be read as "path", and instead
> be read to forbid this use (as you said, Ian). Nevertheless, I see how
> reasonable people could disagree.

The point of the exercise is not just to stop dpkg complaining when
the packages are installed (otherwise Conflicts would suffice).

The point is to try to arrange that when one bit of the system (or a
user) asks for something by name, they don't get something entirely
unrelated.

The same principle should apply to any namespace, not just the command
namespace. So for example we would not tolerate a new kernel module
that used AF_INET for something strange, nor two applications which
used the same object paths in dbus for unrelated purposes, nor two
sets of packages which use the same virtual package name for unrelated
purposes, or anything else similar.

Nor should we accept two sets of shared libraries which exported the
same function names for different purposes (although I guess we don't
check for this automatically, and there would probably be more cases
where it would be easier to argue that there was no harm done).

Ian.


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 19792.8082.728268.491746@chiark.greenend.org.uk">h ttp://lists.debian.org/19792.8082.728268.491746@chiark.greenend.org.uk
 
Old 02-07-2011, 04:04 PM
Jérémy Lal
 
Default The "node" command in Debian

On 07/02/2011 13:54, Henrique de Moraes Holschuh wrote:
> 1. they can declare a conflict with each other, so that the packaging
> system will never let both get installed in the same system.
>
> Unless both communities have a large overlap, this one makes both
> happy, until a third package shows up trying to claim "node".
>
> 2. they can be forced (by the TC) to drop their claim of "node" in the
> common namespace. This is not likely to happen.
>
> 3. It is possible that they could do nothing, since there is no direct
> file conflict (different paths). Not good for the unaware user that
> installs both, but I am not sure whether we forbid this kind of
> potential pitfall in the first place.
>
> 4. as the one with the weaker claim, node.js can move its executable out
> of the generic namespace or rename its executable to something else.
>

Another proposal :

5. nodejs package provides /usr/bin/nodejs, following policy.
nodejs-notrenamed package links /usr/bin/node to nodejs, and conflicts
with node package.

+ Both packages node and nodejs can be installed, with full functionnality.
+ If the renaming is too much a burden for the user, he can install the
not renamed version, knowing he can't install node package in that case.
- Depending on nodejs-notrenamed must be impossible (is this possible ?)
- All packages depending on nodejs must be able to work with /usr/bin/nodejs.
- It is still violating policy, though in a more flexible and twisted way.


Jérémy.


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 4D502603.8040201@edagames.com">http://lists.debian.org/4D502603.8040201@edagames.com
 
Old 02-07-2011, 06:42 PM
"Bernhard R. Link"
 
Default The "node" command in Debian

* Jérémy Lal <jerry@edagames.com> [110207 18:21]:
> > 2. they can be forced (by the TC) to drop their claim of "node" in the
> > common namespace. This is not likely to happen.

If both camps can rightly argue that some other command called
"node" might make things in their camp call the wrong thing, then this
is the only reasonable solution.

> Another proposal :
>
> 5. nodejs package provides /usr/bin/nodejs, following policy.
> nodejs-notrenamed package links /usr/bin/node to nodejs, and conflicts
> with node package.
>
> + Both packages node and nodejs can be installed, with full functionnality.
> + If the renaming is too much a burden for the user, he can install the
> not renamed version, knowing he can't install node package in that case.
> - Depending on nodejs-notrenamed must be impossible (is this possible ?)
> - All packages depending on nodejs must be able to work with /usr/bin/nodejs.
> - It is still violating policy, though in a more flexible and twisted way.

A user wanting to have a node command can also just create a symlink
manually (if things call only node without path, they can even just add
that into /usr/local/[s]bin without thinking about diversions (though
diversions would not really be necessary as path is essentially dead for
packages).

There is not really a need for a package if nothing can depend on it,
all tests should be done without and a user can get the same effect with
a single simple command.

Bernhard R. Link


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 20110207194229.GA26047@pcpool00.mathematik.uni-freiburg.de">http://lists.debian.org/20110207194229.GA26047@pcpool00.mathematik.uni-freiburg.de
 
Old 02-08-2011, 07:07 AM
Joerg Jaspert
 
Default The "node" command in Debian

On 12384 March 1977, Jérémy Lal wrote:
> 5. nodejs package provides /usr/bin/nodejs, following policy.
> nodejs-notrenamed package links /usr/bin/node to nodejs, and conflicts
> with node package.

And end up with two exactly identical binary packages (except for the
filename) in the archive? No.

If one wants this, there COULD be a script in the nodejs package
offering to do such a rename (by possible using dpkg-divert or another
such tool, making sure it stays like this even with upgrades)

--
bye, Joerg
<zobel> cat /dev/urandom > /dev/dsp
<Ganneff> zobel: das nennt sich "metal"
<Ganneff> oder "techno", je nachdem
<youam> Ganneff: apocalyptica?
<Ganneff> youam: nein, das is random, nich urandom


--
To UNSUBSCRIBE, email to debian-devel-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Archive: 87lj1reyqa.fsf@gkar.ganneff.de">http://lists.debian.org/87lj1reyqa.fsf@gkar.ganneff.de
 

Thread Tools




All times are GMT. The time now is 09:42 AM.

VBulletin, Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.
Copyright ©2007 - 2008, www.linux-archive.org