[fpc] #311: Node.js guidelines update
by fedora-badges
#311: Node.js guidelines update
-----------------------------+------------------
Reporter: patches | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone:
Component: Guideline Draft | Version:
Keywords: | Blocked By:
Blocking: |
-----------------------------+------------------
We have a couple of changes we'd like to make to the Node.js Guidelines
after several months of refining our processes a little bit.
You can see the new draft at:
https://fedoraproject.org/wiki/User:Patches/PackagingDrafts/NodeJS
The changes include:
* I've restored the %nodejs_fixdep section included in the original
version of the draft. After reviewing the IRC logs, it seemed FPC didn't
strongly object to this, and I believe it has several advantages to patch-
based workflows. Not only is it simpler for packagers, but it also makes
them dead simple to audit later on for staleness/compliance/whathaveyou.
(`grep -r nodejs_fixdep` is just a lot easier than trying to find relevant
patches. ;-) It also makes changes to dependencies much easier to see in
git.
[https://fedoraproject.org/wiki/User:Patches/PackagingDrafts/NodeJS#Correc...
(relevant section)]
[https://fedoraproject.org/w/index.php?title=User:Patches/PackagingDrafts/...
(diff)]
* The RPM magic was recently split into it's own "nodejs-packaging" SRPM,
similar to Java. Accordingly, packages can now require "nodejs-packaging"
instead of "nodejs-devel" to reduce the number of deps dragged in at
build-time.
[https://fedoraproject.org/wiki/User:Patches/PackagingDrafts/NodeJS#BuildR...
(relevant section)]
[https://fedoraproject.org/w/index.php?title=User:Patches/PackagingDrafts/...
(diff #1)]
[https://fedoraproject.org/w/index.php?title=User:Patches/PackagingDrafts/...
(diff #2)]
[https://lists.fedoraproject.org/pipermail/nodejs/2013-April/000001.html
(list discussion)]
* The necessary ExclusiveArch line needed for Node.js packages is now
documented, including the %{nodejs_arches} macro recently added to redhat-
rpm-config for this purpose.
[https://fedoraproject.org/wiki/User:Patches/PackagingDrafts/NodeJS#Exclus...
(new section)]
[https://lists.fedoraproject.org/pipermail/nodejs/2013-May/000017.html
(list discussion)]
* A strategy for handling multiple/compatibility versions of packages that
is transparent to dependent packagers has been implemented.
[https://fedoraproject.org/wiki/User:Patches/PackagingDrafts/NodeJS#Handli...
(new section)]
[https://lists.fedoraproject.org/pipermail/nodejs/2013-June/000032.html
(list discussion)]
* The %{nodejs_default_filter} default automatic virtual provides
filtering macro (similar to Perl's) is now documented.
[https://fedoraproject.org/wiki/User:Patches/PackagingDrafts/NodeJS#Filter...
(new section)]
* A --check argument was added to %nodejs_symlink_deps simplify running
test suites in specs.
[https://fedoraproject.org/wiki/User:Patches/PackagingDrafts/NodeJS#.25check
(new section)]
* A brief mention that additional virtual provides are added for native
modules to track ABI compatibility was added.
[https://fedoraproject.org/w/index.php?title=User:Patches/PackagingDrafts/...
(diff)]
* Some minor edits were made to the installing native modules section to
reflect reality; my initial draft contained errors.
[https://fedoraproject.org/w/index.php?title=User:Patches/PackagingDrafts/...
(diff)]
* A brief note about an additional macro required to enable dependency
generation on EPEL was added.
[https://fedoraproject.org/w/index.php?title=User:Patches/PackagingDrafts/...
(diff)]
I'd like to thank the fledgling Node.js SIG, including Stephen Gallager,
Jamie Nguyen, Tom Hughes, and Stanislav Ochotnicky for their valuable bug
catching, feedback, and suggestions, without which none of this would be
possible. And, also the FPC in advance for reviewing our changes, of
course. ;-)
--
Ticket URL: <https://fedorahosted.org/fpc/ticket/311>
fpc <https://fedoraproject.org/wiki/Packaging:Committee>
Fedora Packages Collection Task Tracking
9 years, 6 months
Broken dependencies in rawhide
by Tom Hughes
There seems to be a broken dependency in rawhide that is, among other
things, making it impossible to build any binary node packages:
Error: Package: nodejs-fstream-0.1.22-3.fc20.noarch (@fedora-rawhide)
Requires: npm(graceful-fs) < 1.3
Removing: nodejs-graceful-fs-1.2.2-1.fc20.noarch
(@fedora-rawhide)
npm(graceful-fs) = 1.2.2
Updated By: nodejs-graceful-fs-2.0.0-2.fc20.noarch
(fedora-rawhide)
npm(graceful-fs) = 2.0.0
Tom
--
Tom Hughes (tom(a)compton.nu)
http://compton.nu/
10 years, 2 months
Packaging puzzle
by Tom Hughes
I'm trying to package the mapnik module, but the latest version has a
dependency on the mapnik-vector-tile module, which turns out to be a
rather odd beast...
Basically mapnik-vector-tile has a src directory, containing some .hpp
files, and a proto directory with a protobuf definition file. When make
is run the protobuf definition is compiled to a .h and .cc pair in the
src directory.
That is it - no compiled code, no javascript, so it's not actually
loadable by node in any way.
What then happens is that the mapnik module pulls in the cpp file as
part of the so it builds - the binding.gyp in mapnik actually includes
node_modules/mapnik-vector-tile/src/vector_tile.pb.cc in it's source
file list.
Any suggestions on how to package this? Should I just package the
dependent module and have it install the src directory so that the
mapnik module can use it when building?
Tom
--
Tom Hughes (tom(a)compton.nu)
http://compton.nu/
10 years, 2 months
Fwd: [ANN] Fedora 19 - now with 100% more node
by T.C. Hollingsworth
Thanks to everyone who helped make this possible!
https://groups.google.com/forum/#!topic/nodejs/mTz1MT_seMk
---------- Forwarded message ----------
From: T.C. Hollingsworth <tchollingsworth(a)gmail.com>
Date: Tue, Jul 2, 2013 at 8:40 AM
Subject: [ANN] Fedora 19 - now with 100% more node
To: nodejs(a)googlegroups.com
The Fedora Node.js Special Interest Group is delighted to announce the
release of Fedora 19 ("Schrödinger's Cat"), the first Fedora release
to include node right from the start. Open the box and take a look for
yourself!
What's Fedora?
Fedora is a leading-edge, free and open source operating system that
continues to deliver innovative features to many users, with a new
release about every six months.
Download it now! Or, learn more about Fedora.
What does this mean?
Installing node and npm at the same time is now as easy as:
sudo yum install npm
That's it! No more compiling—you get the latest node just like you're
used to getting the latest everything.
And yes, we support Fedora 18 and EPEL 6 too. Not to mention Pidora
on your Raspberry Pi and all kinds of other fun ARM systems.
What about those pesky native modules? Don't I still need a compiler for them?
Not for a select number of modules (which we hope to grow here very soon).
If one you need happens to be one of the lucky few, install it with
yum and then npm link it into your project, like this example with
libxmljs:
sudo yum install 'npm(libxmljs)'
cd /path/to/my/awesome/project
npm link libxmljs
Of course, npm install will always work, if we don't the module you're
looking for or you want to look fondly back upon the old days.
Can I help make that number less "select"?
You sure can. We can always use a little more help!
What else in Fedora 19 might interest me?
Developer's Assistant is a tool for new developers that helps you to
get started on a code project by offering templates, samples, and
toolchains for a variety of languages. And when you're finished, you
can publish directly to GitHub!
3D modelling and printing are supported with OpenSCAD, Skeinforge,
SFACT, Printrun, RepetierHost, and other tool options.
OpenShift Origin makes it easy for you to build your own
Platform-as-a-Service (PaaS) infrastructure, allowing you to enable
others to easily develop and deploy software. And of course it
supports node, just like its cloudy counterpart.
MariaDB offers a truly open MySQL implementation and is now the
default MySQL option in Fedora.
systemd Resource Control is one of many systemd enhancements in this
release. It lets you modify your service settings without a reboot by
dynamically querying and modifying resource control parameters at
runtime.
GCC 4.8 contains the latest compiler optimizations—for when JavaScript
isn't enough.
And much, much more!
You didn't answer my question!
Feel free to reply here. You can also ask Fedora-specific
node-related questions over at nodejs at lists.fedoraproject.org.
What are you waiting for?
Go get it now, and enjoy!
10 years, 2 months