User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0 Build Identifier: enable updates-testing on a fc18 machine. installation of npm fails with a missing dependency. Reproducible: Always Steps to Reproduce: on fc18: 1. `yum --enablerepo=updates-testing install npm` Actual Results: [...] --> Finished Dependency Resolution Error: Package: nodejs-form-data-0.0.6-2.fc18.noarch (updates-testing) Requires: npm(combined-stream) = 0.0.3 Expected Results: npm installs I'm classifying this as urgent as this component is non-functional. It appears that no nodejs-combined-stream package exists. I've looked in Koji, and it's not there at all, not simply missing from the fc18-updates-testing tag, so I assume this is broken on fc19 as well. The way I originally found this was when pulling down the fc19 RPMs for nodejs-* and npm and rebuilding in mock for centos-6-x86_64. Another issue discovered in that process is Koji knows about all of the npm(*) dependencies, but they don't appear in the spec file, and when I pulled down all of the SRPMs from Koji, npm rebuilt with no dependencies.
So to reiterate, I believe the nodejs-conbined-stream package simply isn't there. I manually pulled down nodejs-*, nodejs and npm from Koji to rebuild on Cent6, and it's not there. Aside - T. C., I have working spec files for v8, node and npm on CentOS 6.1. I'm some of the way to working on 5.5 but in dependency hell. I'd be happy to clean up my changes and submit a patch if they might make it into EPEL.
(In reply to comment #0) > It appears that no nodejs-combined-stream package exists. I've looked in > Koji, and it's not there at all, not simply missing from the > fc18-updates-testing tag, so I assume this is broken on fc19 as well. That's right, it still needs a reviewer: https://bugzilla.redhat.com/show_bug.cgi?id=891183 > The way I originally found this was when pulling down the fc19 RPMs for > nodejs-* and npm and rebuilding in mock for centos-6-x86_64. Another issue > discovered in that process is Koji knows about all of the npm(*) > dependencies, but they don't appear in the spec file, and when I pulled down > all of the SRPMs from Koji, npm rebuilt with no dependencies. npm(foo) Provides and Requires are automatically generated by RPM using code shipped in the nodejs-devel package. You'll need to put nodejs and nodejs-devel in your mock buildroot for the dependencies to show up. (This is enforced in every spec file by the BuildRequires: nodejs-devel.) You can do this by either by adding a repo to your config or using the awesome mockchain tool [1]. (In reply to comment #1) > Aside - T. C., I have working spec files for v8, node and npm on CentOS 6.1. > I'm some of the way to working on 5.5 but in dependency hell. I'd be happy > to clean up my changes and submit a patch if they might make it into EPEL. I definitely want to support EPEL, but haven't had time to wrangle with it, so any help is welcome. [1] http://skvidal.wordpress.com/2012/04/20/mockchain-use-cases-and-examples/ *** This bug has been marked as a duplicate of bug 905814 ***
T.C., sorry for opening a dupe for something that was already known. I can confirm that mock is installing nodejs-devel (pulled in through the buildrequires in the SRPM I'm feeding it), but my finished RPM requires still only list six items, including bash, sh, env, /usr/bin/node, and two rpmlib's. What I'm seeing is none of those dependencies listed, but a bunch of broken symlinks owned by "npm": [root@jnkjvmadm1 ~]# rpm -ql npm | grep "/usr/lib/node_modules/npm/node_modules" /usr/lib/node_modules/npm/node_modules /usr/lib/node_modules/npm/node_modules/abbrev /usr/lib/node_modules/npm/node_modules/ansi /usr/lib/node_modules/npm/node_modules/archy /usr/lib/node_modules/npm/node_modules/block-stream /usr/lib/node_modules/npm/node_modules/chownr /usr/lib/node_modules/npm/node_modules/fstream /usr/lib/node_modules/npm/node_modules/fstream-npm /usr/lib/node_modules/npm/node_modules/glob /usr/lib/node_modules/npm/node_modules/graceful-fs /usr/lib/node_modules/npm/node_modules/inherits /usr/lib/node_modules/npm/node_modules/ini /usr/lib/node_modules/npm/node_modules/init-package-json /usr/lib/node_modules/npm/node_modules/lockfile /usr/lib/node_modules/npm/node_modules/lru-cache /usr/lib/node_modules/npm/node_modules/minimatch /usr/lib/node_modules/npm/node_modules/mkdirp /usr/lib/node_modules/npm/node_modules/node-gyp /usr/lib/node_modules/npm/node_modules/nopt /usr/lib/node_modules/npm/node_modules/npm-registry-client /usr/lib/node_modules/npm/node_modules/npmconf /usr/lib/node_modules/npm/node_modules/npmlog /usr/lib/node_modules/npm/node_modules/once /usr/lib/node_modules/npm/node_modules/opener /usr/lib/node_modules/npm/node_modules/osenv /usr/lib/node_modules/npm/node_modules/read /usr/lib/node_modules/npm/node_modules/read-installed /usr/lib/node_modules/npm/node_modules/read-package-json /usr/lib/node_modules/npm/node_modules/request /usr/lib/node_modules/npm/node_modules/retry /usr/lib/node_modules/npm/node_modules/rimraf /usr/lib/node_modules/npm/node_modules/semver /usr/lib/node_modules/npm/node_modules/slide /usr/lib/node_modules/npm/node_modules/tar /usr/lib/node_modules/npm/node_modules/uid-number /usr/lib/node_modules/npm/node_modules/which [root@jnkjvmadm1 ~]# ls -l /usr/lib/node_modules/npm/node_modules total 0 lrwxrwxrwx 1 root root 28 Feb 4 12:51 abbrev -> /usr/lib/node_modules/abbrev lrwxrwxrwx 1 root root 26 Feb 4 12:51 ansi -> /usr/lib/node_modules/ansi lrwxrwxrwx 1 root root 27 Feb 4 12:51 archy -> /usr/lib/node_modules/archy lrwxrwxrwx 1 root root 34 Feb 4 12:51 block-stream -> /usr/lib/node_modules/block-stream lrwxrwxrwx 1 root root 28 Feb 4 12:51 chownr -> /usr/lib/node_modules/chownr lrwxrwxrwx 1 root root 29 Feb 4 12:51 fstream -> /usr/lib/node_modules/fstream lrwxrwxrwx 1 root root 33 Feb 4 12:51 fstream-npm -> /usr/lib/node_modules/fstream-npm lrwxrwxrwx 1 root root 26 Feb 4 12:51 glob -> /usr/lib/node_modules/glob lrwxrwxrwx 1 root root 33 Feb 4 12:51 graceful-fs -> /usr/lib/node_modules/graceful-fs lrwxrwxrwx 1 root root 30 Feb 4 12:51 inherits -> /usr/lib/node_modules/inherits lrwxrwxrwx 1 root root 25 Feb 4 12:51 ini -> /usr/lib/node_modules/ini lrwxrwxrwx 1 root root 39 Feb 4 12:51 init-package-json -> /usr/lib/node_modules/init-package-json lrwxrwxrwx 1 root root 30 Feb 4 12:51 lockfile -> /usr/lib/node_modules/lockfile lrwxrwxrwx 1 root root 31 Feb 4 12:51 lru-cache -> /usr/lib/node_modules/lru-cache lrwxrwxrwx 1 root root 31 Feb 4 12:51 minimatch -> /usr/lib/node_modules/minimatch lrwxrwxrwx 1 root root 28 Feb 4 12:51 mkdirp -> /usr/lib/node_modules/mkdirp lrwxrwxrwx 1 root root 30 Feb 4 12:51 node-gyp -> /usr/lib/node_modules/node-gyp lrwxrwxrwx 1 root root 26 Feb 4 12:51 nopt -> /usr/lib/node_modules/nopt lrwxrwxrwx 1 root root 29 Feb 4 12:51 npmconf -> /usr/lib/node_modules/npmconf lrwxrwxrwx 1 root root 28 Feb 4 12:51 npmlog -> /usr/lib/node_modules/npmlog lrwxrwxrwx 1 root root 41 Feb 4 12:51 npm-registry-client -> /usr/lib/node_modules/npm-registry-client lrwxrwxrwx 1 root root 26 Feb 4 12:51 once -> /usr/lib/node_modules/once lrwxrwxrwx 1 root root 28 Feb 4 12:51 opener -> /usr/lib/node_modules/opener lrwxrwxrwx 1 root root 27 Feb 4 12:51 osenv -> /usr/lib/node_modules/osenv lrwxrwxrwx 1 root root 26 Feb 4 12:51 read -> /usr/lib/node_modules/read lrwxrwxrwx 1 root root 36 Feb 4 12:51 read-installed -> /usr/lib/node_modules/read-installed lrwxrwxrwx 1 root root 39 Feb 4 12:51 read-package-json -> /usr/lib/node_modules/read-package-json lrwxrwxrwx 1 root root 29 Feb 4 12:51 request -> /usr/lib/node_modules/request lrwxrwxrwx 1 root root 27 Feb 4 12:51 retry -> /usr/lib/node_modules/retry lrwxrwxrwx 1 root root 28 Feb 4 12:51 rimraf -> /usr/lib/node_modules/rimraf lrwxrwxrwx 1 root root 28 Feb 4 12:51 semver -> /usr/lib/node_modules/semver lrwxrwxrwx 1 root root 27 Feb 4 12:51 slide -> /usr/lib/node_modules/slide lrwxrwxrwx 1 root root 25 Feb 4 12:51 tar -> /usr/lib/node_modules/tar lrwxrwxrwx 1 root root 32 Feb 4 12:51 uid-number -> /usr/lib/node_modules/uid-number lrwxrwxrwx 1 root root 27 Feb 4 12:51 which -> /usr/lib/node_modules/which
T. C., In both my build and the current one I'm pulling in on fc18 from updates-testing, the macros.nodejs file and the /usr/lib/rpm files are in the nodejs package, not nodejs-devel. But that shouldn't really be an issue. However, I just can't figure out how the dependencies are supposed to be generated - or more specifically, where /usr/lib/rpm/nodejs.req is supposed to be called for npm. I see the reqs in the package in fc18 updates-testing, but don't get them when I rebuild the SRPM on my mock on cent6... even though I've confirmed that nodejs and nodejs-devel are installed via `mock shell` and build.log, and confirmed that script is there. I *have* confirmed that if I run nodejs.req manually and feed it the path to the npm package.json file, the deps come out right. I guess I'll quit updating this and try to figure things out...