Comments (22)
Hi, I didn't push the new release yet...so the problem lays in the old version.
I am refactoring nodejs-fixdep and nodejs-symlink-deps (the only two files left)...so I think a new version should be available for testing before this weekend.
BTW, tryton-sao
and npm
are the two modules I used for testing. I'll check if this problem still happens in the refactored version and report back.
from nodejs-packaging.
Thanks!
from nodejs-packaging.
@coogor @illuusio @hurricanehrndz
Hi, the latest available for testing is at https://build.opensuse.org/project/show/home:MargueriteSu:nodejs
you can make your own testing prj, in its meta
file, use trick like this:
<repository name="openSUSE_Leap_42.2">
<path project="home:MargueriteSu:nodejs" repository="openSUSE_Leap_42.2"/>
<path project="openSUSE:Leap:42.2" repository="standard"/>
<arch>x86_64</arch>
</repository>
to have the latest nodejs-packaging.
NOTE:
because the .json
is changed in format, you have to reproduce the json...eg:
sudo zypper in ruby2.3-rubygem-node2rpm
osc co home:yourname:nodejs
osc mkpac jscs
node2rpm -m jscs ( see node2rpm --help )
feel free to open any issue you met...
because I don't know your personal projects. I will massively test against the existing ones in devel:languages:nodejs like jscs...
Greetings
Marguerite
from nodejs-packaging.
There's no transfer from old .json
to the new .json
. the new json format contains more information like license, version, parents so no way to add those to the old jsons. but as it is automatic...generating a new one is not that unfriendly/hard I suppose 😅
from nodejs-packaging.
Thanks for update.. testing it now and run these problems:
nodejs6 is needed by zxcvbn-cli-1.0.6-0.x86_64 nodejs-rpm-macros is needed by zxcvbn-cli-1.0.6-0.x86_64
Is nodejs6 current nodejs (Should it be just nodejs) and can't find nodejs-rpm-macros which is nodejs-packaging is suppose but doesn't provide such dependency.
from nodejs-packaging.
Hello, there's also nodejs7 in tumbleweed. I asked adamm, the SUSE maintainer for nodejs, he told me those are not co-existentable
So it depends on yourself to select the best suitable nodejs version. and maybe also define it in repo's proj file with Prefer.
Actually my tool doesn't require any nodejs theoretically. Because it is written in ruby.
The only case it requires nodejs will be when you want to build nodejs C bindings (node-gyp). All those stuff (nodejs-devel, npm, gcc-c++, python) are required under that case only.
So if you like, I can also fix it the other way. But it will be yourself to manually add such buildrequires when needed.
So what do you think?
from nodejs-packaging.
but where to find 'nodejs-rpm-macros'? is it a something that doesnt exist or something i need to get somewhere?
from nodejs-packaging.
Provides: nodejs-rpm-macros
it's currently provided by the nodejs-packaging in home:MargueriteSu:nodejs
from nodejs-packaging.
I'm currently testing this for Leap 42.3, and still run into the same issue.
As 42.3 is not a build target, I added your above branch into the prjconf. but still encounter missing dependencies (nothing provides rubygem(ruby:2.1.0:mini_portile2:2.2) >= 2.2 needed by ruby2.1-rubygem-nokogir). Any plans to update? Thanks!
from nodejs-packaging.
I have now build against your above repo https://build.opensuse.org/project/show/home:MargueriteSu:nodejs
Following build error occurs:
[ 34s] + cd /home/abuild/rpmbuild/BUILD
[ 34s] + node2rpm-server --prep
[ 34s] /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/dependency.rb:51:in block in parse_tag': undefined method
strip!' for nil:NilClass (NoMethodError)
[ 34s] from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/dependency.rb:48:in each' [ 34s] from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/dependency.rb:48:in
parse_tag'
[ 34s] from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/dependency.rb:12:in parse' [ 34s] from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/parser.rb:51:in
fill_dependency'
[ 34s] from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/parser.rb:18:in block in parse' [ 34s] from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/parser.rb:18:in
each'
[ 34s] from /usr/lib64/ruby/gems/2.1.0/gems/rpmspec-1.0.0/lib/rpmspec/parser.rb:18:in parse' [ 34s] from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/system.rb:32:in
buildroot'
[ 34s] from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/system.rb:27:in buildroot' [ 34s] from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:9:in
initialize'
[ 34s] from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/bin/node2rpm-server:7:in new' [ 34s] from /usr/lib64/ruby/gems/2.1.0/gems/node2rpm-1.0.0/bin/node2rpm-server:7:in
<top (required)>'
[ 34s] from /usr/bin/node2rpm-server:23:in load' [ 34s] from /usr/bin/node2rpm-server:23:in
[ 34s] error: Bad exit status from /var/tmp/rpm-tmp.0hTWqB (%prep)
from nodejs-packaging.
@coogor Hi, I am back and I will fix it tomorrow
from nodejs-packaging.
@coogor looks like you didn't use the generated specfile from node2rpm because your current specfile contains some customizations. then rpmspec gem don't know how to deal with that. but anyway I'll modify the gem to satisfy your current specfile :-)
from nodejs-packaging.
You mean the name-version tag in
Source2: http://registry.npmjs.org/tryton-sao/-/%{name}-%{version}.tgz ?
That eases life when maintaining the 600+ packages in Application:ERP:Tryton....
AFAIK it was working beforehand, so I did not notice that this might be the problem...
from nodejs-packaging.
you didn't make anything wrong. It's my duty to make the parser strong enough.
from nodejs-packaging.
Hi, I made a few commits and now tryton-sao builds.
Now the filelist created by nodejs-packaging is located at builddir/tryton-sao.list, so you have to replace %files -f %{_sourcedir}/files.lst
with %files -f %{name}.list
. Or you can only see the directories packaged without anything.
from nodejs-packaging.
Excellent, cant wait to test! Current nodejs-packaging in https://build.opensuse.org/package/show/home:MargueriteSu:nodejs/nodejs-packaging does not reflect the change so far?
from nodejs-packaging.
those commits have already landed in home:MargueriteSu:nodejs before I comment here:-)
from nodejs-packaging.
I checked the builds, but files in /usr/lib/node-modules/tryton-sao still missing :-(
from nodejs-packaging.
You didn't update the .json file. it's still version 4.2.0. but you have uploaded 4.2.6 source.
node2rpm is json based, so if it can't find 4.2.0, it will not copy anything.
maybe I should raise an error for this case.
and please repackage bower_components.tar.gz
to bower_components.tgz
.
from nodejs-packaging.
Ah, thanks for the hint! Did not have the .json file on he radar....
I now receive an error in ruby again:
[ 20s] + cd /home/abuild/rpmbuild/BUILD
[ 20s] + node2rpm-server --mkdir
[ 20s] /usr/lib64/ruby/gems/2.2.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:47:in join': no implicit conversion of nil into String (TypeError) [ 20s] from /usr/lib64/ruby/gems/2.2.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:47:in
block in mkdir'
[ 20s] from /usr/lib64/ruby/gems/2.2.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:45:in glob' [ 20s] from /usr/lib64/ruby/gems/2.2.0/gems/node2rpm-1.0.0/lib/node2rpm/server.rb:45:in
mkdir'
[ 20s] from /usr/lib64/ruby/gems/2.2.0/gems/node2rpm-1.0.0/bin/node2rpm-server:13:in <top (required)>' [ 20s] from /usr/bin/node2rpm-server:23:in
load'
[ 20s] from /usr/bin/node2rpm-server:23:in `
from nodejs-packaging.
it was caused by my bower-related codes.
after I fixed it, another error jumped.
It turned out to be the directory hierarchy incompatibility between the old 'bower_components.tar.gz' and the new '.tgz'
So I added some backward compatibility for node2rpm today.
But finally I realized you didnt change the obs working directory from the old nodejs-packaging to the new one.
Maybe you just uploaded newer 'tryton-sao-%{version}.tgz' and left other things unchanged.
It will fail for sure. Because bower_components' content, that is the modules in bower.json, also changed among releases.
So I just ran 'node2rpm -m tryton-sao -v 4.2.6' for you (see my obs SR)
Now it builds and succeeds. I recommend you to do such things for 3.8, 4.0 and 4.4.
And 3 jobs left for me to prevent such tragedies from happening in the future:-)
- a check if the source file match the json version
- a check if bower_components are different with the bower.json
- finish the compatibility for the old directory hierarchy of bower_components.tgz
from nodejs-packaging.
The above jobs mentioned are done in [rubygem-node2rpm](https://github.com/marguerite/ruby gen-node2rpm), closed #14.
If you meet an error like this:
Checking bower_components' consistency
Mis-matched keys: ['tether']
Mis-matched versions: {}
It means your bower_components.tgz is not consistent.
The components themselves may include a bower.json that brings new bower components, which was not handled by node2rpm before. So you have to run 'node2rpm -m tryton -v 4.2.6' with latest node2rpm or put a rightly versioned 'tether' into bower_components.tgz by yourself.
There is a similar check for the generated json too. It compares the package names and versions in the json with the sources. It will be helpful when you forget to upload new sources. If everything is correct, you will just see 'Passed: module' messages.
Marguerite
from nodejs-packaging.
Related Issues (20)
- jshint doesn't provide all depencies HOT 2
- Jscs has many 'babylon' dependencies and cannot be installed HOT 21
- bower.rb: github tags can be in more than one page WAS: latest build fails HOT 5
- npkg overrides version setting in .spec file HOT 3
- Can't package 'zxcvbn-cli' with new npm2rpm system HOT 3
- If there is no changelog packing fails HOT 3
- Untaring semver.min.js.gz doesn't work HOT 11
- Can't build uglifyjs anymore HOT 2
- stylelint-config-standard doesn't build anymore HOT 3
- Dependency tokens must begin with alpha-numeric HOT 6
- Broken tars inside packages HOT 3
- New dependency tracking problem rises HOT 9
- nodejs(engine) should be removed from depencies HOT 1
- Question: why doesn't my spec work? HOT 12
- Depencies get slashed out big time HOT 7
- Documentation needed HOT 1
- spec template for rpmdev-newspec
- Does this make sense anymore HOT 2
- %nodejs_prep fails when there is any non-package dependency
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from nodejs-packaging.