Code Monkey home page Code Monkey logo

Comments (5)

kazuhisya avatar kazuhisya commented on June 1, 2024

Perhaps you will be able to grasp the value from the "latest" tag in node.js.
Its value can be used in the spec file.
so, will be able to automate this task with an appropriate shell-script(or something).

However, whether this is a good way, I can not determine.
What do u think?

from nodejs-rpm.

brandonramirez avatar brandonramirez commented on June 1, 2024

Sorry, been a busy month.

Only problem with using "latest" is that now you can't build older versions. Personally, I probably only care to build the latest, but who knows...

In other words, what if somebody wants to build an rpm for node.js 0.8.3?

I think you tag the branch for each version, right? So worst case, we can always download the spec file from the corresponding tag; that's not hard. Just hoping for the convenience of using a single spec file I suppose.

from nodejs-rpm.

tholewebgods avatar tholewebgods commented on June 1, 2024

👍 Tag. Adding tags for a specific version is always a good idea. I would be happy to see branches for the major/minor version (e.g. 0.6.,0.8.) too

How about using an environment variable like %nodeVersion or something like that so the same spec file can be re-used across different versions?

This is not a good idea. The .spec file won't stay the same for all time. The .spec file is already very complex. And just replaceing a version variable is not the only thing one has to do.

Perhaps you will be able to grasp the value from the "latest" tag in node.js.

I don't think this is the right way. Let's rather add a script that will update the .spec file with a passed version, reset the release variable and add a basic "bump" changelog entry, so that this work hasn't to be done by hand. This would not release usfrom testing and perhapsadapting the .spec further.

[...] I probably only care to build the latest, but who knows...

From the daily work at my company I know, that it's sometimes neccessary to fix an older .rpm that has flaws in it (incompatibilities on some target systems). Note that in production environments, it might be unapplicable to update from 0.6.x to 0.8.x as the software running on Node won't work anymore.

Let me say, that NodeJs and we (or at least kazuhisya, as he's the founder of this repo ;) should take care for a well maintained .spec file as it increases the chance that NodeJs will be a part of one of the bigger distributions as soon as possible.

from nodejs-rpm.

brandonramirez avatar brandonramirez commented on June 1, 2024

Ok, understood. I honestly don't know a whole lot about spec files, so that's why I wanted to this to be more of a discussion to see if this is feasible or not. Sounds like it isn't.

I will simply make my process for building version X:

  1. Download node.js source version X
  2. Download https://raw.github.com/kazuhisya/nodejs-rpm/vX/nodejs.spec

I can't imagine I will be rebuilding node.js on a daily basis, probably quarterly at the most.

Thanks guys.

from nodejs-rpm.

tholewebgods avatar tholewebgods commented on June 1, 2024

I'll help where I can - voluntary.

I wanted to build a 0.8.x .rpm these days. I guess there will be some obstacles.

I had problems building such voluntary .specs in the past. They were related to incompatibilities to enterprise systems like RedHad (because they were built for Fedora or EPEL enhanced RedHat compatible systems).

We should also stay in touch with these developers: http://pkgs.fedoraproject.org/cgit/nodejs.git/

They're maintaining the Fedora packages (and if I understand correctly also the EPEL packages).

Let me clarify my statement:

Let's rather add a script that will update the .spec file [...]

This should only be a assistance script, not the core build process tool. When building RPMs from .spec files, the spec file and its sources should be the kernel

from nodejs-rpm.

Related Issues (20)

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.