[SCM] groovebasin/master: update dependencies and connect-static patch
andrewrk-guest at users.alioth.debian.org
andrewrk-guest at users.alioth.debian.org
Fri Oct 17 06:30:27 UTC 2014
The following commit has been merged in the master branch:
commit e7e3059d002672f207667dcecb58e912015bc393
Author: Andrew Kelley <superjoe30 at gmail.com>
Date: Fri Oct 17 06:08:42 2014 +0000
update dependencies and connect-static patch
diff --git a/debian/control b/debian/control
index 958e367..8c961d0 100644
--- a/debian/control
+++ b/debian/control
@@ -23,10 +23,9 @@ Architecture: all
Depends:
${misc:Depends}
, nodejs
- , node-bl (>= 0.9.3)
, node-cookies (>= 0.4.1)
, node-express (>= 4.1.0)
- , node-findit (>= 2.0.0)
+ , node-findit (>= 2.0.0-2)
, node-groove (>= 2.2.6)
, node-keese (>= 1.0.1)
, node-lastfm (>= 0.9.2)
@@ -34,7 +33,7 @@ Depends:
, node-mess (>= 0.1.2)
, node-mime (>= 0.2.11)
, node-mkdirp (>= 0.5.0)
- , node-multiparty (>= 3.3.2)
+ , node-multiparty (>= 4.0.0)
, node-music-library-index (>= 1.2.2)
, node-ncp (>= 0.6.0)
, node-osenv (>= 0.0.3)
diff --git a/debian/patches/bundle-connect-static-module.patch b/debian/patches/bundle-connect-static-module.patch
index d14c8d6..7e43b6d 100644
--- a/debian/patches/bundle-connect-static-module.patch
+++ b/debian/patches/bundle-connect-static-module.patch
@@ -3,10 +3,9 @@ Description: bundle connect-static module
so we bundle the module here.
Author: Andrew Kelley <superjoe30 at gmail.com>
Forwarded: not-needed
-
--- /dev/null
-+++ groovebasin-1.3.0/node_modules/connect-static/index.js
-@@ -0,0 +1,101 @@
++++ groovebasin-1.4.0/node_modules/connect-static/index.js
+@@ -0,0 +1,110 @@
+var zlib = require('zlib');
+var fs = require('fs');
+var stream = require('stream');
@@ -16,7 +15,7 @@ Forwarded: not-needed
+var findit = require('findit');
+var mime = require('mime');
+var url = require('url');
-+var BufferList = require('bl');
++var StreamSink = require('streamsink');
+var crypto = require('crypto');
+
+module.exports = createGzipStaticMiddleware;
@@ -26,43 +25,51 @@ Forwarded: not-needed
+ var dir = options.dir || "public";
+ var ignoreFile = options.ignoreFile || defaultIgnoreFile;
+ var aliases = options.aliases || [['/', '/index.html']];
++ var followSymlinks = (options.followSymlinks == null) ? true : !!options.followSymlinks;
+
+ var cache = {};
+ var pend = new Pend();
-+ var walker = findit(dir);
++ var walker = findit(dir, {followSymlinks: followSymlinks});
+ walker.on('error', function(err) {
+ walker.stop();
+ cb(err);
+ });
-+ walker.on('file', function(file, stat) {
-+ if (ignoreFile(file)) return;
-+ var relName = '/' + path.relative(dir, file);
-+ var bl = new BufferList();
++ walker.on('file', function(file, stat, linkPath) {
++ var usePath = linkPath || file;
++ if (ignoreFile(usePath)) return;
++ var relName = '/' + path.relative(dir, usePath);
++ var sink = new StreamSink();
+ var inStream = fs.createReadStream(file);
-+ inStream.on('error', function(err) {
-+ if (err.code === 'EISDIR') {
-+ delete cache[relName];
-+ return;
-+ } else {
-+ throw err;
-+ }
-+ });
+ var cacheObj;
+ cache[relName] = cacheObj = {
-+ bl: bl,
++ sink: sink,
+ mime: mime.lookup(relName),
+ mtime: stat.mtime,
+ hash: null,
+ };
++ var gzipPendCb, hashPendCb;
++ inStream.on('error', function(err) {
++ if (err.code === 'EISDIR') {
++ delete cache[relName];
++ gzipPendCb();
++ hashPendCb();
++ } else {
++ walker.stop();
++ gzipPendCb(err);
++ hashPendCb(err);
++ }
++ });
+ pend.go(function(cb) {
-+ inStream.pipe(zlib.createGzip()).pipe(bl);
-+ bl.once('finish', cb);
++ gzipPendCb = cb;
++ inStream.pipe(zlib.createGzip()).pipe(sink);
++ sink.on('finish', cb);
+ });
+ pend.go(function(cb) {
-+ var hashBl = new BufferList();
-+ inStream.pipe(crypto.createHash('sha1')).pipe(hashBl);
-+ hashBl.once('finish', function() {
-+ cacheObj.hash = hashBl.toString('base64');
++ hashPendCb = cb;
++ var hashSink = new StreamSink();
++ inStream.pipe(crypto.createHash('sha1')).pipe(hashSink);
++ hashSink.on('finish', function() {
++ cacheObj.hash = hashSink.toString('base64');
+ cb();
+ });
+ });
@@ -91,14 +98,15 @@ Forwarded: not-needed
+ return;
+ }
+
-+ var bl = c.bl;
++ var sink = c.sink;
+ resp.setHeader('Content-Type', c.mime);
++ resp.setHeader('Cache-Control', 'max-age=0, must-revalidate');
+ resp.setHeader('ETag', c.hash);
+ if (req.headers['accept-encoding'] == null) {
-+ bl.duplicate().pipe(zlib.createGunzip()).pipe(resp);
++ sink.createReadStream().pipe(zlib.createGunzip()).pipe(resp);
+ } else {
+ resp.setHeader('Content-Encoding', 'gzip');
-+ bl.duplicate().pipe(resp);
++ sink.createReadStream().pipe(resp);
+ }
+ }
+ });
@@ -109,11 +117,112 @@ Forwarded: not-needed
+ return /^\./.test(basename) || /~$/.test(basename);
+}
--- /dev/null
-+++ groovebasin-1.3.0/node_modules/connect-static/package.json
++++ groovebasin-1.4.0/node_modules/connect-static/node_modules/streamsink/index.js
+@@ -0,0 +1,53 @@
++var stream = require('stream');
++var util = require('util');
++
++module.exports = StreamSink;
++StreamSink.fromBuffer = fromBuffer;
++StreamSink.fromBufferList = fromBufferList;
++
++function fromBuffer(buffer, options) {
++ return fromBufferList([buffer], options);
++}
++
++function fromBufferList(bufferList, options) {
++ var sink = new StreamSink(options);
++ sink.buffer = bufferList;
++ sink.length = 0;
++ bufferList.forEach(function(buffer) {
++ sink.length += buffer.length;
++ });
++ return sink;
++}
++
++util.inherits(StreamSink, stream.Writable);
++function StreamSink(options) {
++ stream.Writable.call(this, options);
++ this.buffer = [];
++ this.length = 0;
++}
++
++StreamSink.prototype._write = function(chunk, encoding, callback) {
++ this.buffer.push(chunk);
++ this.length += chunk.length;
++ callback();
++};
++
++StreamSink.prototype.createReadStream = function(options) {
++ var s = new stream.Readable(options);
++ s.buffer = this.buffer;
++ s._read = function(size) {
++ for (var i = 0; i < s.buffer.length; i += 1) {
++ s.push(s.buffer[i]);
++ }
++ s.push(null);
++ };
++ return s;
++};
++
++StreamSink.prototype.toString = function(encoding, start, end) {
++ return this.toBuffer().toString(encoding, start, end);
++};
++
++StreamSink.prototype.toBuffer = function() {
++ return Buffer.concat(this.buffer, this.length);
++};
+--- /dev/null
++++ groovebasin-1.4.0/node_modules/connect-static/node_modules/streamsink/package.json
+@@ -0,0 +1,42 @@
++{
++ "name": "streamsink",
++ "version": "1.2.0",
++ "description": "pipe to a buffer, then create readable streams from it",
++ "main": "index.js",
++ "scripts": {
++ "test": "node test.js"
++ },
++ "repository": {
++ "type": "git",
++ "url": "git://github.com/andrewrk/node-streamsink.git"
++ },
++ "author": {
++ "name": "Andrew Kelley",
++ "email": "superjoe30 at gmail.com"
++ },
++ "license": "MIT",
++ "bugs": {
++ "url": "https://github.com/andrewrk/node-streamsink/issues"
++ },
++ "homepage": "https://github.com/andrewrk/node-streamsink",
++ "_id": "streamsink at 1.2.0",
++ "dist": {
++ "shasum": "efafee9f1e22d3591ed7de3dcaa95c3f5e79f73c",
++ "tarball": "http://registry.npmjs.org/streamsink/-/streamsink-1.2.0.tgz"
++ },
++ "_from": "streamsink@~1.2.0",
++ "_npmVersion": "1.3.10",
++ "_npmUser": {
++ "name": "superjoe",
++ "email": "superjoe30 at gmail.com"
++ },
++ "maintainers": [
++ {
++ "name": "superjoe",
++ "email": "superjoe30 at gmail.com"
++ }
++ ],
++ "directories": {},
++ "_shasum": "efafee9f1e22d3591ed7de3dcaa95c3f5e79f73c",
++ "_resolved": "https://registry.npmjs.org/streamsink/-/streamsink-1.2.0.tgz"
++}
+--- /dev/null
++++ groovebasin-1.4.0/node_modules/connect-static/package.json
@@ -0,0 +1,48 @@
+{
+ "name": "connect-static",
-+ "version": "1.2.3",
++ "version": "1.3.1",
+ "description": "static file server middleware for connect. loads files once at startup and saves gzipped versions in memory",
+ "main": "index.js",
+ "scripts": {
@@ -133,17 +242,17 @@ Forwarded: not-needed
+ },
+ "homepage": "https://github.com/andrewrk/connect-static",
+ "dependencies": {
-+ "bl": "~0.9.3",
-+ "findit": "~2.0.0",
++ "findit2": "~2.2.0",
+ "mime": "~1.2.11",
-+ "pend": "~1.1.3"
++ "pend": "~1.1.3",
++ "streamsink": "~1.2.0"
+ },
-+ "_id": "connect-static at 1.2.3",
++ "_id": "connect-static at 1.3.1",
+ "dist": {
-+ "shasum": "aaa741483d491ea7e7ef7b277deb9f3ffef46620",
-+ "tarball": "http://registry.npmjs.org/connect-static/-/connect-static-1.2.3.tgz"
++ "shasum": "9920c86365ebb518b1c9a2a33855682bea55044f",
++ "tarball": "http://registry.npmjs.org/connect-static/-/connect-static-1.3.1.tgz"
+ },
-+ "_from": "connect-static@~1.2.2",
++ "_from": "connect-static@~1.3.1",
+ "_npmVersion": "1.3.10",
+ "_npmUser": {
+ "name": "superjoe",
@@ -156,6 +265,6 @@ Forwarded: not-needed
+ }
+ ],
+ "directories": {},
-+ "_shasum": "aaa741483d491ea7e7ef7b277deb9f3ffef46620",
-+ "_resolved": "https://registry.npmjs.org/connect-static/-/connect-static-1.2.3.tgz"
++ "_shasum": "9920c86365ebb518b1c9a2a33855682bea55044f",
++ "_resolved": "https://registry.npmjs.org/connect-static/-/connect-static-1.3.1.tgz"
+}
--
groovebasin packaging
More information about the pkg-multimedia-commits
mailing list