-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
I'm reviewing Ralph's nodejs-cli-table [1]. The module depends on nodejs-colors 1.0.3. Fixdep doesn't work as the module uses new features introduced in 1.0.0. Updrading colors 0.6.2 to 1.0.3 will break all the depending packages, see below.
What would be wise to do? Update all dependents or multiversion nodejs-colors. What needs to be done to have colors multiversioned?
[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1191212
for line in $(repoquery --whatrequires 'npm(colors)'); do echo ${line}: repoquery -R ${line} | grep colors; echo done
nodejs-dtree-0:0.0.7-1.fc21.noarch: npm(colors) < 0.7 npm(colors) >= 0.6.2
nodejs-grunt-0:0.4.4-4.fc21.noarch: npm(colors) < 1 npm(colors) >= 0.6
nodejs-grunt-html-validation-0:0.1.18-2.fc21.noarch: npm(colors) npm(colors) < 0.7 npm(colors) >= 0.6.0
nodejs-grunt-init-0:0.3.1-2.fc21.noarch: npm(colors) < 1 npm(colors) >= 0.6
nodejs-grunt-saucelabs-0:8.3.3-1.fc21.noarch: npm(colors) < 0.7 npm(colors) >= 0.6.2
nodejs-node-static-0:0.7.3-2.fc21.noarch: npm(colors) >= 0.6.0
nodejs-replace-0:0.3.0-2.fc21.noarch: npm(colors)
nodejs-winston-0:0.7.3-2.fc21.noarch: npm(colors) < 0.7 npm(colors) >= 0.6
On Feb 20, 2015 8:37 AM, "Piotr Popieluch" piotr1212@gmail.com wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
I'm reviewing Ralph's nodejs-cli-table [1]. The module depends on nodejs-colors 1.0.3. Fixdep doesn't work as the module uses new features introduced in 1.0.0. Updrading colors 0.6.2 to 1.0.3 will break all the depending packages, see below.
What would be wise to do? Update all dependents or multiversion nodejs-colors. What needs to be done to have colors multiversioned?
If you can update all dependents such that everything is happy with colors 1.0 then please do so. We always like to avoid maintaining old versions of libraries if we can help it.
If it is unavoidable, there is detailed information about multiversion modules here: https://fedoraproject.org/wiki/Packaging:Node.js#Handling_Multiple_Version_S...
Please put up the other version package for review and CC me to get it added to nodejs-packaging.
Thanks! -T.C.
Excerpts from Piotr Popieluch's message of 2015-02-21 01:37 +10:00:
nodejs-replace-0:0.3.0-2.fc21.noarch: npm(colors)
nodejs-replace works fine with the newer colors, no updates are needed.
I suspect all the other dependent packages just need %nodejs_fixdep to clear the version requirements. From a quick look at the git history for colors, I think the API in 1.0.3 is backwards compatible.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 02/24/2015 02:58 AM, Dan Callaghan wrote:
Excerpts from Piotr Popieluch's message of 2015-02-21 01:37 +10:00:
nodejs-replace-0:0.3.0-2.fc21.noarch: npm(colors)
nodejs-replace works fine with the newer colors, no updates are needed.
I suspect all the other dependent packages just need %nodejs_fixdep to clear the version requirements. From a quick look at the git history for colors, I think the API in 1.0.3 is backwards compatible.
I did check this by running the example.js from 0.6 on the 1.0.3 library. First it fails on that colors.js is moved to the lib subdir. When I fix this by hand it fails on a missing method 'addSequencer', see below.
colors-1.0.3 node example.old.js Rainbows are fun! So are styles! inverse Chains are also cool. hopefully colorless output a b Zebras are so fun! background color attack! This is not fun. Rainbows are fun! So are styles! inverse Chains are also cool. hopefully colorless output a b
/home/piotr/rpmbuild/SOURCES/colors-1.0.3/example.old.js:27 colors.addSequencer("america", function(letter, i, exploded) { ^ TypeError: Object #<Object> has no method 'addSequencer' at Object.<anonymous> (/home/piotr/rpmbuild/SOURCES/colors-1.0.3/example.old.js:27:8) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) at node.js:906:3
Excerpts from Piotr Popieluch's message of 2015-02-24 18:15 +10:00:
I did check this by running the example.js from 0.6 on the 1.0.3 library. First it fails on that colors.js is moved to the lib subdir. When I fix this by hand it fails on a missing method 'addSequencer', see below.
Ah, good catch. I really wish if library authors are going to break their APIs they could at least write a changelog about it :-(
nodejs@lists.fedoraproject.org