Re: [Pkg-javascript-devel] Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-08-06 Thread Andrew Kelley
On Mon, Aug 4, 2014 at 6:13 PM, Andrew Kelley superjo...@gmail.com wrote:

 On Mon, Aug 4, 2014 at 6:06 PM, Marco d'Itri m...@linux.it wrote:

 If it makes sense to bundle multiple libraries in the same package which
 other packages may depend on then go for it.


 I understand. Here is an example of doing exactly this:
 http://anonscm.debian.org/cgit/pkg-javascript/node-chalk.git/tree/debian/watch

 However let me re-iterate that ms has 104 other modules depending on it:
 https://www.npmjs.org/package/ms

 111 LOC is small but not trivial. I think this is not an example of a
 package that should be blocked.


Looking at the NEW queue, I see that I have 2 packages that are trivially
small and could be bundled with the project that depends on them:

node-deflate-crc32-stream
node-crc32-stream

These packages are very small and the only thing that depends on them is
node-zip-stream (which also depends on node-debug which is waiting on
node-ms).

Please delete these from the NEW queue and I will bundle them with
node-zip-stream.

The other packages of mine that are in there are *not* trivially small,
and/or have many other packages depending on them. For these I believe the
proper action is to accept the upload:

node-connect-static - so far has only groovebasin depending on it. I can
bundle it with groovebasin, but it's really an independent module.
node-errno - has 27 completely unrelated modules depending on it. clearly
should be separate
node-groove - contains C++ bindings to libgroove and has lots of LOC. You
should be happy about this one.
node-music-library-index - separate from groovebasin because both client
side code and server side code depend on it. trying to bundle this one
would make it confusing or impossible to work with browserify, which
groovebasin uses at build-time.
node-mv  - has 30 completely unrelated modules depending on it. clearly
should be separate
node-prr - node-errno and node-levelup both depend on this, both of which I
am trying to get packaged up.


Please tell me what further action I can take to move this process along.
I've been working hard to package up a large application with many
dependencies in accordance with Debian guidelines, and now it seems that I
have hit an invisible wall and it's not clear who is responsible for it or
what they want from me.


Re: [Pkg-javascript-devel] Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-08-04 Thread Andrew Kelley
On Sat, Jul 12, 2014 at 3:57 AM, Frederic Peters fpet...@debian.org wrote:

 Steve McIntyre wrote:

  I've seen ITPs for a massive set of tiny-looking node libraries go
  past on -devel in the last few months, so I thought it was about time
  I looked at one. I'm a bit worried by what I've seen, considering
  typical discussions in the past about really small packages.


I am largely responsible for this. However many of the ITPs I have filed I
managed to avoid as (indirect) dependencies by submitting patches upstream
and when appropriate, inlining the dependency. Most of the problematic ones
you saw are closed now, including the 2 at the end of this email.


 
  [...]
 
  tack:~/debian/ms.js$ wc -l index.js
  111 index.js
 
  Am I missing something, or is the working code in this package really
  just 111 lines? Why isn't this bundled up into something more
  reasonable in size for the packaging system?


Consider my perspective for a moment here. I am trying to package
groovebasin, which depends on various modules:

groovebasin (1.2.0) # waiting on dependencies
...many more dependencies...
├─ zip-stream (~0.3.0) # waiting for node-debug to update
│  └─ debug (~1.0.2) # l3on is waiting for node-ms in the NEW queue
│  └─ ms (~0.6.2) # waiting in the NEW queue...
...many more dependencies...

So now I'm waiting for node-ms in the NEW queue and people are complaining
that 111 lines is too small for a code module?

What do you expect me to do? It would be very easy to just bundle all
node_modules with the package but that is against Debian guidelines. Each
dependency must track upstream. So that's exactly what we're doing and
we're getting flak for it.

It seems that Debian wants 2 contradictory things from me at the same time.


 ITP: node-ansi-regex
  $ git clone https://github.com/sindresorhus/ansi-regex
  $ cat ansi-regex/index.js
 'use strict';
 module.exports = function () {
 return /\u001b\[(?:[0-9]{1,3}(?:;[0-9]{1,3})*)?[m|K]/g;
 };

 ITP: node-quotemeta
  $ git clone https://github.com/substack/quotemeta.git
  $ cat quotemeta/index.js
 module.exports = function (str) {
 return String(str).replace(/(\W)/g, '\\$1');
 };


These 2 are indeed stupidly small. I have managed to work around packaging
these 2 modules up and closed the ITPs.

I have taken a lot of time to try to avoid packaging modules for Debian
which could be avoided. I have done this by painstakingly getting patches
merged in many upstream projects to change dependencies to better ones, or
fewer ones. When I started it looked like there were about 80 packages to
create, but I have brought that number down by a factor of 2.

I do not think that node-ms is stupidly small. 104 other packages depend on
it in the NPM registry: https://www.npmjs.org/package/ms

Please consider uploading node-ms and know that I am aware of the pain of
small packages and I am working hard to strike the balance between properly
tracking upstream and avoiding cruft.

Regards,
Andrew


Re: [Pkg-javascript-devel] Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-08-04 Thread Marco d'Itri
On Aug 05, Andrew Kelley superjo...@gmail.com wrote:

 What do you expect me to do? It would be very easy to just bundle all
 node_modules with the package but that is against Debian guidelines. Each
 dependency must track upstream. So that's exactly what we're doing and
 we're getting flak for it.
 
 It seems that Debian wants 2 contradictory things from me at the same time.
Not really: the really iportant goal is to avoid code duplication.
If it makes sense to bundle multiple libraries in the same package which
other packages may depend on then go for it.

-- 
ciao,
Marco


signature.asc
Description: Digital signature


Re: [Pkg-javascript-devel] Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-08-04 Thread Andrew Kelley
On Mon, Aug 4, 2014 at 6:06 PM, Marco d'Itri m...@linux.it wrote:

 If it makes sense to bundle multiple libraries in the same package which
 other packages may depend on then go for it.


I understand. Here is an example of doing exactly this:
http://anonscm.debian.org/cgit/pkg-javascript/node-chalk.git/tree/debian/watch

However let me re-iterate that ms has 104 other modules depending on it:
https://www.npmjs.org/package/ms

111 LOC is small but not trivial. I think this is not an example of a
package that should be blocked.

Regards,
Andrew


Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-13 Thread Vincent Bernat
 ❦ 12 juillet 2014 23:08 +0100, Steve McIntyre st...@einval.com :

 And I've got to ask: for the couple of trivial examples that Frederick
 pointed out - why on earth do these even exist as libraries instead of
 being inlined wherever they're needed?

Because, in node, a library is cheap and the functionality get unit
tested. That's why there are so many dependencies in this ecosystem.

Inlining is solving the wrong problem.
-- 
printk(MASQUERADE: No route: Rusty's brain broke!\n);
2.4.3. linux/net/ipv4/netfilter/ipt_MASQUERADE.c


signature.asc
Description: PGP signature


Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-13 Thread Neil Williams
On Sun, 13 Jul 2014 09:26:38 +0200
Vincent Bernat ber...@debian.org wrote:

  ❦ 12 juillet 2014 23:08 +0100, Steve McIntyre st...@einval.com :
 
  And I've got to ask: for the couple of trivial examples that
  Frederick pointed out - why on earth do these even exist as
  libraries instead of being inlined wherever they're needed?
 
 Because, in node, a library is cheap and the functionality get unit
 tested. That's why there are so many dependencies in this ecosystem.

Unit tests do not preclude inlining.
Unit tests do not preclude aggregation.

It's all just about multiple blocks of code in dedicated directories
inside a single source package building a single binary package from
which any other package can pick and choose the bits that package needs.

Just what is wrong with one binary package putting lots of js
in /usr/share/javascript/$library/$version/ and using symlinks in the
bigger package to pull in the files that package wants?

It's more work for the maintainers but it's less work for users - which
is the right way around.

 Inlining is solving the wrong problem.

Tiny packages are the wrong solution.

-- 


Neil Williams
=
http://www.linux.codehelp.co.uk/



signature.asc
Description: PGP signature


Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-13 Thread Jeroen Dekkers
At Sun, 13 Jul 2014 09:26:38 +0200,
Vincent Bernat wrote:
 
  ❦ 12 juillet 2014 23:08 +0100, Steve McIntyre st...@einval.com :
 
  And I've got to ask: for the couple of trivial examples that Frederick
  pointed out - why on earth do these even exist as libraries instead of
  being inlined wherever they're needed?
 
 Because, in node, a library is cheap and the functionality get unit
 tested. That's why there are so many dependencies in this ecosystem.

You have all the extra metadata, extra git repository, extra
dependency tracking, etc. no matter how 'cheap' a library is.

And as far as I understand npm (correct me if I'm wrong, I don't use
npm very often), it will install dependencies in a nested way, so if
app1 use library1 and library2, and both those libraries use
tinylibrary1, tinylibrary2 and tinylibrary3, then those 3 tiny
libraries will be installed both under library1 and library2. I
wouldn't really call that cheap.


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/87wqbhy54i.wl%jer...@dekkers.ch



Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-13 Thread Vincent Bernat
 ❦ 13 juillet 2014 11:34 +0200, Jeroen Dekkers jer...@dekkers.ch :

  And I've got to ask: for the couple of trivial examples that Frederick
  pointed out - why on earth do these even exist as libraries instead of
  being inlined wherever they're needed?
 
 Because, in node, a library is cheap and the functionality get unit
 tested. That's why there are so many dependencies in this ecosystem.

 You have all the extra metadata, extra git repository, extra
 dependency tracking, etc. no matter how 'cheap' a library is.

It still makes the library cheap. Those extra stuff are why the library
is done in the first place. They allow people to find simple stuff
without reimplementing it (usually with additional bugs).

That's exacerbated by the fact that the standard library is inexistent
with javascript and that the one that comes with node is quite small.

Looking at the stats of this trivial library:
 https://www.npmjs.org/package/ms
I see it is quite popular and used by many (101) projects. That's
projects finding the library useful enough to not inline it.

 And as far as I understand npm (correct me if I'm wrong, I don't use
 npm very often), it will install dependencies in a nested way, so if
 app1 use library1 and library2, and both those libraries use
 tinylibrary1, tinylibrary2 and tinylibrary3, then those 3 tiny
 libraries will be installed both under library1 and library2. I
 wouldn't really call that cheap.

You are right. That's their way to not have to really manage
versioning. But that's the same cost when inlining. And that's
irrelevant in the Debian case since we don't nest.
-- 
Treat end of file conditions in a uniform manner.
- The Elements of Programming Style (Kernighan  Plauger)


signature.asc
Description: PGP signature


Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-13 Thread Vincent Bernat
 ❦ 13 juillet 2014 08:50 +0100, Neil Williams codeh...@debian.org :

  And I've got to ask: for the couple of trivial examples that
  Frederick pointed out - why on earth do these even exist as
  libraries instead of being inlined wherever they're needed?
 
 Because, in node, a library is cheap and the functionality get unit
 tested. That's why there are so many dependencies in this ecosystem.

 Unit tests do not preclude inlining.
 Unit tests do not preclude aggregation.

 It's all just about multiple blocks of code in dedicated directories
 inside a single source package building a single binary package from
 which any other package can pick and choose the bits that package needs.

 Just what is wrong with one binary package putting lots of js
 in /usr/share/javascript/$library/$version/ and using symlinks in the
 bigger package to pull in the files that package wants?

Aggregation is not inlining. I was talking about inlining. I have no
opinion about aggregation.
-- 
 /* Thanks to Rob `CmdrTaco' Malda for not influencing this code in any
  * way.
  */
2.4.3 linux/net/core/netfilter.c


signature.asc
Description: PGP signature


Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Leo Iannacone
Package: wnpp
Severity: wishlist
Owner: Leo Iannacone l...@ubuntu.com
X-Debbugs-CC: debian-devel@lists.debian.org

* Package name: node-ms
  Version : 0.6.2
  Upstream Author : Guillermo Rauch rau...@gmail.com
* URL : https://github.com/guille/ms.js
* License : Expat
  Programming Lang: JavaScript
  Description : milliseconds conversion utility - Node.js module
 This module provides a tiny milliseconds conversion utility able to
 transorm a string with a valid time unit to the equivalent number
 of milliseconds and vice versa.
 .
 Node.js is an event-based server-side JavaScript engine.

 .
 Node.js is an event-based server-side JavaScript engine.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/53c10a02.c759b40a.5c57.9...@mx.google.com



Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Steve McIntyre
l...@ubuntu.com wrote:
Package: wnpp
Severity: wishlist
Owner: Leo Iannacone l...@ubuntu.com
X-Debbugs-CC: debian-devel@lists.debian.org

* Package name: node-ms
  Version : 0.6.2
  Upstream Author : Guillermo Rauch rau...@gmail.com
* URL : https://github.com/guille/ms.js
* License : Expat
  Programming Lang: JavaScript
  Description : milliseconds conversion utility - Node.js module
 This module provides a tiny milliseconds conversion utility able to
 transorm a string with a valid time unit to the equivalent number
 of milliseconds and vice versa.
 .
 Node.js is an event-based server-side JavaScript engine.

 .
 Node.js is an event-based server-side JavaScript engine.

I've seen ITPs for a massive set of tiny-looking node libraries go
past on -devel in the last few months, so I thought it was about time
I looked at one. I'm a bit worried by what I've seen, considering
typical discussions in the past about really small packages.

tack:~/debian/ms.js$ ls -al
total 52
drwxr-xr-x   4 steve users 4096 Jul 12 11:29 ./
drwxr-xr-x 112 steve users 4096 Jul 12 11:29 ../
drwxr-xr-x   8 steve users 4096 Jul 12 11:29 .git/
-rw-r--r--   1 steve users   13 Jul 12 11:29 .gitignore
-rw-r--r--   1 steve users   53 Jul 12 11:29 .npmignore
-rw-r--r--   1 steve users 1026 Jul 12 11:29 History.md
-rw-r--r--   1 steve users 1097 Jul 12 11:29 LICENSE
-rw-r--r--   1 steve users  110 Jul 12 11:29 Makefile
-rw-r--r--   1 steve users  814 Jul 12 11:29 README.md
-rw-r--r--   1 steve users  223 Jul 12 11:29 component.json
-rw-r--r--   1 steve users 2025 Jul 12 11:29 index.js
-rw-r--r--   1 steve users  360 Jul 12 11:29 package.json
drwxr-xr-x   2 steve users 4096 Jul 12 11:29 test/

tack:~/debian/ms.js$ wc -l index.js 
111 index.js

Am I missing something, or is the working code in this package really
just 111 lines? Why isn't this bundled up into something more
reasonable in size for the packaging system?

-- 
Steve McIntyre, Cambridge, UK.st...@einval.com
Support the Campaign for Audiovisual Free Expression: http://www.eff.org/cafe/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/e1x5ueq-zx...@mail.einval.com



Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Leo Iannacone
On 12 July 2014 12:35, Steve McIntyre st...@einval.com wrote:
 l...@ubuntu.com wrote:
Package: wnpp
Severity: wishlist
Owner: Leo Iannacone l...@ubuntu.com
X-Debbugs-CC: debian-devel@lists.debian.org

* Package name: node-ms
  Version : 0.6.2
  Upstream Author : Guillermo Rauch rau...@gmail.com
* URL : https://github.com/guille/ms.js
* License : Expat
  Programming Lang: JavaScript
  Description : milliseconds conversion utility - Node.js module
 This module provides a tiny milliseconds conversion utility able to
 transorm a string with a valid time unit to the equivalent number
 of milliseconds and vice versa.
 .
 Node.js is an event-based server-side JavaScript engine.

 .
 Node.js is an event-based server-side JavaScript engine.

 I've seen ITPs for a massive set of tiny-looking node libraries go
 past on -devel in the last few months, so I thought it was about time
 I looked at one. I'm a bit worried by what I've seen, considering
 typical discussions in the past about really small packages.

 tack:~/debian/ms.js$ ls -al
 total 52
 drwxr-xr-x   4 steve users 4096 Jul 12 11:29 ./
 drwxr-xr-x 112 steve users 4096 Jul 12 11:29 ../
 drwxr-xr-x   8 steve users 4096 Jul 12 11:29 .git/
 -rw-r--r--   1 steve users   13 Jul 12 11:29 .gitignore
 -rw-r--r--   1 steve users   53 Jul 12 11:29 .npmignore
 -rw-r--r--   1 steve users 1026 Jul 12 11:29 History.md
 -rw-r--r--   1 steve users 1097 Jul 12 11:29 LICENSE
 -rw-r--r--   1 steve users  110 Jul 12 11:29 Makefile
 -rw-r--r--   1 steve users  814 Jul 12 11:29 README.md
 -rw-r--r--   1 steve users  223 Jul 12 11:29 component.json
 -rw-r--r--   1 steve users 2025 Jul 12 11:29 index.js
 -rw-r--r--   1 steve users  360 Jul 12 11:29 package.json
 drwxr-xr-x   2 steve users 4096 Jul 12 11:29 test/

 tack:~/debian/ms.js$ wc -l index.js
 111 index.js

 Am I missing something, or is the working code in this package really
 just 111 lines? Why isn't this bundled up into something more
 reasonable in size for the packaging system?

No,
you're right. It is really small.

But, after discussing this in JavaScript team we ended up that it is
better have separated packages, instead of having a big
nodejs-common (or whatever) package, in order to properly track
upstream releases individually.

Cheers.
L.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/CACzqv1eryTPLQyV5q-2AH+NGjKN1M2KBPY0_yCDoz-gS=4_...@mail.gmail.com



Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Frederic Peters
Steve McIntyre wrote:

 I've seen ITPs for a massive set of tiny-looking node libraries go
 past on -devel in the last few months, so I thought it was about time
 I looked at one. I'm a bit worried by what I've seen, considering
 typical discussions in the past about really small packages.
 
 [...]
 
 tack:~/debian/ms.js$ wc -l index.js 
 111 index.js
 
 Am I missing something, or is the working code in this package really
 just 111 lines? Why isn't this bundled up into something more
 reasonable in size for the packaging system?

Indeed, I also recently looked at some, but didn't speak about it;
just like we have LaTeX packages including a serie of CTAN packages,
I believe it would make sense to have the same sort of thing for
node.js modules.

I have CCed pkg-javascript-de...@lists.alioth.debian.org.


Fred

ITP: node-ansi-regex
 $ git clone https://github.com/sindresorhus/ansi-regex
 $ cat ansi-regex/index.js
'use strict';
module.exports = function () {
return /\u001b\[(?:[0-9]{1,3}(?:;[0-9]{1,3})*)?[m|K]/g;
};

ITP: node-quotemeta
 $ git clone https://github.com/substack/quotemeta.git
 $ cat quotemeta/index.js
module.exports = function (str) {
return String(str).replace(/(\W)/g, '\\$1');
};


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20140712105745.ga13...@0d.be



Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Steve McIntyre
On Sat, Jul 12, 2014 at 12:55:02PM +0200, Leo Iannacone wrote:
On 12 July 2014 12:35, Steve McIntyre st...@einval.com wrote:

 tack:~/debian/ms.js$ wc -l index.js
 111 index.js

 Am I missing something, or is the working code in this package really
 just 111 lines? Why isn't this bundled up into something more
 reasonable in size for the packaging system?

No, you're right. It is really small.

But, after discussing this in JavaScript team we ended up that it is
better have separated packages, instead of having a big
nodejs-common (or whatever) package, in order to properly track
upstream releases individually.

Right. Did you discuss that with ftpmaster or anybody else outside of
the javascript team? There's typically been a consensus against very
small packages containing just a single script or piece of code so
small that the packaging metadata is going to be as big as (or bigger
than!) the package contents. The packaging overhead hits every single
user of Debian...

-- 
Steve McIntyre, Cambridge, UK.st...@einval.com
  Mature Sporty Personal
  More Innovation More Adult
  A Man in Dandism
  Powered Midship Specialty


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20140712110328.gx18...@einval.com



Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Jérémy Lal
Le samedi 12 juillet 2014 à 12:03 +0100, Steve McIntyre a écrit :
 On Sat, Jul 12, 2014 at 12:55:02PM +0200, Leo Iannacone wrote:
 On 12 July 2014 12:35, Steve McIntyre st...@einval.com wrote:
 
  tack:~/debian/ms.js$ wc -l index.js
  111 index.js
 
  Am I missing something, or is the working code in this package really
  just 111 lines? Why isn't this bundled up into something more
  reasonable in size for the packaging system?
 
 No, you're right. It is really small.
 
 But, after discussing this in JavaScript team we ended up that it is
 better have separated packages, instead of having a big
 nodejs-common (or whatever) package, in order to properly track
 upstream releases individually.
 
 Right. Did you discuss that with ftpmaster or anybody else outside of
 the javascript team? There's typically been a consensus against very
 small packages containing just a single script or piece of code so
 small that the packaging metadata is going to be as big as (or bigger
 than!) the package contents. The packaging overhead hits every single
 user of Debian...

Can you give reference(s) to that consensus ?
Can you be more specific about the way small packages hit users ?
(numbers, please).

Jérémy.



-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/1405170874.14141.3.camel@imac.chaumes



Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Michael Banck
On Sat, Jul 12, 2014 at 12:55:02PM +0200, Leo Iannacone wrote:
 On 12 July 2014 12:35, Steve McIntyre st...@einval.com wrote:
  l...@ubuntu.com wrote:
 Package: wnpp
 Severity: wishlist
 Owner: Leo Iannacone l...@ubuntu.com
 X-Debbugs-CC: debian-devel@lists.debian.org
 
 * Package name: node-ms
   Version : 0.6.2
   Upstream Author : Guillermo Rauch rau...@gmail.com
 * URL : https://github.com/guille/ms.js
 * License : Expat
   Programming Lang: JavaScript
   Description : milliseconds conversion utility - Node.js module
  This module provides a tiny milliseconds conversion utility able to
  transorm a string with a valid time unit to the equivalent number
  of milliseconds and vice versa.
  .
  Node.js is an event-based server-side JavaScript engine.
 
  .
  Node.js is an event-based server-side JavaScript engine.
 
  I've seen ITPs for a massive set of tiny-looking node libraries go
  past on -devel in the last few months, so I thought it was about time
  I looked at one. I'm a bit worried by what I've seen, considering
  typical discussions in the past about really small packages.
 
  tack:~/debian/ms.js$ ls -al
  total 52
  drwxr-xr-x   4 steve users 4096 Jul 12 11:29 ./
  drwxr-xr-x 112 steve users 4096 Jul 12 11:29 ../
  drwxr-xr-x   8 steve users 4096 Jul 12 11:29 .git/
  -rw-r--r--   1 steve users   13 Jul 12 11:29 .gitignore
  -rw-r--r--   1 steve users   53 Jul 12 11:29 .npmignore
  -rw-r--r--   1 steve users 1026 Jul 12 11:29 History.md
  -rw-r--r--   1 steve users 1097 Jul 12 11:29 LICENSE
  -rw-r--r--   1 steve users  110 Jul 12 11:29 Makefile
  -rw-r--r--   1 steve users  814 Jul 12 11:29 README.md
  -rw-r--r--   1 steve users  223 Jul 12 11:29 component.json
  -rw-r--r--   1 steve users 2025 Jul 12 11:29 index.js
  -rw-r--r--   1 steve users  360 Jul 12 11:29 package.json
  drwxr-xr-x   2 steve users 4096 Jul 12 11:29 test/
 
  tack:~/debian/ms.js$ wc -l index.js
  111 index.js
 
  Am I missing something, or is the working code in this package really
  just 111 lines? Why isn't this bundled up into something more
  reasonable in size for the packaging system?
 
 No,
 you're right. It is really small.
 
 But, after discussing this in JavaScript team we ended up that it is
 better have separated packages, instead of having a big
 nodejs-common (or whatever) package, in order to properly track
 upstream releases individually.

How much do you think it will change in the foreseeable future?  If
there are frequent changes to those 111 lines, I am buying your
argument, but if we are talking about 1-2 updates a year, a js-bundle
package (which itself could be updated every couple of weeks unless
major bugs or security issues pop up) might be more worthwhile.


Michael


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/20140712131527.gw23...@raptor.chemicalconnection.dyndns.org



Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Leo Iannacone
On 12 July 2014 15:15, Michael Banck mba...@debian.org wrote:
 On Sat, Jul 12, 2014 at 12:55:02PM +0200, Leo Iannacone wrote:
 On 12 July 2014 12:35, Steve McIntyre st...@einval.com wrote:
  l...@ubuntu.com wrote:
 Package: wnpp
 Severity: wishlist
 Owner: Leo Iannacone l...@ubuntu.com
 X-Debbugs-CC: debian-devel@lists.debian.org
 
 * Package name: node-ms
   Version : 0.6.2
   Upstream Author : Guillermo Rauch rau...@gmail.com
 * URL : https://github.com/guille/ms.js
 * License : Expat
   Programming Lang: JavaScript
   Description : milliseconds conversion utility - Node.js module
  This module provides a tiny milliseconds conversion utility able to
  transorm a string with a valid time unit to the equivalent number
  of milliseconds and vice versa.
  .
  Node.js is an event-based server-side JavaScript engine.
 
  .
  Node.js is an event-based server-side JavaScript engine.
 
  I've seen ITPs for a massive set of tiny-looking node libraries go
  past on -devel in the last few months, so I thought it was about time
  I looked at one. I'm a bit worried by what I've seen, considering
  typical discussions in the past about really small packages.
 
  tack:~/debian/ms.js$ ls -al
  total 52
  drwxr-xr-x   4 steve users 4096 Jul 12 11:29 ./
  drwxr-xr-x 112 steve users 4096 Jul 12 11:29 ../
  drwxr-xr-x   8 steve users 4096 Jul 12 11:29 .git/
  -rw-r--r--   1 steve users   13 Jul 12 11:29 .gitignore
  -rw-r--r--   1 steve users   53 Jul 12 11:29 .npmignore
  -rw-r--r--   1 steve users 1026 Jul 12 11:29 History.md
  -rw-r--r--   1 steve users 1097 Jul 12 11:29 LICENSE
  -rw-r--r--   1 steve users  110 Jul 12 11:29 Makefile
  -rw-r--r--   1 steve users  814 Jul 12 11:29 README.md
  -rw-r--r--   1 steve users  223 Jul 12 11:29 component.json
  -rw-r--r--   1 steve users 2025 Jul 12 11:29 index.js
  -rw-r--r--   1 steve users  360 Jul 12 11:29 package.json
  drwxr-xr-x   2 steve users 4096 Jul 12 11:29 test/
 
  tack:~/debian/ms.js$ wc -l index.js
  111 index.js
 
  Am I missing something, or is the working code in this package really
  just 111 lines? Why isn't this bundled up into something more
  reasonable in size for the packaging system?

 No,
 you're right. It is really small.

 But, after discussing this in JavaScript team we ended up that it is
 better have separated packages, instead of having a big
 nodejs-common (or whatever) package, in order to properly track
 upstream releases individually.

 How much do you think it will change in the foreseeable future?  If
 there are frequent changes to those 111 lines, I am buying your
 argument, but if we are talking about 1-2 updates a year, a js-bundle
 package (which itself could be updated every couple of weeks unless
 major bugs or security issues pop up) might be more worthwhile.


 Michael

I have no idea about how frequently upstream will release a new
version.. I think 1-2 updates per year as you said.

Anyway I still prefer manage modules separately, I don't see any
reason to make a common package..

And common to what? Node.js?? Express framework (since these are all
dependencies for it)?
It makes no sense -at least- to me.


Best,
Leo.

-- 
Ubuntu Member - http://launchpad.net/~l3on
Home Page - http://leoiannacone.com
GPG Key Id - 0xD282FC25


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
https://lists.debian.org/caczqv1cz9ptsh1+tf5szqzaawzaofmff4sojt7uxoyd4m25...@mail.gmail.com



Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Russ Allbery
Steve McIntyre st...@einval.com writes:

 Right. Did you discuss that with ftpmaster or anybody else outside of
 the javascript team? There's typically been a consensus against very
 small packages containing just a single script or piece of code so small
 that the packaging metadata is going to be as big as (or bigger than!)
 the package contents. The packaging overhead hits every single user of
 Debian...

FWIW, the Perl team has recently gone through the same discussion,
including with the ftp team, and has started breaking apart some large
module collections into individual packages for the same reasons cited
here.  Tracking upstream releases in merged packages is quite painful.

I'd really like to see us solve this problem by figuring out a better
metadata distribution system (and IIRC some progress was made on that
front recently) than in making life more difficult for packagers.
Although if someone came up with a really elegant and scalable solution to
merging multiple upstream releases into a Debian source package, that may
work too.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/87mwceze97@windlord.stanford.edu



Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Russ Allbery
Frederic Peters fpet...@debian.org writes:

 Indeed, I also recently looked at some, but didn't speak about it; just
 like we have LaTeX packages including a serie of CTAN packages, I
 believe it would make sense to have the same sort of thing for node.js
 modules.

The CTAN case is a little bit different, as I understand it, because our
actual upstream is TeXLive, which is already doing that merging for us and
provides us with a clear upstream to use.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/87ion2ze7u@windlord.stanford.edu



Bootstrapping also increases the package count (was: Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility)

2014-07-12 Thread Johannes Schauer
Hi,

Quoting Russ Allbery (2014-07-12 19:19:16)
 I'd really like to see us solve this problem by figuring out a better
 metadata distribution system (and IIRC some progress was made on that
 front recently) than in making life more difficult for packagers.

which progress is that?

With bootstrapping we also have the problem that we often have to increase the
package count with very small packages as it is often required to split a
package so that

 - one part of it can be multiarched (to be able to satisfy cross build
   dependencies)
 - or so that the content of the produced binary package of a stage1 profile
   build is not different from the full build (for example by splitting a
   foo-plugins package into foo-plugins-nogtk and foo-plugins-gtk)

So we would also like to not run into the problem of making people's life
harder because we increase the amount of package meta data too much.

cheers, josch


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/20140712190136.31130.49432@hoothoot



Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Neil Williams
On Sat, 12 Jul 2014 16:12:17 +0200
Leo Iannacone l...@ubuntu.com wrote:

   Am I missing something, or is the working code in this package
   really just 111 lines? Why isn't this bundled up into something
   more reasonable in size for the packaging system?
 
  No,
  you're right. It is really small.
 
  But, after discussing this in JavaScript team we ended up that it
  is better have separated packages, instead of having a big
  nodejs-common (or whatever) package, in order to properly track
  upstream releases individually.

It's not the best option for the archive or for any of the users of
Debian. Tiny packages like this hurt *every* Debian user by padding the
Packages file with many times the content of the package. Every user
gets that hit whether they use the package or not.

Worse, every user gets hit every time apt update is run - not just on
the main system but in every chroot, on every mirror, on every buildd.

I don't appreciate my 20 or 30 build environments getting hit every
single time I run a build merely for your convenience. It's very
inconvenient for everyone else but this is the only chance to complain
about it.

 Anyway I still prefer manage modules separately, I don't see any
 reason to make a common package..

Because tiny packages hurt the archive and hurt all users. That's
more than enough reason.

 And common to what? Node.js?? Express framework (since these are all
 dependencies for it)?

Whatever uses it. Aggregate multiple upstreams into one source package
and build one binary then ITP that. This binary then becomes a
dependency of whatever needs any of the content. That way, only
packages which use the code are affected.

If you can't do that, embed everything needed and spin out a single
binary from whichever one is the unlucky reverse dependency. That way,
the only extra content is a few lines in debian/copyright.

Whatever is done, aggregation is the key.

 It makes no sense -at least- to me.

Think of people outside your own team.

Think of everyone using apt.

-- 


Neil Williams
=
http://www.linux.codehelp.co.uk/



signature.asc
Description: PGP signature


Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Steve McIntyre
l...@ubuntu.com wrote:
On 12 July 2014 15:15, Michael Banck mba...@debian.org wrote:
 On Sat, Jul 12, 2014 at 12:55:02PM +0200, Leo Iannacone wrote:

 But, after discussing this in JavaScript team we ended up that it is
 better have separated packages, instead of having a big
 nodejs-common (or whatever) package, in order to properly track
 upstream releases individually.

 How much do you think it will change in the foreseeable future?  If
 there are frequent changes to those 111 lines, I am buying your
 argument, but if we are talking about 1-2 updates a year, a js-bundle
 package (which itself could be updated every couple of weeks unless
 major bugs or security issues pop up) might be more worthwhile.

I have no idea about how frequently upstream will release a new
version.. I think 1-2 updates per year as you said.

Anyway I still prefer manage modules separately, I don't see any
reason to make a common package..

And common to what? Node.js?? Express framework (since these are all
dependencies for it)?
It makes no sense -at least- to me.

For such small (and obvious?) code in library packages, how many other
packages are going to depend on or use them? If the Express framework
is the key/only user, either bundle them with it or as one separate
package that it depends on? Is there no node equivalent of the
standard library where these could be attached?

And I've got to ask: for the couple of trivial examples that Frederick
pointed out - why on earth do these even exist as libraries instead of
being inlined wherever they're needed?

-- 
Steve McIntyre, Cambridge, UK.st...@einval.com
Support the Campaign for Audiovisual Free Expression: http://www.eff.org/cafe/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/e1x65t3-00048y...@mail.einval.com



Re: Bug#754551: ITP: node-ms -- milliseconds conversion utility

2014-07-12 Thread Steve McIntyre
kapo...@melix.org wrote:
Le samedi 12 juillet 2014 à 12:03 +0100, Steve McIntyre a écrit :
 
 Right. Did you discuss that with ftpmaster or anybody else outside of
 the javascript team? There's typically been a consensus against very
 small packages containing just a single script or piece of code so
 small that the packaging metadata is going to be as big as (or bigger
 than!) the package contents. The packaging overhead hits every single
 user of Debian...

Can you give reference(s) to that consensus ?

Not off the top of my head, but it's come up a number of times in the
last few years if you want to dig in the archives.

Can you be more specific about the way small packages hit users ?
(numbers, please).

Every single user ends up downloading, storing and processing a larger
amount of metadata in the Packages files. That's an issue. Storage
might be cheap for most people, but not for everybody. Extra bandwidth
to transfer the extra: ditto. And the extra processing needed on every
invocation of apt and dpkg and the other tools slows everything down.

All of these arguments have been made before - see previous threads.

-- 
Steve McIntyre, Cambridge, UK.st...@einval.com
Support the Campaign for Audiovisual Free Expression: http://www.eff.org/cafe/


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: https://lists.debian.org/e1x65yb-0004dg...@mail.einval.com