[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