[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#843021: RFP: yarn -- a fast, reliable, and secure package manager for Node.js



On 03/11/2016 09:10, Lars Wirzenius wrote:
> On Thu, Nov 03, 2016 at 08:36:21AM +0100, Paolo Greppi wrote:
>>    Package name: yarn
>>             URL: https://github.com/yarnpkg/yarn
> 
> My cmdtest package provides yarn, since the main tool it now provides
> is yarn (a testing tool), not cmdtest. Perhaps your package could be
> called yarnpkg?

cmdtest provides yarn since this commit:
http://git.liw.fi/cgi-bin/cgit/cgit.cgi/cmdtest/commit/?id=859bb5ba9631df883dd7b074ff649ea2ca76e1ad

A package search for yarn currently returns no match.
https://packages.debian.org/search?keywords=yarn

The real issue here is that both cmdtest and the proposed package
install a yarn binary.

The conflict could be addressed in several ways:

1. as you suggest, renaming this package and the binary it installs to
yarnpkg

2. keeping the package name yarn but renaming the binary to yarnpkg

3. renaming the executable yarn in cmdtest to yarn-something-else, and
have cmdtest provide yarn-something-else

4. ignoring the conflict and setting the Conflict flags in both packages
(https://www.debian.org/doc/debian-policy/ch-relationships.html#s-conflicts)

... but I am not sure if all are feasible.

This looks similar to what happened with nodejs / node.
To avoid a package naming conflict with the old package node
(https://packages.qa.debian.org/n/node.html), node entered Debian as nodejs.
To avoid a binary conflict, also the binary was renamed nodejs from node.
People who do not use the old node package and like to invoke node as
node rather than nodejs can install the node-legacy package.

Similar to node/nodejs, for 1 and 2 there could be a
yarn-legacy/yarnpkg-legacy package for those who do not use cmdtest and
like to invoke yarn as yarn rather than yarnpkg.
For 3, there could be a cmdtest-legacy package for those who do not use
yarn/yarnpkg and like to invoke the yarn binary in cmdtest as yarn
rather than yarn-something-else.

While technically flawless, in retrospect the way the nodejs conflict
was solved is not a success story in terms of expanding the Debian user
base (which is the main reason for having these trendy packages in).

At the moment we are confusing the newbies who come to Debian for
JavaScript development.
It would be easier if they could apt-get install node/yarn and then just
type node/yarn to use them.
For comparison, on macOS they can do brew install node/yarn and then
type node/yarn.

For node this may be possible sometime in the future as the old node
package is transitioning to ax25-node and the binary has also been
renamed /usr/sbin/ax25-node.

Finally, I looked at the popcon installed numbers - for what it's worth
and in relative terms.

- node (now ax25-node) peaked at ~1100

- cmdtest has ~50

- about 15% of those who install nodejs (~14000) also install
nodejs-legacy (~2000)

- npm (which is the main alternative to yarn as a nodejs package
manager) has ~6000

- for yarn/yarnpkg it's difficult to predict now, but probably it will
end up in the range 0-6000, high or low depending how much traction it
will get.

In conclusion, I leave it to those who know more what is the best thing
to do !


Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: