From 87d9b66e1622d8cb927a51e242e52ba81dc2edde Mon Sep 17 00:00:00 2001 From: Honza Horak Date: Tue, 16 May 2023 21:21:22 +0200 Subject: [PATCH] Replace whole repo with latest content from branch stream-nodejs-18-rhel-8.8.0 Content corresponds with RHEL dist-git commit b4b2543 --- .gitignore | 19 +- README.md | 218 ------------------ .../bundled/node_modules/test100/package.json | 4 - .../bundled/node_modules/test101/package.json | 4 - test/bundled/nodejs.prov.err.exp | 0 test/bundled/nodejs.prov.out.exp | 3 - test/bundled/nodejs.req.err.exp | 0 test/bundled/nodejs.req.out.exp | 1 - test/bundled/package.json.in | 11 - .../node_modules/@nmcli/test201/package.json | 4 - .../node_modules/test200/package.json | 4 - test/bundled_namespace/nodejs.prov.err.exp | 0 test/bundled_namespace/nodejs.prov.out.exp | 3 - test/bundled_namespace/nodejs.req.err.exp | 0 test/bundled_namespace/nodejs.req.out.exp | 1 - test/bundled_namespace/package.json.in | 11 - test/run | 18 -- test/unbundled/nodejs.prov.err.exp | 0 test/unbundled/nodejs.prov.out.exp | 1 - test/unbundled/nodejs.req.err.exp | 2 - test/unbundled/nodejs.req.out.exp | 74 ------ test/unbundled/package.json.in | 108 --------- 22 files changed, 18 insertions(+), 468 deletions(-) delete mode 100644 README.md delete mode 100644 test/bundled/node_modules/test100/package.json delete mode 100644 test/bundled/node_modules/test101/package.json delete mode 100644 test/bundled/nodejs.prov.err.exp delete mode 100644 test/bundled/nodejs.prov.out.exp delete mode 100644 test/bundled/nodejs.req.err.exp delete mode 100644 test/bundled/nodejs.req.out.exp delete mode 100644 test/bundled/package.json.in delete mode 100644 test/bundled_namespace/node_modules/@nmcli/test201/package.json delete mode 100644 test/bundled_namespace/node_modules/test200/package.json delete mode 100644 test/bundled_namespace/nodejs.prov.err.exp delete mode 100644 test/bundled_namespace/nodejs.prov.out.exp delete mode 100644 test/bundled_namespace/nodejs.req.err.exp delete mode 100644 test/bundled_namespace/nodejs.req.out.exp delete mode 100644 test/bundled_namespace/package.json.in delete mode 100755 test/run delete mode 100644 test/unbundled/nodejs.prov.err.exp delete mode 100644 test/unbundled/nodejs.prov.out.exp delete mode 100644 test/unbundled/nodejs.req.err.exp delete mode 100644 test/unbundled/nodejs.req.out.exp delete mode 100644 test/unbundled/package.json.in diff --git a/.gitignore b/.gitignore index 9715f21..5d19b1f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,19 @@ -SOURCES/test.tar.gz +/nodejs-packaging-fedora-2.tar.xz +/nodejs-packaging-fedora-3.tar.xz +/nodejs-packaging-fedora-4.tar.xz +/nodejs-packaging-fedora-6.tar.xz +/nodejs-packaging-fedora-7.tar.xz +/nodejs-packaging-fedora-8.tar.xz +/nodejs-packaging-fedora-9.tar.xz +/nodejs-packaging-fedora-10.tar.xz +/nodejs-packaging-fedora-11.tar.xz +/nodejs-packaging-fedora-12.tar.xz +/nodejs-packaging-fedora-13.tar.xz +/nodejs-packaging-fedora-14.tar.xz +/nodejs-packaging-fedora-15.tar.xz +/nodejs-packaging-fedora-16.tar.xz +/nodejs-packaging-fedora-17.tar.xz +/nodejs-packaging-fedora-23.tar.xz +/nodejs-packaging-fedora-24.tar.xz +/nodejs-packaging-fedora-25.tar.xz /test.tar.gz diff --git a/README.md b/README.md deleted file mode 100644 index cbad903..0000000 --- a/README.md +++ /dev/null @@ -1,218 +0,0 @@ -# How to update Node.js in Fedora - -## Determine the Node.js version -Monitor the [Node.js Blog](https://nodejs.org/en/blog/) to be notified of -available updates. - -For simplicity and copy-and-paste of instructions below, set some variables -here: - -``` -NODEJS_MAJOR=12 -NODEJS_VERSION=12.9.0 -``` - -## Clone the Fedora package repository -These steps assume that you are a comaintainer of Node.js or a provenpackager -in Fedora. - -``` -fedpkg clone nodejs nodejs-fedora -``` - -Next, switch to the major version branch you are going to update. We'll use -Node.js 12.9.0 in this document. Adjust the versions appropriately for the -version you are working on. - -``` -pushd nodejs-fedora -fedpkg switch-branch $NODEJS_MAJOR -popd -``` - - -## Clone the Fedora Module repository - -``` -fedpkg clone modules/nodejs nodejs-fedora-module -``` - - -## Clone the upstream Node.js repository -``` -git clone -o upstream git://github.com/nodejs/node.git nodejs-upstream -``` - - -## Rebase the Fedora patches atop the latest release - -``` -pushd nodejs-upstream -git checkout -b fedora-v$NODEJS_VERSION v$NODEJS_VERSION -git am -3 ../nodejs-fedora/*.patch -``` - -If the patches do not apply cleanly, resolve the merges appropriately. Once -they have all been applied, output them again: - -``` -git format-patch -M --patience --full-index -o ../nodejs-fedora v$NODEJS_VERSION..HEAD -popd -``` - - -## Update the Node.js tarball and specfile - -``` -pushd nodejs-fedora -./nodejs-tarball.sh $NODEJS_VERSION -``` - -Note that this command will also output all of the versions for the software -bundled with Node.js. You will need to edit `nodejs.spec` and update the -%global values near the top of that file to include the appropriate values -matching the dependencies. Make sure to also update the Node.js versions too! - -Note that if libuv is updated, you need to ensure that the libuv in each -buildroot is of a sufficient version. If not, you may need to update that -package first and submit a buildroot override. - -Update the RPM spec %changelog appropriately. - - -## (Preferred) Perform a scratch-build on at least one architecture - -``` -fedpkg scratch-build [--arch x86_64] --srpm -``` - -Verify that it built successfully. - - -## Push the changes up to Fedora -``` -fedpkg commit -cs -fedpkg push -popd -``` - - -## (Optional) Build for Fedora releases - -If this major version is the default for one or more Fedora releases, build it -for them. (Note: this step will go away in the future, once module default -streams are available in the non-modular buildroot.) - -In the case of Node.js 12.x, this is the default version for Fedora 31 and 32. - -``` -pushd nodejs-fedora -fedpkg switch-branch [master|31] -git merge $NODEJS_MAJOR -fedpkg push -fedpkg build -popd -``` - -## Build module stream - -``` -pushd nodejs-fedora-module -fedpkg switch-branch $NODEJS_MAJOR -``` - -If the module has changed any package dependencies (such as added a dep on a -new shared library), you may need to modify nodejs.yaml here. If not, you can -simply run: - -``` -git commit --allow-empty -sm "Update to $NODEJS_VERSION" -fedpkg push -fedpkg module-build -popd -``` - -## Submit built packages to Bodhi -Follow the usual processes for stable/branched releases to submit builds for -testing. - - -# How to bundle nodejs libraries in Fedora - -The upstream Node.js stance on -[global library packages](https://nodejs.org/en/blog/npm/npm-1-0-global-vs-local-installation/) -is that they are ".. best avoided if not needed." In Fedora, we take the same -stance with our nodejs packages. You can provide a package that uses nodejs, -but you should bundle all the nodejs libraries that are needed. - -We are providing a sample spec file and bundling script here. -For more detailed packaging information go to the -[Fedora Node.js Packaging Guildelines](https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/) - -## Bundling Script - -``` -nodejs-packaging-bundler [version] -``` - -nodejs-packaging-bundler is it's own package, nodejs-packaging-bundler and must be installed before use. -nodejs-packaging-bundler gets the latest npm version available, if no version is given. -It produces four files and puts them in ${HOME}/rpmbuild/SOURCES - - * -.tgz - This is the tarball from npm.org - * --nm-prod.tgz - This is the tarball that contains all the bundled nodejs modules needs to run - * --nm-dev.tgz - This is the tarball that contains all the bundled nodejs modules needs to test - * --bundled-licenses.txt - This lists the bundled licenses in --nm-prod.tgz - -## Sample Spec File - -``` -%global npm_name my_nodejs_application -... -License: and and -... -Source0: http://registry.npmjs.org/%{npm_name}/-/%{npm_name}-%{version}.tgz -Source1: %{npm_name}-%{version}-nm-prod.tgz -Source2: %{npm_name}-%{version}-nm-dev.tgz -Source3: %{npm_name}-%{version}-bundled-licenses.txt -... -BuildRequires: nodejs-devel -... -%prep -%setup -q -n package -cp %{SOURCE3} . -... -%build -# Setup bundled node modules -tar xfz %{SOURCE1} -mkdir -p node_modules -pushd node_modules -ln -s ../node_modules_prod/* . -ln -s ../node_modules_prod/.bin . -popd -... -%install -mkdir -p %{buildroot}%{nodejs_sitelib}/%{npm_name} -cp -pr index.js lib package.json %{buildroot}%{nodejs_sitelib}/%{npm_name} -# Copy over bundled nodejs modules -cp -pr node_modules node_modules_prod %{buildroot}%{nodejs_sitelib}/%{npm_name} -... -%check -%nodejs_symlink_deps --check -# Setup bundled dev node_modules for testing -tar xfz %{SOURCE2} -pushd node_modules -ln -s ../node_modules_dev/* . -popd -pushd node_modules/.bin -ln -s ../../node_modules_dev/.bin/* . -popd -# Example test run using the binary in ./node_modules/.bin/ -./node_modules/.bin/vows --spec --isolate -... -%files -%doc HISTORY.md -%license LICENSE.md %{npm_name}-%{version}-bundled-licenses.txt -%{nodejs_sitelib}/%{npm_name} -``` - diff --git a/test/bundled/node_modules/test100/package.json b/test/bundled/node_modules/test100/package.json deleted file mode 100644 index 5e1a529..0000000 --- a/test/bundled/node_modules/test100/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "test100", - "version": "1.3.5" -} diff --git a/test/bundled/node_modules/test101/package.json b/test/bundled/node_modules/test101/package.json deleted file mode 100644 index f98ae32..0000000 --- a/test/bundled/node_modules/test101/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "test101", - "version": "2.1.4" -} diff --git a/test/bundled/nodejs.prov.err.exp b/test/bundled/nodejs.prov.err.exp deleted file mode 100644 index e69de29..0000000 diff --git a/test/bundled/nodejs.prov.out.exp b/test/bundled/nodejs.prov.out.exp deleted file mode 100644 index ee0f024..0000000 --- a/test/bundled/nodejs.prov.out.exp +++ /dev/null @@ -1,3 +0,0 @@ -bundled(nodejs-test100) = 1.3.5 -bundled(nodejs-test101) = 2.1.4 -npm(test) = 4.5.6 diff --git a/test/bundled/nodejs.req.err.exp b/test/bundled/nodejs.req.err.exp deleted file mode 100644 index e69de29..0000000 diff --git a/test/bundled/nodejs.req.out.exp b/test/bundled/nodejs.req.out.exp deleted file mode 100644 index 8b13789..0000000 --- a/test/bundled/nodejs.req.out.exp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/test/bundled/package.json.in b/test/bundled/package.json.in deleted file mode 100644 index e41f38b..0000000 --- a/test/bundled/package.json.in +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "test", - "version": "4.5.6", - "engines": { - "node": ">=6 <10" - }, - "dependencies": { - "test100": "^1.2.3", - "test101": ">=2.1" - } -} diff --git a/test/bundled_namespace/node_modules/@nmcli/test201/package.json b/test/bundled_namespace/node_modules/@nmcli/test201/package.json deleted file mode 100644 index 4618046..0000000 --- a/test/bundled_namespace/node_modules/@nmcli/test201/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "@nmcli/test201", - "version": "2.1.4" -} diff --git a/test/bundled_namespace/node_modules/test200/package.json b/test/bundled_namespace/node_modules/test200/package.json deleted file mode 100644 index 92ab4ba..0000000 --- a/test/bundled_namespace/node_modules/test200/package.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "name": "test200", - "version": "1.3.5" -} diff --git a/test/bundled_namespace/nodejs.prov.err.exp b/test/bundled_namespace/nodejs.prov.err.exp deleted file mode 100644 index e69de29..0000000 diff --git a/test/bundled_namespace/nodejs.prov.out.exp b/test/bundled_namespace/nodejs.prov.out.exp deleted file mode 100644 index cf9c17f..0000000 --- a/test/bundled_namespace/nodejs.prov.out.exp +++ /dev/null @@ -1,3 +0,0 @@ -bundled(nodejs-@nmcli/test201) = 2.1.4 -bundled(nodejs-test200) = 1.3.5 -npm(test) = 4.5.6 diff --git a/test/bundled_namespace/nodejs.req.err.exp b/test/bundled_namespace/nodejs.req.err.exp deleted file mode 100644 index e69de29..0000000 diff --git a/test/bundled_namespace/nodejs.req.out.exp b/test/bundled_namespace/nodejs.req.out.exp deleted file mode 100644 index 8b13789..0000000 --- a/test/bundled_namespace/nodejs.req.out.exp +++ /dev/null @@ -1 +0,0 @@ - diff --git a/test/bundled_namespace/package.json.in b/test/bundled_namespace/package.json.in deleted file mode 100644 index e41f38b..0000000 --- a/test/bundled_namespace/package.json.in +++ /dev/null @@ -1,11 +0,0 @@ -{ - "name": "test", - "version": "4.5.6", - "engines": { - "node": ">=6 <10" - }, - "dependencies": { - "test100": "^1.2.3", - "test101": ">=2.1" - } -} diff --git a/test/run b/test/run deleted file mode 100755 index 7897b24..0000000 --- a/test/run +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/sh - -ln -sf nodejs.req nodejs_req.py -"$(command -v python2 || echo :)" -m doctest nodejs_req.py || exit 1 -"$(command -v python3 || echo :)" -m doctest nodejs_req.py || exit 1 - -for test in unbundled bundled bundled_namespace -do - sed -e "s|//.*$||" < test/$test/package.json.in > test/$test/package.json - - echo test/$test/package.json | ./nodejs.prov test/$test/package.json > test/$test/nodejs.prov.out 2> test/$test/nodejs.prov.err - diff -uw test/$test/nodejs.prov.err.exp test/$test/nodejs.prov.err || exit 1 - diff -uw test/$test/nodejs.prov.out.exp test/$test/nodejs.prov.out || exit 1 - - echo test/$test/package.json | ./nodejs.req test/$test/package.json > test/$test/nodejs.req.out 2> test/$test/nodejs.req.err - diff -uw test/$test/nodejs.req.err.exp test/$test/nodejs.req.err || exit 1 - diff -uw test/$test/nodejs.req.out.exp test/$test/nodejs.req.out || exit 1 -done diff --git a/test/unbundled/nodejs.prov.err.exp b/test/unbundled/nodejs.prov.err.exp deleted file mode 100644 index e69de29..0000000 diff --git a/test/unbundled/nodejs.prov.out.exp b/test/unbundled/nodejs.prov.out.exp deleted file mode 100644 index 2ea2883..0000000 --- a/test/unbundled/nodejs.prov.out.exp +++ /dev/null @@ -1 +0,0 @@ -npm(test) = 4.5.6 diff --git a/test/unbundled/nodejs.req.err.exp b/test/unbundled/nodejs.req.err.exp deleted file mode 100644 index 83bd277..0000000 --- a/test/unbundled/nodejs.req.err.exp +++ /dev/null @@ -1,2 +0,0 @@ -WARNING: The npm(test900) dependency contains an OR (||) dependency: '^1.2 || ^2.2. -Please manually include a versioned dependency in your spec file if necessary diff --git a/test/unbundled/nodejs.req.out.exp b/test/unbundled/nodejs.req.out.exp deleted file mode 100644 index 08aeab1..0000000 --- a/test/unbundled/nodejs.req.out.exp +++ /dev/null @@ -1,74 +0,0 @@ -(nodejs(engine) >= 6 with nodejs(engine) < 10) -(npm(test100) >= 1 with npm(test100) < 2) -(npm(test101) >= 1 with npm(test101) < 2) -(npm(test102) >= 1 with npm(test102) < 2) -(npm(test103) >= 1 with npm(test103) < 2) -(npm(test104) >= 1.2 with npm(test104) < 1.3) -(npm(test105) >= 1.2 with npm(test105) < 1.3) -(npm(test106) >= 1.2 with npm(test106) < 1.3) -(npm(test107) >= 1.2 with npm(test107) < 1.3) -(npm(test108) >= 1.2.3 with npm(test108) < 1.2.4) -(npm(test109) >= 1.2.3 with npm(test109) < 1.2.4) -(npm(test110) >= 1.2.3 with npm(test110) < 1.2.4) -(npm(test111) >= 1.2.3 with npm(test111) < 1.2.4) -npm(test200) > 1 -npm(test201) > 1.2 -npm(test202) > 1.2.3 -npm(test203) >= 1 -npm(test204) >= 1.2 -npm(test205) >= 1.2.3 -npm(test206) < 2 -npm(test207) < 2.3 -npm(test208) < 2.3.4 -npm(test209) <= 2 -npm(test210) <= 2.3 -npm(test211) <= 2.3.4 -(npm(test300) > 1 with npm(test300) < 2) -(npm(test301) > 1.2 with npm(test301) < 2.3) -(npm(test302) > 1.2.3 with npm(test302) < 2.3.4) -(npm(test303) >= 1 with npm(test303) <= 2) -(npm(test304) >= 1.2 with npm(test304) <= 2.3) -(npm(test305) >= 1.2.3 with npm(test305) <= 2.3.4) -(npm(test306) > 1 with npm(test306) < 2) -(npm(test307) > 1.2 with npm(test307) < 2.3) -(npm(test308) > 1.2.3 with npm(test308) < 2.3.4) -(npm(test309) >= 1 with npm(test309) <= 2) -(npm(test310) >= 1.2 with npm(test310) <= 2.3) -(npm(test311) >= 1.2.3 with npm(test311) <= 2.3.4) -(npm(test400) >= 1.2.3 with npm(test400) <= 2.3.4) -(npm(test401) >= 1.2.3 with npm(test401) < 2.4) -(npm(test402) >= 1.2.3 with npm(test402) < 3) -(npm(test403) >= 1.2 with npm(test403) <= 2.3.4) -(npm(test404) >= 1 with npm(test404) <= 2.3.4) -(npm(test405) >= 1.2 with npm(test405) < 2.4) -(npm(test406) >= 1.2 with npm(test406) < 3) -(npm(test407) >= 1 with npm(test407) < 2.4) -(npm(test408) >= 1 with npm(test408) < 3) -(npm(test500) >= 1.2 with npm(test500) < 1.3) -(npm(test501) >= 1.2 with npm(test501) < 1.3) -(npm(test502) >= 1 with npm(test502) < 2) -(npm(test503) >= 1 with npm(test503) < 2) -npm(test504) -npm(test505) -(npm(test600) >= 1.2.3 with npm(test600) < 1.3) -(npm(test601) >= 1.2 with npm(test601) < 1.3) -(npm(test602) >= 1.2 with npm(test602) < 1.3) -(npm(test603) >= 1 with npm(test603) < 2) -(npm(test604) >= 1 with npm(test604) < 2) -(npm(test700) >= 1.2.3 with npm(test700) < 2) -(npm(test701) >= 0.2.3 with npm(test701) < 0.3) -(npm(test702) >= 0.0.3 with npm(test702) < 0.0.4) -(npm(test703) >= 1.2 with npm(test703) < 2) -(npm(test704) >= 1.2 with npm(test704) < 2) -(npm(test705) >= 0.1 with npm(test705) < 0.2) -(npm(test706) >= 0.1 with npm(test706) < 0.2) -(npm(test707) >= 1 with npm(test707) < 2) -(npm(test708) >= 1 with npm(test708) < 2) -npm(test709) < 0.1 -npm(test710) < 0.1 -npm(test711) < 1 -npm(test712) < 1 -npm(test750) >= 0.10 -(npm(test751) >= 0.10 with npm(test751) <= 6) -(npm(test800) > 1.2 with npm(test800) < 1.9) -npm(test900) diff --git a/test/unbundled/package.json.in b/test/unbundled/package.json.in deleted file mode 100644 index 4d9624e..0000000 --- a/test/unbundled/package.json.in +++ /dev/null @@ -1,108 +0,0 @@ -{ - "name": "test", - "version": "4.5.6", - "engines": { - "node": ">=6 <10" - }, - "dependencies": { - // Single version - "test100": "1", - "test101": "=1", - "test102": "v1", - "test103": "=v1", - "test104": "1.2", - "test105": "=1.2", - "test106": "v1.2", - "test107": "=v1.2", - "test108": "1.2.3", - "test109": "=1.2.3", - "test110": "v1.2.3", - "test111": "=v1.2.3", - - // Ranges with one comparator - "test200": ">1", - "test201": ">1.2", - "test202": ">1.2.3", - "test203": ">=1", - "test204": ">=1.2", - "test205": ">=1.2.3", - "test206": "<2", - "test207": "<2.3", - "test208": "<2.3.4", - "test209": "<=2", - "test210": "<=2.3", - "test211": "<=2.3.4", - - // Ranges with two comparators - "test300": ">1 <2", - "test301": ">1.2 <2.3", - "test302": ">1.2.3 <2.3.4", - "test303": ">=1 <=2", - "test304": ">=1.2 <=2.3", - "test305": ">=1.2.3 <=2.3.4", - "test306": "<2 >1", - "test307": "<2.3 >1.2", - "test308": "<2.3.4 >1.2.3", - "test309": "<=2 >=1", - "test310": "<=2.3 >=1.2", - "test311": "<=2.3.4 >=1.2.3", - - // Hyphen ranges - "test400": "1.2.3 - 2.3.4", - "test401": "1.2.3 - 2.3", - "test402": "1.2.3 - 2", - "test403": "1.2 - 2.3.4", - "test404": "1 - 2.3.4", - "test405": "1.2 - 2.3", - "test406": "1.2 - 2", - "test407": "1 - 2.3", - "test408": "1 - 2", - - // X-Ranges - "test500": "1.2.x", - "test501": "1.2.*", - "test502": "1.x", - "test503": "1.*", - "test504": "*", - "test505": "", - - // Tilde ranges - "test600": "~1.2.3", - "test601": "~1.2.x", - "test602": "~1.2", - "test603": "~1.x", - "test604": "~1", - - // Caret ranges - "test700": "^1.2.3", - "test701": "^0.2.3", - "test702": "^0.0.3", - "test703": "^1.2.x", - "test704": "^1.2", - "test705": "^0.1.x", - "test706": "^0.1", - "test707": "^1.x", - "test708": "^1", - "test709": "^0.0.x", - "test710": "^0.0", - "test711": "^0.x", - "test712": "^0", - - // Space after the operator - // (the grammar does not permit this, but it is accepted in practice) - "test750": ">= 0.10", - "test751": ">= 0.10 <= 6", - - // More than two comparators in a set - // (no reason for this to ever appear, but it is permitted) - "test800": ">1.2 <2.0 <1.9", - - // The following cases are not implemented currently... - - // Multiple comparator sets separated by || - "test900": "^1.2 || ^2.2" - - // The whole pre-release stuff: https://docs.npmjs.com/misc/semver//prerelease-tags - // which is not even enumerated here because it is so complex. - } -}