| |
@@ -14,7 +14,7 @@
|
| |
BuildRequires: nodejs-packaging
|
| |
....
|
| |
|
| |
- Additional BuildRequires are necessary for native modules. See link:#Building_native_modules_with_node-gyp[#Building native modules with node-gyp] for more information.
|
| |
+ Additional BuildRequires are necessary for native modules. See link:#_building_native_modules_with_node_gyp[#Building native modules with node-gyp] for more information.
|
| |
|
| |
== Macros
|
| |
|
| |
@@ -29,7 +29,7 @@
|
| |
|nodejs_sitearch |%\{_prefix}/lib/node_modules |Where native C++ Node.js modules are installed
|
| |
|nodejs_symlink_deps |%\{_prefix}/lib/rpm/nodejs-symlink-deps |See link:#Symlinking_Dependencies[#Symlinking Dependencies] below.
|
| |
|nodejs_fixdep |%\{_prefix}/lib/rpm/nodejs-fixdep |See link:#Correcting_Dependencies[#Correcting Dependencies]
|
| |
- |nodejs_arches |%\{ix86} x86_64 %\{arm} |See #ExclusiveArch. This macro is provided by `+redhat-rpm-config+` in F19+ so it works with Koji properly.
|
| |
+ |nodejs_arches |%\{ix86} x86_64 %\{arm} |See link:#_exclusivearch[#ExclusiveArch]. This macro is provided by `+redhat-rpm-config+` in F19+ so it works with Koji properly.
|
| |
|nodejs_default_filter |%global __provides_exclude_from ^%\{nodejs_sitearch}/.*\\.node$ |Filters unwanted provides from native modules. See link:#Filtering_Unwanted_Provides[#Filtering Unwanted Provides] below.
|
| |
|=================================================================================================================================================================================================================
|
| |
|
| |
@@ -172,7 +172,7 @@
|
| |
|
| |
If the shared object is called by JavaScript wrapper code, the situation is slightly more complicated.
|
| |
|
| |
- If the module uses the npm https://npmjs.org/package/bindings[_bindings_] module, the shared object file should be installed in `+%{nodejs_sitelib}/+``+/build/+``+.node+`, which is at the top of _bindings_' search path and where `+node-gyp+` usually creates a symlink to wherever the real shared object file exists. For example:
|
| |
+ If the module uses the npm https://npmjs.org/package/bindings[_bindings_] module, the shared object file should be installed in `+%{nodejs_sitelib}/+``+/build/+``+.node+`, which is at the top of https://npmjs.org/package/bindings[_bindings_] search path and where `+node-gyp+` usually creates a symlink to wherever the real shared object file exists. For example:
|
| |
|
| |
....
|
| |
%install
|
| |
@@ -181,19 +181,19 @@
|
| |
cp -p build/Release/foomodule.node %{buildroot}%{nodejs_sitelib}/foomodule/build/
|
| |
....
|
| |
|
| |
- If the module hardcodes `+build/Release/+``+.node+`, the module should be patched to use `+build/+``+.node+` instead, and upstream should be advised that they should use the _bindings_ module, because their module could break when users use debug builds of node.
|
| |
+ If the module hardcodes `+build/Release/+``+.node+`, the module should be patched to use `+build/+``+.node+` instead, and upstream should be advised that they should use the https://npmjs.org/package/bindings[_bindings_] module, because their module could break when users use debug builds of node.
|
| |
|
| |
If the module uses it's own Makefiles to locate the shared object file(s) to a specific location, then those files should installed in that location.
|
| |
|
| |
=== Dealing with Bundled Libraries
|
| |
|
| |
- Many native modules contain bundled copies of libraries already present in Fedora. You must build against the system version of these libraries. For more information, see Packaging:No_Bundled_Libraries[Packaging:No Bundled Libraries].
|
| |
+ Many native modules contain bundled copies of libraries already present in Fedora. You must build against the system version of these libraries. For more information, see xref:index.adoc#bundling[Bundled Libraries Guidelines].
|
| |
|
| |
The Fedora version of `+node-gyp+` will handle the fact that shared versions of libuv, v8, and http_parser without modification to the module, since `+node-gyp+` always unconditionally configures these libraries. However, some modules may rely on other libraries bundled with node, such as openssl or c-ares. These may need to be patched to use the system headers for these libraries.
|
| |
|
| |
=== Filtering Unwanted Provides
|
| |
|
| |
- RPM automatically adds some unwanted virtual provides to the shared object files included with native modules. To remove them, add `+%{?nodejs_default_filter}+` to the top of the package's spec file. For more information, see Packaging:AutoProvidesAndRequiresFiltering.
|
| |
+ RPM automatically adds some unwanted virtual provides to the shared object files included with native modules. To remove them, add `+%{?nodejs_default_filter}+` to the top of the package's spec file. For more information, see xref:AutoProvidesAndRequiresFiltering.adoc[Packaging:AutoProvidesAndRequiresFiltering].
|
| |
|
| |
== Build testing in %check
|
| |
|
| |
This PR fixes markup errors that should be hyper links.
Signed-off-by: Hirotaka Wakabayashi hiwkby@yahoo.com