Re: Bug#862051: nodejs (6.11.2~dfsg-1) experimental; urgency=medium

2017-08-31 Thread Sam Hartman
> "Dominique" == Dominique Dumont  writes:

Dominique> On Thursday, 31 August 2017 13:58:23 CEST Thorsten Glaser wrote:
>> > How about printing a "nice" warning explaining it would be a
>> good idea to > move to /usr/bin/node ?
>> 
>> That will break scripts that do:
>> 
>> x=$(nodejs somescript)

Dominique> This kind of script won't break if the deprecation
Dominique> warning is sent to STDERR


Sigh.
I wish I had seen your message before your earlier reply.
This breaks too in more complex situations involving ssh, things like
expect scripts and the like.
There are cases where people mix stderr and stdout.  There are cases
where people treat any unexpected output on stderr as a failure in
automated scripts.

The next level you can look at is considering whether /dev/stdin in a
tty and printing the warning to either stderr or /dev/tty only in that
case.
And that will reduce the breakage but not remove it.
And yes, when you actually have something it's important to deprecate,
accepting some level of breakage and adopting one of those strategies is
the right thing.

It's just not worth it in this case.
People who use more than Debian are very quickly going to learn that
/usr/bin/node is preferred to /usr/bin/nodejs.
As several people have already pointed out we've far exceeded the amount
of effort in considering whether to deprecate or remove the link that
will be spent maintaining the link until the end of time.
In one sense we've already lost:-)



Bug#862051: [Pkg-javascript-devel] Bug#754462: Bug#862051: nodejs (6.11.2~dfsg-1) experimental; urgency=medium

2017-08-31 Thread Sam Hartman
> "Julien" == Julien Puydt  writes:

Julien> Hi, Le 31/08/2017 à 13:52, Jérémy Lal a écrit :
>> How about printing a "nice" warning explaining it would be a good
>> idea to move to /usr/bin/node ? Then in next next release drop
>> the nodejs symlink.

Julien> May I suggest to have /usr/bin/nodejs print a nice
Julien> deprecation warning to use /usr/bin/node, and just *never*
Julien> remove it?

Having it print a deprecation warning will break pipes or other
situations where stdout and stderr are captured.
I'd just use a symlink.
We have release notes and debian/news for warnings if we believe that's
the right approach.



Re: Bug#862051: nodejs (6.11.2~dfsg-1) experimental; urgency=medium

2017-08-31 Thread Dominique Dumont
On Thursday, 31 August 2017 13:58:23 CEST Thorsten Glaser wrote:
> > How about printing a "nice" warning explaining it would be a good idea to
> > move to /usr/bin/node ?
>
> That will break scripts that do:
> 
> x=$(nodejs somescript)

This kind of script won't break if the deprecation warning is sent to STDERR

All the best

-- 
 https://github.com/dod38fr/   -o- http://search.cpan.org/~ddumont/
http://ddumont.wordpress.com/  -o-   irc: dod at irc.debian.org



Bug#862051: [Pkg-javascript-devel] Bug#754462: Bug#862051: nodejs (6.11.2~dfsg-1) experimental; urgency=medium

2017-08-31 Thread Julien Puydt
Hi,

Le 31/08/2017 à 13:52, Jérémy Lal a écrit :
> How about printing a "nice" warning explaining it would be a good idea to
> move to /usr/bin/node ? Then in next next release drop the nodejs symlink.

May I suggest to have /usr/bin/nodejs print a nice deprecation warning
to use /usr/bin/node, and just *never* remove it?

After all, that will be a very small file, won't step on anybody's toe :
it's more trouble to drop it than to just leave it...

Snark on #debian-js



Bug#862051: [Pkg-javascript-devel] Bug#754462: Bug#862051: nodejs (6.11.2~dfsg-1) experimental; urgency=medium

2017-08-31 Thread Thorsten Glaser
On Thu, 31 Aug 2017, Julien Puydt wrote:

> May I suggest to have /usr/bin/nodejs print a nice deprecation warning
> to use /usr/bin/node, and just *never* remove it?


On Thu, 31 Aug 2017, Didier 'OdyX' Raboud wrote:

> Le jeudi, 31 août 2017, 13.52:00 h CEST Jérémy Lal a écrit :
> > How about printing a "nice" warning explaining it would be a good idea to
> > move to /usr/bin/node ? Then in next next release drop the nodejs symlink.
>
> This seems like a very good plan to me: let /u/b/nodejs spit out a deprecation
> warning to stderr / syslog but pass all arguments to /u/b/node in Buster;


This *will* break scripts. There’s also:

x=$(nodejs progname --version 2>&1 >/dev/null | head -n 1)

Yes, I saw this break in other programs that suddenly decided
to add extra messages to either stdout and stderr, multiple times.

bye,
//mirabilos
--
tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
Tel: +49 228 54881-393 • Fax: +49 228 54881-235
HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941
Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg

*

**Besuchen Sie uns auf der dmexco!**
13. und 14. September 2017, Messe Köln,** Halle 7.1, Stand E042**
Digital Marketing Exposition & Conference
[www.tarent.de/dmexco](http://www.tarent.de/dmexco)

Wir empfehlen unseren Vortrag
"Wettbewerbsanalyse im Handel: Preisvergleich online und offline"
am 13. September, 18:00 Uhr im Speaker's Forum / Broadway

*

**Visit us at dmexco!**
September 13th and 14th, 2017, Messe Köln,** Hall 7.1, Booth E042**
Digital Marketing Exposition & Conference
[www.tarent.de/dmexco](http://www.tarent.de/dmexco)

We recommend our presentation
"Competitor analysis in retail: price comparison online and offline"
on September 13th, at 6 pm at the Speaker's Corner / Broadway

*



Bug#862051: nodejs (6.11.2~dfsg-1) experimental; urgency=medium

2017-08-31 Thread Didier 'OdyX' Raboud
Le jeudi, 31 août 2017, 13.58:23 h CEST Thorsten Glaser a écrit :
> Do not drop it before *after* the next release, so people have,
> at the very least, one full release of time to switch their
> scripts in a way that works with both the old and new names
> *first*, gradually.

They have Stretch for that; it has both /usr/bin/nodejs and /usr/bin/node (in 
nodejs-legacy).

Cheers,
OdyX

signature.asc
Description: This is a digitally signed message part.


Bug#862051: nodejs (6.11.2~dfsg-1) experimental; urgency=medium

2017-08-31 Thread Didier 'OdyX' Raboud
Le jeudi, 31 août 2017, 12.25:50 h CEST Ian Jackson a écrit :
> Philip Hands writes ("Bug#862051: nodejs (6.11.2~dfsg-1) experimental; 
urgency=medium"):
> > I guess that one could do something like moving the symlink into another
> > -legacy style package, and recomend that from the main package for one
> > release to keep upgrades happy. Then drop the recomendation, and wait
> > for popcon to show that people are not installing the package any more.
> > Then remove the package in testing early in a cycle and see if anyone
> > reports bugs about it.
> 
> Even that would be quite unfriendly, because third party scripts might
> easily be deployed onto new Debian installs as well as existing ones.
> 
> Also, it is imposing an administrative burden on all Debian users (the
> metadata for the -legacy package, spurious search hits, etc.).  That
> burden might be small but would be completely unjustified.

This exact argument stands against not allowing NodeJS to use /usr/bin/node in 
the first place, really. We accepted to enforce that change for the /usr/bin/ 
namespace "first-come-first-served" reason. We imposed a quite heavy 
administrative burden of either targetting /u/b/nodejs additionally or (finding 
out and) installing nodejs-legacy for anyone wanting to use NodeJS on Debian.

Now, there are two categories of scripts affected by this discussion:
* All scripts which support /u/b/nodejs *in addition* to /u/b/node. These do 
so _because_ of a Debian-specific change, and removing the /u/b/nodejs symlink 
is not going to break those.
* All scripts which support /u/b/nodejs *exclusively*. These do so _because_ 
of a Debian-specific change, and don't support *any* non-Debian-derivative 
target (checked Fedora's nodejs RPMs: no /u/b/nodejs). Maintainers of those 
scripts have at one point decided to support only Debian{, and derivatives}.

There are _plenty_ of changes that one needs to care about in a stable 
upgrade: things like mandatory postfixing of Apache configuration files, 
removal 
of specific Python3 versions, removal of upstart, etc. Having to change a 
shebang isn't a big deal given the amount of things one has to check accross a 
stable release upgrade.

All that to say that despite the very small cost of keeping the symlink 
around, I do see value in closing the Debian-specific /u/b/nodejs chapter *at 
some point*. We should not clutter our future releases indefinitely with 
convenience symlinks for historical reasons, especially not when these were 
created _by_ Debian and have only been _in_ Debian.

Le jeudi, 31 août 2017, 13.52:00 h CEST Jérémy Lal a écrit :
> How about printing a "nice" warning explaining it would be a good idea to
> move to /usr/bin/node ? Then in next next release drop the nodejs symlink.

This seems like a very good plan to me: let /u/b/nodejs spit out a deprecation 
warning to stderr / syslog but pass all arguments to /u/b/node in Buster; 
remove it entirely in Bullseye & get proper release note entries for both 
Buster and Bullseye.

Cheers.
OdyX

signature.asc
Description: This is a digitally signed message part.


Bug#862051: nodejs (6.11.2~dfsg-1) experimental; urgency=medium

2017-08-31 Thread Thorsten Glaser
On Thu, 31 Aug 2017, Jérémy Lal wrote:

> How about printing a "nice" warning explaining it would be a good idea to
> move to /usr/bin/node ?

That will break scripts that do:

x=$(nodejs somescript)

Or even ./somescript when that has a #!/usr/bin/env nodejs shebang.

> Then in next next release drop the nodejs symlink.

Again, “no, period”.

Do not drop it before *after* the next release, so people have,
at the very least, one full release of time to switch their
scripts in a way that works with both the old and new names
*first*, gradually.

bye,
//mirabilos
-- 
tarent solutions GmbH
Rochusstraße 2-4, D-53123 Bonn • http://www.tarent.de/
Tel: +49 228 54881-393 • Fax: +49 228 54881-235
HRB 5168 (AG Bonn) • USt-ID (VAT): DE122264941
Geschäftsführer: Dr. Stefan Barth, Kai Ebenrett, Boris Esser, Alexander Steeg

*

**Besuchen Sie uns auf der dmexco!**
13. und 14. September 2017, Messe Köln,** Halle 7.1, Stand E042**
Digital Marketing Exposition & Conference
[www.tarent.de/dmexco](http://www.tarent.de/dmexco)

Wir empfehlen unseren Vortrag
"Wettbewerbsanalyse im Handel: Preisvergleich online und offline"
am 13. September, 18:00 Uhr im Speaker's Forum / Broadway

*

**Visit us at dmexco!**
September 13th and 14th, 2017, Messe Köln,** Hall 7.1, Booth E042**
Digital Marketing Exposition & Conference
[www.tarent.de/dmexco](http://www.tarent.de/dmexco)

We recommend our presentation
"Competitor analysis in retail: price comparison online and offline"
on September 13th, at 6 pm at the Speaker's Corner / Broadway

*



Bug#862051: nodejs (6.11.2~dfsg-1) experimental; urgency=medium

2017-08-31 Thread Jérémy Lal
2017-08-31 13:25 GMT+02:00 Ian Jackson :

> Philip Hands writes ("Bug#862051: nodejs (6.11.2~dfsg-1) experimental;
> urgency=medium"):
> > I guess that one could do something like moving the symlink into another
> > -legasy style package, and recomend that from the main package for one
> > release to keep upgrades happy. Then drop the recomendation, and wait
> > for popcon to show that people are not installing the package any more.
> > Then remove the package in testing early in a cycle and see if anyone
> > reports bugs about it.
>
> Even that would be quite unfriendly, because third party scripts might
> easily be deployed onto new Debian installs as well as existing ones.
>
> Also, it is imposing an administrative burden on all Debian users (the
> metadata for the -legacy package, spurious search hits, etc.).  That
> burden might be small but would be completely unjustified.
>

How about printing a "nice" warning explaining it would be a good idea to
move to /usr/bin/node ? Then in next next release drop the nodejs symlink.

Jérémy


Bug#862051: nodejs (6.11.2~dfsg-1) experimental; urgency=medium

2017-08-31 Thread Ian Jackson
Philip Hands writes ("Bug#862051: nodejs (6.11.2~dfsg-1) experimental; 
urgency=medium"):
> I guess that one could do something like moving the symlink into another
> -legasy style package, and recomend that from the main package for one
> release to keep upgrades happy. Then drop the recomendation, and wait
> for popcon to show that people are not installing the package any more.
> Then remove the package in testing early in a cycle and see if anyone
> reports bugs about it.

Even that would be quite unfriendly, because third party scripts might
easily be deployed onto new Debian installs as well as existing ones.

Also, it is imposing an administrative burden on all Debian users (the
metadata for the -legacy package, spurious search hits, etc.).  That
burden might be small but would be completely unjustified.

Ian.



Bug#862051: nodejs (6.11.2~dfsg-1) experimental; urgency=medium

2017-08-31 Thread Philip Hands
Ian Jackson  writes:

> Jérémy Lal writes ("Bug#862051: nodejs (6.11.2~dfsg-1) experimental; 
> urgency=medium"):
>> Maybe i didn't express myself properly: the idea is to keep /usr/bin/nodejs
>> until it's no longer needed - be it other debian packages or other user
>> scripts.
>
> Earlier you said only "other Debian packages":
>
>My plan was to simply keep /usr/bin/nodejs around for some time
>until no debian package rely on it.
>
> Now you say "other user scripts".  I don't know how you would ever
> tell whether "other user scripts" were relying on it.  There is no way
> to for us to tell what people are doing on their computers (and nor
> should there be).

I guess that one could do something like moving the symlink into another
-legasy style package, and recomend that from the main package for one
release to keep upgrades happy. Then drop the recomendation, and wait
for popcon to show that people are not installing the package any more.
Then remove the package in testing early in a cycle and see if anyone
reports bugs about it.

That seems like rather a lot of effort though, when the alternative is
simply tolerating the existence of the two line debian/nodejs.links file.

Is there some down-side for users to having those links in place on
their systems?  If so, I don't think anyone's mentioned it yet.

Cheers, Phil.
-- 
|)|  Philip Hands  [+44 (0)20 8530 9560]  HANDS.COM Ltd.
|-|  http://www.hands.com/http://ftp.uk.debian.org/
|(|  Hugo-Klemm-Strasse 34,   21075 Hamburg,GERMANY


signature.asc
Description: PGP signature