Git Product home page Git Product logo

nodejs-packaging's People

Contributors

marguerite avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

nodejs-packaging's Issues

Does this make sense anymore

It is unmaintained, and some macros are straight up broken. Wouldn't it make more sense to work together with Fedora on their version since it's actively maintained?

stylelint-config-standard doesn't build anymore

stylelint-config-standard doesn't build anymore and it produces this kind error:

[   18s] + node2rpm-server --mkdir
[   19s] /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:265:in `block in manual_requires': undefined method `[]' for nil:NilClass (NoMethodError)
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:264:in `each'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:264:in `manual_requires'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:278:in `block in recursive_mkdir'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:274:in `each'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:274:in `recursive_mkdir'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:36:in `mkdir'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/bin/node2rpm-server:13:in `<top (required)>'
[   19s] 	from /usr/bin/node2rpm-server:23:in `load'
[   19s] 	from /usr/bin/node2rpm-server:23:in `<main>'
[   19s] error: Bad exit status from /var/tmp/rpm-tmp.wAlyO2 (%install)

Package can be found from: https://build.opensuse.org/package/show/home:illuusio:nodejs-bundle/stylelint-config-standard

Build does not pack all files

Did not change the spec file on OBS, but recently I noticed that the rpm contains only directories bower_components and node_modules, but not the other files (index.html etc) of the source package.
Affects all builds of tryton-sao

Untaring semver.min.js.gz doesn't work

I switched to upstream nodejs RPM packaging (from home:MargueriteSu:nodejs) again there is some troubles and this is one major one:

[   19s] Untaring /home/abuild/rpmbuild/SOURCES/semver-4.0.0/semver.min.js.gz
[   19s] tar: This does not look like a tar archive
[   19s] tar: Skipping to next header
[   19s] tar: Exiting with failure status due to previous errors
[   19s] /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:158:in `basename': no implicit conversion of nil into String (TypeError)
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:158:in `unpack'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:138:in `block in recursive_untar'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:133:in `glob'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:133:in `recursive_untar'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:145:in `block (2 levels) in recursive_untar'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:145:in `each'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:145:in `block in recursive_untar'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:133:in `glob'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:133:in `recursive_untar'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:24:in `prep'
[   19s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/bin/node2rpm-server:11:in `<top (required)>'
[   19s] 	from /usr/bin/node2rpm-server:23:in `load'
[   19s] 	from /usr/bin/node2rpm-server:23:in `<main>'
[   19s] error: Bad exit status from /var/tmp/rpm-tmp.Xf49KX (%prep)

which can be found for example here: https://build.opensuse.org/package/live_build_log/home:illuusio:nodejs-bundle/stylelint/openSUSE_Leap_42.3/x86_64

JSON parsing fails if there is UTF-8 chars

I'm facing problem that provides are not parsed in several Nodejs packages with new nodejs-packaging. For example:

https://build.opensuse.org/package/show/home:illuusio:nodejs-fedora/nodejs-invert-kv

It generates error

[   65s] /usr/lib64/ruby/2.0.0/json/common.rb:155:in `encode': "\xE2" on US-ASCII (Encoding::InvalidByteSequenceError)
[   65s]    from /usr/lib64/ruby/2.0.0/json/common.rb:155:in `initialize'
[   65s]    from /usr/lib64/ruby/2.0.0/json/common.rb:155:in `new'
[   65s]    from /usr/lib64/ruby/2.0.0/json/common.rb:155:in `parse'
[   65s]    from /usr/lib/rpm/nodejs.prov:26:in `block in <main>'
[   65s]    from /usr/lib/rpm/nodejs.prov:22:in `each'
[   65s]    from /usr/lib/rpm/nodejs.prov:22:in `<main>'
[   65s] /usr/lib64/ruby/2.0.0/json/common.rb:155:in `encode': "\xE2" on US-ASCII (Encoding::InvalidByteSequenceError)
[   65s]    from /usr/lib64/ruby/2.0.0/json/common.rb:155:in `initialize'
[   65s]    from /usr/lib64/ruby/2.0.0/json/common.rb:155:in `new'
[   65s]    from /usr/lib64/ruby/2.0.0/json/common.rb:155:in `parse'
[   65s]    from /usr/lib/rpm/nodejs.req:33:in `block in <main>'
[   65s]    from /usr/lib/rpm/nodejs.req:30:in `each'
[   65s]    from /usr/lib/rpm/nodejs.req:30:in `<main>'

Which I assume is caused by UTF-8 char or something JSON-stream. Ruby is not my best language but I try to dig this little more.

%nodejs_prep fails when there is any non-package dependency

I ran your node2rpm -pkg twilio-cmd and it generated this line:

Source99:       https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz

But that dependency is not a package (?), so the %nodejs_prep step failed because when the tarball was unpacked there was no package directory to move.

This patch works around this problem:

--- /var/tmp/build-root/openSUSE_Leap_15.2-x86_64/usr/lib/rpm/nodejs.rb.orig	2021-08-17 13:07:37.999046183 -0500
+++ /var/tmp/build-root/openSUSE_Leap_15.2-x86_64/usr/lib/rpm/nodejs.rb	2021-08-17 13:24:48.784285292 -0500
@@ -119,10 +119,15 @@
 case ARGV[0]
 when "--prep"
     Dir.glob(sourcedir + "/*.tgz") do |tgz|
+        FileUtils.rm_rf sourcedir + "/unpack"
+        FileUtils.mkdir_p sourcedir + "/unpack"
         name = tgz.gsub(/^.*\//,'').gsub('.tgz','')
-        io = IO.popen("tar --warning=none --no-same-owner --no-same-permissions -xf #{tgz} -C #{sourcedir}")
+        io = IO.popen("tar --warning=none --no-same-owner --no-same-permissions -xf #{tgz} -C #{sourcedir}/unpack")
         io.close
-        FileUtils.mv sourcedir + "/package",sourcedir + "/" + name
+        if File.exist?(sourcedir + "/unpack/package")
+                FileUtils.mv sourcedir + "/unpack/package",sourcedir + "/" + name
+        FileUtils.rm_rf sourcedir + "/unpack"
+        end
     end
     
     # bower

Note: I don't understand node very well so this might just be fixing the symptom... that's for you to figure out.

FWIW, even with this fix my build still fails with undefined symbol: ares_parse_caa_reply:

[    3s] -----------------------------------------------------------------
[    3s] ----- building twilio-cli.spec (user abuild)
[    3s] -----------------------------------------------------------------
[    3s] -----------------------------------------------------------------
[    3s] + exec rpmbuild -ba --define '_srcdefattr (-,root,root)' --nosignature /home/abuild/rpmbuild/SOURCES/twilio-cli.spec
[    3s] Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.YgsqMO
[    3s] + umask 022
[    3s] + cd /home/abuild/rpmbuild/BUILD
[    3s] + /usr/lib/rpm/nodejs.rb --prep
[    5s] + exit 0
[    5s] Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.tOY7Xp
[    5s] + umask 022
[    5s] + cd /home/abuild/rpmbuild/BUILD
[    5s] + /usr/bin/rm -rf /home/abuild/rpmbuild/BUILDROOT/twilio-cli-2.28.0-0.x86_64
[    5s] ++ dirname /home/abuild/rpmbuild/BUILDROOT/twilio-cli-2.28.0-0.x86_64
[    5s] + /usr/bin/mkdir -p /home/abuild/rpmbuild/BUILDROOT
[    5s] + /usr/bin/mkdir /home/abuild/rpmbuild/BUILDROOT/twilio-cli-2.28.0-0.x86_64
[    5s] + /usr/lib/rpm/nodejs.rb --build
[    5s] + exit 0
[    5s] Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.wCAvu1
[    5s] + umask 022
[    5s] + cd /home/abuild/rpmbuild/BUILD
[    5s] + mkdir -p /home/abuild/rpmbuild/BUILDROOT/twilio-cli-2.28.0-0.x86_64/usr/lib/node_modules
[    5s] + npm_config_prefix=/home/abuild/rpmbuild/BUILDROOT/twilio-cli-2.28.0-0.x86_64/usr
[    5s] + npm install -g /home/abuild/rpmbuild/SOURCES/wide-align-1.1.3.tgz
[    5s] /usr/bin/node14: symbol lookup error: /usr/bin/node14: undefined symbol: ares_parse_caa_reply
[    5s] error: Bad exit status from /var/tmp/rpm-tmp.wCAvu1 (%install)
[    5s] 
[    5s] 
[    5s] RPM build errors:
[    5s]     Bad exit status from /var/tmp/rpm-tmp.wCAvu1 (%install)
[    5s] 
[    5s] ops2 failed "build twilio-cli.spec" at Tue Aug 17 18:13:45 UTC 2021.
[    5s] 

Documentation needed

There should has a document to explain the exactly meaning of each macros, eg, %nodejs_copy, %nodejs_prep, because not all the people would like to learn Ruby just for building a package.

Can't build defs bundle

Csslint doesn't build and throws this error

[   66s] + exec rpmbuild -ba --define '_srcdefattr (-,root,root)' --nosignature --define 'disturl obs://build.opensuse.org/home:illuusio:nodejs-bundle/openSUSE_13.1/780d225b03794da54f14fbe031e86c61-defs' /home/abuild/rpmbuild/SOURCES/defs.spec
[   66s] Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.ZC86TN
[   66s] + umask 022
[   66s] + cd /home/abuild/rpmbuild/BUILD
[   66s] + /usr/lib/rpm/nodejs.rb --prep
[   66s] /usr/lib64/ruby/2.0.0/fileutils.rb:1551:in `stat': No such file or directory - /home/abuild/rpmbuild/SOURCES/package (Errno::ENOENT)
[   66s]    from /usr/lib64/ruby/2.0.0/fileutils.rb:1551:in `block in fu_each_src_dest'
[   66s]    from /usr/lib64/ruby/2.0.0/fileutils.rb:1567:in `fu_each_src_dest0'
[   66s]    from /usr/lib64/ruby/2.0.0/fileutils.rb:1549:in `fu_each_src_dest'
[   66s]    from /usr/lib64/ruby/2.0.0/fileutils.rb:508:in `mv'
[   66s]    from /usr/lib/rpm/nodejs.rb:125:in `block in '
[   66s]    from /usr/lib/rpm/nodejs.rb:121:in `glob'
[   66s]    from /usr/lib/rpm/nodejs.rb:121:in `'
[   66s] error: Bad exit status from /var/tmp/rpm-tmp.ZC86TN (%prep)
[   66s] 

package can be found 'https://build.opensuse.org/package/show/home:illuusio:nodejs-bundle/defs'

Packaging 'jscs' doesn't work

If you try to pack jscs with nova then you get:

1:jscs
/usr/share/nova/history.rb:39:in `last': undefined method `-' for nil:NilClass (NoMethodError)
    from /usr/share/nova/dependencies.rb:49:in `block (2 levels) in list'
    from /usr/share/nova/dependencies.rb:44:in `each'
    from /usr/share/nova/dependencies.rb:44:in `block in list'
    from /usr/share/nova/dependencies.rb:43:in `each'
    from /usr/share/nova/dependencies.rb:43:in `list'
    from /usr/share/nova/dependencies.rb:91:in `block in list'
    from /usr/share/nova/dependencies.rb:87:in `each'
    from /usr/share/nova/dependencies.rb:87:in `list'
    from /usr/share/nova/dependencies.rb:122:in `write'
    from /usr/bin/nova:12:in `'

Packaging 'jshint' doesn't work

@ok. now 'jslint' is working and 'jshint' ain't working (tested with your package from home repo) and same goes with git version

1:jshint
2:cli
3:glob
4:minimatch
5:lru-cache
6:sigmund
7:graceful-fs
8:inherits
9:exit
10:console-browserify
11:date-now
12:exit
13:htmlparser2
14:domhandler
15:domelementtype
16:domutils
17:domelementtype
18:domelementtype
19:readable-stream
/usr/share/nova/dependencies.rb:86:in `list': undefined method `[]' for nil:NilClass (NoMethodError)
    from /usr/share/nova/dependencies.rb:91:in `block in list'
    from /usr/share/nova/dependencies.rb:87:in `each'
    from /usr/share/nova/dependencies.rb:87:in `list'
    from /usr/share/nova/dependencies.rb:91:in `block in list'
    from /usr/share/nova/dependencies.rb:87:in `each'
    from /usr/share/nova/dependencies.rb:87:in `list'
    from /usr/share/nova/dependencies.rb:122:in `write'
    from /usr/bin/nova:12:in `'

npkg overrides version setting in .spec file

I'm building Application:ERP:Tryton:3.8/tryton-sao.
In the spec file we have
%define majorver 3.8
Version: %{majorver}.5

When running npkg trytod-sao , it downloads version 4.0.1 and builds against that - this will not work in the 3.8 tree. npkg should recognize the version in the spec file

npkg stops after bower download

run npkg on the package tryton-sao.
It creates a .json file with sao and bower included, but it does not download the files that bower would process
(run npm package inside tryton-sao/package directory to see remaining downloads)

Can't build uglifyjs anymore

Building Uglifyjs doesn't work anymore after whiching to upstream nodejs-packaging. It produces error:

[   48s] + node2rpm-server --prep
[   49s] /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/changelog.rb:24:in `entries_suse': undefined method `map!' for nil:NilClass (NoMethodError)
[   49s] 	from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/changelog.rb:13:in `entries'
[   49s] 	from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/parser.rb:29:in `parse'
[   49s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/system.rb:32:in `buildroot'
[   49s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/system.rb:27:in `buildroot'
[   49s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:10:in `initialize'
[   49s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/bin/node2rpm-server:7:in `new'
[   49s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/bin/node2rpm-server:7:in `<top (required)>'
[   49s] 	from /usr/bin/node2rpm-server:23:in `load'
[   49s] 	from /usr/bin/node2rpm-server:23:in `<main>'
[   49s] error: Bad exit status from /var/tmp/rpm-tmp.uUCDaw (%prep)

Package can be found here: https://build.opensuse.org/package/show/home:illuusio:nodejs-bundle/uglifyjs

Dependency tokens must begin with alpha-numeric

Sometimes requires and provides end like this:

[   22s] Finding  Provides: /usr/lib/rpm/nodejs.prov
[   22s] Finding  Requires(interp): 
[   22s] Finding  Requires(rpmlib): 
[   22s] Finding  Requires(verify): 
[   22s] Finding  Requires(pre): 
[   22s] Finding  Requires(post): 
[   22s] Finding  Requires(preun): 
[   22s] Finding  Requires(postun): 
[   22s] Finding  Requires(pretrans): 
[   22s] Finding  Requires(posttrans): 
[   22s] Finding  Requires: /usr/lib/rpm/nodejs.req
[   23s] error: Dependency tokens must begin with alpha-numeric, '_' or '/': >=. 0.0
[   23s] npm(graceful-readlink) = 1.0.0
[   23s] nodejs(engine) >= 0.8.0
[   23s] 
[   23s] error: Failed to find Requires:
[   23s] Provides: zxcvbn-cli = 1.0.6-8.1 npm(zxcvbn-cli) = 1.0.6 own(ansi-styles) = 2.2.1 own(escape-string-regexp) = 1.0.5 own(ansi-regex) = 2.0.0 own(has-ansi) = 2.0.0 own(strip-ansi) = 3.0.1 own(supports-color) = 2.0.0 own(chalk) = 1.1.3 own(colors) = 1.0.3 own(cli-table) = 0.3.1 own(graceful-readlink) = 1.0.1 own(commander) = 2.9.0 own(zxcvbn) = 4.2.0
[   23s] Requires(rpmlib): rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
[   23s] Requires: npm(graceful-readlink)
[   23s] 
[   23s] 
[   23s] RPM build errors:
[   23s]     Dependency tokens must begin with alpha-numeric, '_' or '/': >=. 0.0
[   23s] npm(graceful-readlink) = 1.0.0
[   23s] nodejs(engine) >= 0.8.0
[   23s] 
[   23s]     Failed to find Requires:
[   23s] 
[   23s] lamb24 failed "build zxcvbn-cli.spec" at Tue Sep  5 09:13:47 UTC 2017.

Package can be found on: https://build.opensuse.org/package/show/home:illuusio:nodejs-bundle/zxcvbn-cli

Trying to repack 'jslint' doesn't work

Trying to pack 'jslint' with new Nova tool throws error:
./nova jslint

["read-pkg", "load-json-file", "pinkie-promise"]
1:jslint
2:exit
3:glob
4:inflight
5:once
6:wrappy
7:wrappy
8:inherits
9:minimatch
10:brace-expansion
11:balanced-match
12:concat-map
13:once
14:wrappy
15:nopt
16:abbrev
/something/tool/dependencies.rb:77:in `list': undefined method `[]' for nil:NilClass (NoMethodError)
    from /something/nodejs-packaging/tool/dependencies.rb:79:in `block in list'
    from /something/nodejs-packaging/tool/dependencies.rb:78:in `each'
    from /something/nodejs-packaging/tool/dependencies.rb:78:in `list'
    from/something/nodejs-packaging/tool/dependencies.rb:79:in `block in list'
    from /something/nodejs-packaging/tool/dependencies.rb:78:in `each'
    from/something/nodejs-packaging/tool/dependencies.rb:78:in `list'
    from /something/nodejs-packaging/tool/dependencies.rb:110:in `write'
    from ./nova:12:in `'

Broken tars inside packages

It seems there is broken tars inside nodejs 'tar' which makes packaging script fall error like this:

[   37s] Untaring /home/abuild/rpmbuild/SOURCES/tar-2.2.1.tgz
[   37s] Renaming /home/abuild/rpmbuild/SOURCES/package to /home/abuild/rpmbuild/SOURCES/tar-2.2.1
[   37s] Untaring /home/abuild/rpmbuild/SOURCES/tar-2.2.1/test/fixtures.tgz
[   37s] Untaring /home/abuild/rpmbuild/SOURCES/tar-2.2.1/test/cb-never-called-1.0.1.tgz
[   37s] 
[   37s] gzip: stdin: unexpected end of file
[   37s] tar: Unexpected EOF in archive
[   37s] tar: Unexpected EOF in archive
[   37s] tar: Error is not recoverable: exiting now
[   37s] Renaming /home/abuild/rpmbuild/SOURCES/tar-2.2.1/test/package to /home/abuild/rpmbuild/SOURCES/tar-2.2.1/test/cb-never-called-1.0.1
[   37s] Untaring /home/abuild/rpmbuild/SOURCES/tar-2.2.1/test/fixtures.tgz
[   37s] /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:124:in `basename': no implicit conversion of nil into String (TypeError)
[   37s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:124:in `unpack'
[   37s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:104:in `block in recursive_untar'
[   37s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:99:in `glob'
[   37s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:99:in `recursive_untar'
[   37s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:111:in `block (2 levels) in recursive_untar'
[   37s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:111:in `each'
[   37s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:111:in `block in recursive_untar'
[   37s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:99:in `glob'
[   37s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:99:in `recursive_untar'
[   37s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:24:in `prep'
[   37s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/bin/node2rpm-server:11:in `<top (required)>'
[   37s] 	from /usr/bin/node2rpm-server:23:in `load'
[   37s] 	from /usr/bin/node2rpm-server:23:in `<main>'
[   37s] error: Bad exit status from /var/tmp/rpm-tmp.augKU5 (%prep)
[   37s] 
[   37s] 
[   37s] RPM build errors:
[   37s]     Bad exit status from /var/tmp/rpm-tmp.augKU5 (%prep)
[   37s] 
[   37s] lamb51 failed "build postcss-cli.spec" at Wed Sep  6 13:19:52 UTC 2017.

As it's correct behavior to crash it should be probably be done more nicely with testing is tar archive correct or not try to untar from test-directories as they are not needed.

Package can be found here: https://build.opensuse.org/package/show/home:illuusio:nodejs-bundle/postcss-cli

Scripts doesn't support global dependencies linking

If this this implemented it's not very easy to understand how to use. Original had 'nodejs-symlink-deps' script which was in RPM-macros as '%nodejs_symlink_deps'.

I don't know is there way symlink automatic or even semi-automic without user intervention and that makes most of packages non-working state.

spec template for rpmdev-newspec

We can create a spect template at /etc/rpmdevtools/, then it is easy to create a spec file with single command:

rpmdev-newspec -t nodejs gulp

New dependency tracking problem rises

As most automatic dependency tracking problems has vanished there is more to come:

[   47s] Finding  Requires: /usr/lib/rpm/nodejs.req
[   47s] error: Dependency tokens must begin with alpha-numeric, '_' or '/': >=>= 1.5.0
[   47s] npm(nomnom) < 1.6.0
[   47s] npm(JSV) >=>= 4.0.0
[   47s] npm(JSV) < 4.1.0
[   47s] nodejs(engine) >= 0.8.0
[   47s] 
[   47s] error: Failed to find Requires:
[   47s] Provides: jsonlint = 1.6.2-9.1 npm(jsonlint) = 1.6.2 own(ansi-styles) = 1.1.0 own(has-color) = 0.1.7 own(strip-ansi) = 0.1.1 own(chalk) = 0.4.0 own(underscore) = 1.6.0 own(nomnom) = 1.8.1
[   47s] Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
[   47s] Requires: npm(ansi-styles) >= 1.0.0 npm(ansi-styles) < 1.1.0 npm(nomnom)
[   47s] 
[   47s] 
[   47s] RPM build errors:
[   47s]     Dependency tokens must begin with alpha-numeric, '_' or '/': >=>= 1.5.0
[   47s] npm(nomnom) < 1.6.0
[   47s] npm(JSV) >=>= 4.0.0
[   47s] npm(JSV) < 4.1.0
[   47s] nodejs(engine) >= 0.8.0
[   47s] 
[   47s]     Failed to find Requires:
[   47s] 
[   47s] wildcard3 failed "build jsonlint.spec" at Wed Sep  6 13:20:31 UTC 2017.

from https://build.opensuse.org/package/show/home:illuusio:nodejs-bundle/jsonlint
and

[   27s] error: Dependency tokens must begin with alpha-numeric, '_' or '/': >=. 0.0
[   27s] npm(mime-db) = 1.24.0
[   27s] npm(mime-db) <. 0.0
[   27s] npm(mime-db) >= 2.0.0
[   27s] npm(mime-db) < 3.0.0
[   27s] npm(statuses) >=. 0.0
[   27s] npm(statuses) = 1.3.1
[   27s] npm(statuses) <. 0.0
[   27s] npm(statuses) >= 2.0.0
[   27s] npm(statuses) < 3.0.0
[   27s] nodejs(engine) >= 0.8.0

from https://build.opensuse.org/package/show/home:illuusio:nodejs-bundle/hexo-server

If there is no changelog packing fails

If there is no Changes file packing fails with:

[   33s] + node2rpm-server --prep
[   33s] /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/changelog.rb:23:in `entries_suse': undefined method `map!' for nil:NilClass (NoMethodError)
[   33s] 	from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/changelog.rb:13:in `entries'
[   33s] 	from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/parser.rb:29:in `parse'
[   33s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/system.rb:32:in `buildroot'
[   33s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/system.rb:27:in `buildroot'
[   33s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:9:in `initialize'
[   33s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/bin/node2rpm-server:7:in `new'
[   33s] 	from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/bin/node2rpm-server:7:in `<top (required)>'
[   33s] 	from /usr/bin/node2rpm-server:23:in `load'
[   33s] 	from /usr/bin/node2rpm-server:23:in `<main>'
[   33s] error: Bad exit status from /var/tmp/rpm-tmp.iwSYtn (%prep)

Can't build esparse bundle

Esparse bundle building goes down like this

[   51s] Processing files: esparse-0.1.2-4.1.noarch
[   51s] Finding  Provides: /usr/lib/rpm/nodejs.prov
[   51s] /usr/lib/rpm/nodejs.prov:32:in `+': no implicit conversion of nil into String (TypeError)
[   51s]    from /usr/lib/rpm/nodejs.prov:32:in `block in '
[   51s]    from /usr/lib/rpm/nodejs.prov:27:in `each'
[   51s]    from /usr/lib/rpm/nodejs.prov:27:in `'
[   51s] error: /usr/lib/rpm/nodejs.prov failed: 100
[   51s] error: Failed to find Provides:
[   51s] Provides: esparse = 0.1.2-4.1
[   51s] Requires(rpmlib): rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
[   51s] 
[   51s] 
[   51s] RPM build errors:
[   51s]     /usr/lib/rpm/nodejs.prov failed: 100
[   51s]     Failed to find Provides:

Package can be found: https://build.opensuse.org/package/show/home:illuusio:nodejs-bundle/esparse

Can't package 'zxcvbn-cli' with new npm2rpm system

openSUSE 42.2 generates this kind of problem. It done with npm2rpm script others are still mumbled with depencies:

[ 33s] + node2rpm-server --prep
[ 33s] /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/stage.rb:9:in +': no implicit conversion of Symbol into String (TypeError) [ 33s] from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/stage.rb:9:in block in method_missing'
[ 33s] from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/stage.rb:9:in each' [ 33s] from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/stage.rb:9:in each_with_index'
[ 33s] from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/stage.rb:9:in method_missing' [ 33s] from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/parser.rb:22:in parse'
[ 33s] from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/system.rb:32:in buildroot' [ 33s] from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/system.rb:27:in buildroot'
[ 33s] from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:9:in initialize' [ 33s] from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/bin/node2rpm-server:7:in new'
[ 33s] from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/bin/node2rpm-server:7:in <top (required)>' [ 33s] from /usr/bin/node2rpm-server:23:in load'
[ 33s] from /usr/bin/node2rpm-server:23:in `

'
[ 33s] error: Bad exit status from /var/tmp/rpm-tmp.NB2wus (%prep)

Spec can be found:
https://build.opensuse.org/package/show/home:illuusio:nodejs-packages/zxcvbn-cli

bower.rb: github tags can be in more than one page WAS: latest build fails

Latest version of npkg (npkg-10.beta10-32.1.noarch) fails on fully patched Leap system:

test@linux-vmko:/Application:ERP:Tryton:3.8/tryton-sao> npkg tryton-sao
Processing dependencies in package.json
1:tryton-sao
2:bower
Processing dependencies in bower.json
/usr/share/npkg/plugins/bower.rb:78:in index': type mismatch: NilClass given (TypeError) from /usr/share/npkg/plugins/bower.rb:78:inblock (2 levels) in lookup'
from /usr/share/npkg/plugins/bower.rb:77:in each' from /usr/share/npkg/plugins/bower.rb:77:inblock in lookup'
from /usr/share/npkg/plugins/bower.rb:38:in each' from /usr/share/npkg/plugins/bower.rb:38:inlookup'
from /usr/share/npkg/plugins/bower.rb:97:in install' from /usr/bin/npkg:92:inblock in

'
from /usr/bin/npkg:85:in glob' from /usr/bin/npkg:85:in'
test@linux-vmko:/Application:ERP:Tryton:3.8/tryton-sao>

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.