If paver is being run by a user that is not the same as the user
that installed npm on the guest machine, then paver install_prereqs fails
with the following error:
---> pavelib.prereqs.install_node_prereqs
npm config set registry http://registry.npmjs.org/
npm ERR! Error: EPERM, chown '/home/jenkins/.npmrc'
npm ERR! { [Error: EPERM, chown '/home/jenkins/.npmrc'] errno: 50, code: 'EPERM', path: '/home/jenkins/.npmrc' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! System Linux 3.2.0-23-generic
npm ERR! command "/usr/bin/node" "/usr/bin/npm" "config" "set" "registry" "http://registry.npmjs.org/"
npm ERR! cwd /home/jenkins/shallow-clone
npm ERR! node -v v0.10.30
npm ERR! npm -v 1.4.21
npm ERR! path /home/jenkins/.npmrc
npm ERR! code EPERM
npm ERR! errno 50
npm ERR! stack Error: EPERM, chown '/home/jenkins/.npmrc'
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR! /home/jenkins/shallow-clone/npm-debug.log
npm ERR! not ok code 0
Captured Task Output:
---------------------
---> pavelib.prereqs.install_prereqs
---> pavelib.prereqs.install_ruby_prereqs
---> pavelib.prereqs.install_node_prereqs
npm config set registry http://registry.npmjs.org/
Build failed running pavelib.prereqs.install_prereqs: Subprocess return code: 50
This change is a workaround. It will first see if the value is set. In the case
that is it not set, it will attempt to set it. (It will then fail; however,
re-running the task will subsequently be successful.)
Clean up shopping cart processor API.
Fix UUID JSON serialization bug in CyberSource2 implementation.
Update test suite to use new CyberSource2 implementation.
Fix i18n messages in CyberSource2
Enable CyberSource2 implementation by default.
Currently, users can only download ContentStore files from first byte to
last byte.
With this change, when a request to the ContentStore includes the HTTP
"Range" parameter, it is parsed and StaticContentStream will stream the
requested bytes.
This change makes possible to stream video files (.mp4 especially) from
the ContentStore. Users can now seek a specific time in the video
without loading all the file.
This is useful for courses with a limited number of students that
doesn't require a dedicated video server.