Description of problem: Node.js module co needs Node.js 0.12 to function, it uses the "Promise" which is introduced in 0.12. This is specified in package.json, but is packages.json is modified in %prep to allow for 0.10. Version-Release number of selected component (if applicable): How reproducible: use the nodejs-co module, for example by rebuilding nodejs-pac-resolver: /usr/lib/node_modules/co/index.js:49 return new Promise(function(resolve, reject) { ^ ReferenceError: Promise is not defined at co (/usr/lib/node_modules/co/index.js:49:14) at generate (/builddir/build/BUILD/package/index.js:105:18) at Suite.<anonymous> (/builddir/build/BUILD/package/test/test.js:38:27) at context.describe.context.context (/usr/lib/node_modules/mocha/lib/interfaces/bdd.js:73:10) at Suite.<anonymous> (/builddir/build/BUILD/package/test/test.js:37:3) at context.describe.context.context (/usr/lib/node_modules/mocha/lib/interfaces/bdd.js:73:10) at Object.<anonymous> (/builddir/build/BUILD/package/test/test.js:9:1) 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 Module.require (module.js:364:17) at require (module.js:380:17) at /usr/lib/node_modules/mocha/lib/mocha.js:172:27 at Array.forEach (native) at Mocha.loadFiles (/usr/lib/node_modules/mocha/lib/mocha.js:169:14) at Mocha.run (/usr/lib/node_modules/mocha/lib/mocha.js:356:31) at Object.<anonymous> (/usr/lib/node_modules/mocha/bin/_mocha:359:16) 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:929:3 Steps to Reproduce: 1. cd fedscm/nodejs-pac-resolver 2. fedpkg build 3. Actual results: Tests fail when nodejs-co is called which needs Promise which is not in current nodejs. Expected results: Additional info:
I think this is not that simple, someone needs to lead this update to node.js 0.12 version. I see T.C. Hollingsworth tried to submit that as F23 Change but Change itself could not see any further update and hence FESCo decided to drop it. Maybe this can be submitted again for F24. I have not looked into above reported comment but just this bug summary and this is my view on it.
Yes this isn't simple. Update nodejs-co to >= 4 should have waited until node 0.12 would be in Fedora. Ideas to fix this: 1) rollback the update to 4.0 afaik this is not possible 2) wait until 0.12 is in Fedora I can't find any status update on the change. Maybe we can help TC? 3) Multiversion nodejs-co and create a new nodejs-co3 package no good experience, My last multiversion attempt got stalled somewhere in review.. 4) patch co to support some other "Promise" library which we have in 0.10 Seems like a lot of work which will be thrown away when 2 will be completed
Can we use epoch to accomplish a downgrade to version 0.3? (Option 1)
yes we can use epoch and downgrade to previous versions.
bumped epoch and downgraded, built in rawhide. nodejs-pac-resolver also builds now
nodejs-co-3.1.0-1.fc23 has been submitted as an update to Fedora 23. https://bodhi.fedoraproject.org/updates/FEDORA-2015-599c23e343
nodejs-co-3.1.0-1.fc23 has been pushed to the Fedora 23 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with $ su -c 'dnf --enablerepo=updates-testing update nodejs-co' You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-599c23e343
nodejs-co-3.1.0-1.fc23 has been pushed to the Fedora 23 stable repository. If problems still persist, please make note of it in this bug report.