diff options
author | Jakub Jirutka <jakub@jirutka.cz> | 2021-12-29 21:17:35 +0100 |
---|---|---|
committer | Jakub Jirutka <jakub@jirutka.cz> | 2021-12-29 21:18:39 +0100 |
commit | d4dc0e393d138886dab8f52f872d95b4755e4941 (patch) | |
tree | e200e029a25c39c3da5b14a6708c8aaeb4b7c9aa | |
parent | cab6a96864206b9da67546eb597f965b76fce0cb (diff) |
community/njs: upgrade to 0.7.1
-rw-r--r-- | community/njs/APKBUILD | 17 | ||||
-rw-r--r-- | community/njs/fixed-custom-NJS_BUILD_DIR-value-support.patch | 356 | ||||
-rw-r--r-- | community/njs/mktemp-busybox-compat.patch | 13 |
3 files changed, 381 insertions, 5 deletions
diff --git a/community/njs/APKBUILD b/community/njs/APKBUILD index bb5c58f17d3..13bb981efaf 100644 --- a/community/njs/APKBUILD +++ b/community/njs/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Jakub Jirutka <jakub@jirutka.cz> # Maintainer: Jakub Jirutka <jakub@jirutka.cz> pkgname=njs -pkgver=0.7.0 +pkgver=0.7.1 pkgrel=0 pkgdesc="njs scripting language CLI utility" url="https://nginx.org/en/docs/njs/" @@ -12,10 +12,15 @@ license="BSD-2-Clause" makedepends="libedit-dev openssl1.1-compat-dev pcre-dev" checkdepends="expect" subpackages="$pkgname-debug $pkgname-libs-static" -source="$pkgname-$pkgver.tar.gz::https://hg.nginx.org/njs/archive/$pkgver.tar.gz" +source="$pkgname-$pkgver.tar.gz::https://hg.nginx.org/njs/archive/$pkgver.tar.gz + mktemp-busybox-compat.patch + fixed-custom-NJS_BUILD_DIR-value-support.patch + " build() { - NJS_BUILD_DIR='build-debug' ./configure --debug=YES + ./configure \ + --build-dir='build-debug' \ + --debug=YES make njs ./configure --cc-opt='-Os' --ld-opt='-Os' @@ -23,7 +28,7 @@ build() { } check() { - make test + make test -j1 } package() { @@ -41,5 +46,7 @@ debug() { } sha512sums=" -e8894b010b51c282bcfa1c167727ef337d1e4db1189af0e748cb07e6c6132d443b1c32157d4985e9fd7ab776864fb6025e6ffc3018aef56f9ea0c8bfa17c7742 njs-0.7.0.tar.gz +67df97e2bf72b5e46a87eb8c1c9b6be56e2fd16ecd37a64fe50f8efc8e5d91c8a7ef2d5e55f56d6a269acb9e98eb02bb57c34f0b27f42a434c5fc35e0888a11b njs-0.7.1.tar.gz +4db527d663dbe9e8b503c3cbaa4eae34b45990a5359b3bb98ce970c705faefcac98de49439f2557756a2be8e2e06acc67f98942de01674c498832d80c3cb90c3 mktemp-busybox-compat.patch +36d698b9865a90ecced44192552e29ff14df756b0ed2c33da5d07c91bf2771a1339df06e50d97d12ae3b806aa4bc212802f03030a34b85c4dfd354bdf6df840c fixed-custom-NJS_BUILD_DIR-value-support.patch " diff --git a/community/njs/fixed-custom-NJS_BUILD_DIR-value-support.patch b/community/njs/fixed-custom-NJS_BUILD_DIR-value-support.patch new file mode 100644 index 00000000000..e5f6d8e1a65 --- /dev/null +++ b/community/njs/fixed-custom-NJS_BUILD_DIR-value-support.patch @@ -0,0 +1,356 @@ +Patch-Source: https://github.com/nginx/njs/issues/454#issuecomment-1002699260 + +# HG changeset patch +# User Dmitry Volyntsev <xeioex@nginx.com> +# Date 1640797007 0 +# Wed Dec 29 16:56:47 2021 +0000 +# Node ID 1ad65f9d50f57e702164860fbb4d6d2cfd7ab1b2 +# Parent 001bb59dc3a81c37d8879b795d3c9b92055b5e74 +Configure: fixed custom NJS_BUILD_DIR values support. + +The issue was introduced in 4d4657128baf (0.7.1). + +This closes #454 issue on Github. + +diff --git a/auto/make b/auto/make +--- a/auto/make ++++ b/auto/make +@@ -7,8 +7,8 @@ + echo "creating $NJS_MAKEFILE" + + mkdir -p $NJS_BUILD_DIR/src +-mkdir -p $NJS_BUILD_DIR/build + mkdir -p $NJS_BUILD_DIR/external ++mkdir -p $NJS_BUILD_DIR/$NJS_BUILD_DIR + mkdir -p $NJS_BUILD_DIR/test + + njs_modules_c=$NJS_BUILD_DIR/njs_modules.c +# HG changeset patch +# User Dmitry Volyntsev <xeioex@nginx.com> +# Date 1640798395 0 +# Wed Dec 29 17:19:55 2021 +0000 +# Node ID d11d962c40cdea4682298337d6bb65491e32bc88 +# Parent 1ad65f9d50f57e702164860fbb4d6d2cfd7ab1b2 +Tests: fixed "fs" tests with custom build directory. + +diff --git a/test/fs/methods.t.js b/test/fs/methods.t.js +--- a/test/fs/methods.t.js ++++ b/test/fs/methods.t.js +@@ -9,7 +9,7 @@ function p(args, default_opts) { + let fname = params.args[0]; + + if (fname[0] == '@') { +- let gen = `build/test/fs_test_${Math.round(Math.random() * 1000000)}`; ++ let gen = `${test_dir}/fs_test_${Math.round(Math.random() * 1000000)}`; + params.args = params.args.map(v => v); + params.args[0] = gen + fname.slice(1); + } +@@ -368,9 +368,9 @@ async function realpath_test(params) { + } + + let realpath_tests = () => [ +- { args: ["build/test/.."], +- check: (data) => data.endsWith("build") }, +- { args: ["build/test/", {encoding:'buffer'}], ++ { args: ["test/fs/.."], ++ check: (data) => data.endsWith("test") }, ++ { args: ["test/fs/ascii", {encoding:'buffer'}], + check: (data) => data instanceof Buffer }, + ]; + +@@ -478,14 +478,14 @@ let stat_tests = () => [ + return true; + } }, + +- { args: ["build/"], ++ { args: ["test/fs/ascii"], + check: (st) => contains(Object.keys(st), + [ "atime", "atimeMs", "birthtime", "birthtimeMs", + "blksize", "blocks", "ctime", "ctimeMs", "dev", + "gid", "ino", "mode", "mtime", "mtimeMs","nlink", + "rdev", "size", "uid" ]) }, + +- { args: ["build/"], ++ { args: ["test/fs/ascii"], + check: (st) => Object.keys(st).every(p => { + let v = st[p]; + if (p == 'atime' || p == 'ctime' || p == 'mtime' || p == 'birthtime') { +@@ -503,7 +503,7 @@ let stat_tests = () => [ + return true; + }) }, + +- { args: ["build/"], ++ { args: ["test/fs/ascii"], + check: (st) => ['atime', 'birthtime', 'ctime', 'mtime'].every(p => { + let date = st[p].valueOf(); + let num = st[p + 'Ms']; +@@ -515,7 +515,7 @@ let stat_tests = () => [ + return true; + }) }, + +- { args: ["build/"], ++ { args: [test_dir], + check: (st) => ['isBlockDevice', + 'isCharacterDevice', + 'isDirectory', +diff --git a/test/fs/promises_01.t.js b/test/fs/promises_01.t.js +--- a/test/fs/promises_01.t.js ++++ b/test/fs/promises_01.t.js +@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js] + flags: [async] + ---*/ + +-var fname = 'build/test/fs_promises_01'; ++var fname = `${test_dir}/fs_promises_01`; + + let stages = []; + +diff --git a/test/fs/promises_02.t.js b/test/fs/promises_02.t.js +--- a/test/fs/promises_02.t.js ++++ b/test/fs/promises_02.t.js +@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js] + flags: [async] + ---*/ + +-var fname = 'build/test/fs_promises_02'; ++var fname = `${test_dir}/fs_promises_02`; + + var testSync = new Promise((resolve, reject) => { + var failed = false; +diff --git a/test/fs/promises_03.t.js b/test/fs/promises_03.t.js +--- a/test/fs/promises_03.t.js ++++ b/test/fs/promises_03.t.js +@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js] + flags: [async] + ---*/ + +-var fname = 'build/test/fs_promises_03'; ++var fname = `${test_dir}/fs_promises_03`; + + var testSync = () => new Promise((resolve, reject) => { + try { +diff --git a/test/fs/promises_04.t.js b/test/fs/promises_04.t.js +--- a/test/fs/promises_04.t.js ++++ b/test/fs/promises_04.t.js +@@ -3,10 +3,9 @@ includes: [compareArray.js, compatFs.js] + flags: [async] + ---*/ + +-var dname = 'build/test/'; +-var fname = dname + 'fs_promises_04'; +-var fname_utf8 = dname + 'fs_promises_αβγ_04'; +-var lname = dname + 'fs_promises_04_lnk'; ++var fname = `${test_dir}/fs_promises_04`; ++var fname_utf8 = `${test_dir}/fs_promises_αβγ_04`; ++var lname = `${test_dir}/fs_promises_lnk_04`; + + var testSync = () => new Promise((resolve, reject) => { + try { +diff --git a/test/fs/promises_05.t.js b/test/fs/promises_05.t.js +--- a/test/fs/promises_05.t.js ++++ b/test/fs/promises_05.t.js +@@ -3,9 +3,8 @@ includes: [compareArray.js, compatFs.js] + flags: [async] + ---*/ + +-var rname = 'build/test/'; +-var dname = rname + 'fs_promises_05'; +-var dname_utf8 = rname + 'fs_promises_αβγ_05'; ++var dname = `${test_dir}/fs_promises_05`; ++var dname_utf8 = `${test_dir}/fs_promises_αβγ_05`; + var fname = (d) => d + '/fs_promises_05_file'; + + var testSync = () => new Promise((resolve, reject) => { +diff --git a/test/fs/promises_06.t.js b/test/fs/promises_06.t.js +--- a/test/fs/promises_06.t.js ++++ b/test/fs/promises_06.t.js +@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js] + flags: [async] + ---*/ + +-var dname = 'build/test/'; ++var dname = `${test_dir}/`; + var fname = (d) => d + '/fs_promises_06_file'; + var fname_utf8 = (d) => d + '/fs_promises_αβγ_06'; + +@@ -73,6 +73,9 @@ Promise.resolve() + .then(() => { + stages.push("renameSync"); + }) ++.catch((e) => { ++ console.log('test fs.renameSync failed', JSON.stringify(e)); ++}) + + .then(testCallback) + .then(() => { +diff --git a/test/fs/promises_07.t.js b/test/fs/promises_07.t.js +--- a/test/fs/promises_07.t.js ++++ b/test/fs/promises_07.t.js +@@ -3,8 +3,8 @@ includes: [compareArray.js, compatFs.js] + flags: [async] + ---*/ + +-var dname = 'build/test/fs_promises_07'; +-var dname_utf8 = 'build/test/fs_promises_αβγ_07'; ++var dname = `${test_dir}/fs_promises_07`; ++var dname_utf8 = `${test_dir}/fs_promises_αβγ_07`; + var fname = (d) => d + '/fs_promises_07_file'; + var lname = (d) => d + '/fs_promises_07_link'; + var cname = (d) => d + '/fs_promises_αβγ_07_dir'; +diff --git a/test/fs/promises_08.t.js b/test/fs/promises_08.t.js +--- a/test/fs/promises_08.t.js ++++ b/test/fs/promises_08.t.js +@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js] + flags: [async] + ---*/ + +-var dname = 'build/test/fs_promises_αβγ_08/'; ++var dname = `${test_dir}/fs_promises_αβγ_08/`; + var path = 'one/two/three/αβγ'; + + var wipePath = (root, path, nofail) => { +diff --git a/test/fs/promises_09.t.js b/test/fs/promises_09.t.js +--- a/test/fs/promises_09.t.js ++++ b/test/fs/promises_09.t.js +@@ -3,7 +3,7 @@ includes: [compareArray.js, compatFs.js] + flags: [async] + ---*/ + +-var root = 'build/test/'; ++var root = test_dir; + var dname = 'fs_promises_αβγ_09/'; + var lname = 'fs_promises_αβγ_09_lnk'; + var path = 'one/two/three/αβγ'; +diff --git a/test/harness/compatFs.js b/test/harness/compatFs.js +--- a/test/harness/compatFs.js ++++ b/test/harness/compatFs.js +@@ -9,3 +9,6 @@ if (typeof require == 'function') { + function has_fs() { + return fs; + } ++ ++let test_dir = process.env && process.env['NJS_TEST_DIR'] || 'build'; ++test_dir = `${test_dir}/test`; +diff --git a/test/help b/test/help +--- a/test/help ++++ b/test/help +@@ -17,6 +17,4 @@ default: "$NJS_TEST_LOG" + default: "$NJS_TEST_DIR" + --verbose=YES enables verbose output, \ + default: "$NJS_TEST_VERBOSE" +- --leave=YES disables removing of "$NJS_TEST_DIR", \ +-default: "$NJS_TEST_LEAVE" + END +diff --git a/test/test262 b/test/test262 +--- a/test/test262 ++++ b/test/test262 +@@ -19,7 +19,7 @@ for njs_test in $NJS_TESTS; do + running $njs_test $njs_log + END + +- if /bin/sh -c "($NJS_TEST_BINARY $NJS_TEST_DIR/$njs_test)" > $njs_log 2>&1; then ++ if /bin/sh -c "(NJS_TEST_DIR=$NJS_TEST_DIR $NJS_TEST_BINARY $NJS_TEST_DIR/$njs_test)" > $njs_log 2>&1; then + njs_success=yes + else + njs_success=no +# HG changeset patch +# User Dmitry Volyntsev <xeioex@nginx.com> +# Date 1640798409 0 +# Wed Dec 29 17:20:09 2021 +0000 +# Node ID c714088503bcf2f94767a9f10cbc48b22518f5b3 +# Parent d11d962c40cdea4682298337d6bb65491e32bc88 +Configure: added --build-dir option. + +diff --git a/auto/help b/auto/help +--- a/auto/help ++++ b/auto/help +@@ -13,6 +13,7 @@ + --ld-opt=OPTIONS set additional linker options, \ + default: "$NJS_LD_OPT" + --ar=FILE set static linking program, default: "$AR" ++ --build-dir=DIR set build directory, default: "$NJS_BUILD_DIR" + + --address-sanitizer=YES enables build with address sanitizer, \ + default: "$NJS_ADDRESS_SANITIZER" +diff --git a/auto/init b/auto/init +--- a/auto/init ++++ b/auto/init +@@ -15,23 +15,7 @@ NJS_CFLAGS=${NJS_CFLAGS=} + + NJS_BUILD_DIR=${NJS_BUILD_DIR:-build} + +-NJS_AUTOTEST=$NJS_BUILD_DIR/autotest +-NJS_AUTOCONF_ERR=$NJS_BUILD_DIR/autoconf.err +-NJS_AUTO_CONFIG_H=$NJS_BUILD_DIR/njs_auto_config.h +-NJS_MAKEFILE=$NJS_BUILD_DIR/Makefile +- + NJS_LIB_MODULES= +-NJS_LIB_INCS="src $NJS_BUILD_DIR" +- +-test -d $NJS_BUILD_DIR || mkdir $NJS_BUILD_DIR +- +-> $NJS_AUTOCONF_ERR +- +-cat << END > $NJS_AUTO_CONFIG_H +- +-/* This file is auto-generated by configure */ +- +-END + + NJS_LIBRT= + +diff --git a/auto/make b/auto/make +--- a/auto/make ++++ b/auto/make +@@ -242,7 +242,7 @@ lib_test: $NJS_BUILD_DIR/njs_auto_config + + test262: njs + +- test/test262 ++ test/test262 --binary=$NJS_BUILD_DIR/njs + + unit_test: $NJS_BUILD_DIR/njs_auto_config.h \\ + $NJS_BUILD_DIR/njs_unit_test +diff --git a/auto/options b/auto/options +--- a/auto/options ++++ b/auto/options +@@ -31,6 +31,8 @@ do + --ld-opt=*) NJS_LD_OPT="$value" ;; + --ar=*) AR="$value" ;; + ++ --build-dir=*) NJS_BUILD_DIR="$value" ;; ++ + --address-sanitizer=*) NJS_ADDRESS_SANITIZER="$value" ;; + --debug=*) NJS_DEBUG="$value" ;; + --debug-memory=*) NJS_DEBUG_MEMORY="$value" ;; +diff --git a/configure b/configure +--- a/configure ++++ b/configure +@@ -14,8 +14,26 @@ set -e + set -u + + . auto/init ++. auto/options ++ ++NJS_AUTOTEST=$NJS_BUILD_DIR/autotest ++NJS_AUTOCONF_ERR=$NJS_BUILD_DIR/autoconf.err ++NJS_AUTO_CONFIG_H=$NJS_BUILD_DIR/njs_auto_config.h ++NJS_MAKEFILE=$NJS_BUILD_DIR/Makefile ++ ++NJS_LIB_INCS="src $NJS_BUILD_DIR" ++ ++test -d $NJS_BUILD_DIR || mkdir $NJS_BUILD_DIR ++ ++> $NJS_AUTOCONF_ERR ++ ++cat << END > $NJS_AUTO_CONFIG_H ++ ++/* This file is auto-generated by configure */ ++ ++END ++ + . auto/os +-. auto/options + . auto/cc + . auto/types + . auto/endianness diff --git a/community/njs/mktemp-busybox-compat.patch b/community/njs/mktemp-busybox-compat.patch new file mode 100644 index 00000000000..d6299972aed --- /dev/null +++ b/community/njs/mktemp-busybox-compat.patch @@ -0,0 +1,13 @@ +Fix error: mktemp: (null): Invalid argument + +--- a/test/options ++++ b/test/options +@@ -3,7 +3,7 @@ + # Copyright (C) Dmitry Volyntsev + # Copyright (C) NGINX, Inc. + +-NJS_TEST_DIR=`mktemp -d /tmp/njs_test.XXX` ++NJS_TEST_DIR=`mktemp -d /tmp/njs_test.XXXXXX` + NJS_TEST_LOG_DEFAULT="$NJS_TEST_DIR/log.log" + + NJS_TEST_VERBOSE=${NJS_TEST_VERBOSE:-} |