2 # - put man3 to some -devel-doc package (man pages for npm programming)
3 # - it can't live without this path: Error: ENOENT, no such file or directory '/usr/lib/node_modules/npm/man/man1/'
4 # - npm-debug.log is created with 777 perms, should respect umask instead
5 Summary: A package manager for node.js
10 Group: Development/Libraries
11 Source0: http://registry.npmjs.org/npm/-/%{name}-%{version}.tgz
12 # Source0-md5: 9716206d0df970aaf80bd6df31264ba2
13 Patch0: link-globalPaths.patch
14 Patch1: cmd-shim-optional.patch
15 URL: http://npmjs.org/
17 BuildRequires: nodejs >= 0.9
18 BuildRequires: rpmbuild(macros) >= 1.634
19 BuildRequires: sed >= 4.0
21 Requires: nodejs-abbrev < 1.1.0
22 Requires: nodejs-abbrev >= 1.0.5
23 Requires: nodejs-ansi < 0.4.0
24 Requires: nodejs-ansi >= 0.3.0
25 Requires: nodejs-ansicolors < 0.4.0
26 Requires: nodejs-ansicolors >= 0.3.2
27 Requires: nodejs-ansistyles < 0.2.0
28 Requires: nodejs-ansistyles >= 0.1.3
29 Requires: nodejs-archy < 1.0.0
30 Requires: nodejs-block-stream = 0.0.7
31 Requires: nodejs-char-spinner < 1.1.0
32 Requires: nodejs-char-spinner >= 1.0.1
33 Requires: nodejs-child-process-close < 0.2.0
34 Requires: nodejs-child-process-close >= 0.1.1
35 Requires: nodejs-chmodr < 0.2.0
36 Requires: nodejs-chmodr >= 0.1.0
37 Requires: nodejs-chownr < 1.0.0
38 Requires: nodejs-columnify < 1.2.0
39 Requires: nodejs-columnify >= 1.1.0
40 Requires: nodejs-editor < 0.2.0
41 Requires: nodejs-editor >= 0.1.0
42 Requires: nodejs-fstream < 1.1
43 Requires: nodejs-fstream >= 1.0.2
44 Requires: nodejs-fstream-npm < 1.1
45 Requires: nodejs-fstream-npm >= 1.0.0
46 Requires: nodejs-github-url-from-git < 1.4
47 Requires: nodejs-github-url-from-git >= 1.3.0
48 Requires: nodejs-github-url-from-username-repo < 0.3.0
49 Requires: nodejs-github-url-from-username-repo >= 0.2.0
50 Requires: nodejs-glob < 4.1
51 Requires: nodejs-glob >= 4.0.5
52 Requires: nodejs-graceful-fs < 3.1.0
53 Requires: nodejs-graceful-fs >= 3.0.0
54 Requires: nodejs-inflight < 1.1.0
55 Requires: nodejs-inflight >= 1.0.1
56 Requires: nodejs-ini < 1.3.0
57 Requires: nodejs-ini >= 1.2.0
58 Requires: nodejs-init-package-json < 1.1
59 Requires: nodejs-init-package-json >= 1.0.0
60 Requires: nodejs-lockfile < 1.1
61 Requires: nodejs-lockfile >= 1.0.0
62 Requires: nodejs-lru-cache < 2.6.0
63 Requires: nodejs-lru-cache >= 2.5.0
64 Requires: nodejs-minimatch < 1.1
65 Requires: nodejs-minimatch >= 1.0.0
66 Requires: nodejs-mkdirp < 0.6
67 Requires: nodejs-mkdirp >= 0.5.0
68 Requires: nodejs-nopt < 3.1.0
69 Requires: nodejs-nopt >= 3.0.1
70 Requires: nodejs-npm-cache-filename < 1.1.0
71 Requires: nodejs-npm-cache-filename >= 1.0.1
72 Requires: nodejs-npm-install-checks < 1.1.0
73 Requires: nodejs-npm-install-checks >= 1.0.2
74 Requires: nodejs-npm-registry-client < 2.1
75 Requires: nodejs-npm-registry-client >= 2.0.6
76 Requires: nodejs-npm-user-validate < 0.2.0
77 Requires: nodejs-npm-user-validate >= 0.1.0
78 Requires: nodejs-npmconf < 1.2
79 Requires: nodejs-npmconf >= 1.1.4
80 Requires: nodejs-npmlog < 0.2.0
81 Requires: nodejs-npmlog >= 0.1.1
82 Requires: nodejs-once < 1.4.0
83 Requires: nodejs-once >= 1.3.0
84 Requires: nodejs-opener < 1.4.0
85 Requires: nodejs-opener >= 1.3.0
86 Requires: nodejs-osenv < 0.2.0
87 Requires: nodejs-osenv >= 0.1.0
88 Requires: nodejs-path-is-inside < 1.1.0
89 Requires: nodejs-path-is-inside >= 1.0.0
90 Requires: nodejs-read < 1.1.0
91 Requires: nodejs-read >= 1.0.4
92 Requires: nodejs-read-installed < 2.1.0
93 Requires: nodejs-read-installed >= 2.0.5
94 Requires: nodejs-read-package-json < 1.3
95 Requires: nodejs-read-package-json >= 1.2.6
96 Requires: nodejs-request < 2.31.0
97 Requires: nodejs-request >= 2.30.0
98 Requires: nodejs-retry < 0.7.0
99 Requires: nodejs-retry >= 0.6.0
100 Requires: nodejs-rimraf < 2.3.0
101 Requires: nodejs-rimraf >= 2.2.8
102 Requires: nodejs-semver < 2.4.0
103 Requires: nodejs-semver >= 2.3.0
104 Requires: nodejs-sha < 1.3.0
105 Requires: nodejs-sha >= 1.2.1
106 Requires: nodejs-slide < 1.2.0
107 Requires: nodejs-slide >= 1.1.5
108 Requires: nodejs-sorted-object < 1.1.0
109 Requires: nodejs-sorted-object >= 1.0.0
110 Requires: nodejs-tar < 1.1
111 Requires: nodejs-tar >= 1.0.1
112 Requires: nodejs-text-table < 0.3.0
113 Requires: nodejs-text-table >= 0.2.0
114 Requires: nodejs-uid-number = 0.0.5
115 Requires: nodejs-which < 2.0.0
116 Requires: nodejs-which >= 1.0.0
118 Conflicts: nodejs-gyp < 1.0.1
119 Conflicts: nodejs-gyp >= 1.1
121 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
124 NPM is a package manager for node.js. You can use it to install and
125 publish your node programs. It manages dependencies and does other
128 %package -n bash-completion-%{name}
129 Summary: bash-completion for %{name}
130 Summary(pl.UTF-8): bashowe uzupełnianie nazw dla %{name}
131 Group: Applications/Shells
133 Requires: bash-completion
135 %description -n bash-completion-%{name}
136 bash-completion for %{name}.
138 %description -n bash-completion-%{name} -l pl.UTF-8
139 bashowe uzupełnianie nazw dla %{name}.
148 %{__sed} -i -e '1s,^#!.*node,#!/usr/bin/node,' \
152 # startup helpers we don't need
153 rm bin/npm bin/npm.cmd
156 # forces npm to keep config files in /etc instead of /usr/etc
158 --globalconfig=%{_sysconfdir}/npmrc \
159 --globalignorefile=%{_sysconfdir}/npmignore
164 rm -rf $RPM_BUILD_ROOT
165 install -d $RPM_BUILD_ROOT{%{_bindir},%{nodejs_libdir}/npm/bin,/etc/bash_completion.d}
166 install -d $RPM_BUILD_ROOT%{nodejs_libdir}/npm/bin
168 cp -a lib cli.js npmrc package.json $RPM_BUILD_ROOT%{nodejs_libdir}/npm
169 cp -p bin/*.js $RPM_BUILD_ROOT%{nodejs_libdir}/npm/bin
170 ln -s %{nodejs_libdir}/npm/bin/npm-cli.js $RPM_BUILD_ROOT%{_bindir}/npm
173 install -d $RPM_BUILD_ROOT%{nodejs_libdir}/npm/doc
174 cp -a doc/* $RPM_BUILD_ROOT%{nodejs_libdir}/npm/doc
176 # ghosted global config files
177 # TODO: package as files to have file permissions set
178 install -d $RPM_BUILD_ROOT%{_sysconfdir}
179 cp -p npmrc $RPM_BUILD_ROOT%{_sysconfdir}/npmrc
180 touch $RPM_BUILD_ROOT%{_sysconfdir}/npmignore
183 install -d $RPM_BUILD_ROOT%{_mandir}
184 cp -pr man/* $RPM_BUILD_ROOT%{_mandir}
186 # FIXME: "npm help" requires this
187 ln -s %{_mandir} $RPM_BUILD_ROOT%{nodejs_libdir}/npm/man
189 mv $RPM_BUILD_ROOT%{nodejs_libdir}/npm/lib/utils/completion.sh \
190 $RPM_BUILD_ROOT/etc/bash_completion.d/%{name}.sh
193 rm -rf $RPM_BUILD_ROOT
196 %defattr(644,root,root,755)
197 %doc AUTHORS LICENSE README.md
198 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/npmrc
199 %ghost %{_sysconfdir}/npmignore
200 %attr(755,root,root) %{_bindir}/npm
201 %dir %{nodejs_libdir}/npm
202 %{nodejs_libdir}/npm/package.json
203 %{nodejs_libdir}/npm/cli.js
204 %{nodejs_libdir}/npm/npmrc
206 %dir %{nodejs_libdir}/npm/bin
207 %attr(755,root,root) %{nodejs_libdir}/npm/bin/npm-cli.js
208 %attr(755,root,root) %{nodejs_libdir}/npm/bin/read-package-json.js
209 %dir %{nodejs_libdir}/npm/lib
210 %{nodejs_libdir}/npm/lib/*.js
211 %{nodejs_libdir}/npm/lib/cache
212 %{nodejs_libdir}/npm/lib/utils
215 %{nodejs_libdir}/npm/man
217 %dir %{nodejs_libdir}/npm/doc
218 %{nodejs_libdir}/npm/doc/api
219 %{nodejs_libdir}/npm/doc/cli
220 %{nodejs_libdir}/npm/doc/files
221 %{nodejs_libdir}/npm/doc/misc
226 %{_mandir}/man5/package.json.5*
228 %{_mandir}/man7/removing-npm.7*
229 %{_mandir}/man7/semver.7*
231 %files -n bash-completion-%{name}
232 %defattr(644,root,root,755)
233 /etc/bash_completion.d/*