webbuilder_pel7ppc64lebuilder0
4 years ago
10 changed files with 224 additions and 80 deletions
@ -1,7 +1,187 @@
@@ -1,7 +1,187 @@
|
||||
#!/bin/sh |
||||
# Uses Argbash to generate command argument parsing. To update |
||||
# arguments, make sure to call |
||||
# `argbash nodejs-tarball.sh -o nodejs-tarball.sh` |
||||
|
||||
version=$(rpm -q --specfile --qf='%{version}\n' SPECS/nodejs.spec | head -n1) |
||||
wget http://nodejs.org/dist/v${version}/node-v${version}.tar.gz |
||||
# ARG_POSITIONAL_SINGLE([version],[Node.js release version],[""]) |
||||
# ARG_DEFAULTS_POS([]) |
||||
# ARG_HELP([Tool to aid in Node.js packaging of new releases]) |
||||
# ARGBASH_GO() |
||||
# needed because of Argbash --> m4_ignore([ |
||||
### START OF CODE GENERATED BY Argbash v2.8.1 one line above ### |
||||
# Argbash is a bash code generator used to get arguments parsing right. |
||||
# Argbash is FREE SOFTWARE, see https://argbash.io for more info |
||||
|
||||
|
||||
die() |
||||
{ |
||||
local _ret=$2 |
||||
test -n "$_ret" || _ret=1 |
||||
test "$_PRINT_HELP" = yes && print_help >&2 |
||||
echo "$1" >&2 |
||||
exit ${_ret} |
||||
} |
||||
|
||||
|
||||
begins_with_short_option() |
||||
{ |
||||
local first_option all_short_options='h' |
||||
first_option="${1:0:1}" |
||||
test "$all_short_options" = "${all_short_options/$first_option/}" && return 1 || return 0 |
||||
} |
||||
|
||||
# THE DEFAULTS INITIALIZATION - POSITIONALS |
||||
_positionals=() |
||||
_arg_version="" |
||||
# THE DEFAULTS INITIALIZATION - OPTIONALS |
||||
|
||||
|
||||
print_help() |
||||
{ |
||||
printf '%s\n' "Tool to aid in Node.js packaging of new releases" |
||||
printf 'Usage: %s [-h|--help] [<version>]\n' "$0" |
||||
printf '\t%s\n' "<version>: Node.js release version (default: '""')" |
||||
printf '\t%s\n' "-h, --help: Prints help" |
||||
} |
||||
|
||||
|
||||
parse_commandline() |
||||
{ |
||||
_positionals_count=0 |
||||
while test $# -gt 0 |
||||
do |
||||
_key="$1" |
||||
case "$_key" in |
||||
-h|--help) |
||||
print_help |
||||
exit 0 |
||||
;; |
||||
-h*) |
||||
print_help |
||||
exit 0 |
||||
;; |
||||
*) |
||||
_last_positional="$1" |
||||
_positionals+=("$_last_positional") |
||||
_positionals_count=$((_positionals_count + 1)) |
||||
;; |
||||
esac |
||||
shift |
||||
done |
||||
} |
||||
|
||||
|
||||
handle_passed_args_count() |
||||
{ |
||||
test "${_positionals_count}" -le 1 || _PRINT_HELP=yes die "FATAL ERROR: There were spurious positional arguments --- we expect between 0 and 1, but got ${_positionals_count} (the last one was: '${_last_positional}')." 1 |
||||
} |
||||
|
||||
|
||||
assign_positional_args() |
||||
{ |
||||
local _positional_name _shift_for=$1 |
||||
_positional_names="_arg_version " |
||||
|
||||
shift "$_shift_for" |
||||
for _positional_name in ${_positional_names} |
||||
do |
||||
test $# -gt 0 || break |
||||
eval "$_positional_name=\${1}" || die "Error during argument parsing, possibly an Argbash bug." 1 |
||||
shift |
||||
done |
||||
} |
||||
|
||||
parse_commandline "$@" |
||||
handle_passed_args_count |
||||
assign_positional_args 1 "${_positionals[@]}" |
||||
|
||||
# OTHER STUFF GENERATED BY Argbash |
||||
|
||||
### END OF CODE GENERATED BY Argbash (sortof) ### ]) |
||||
# [ <-- needed because of Argbash |
||||
|
||||
|
||||
set -e |
||||
|
||||
echo $_arg_version |
||||
|
||||
if [ x$_arg_version != x ]; then |
||||
version=$_arg_version |
||||
else |
||||
version=$(rpm -q --specfile --qf='%{version}\n' nodejs.spec | head -n1) |
||||
fi |
||||
|
||||
rm -f node-v${version}.tar.gz node-v${version}-stripped.tar.gz |
||||
wget http://nodejs.org/dist/v${version}/node-v${version}.tar.gz \ |
||||
http://nodejs.org/dist/v${version}/SHASUMS256.txt |
||||
sha256sum -c SHASUMS256.txt --ignore-missing |
||||
tar -zxf node-v${version}.tar.gz |
||||
rm -rf node-v${version}/deps/openssl |
||||
tar -zcf node-v${version}-stripped.tar.gz node-v${version} |
||||
|
||||
# Download the matching version of ICU |
||||
rm -f icu4c*-src.tgz icu.md5 |
||||
ICUMD5=$(cat node-v${version}/tools/icu/current_ver.dep |jq -r '.[0].md5') |
||||
wget $(cat node-v${version}/tools/icu/current_ver.dep |jq -r '.[0].url') |
||||
ICUTARBALL=$(ls -1 icu4c*-src.tgz) |
||||
echo "$ICUMD5 $ICUTARBALL" > icu.md5 |
||||
md5sum -c icu.md5 |
||||
rm -f icu.md5 SHASUMS256.txt |
||||
|
||||
fedpkg new-sources node-v${version}-stripped.tar.gz icu4c*-src.tgz |
||||
|
||||
rm -f node-v${version}.tar.gz |
||||
|
||||
# Determine the bundled versions of the various packages |
||||
echo "Bundled software versions" |
||||
echo "-------------------------" |
||||
echo |
||||
echo "libnode shared object version" |
||||
echo "=========================" |
||||
grep "define NODE_MODULE_VERSION" node-v${version}/src/node_version.h |
||||
echo |
||||
echo "V8" |
||||
echo "=========================" |
||||
grep "define V8_MAJOR_VERSION" node-v${version}/deps/v8/include/v8-version.h |
||||
grep "define V8_MINOR_VERSION" node-v${version}/deps/v8/include/v8-version.h |
||||
grep "define V8_BUILD_NUMBER" node-v${version}/deps/v8/include/v8-version.h |
||||
grep "define V8_PATCH_LEVEL" node-v${version}/deps/v8/include/v8-version.h |
||||
echo |
||||
echo "c-ares" |
||||
echo "=========================" |
||||
grep "define ARES_VERSION_MAJOR" node-v${version}/deps/cares/include/ares_version.h |
||||
grep "define ARES_VERSION_MINOR" node-v${version}/deps/cares/include/ares_version.h |
||||
grep "define ARES_VERSION_PATCH" node-v${version}/deps/cares/include/ares_version.h |
||||
echo |
||||
echo "http-parser" |
||||
echo "=========================" |
||||
grep "define HTTP_PARSER_VERSION_MAJOR" node-v${version}/deps/http_parser/http_parser.h |
||||
grep "define HTTP_PARSER_VERSION_MINOR" node-v${version}/deps/http_parser/http_parser.h |
||||
grep "define HTTP_PARSER_VERSION_PATCH" node-v${version}/deps/http_parser/http_parser.h |
||||
echo |
||||
echo "libuv" |
||||
echo "=========================" |
||||
grep "define UV_VERSION_MAJOR" node-v${version}/deps/uv/include/uv/version.h |
||||
grep "define UV_VERSION_MINOR" node-v${version}/deps/uv/include/uv/version.h |
||||
grep "define UV_VERSION_PATCH" node-v${version}/deps/uv/include/uv/version.h |
||||
echo |
||||
echo "libuv" |
||||
echo "=========================" |
||||
grep "define NGHTTP2_VERSION " node-v${version}/deps/nghttp2/lib/includes/nghttp2/nghttp2ver.h |
||||
echo |
||||
echo "ICU" |
||||
echo "=========================" |
||||
grep "url" node-v${version}/tools/icu/current_ver.dep |
||||
echo |
||||
echo "punycode" |
||||
echo "=========================" |
||||
grep "'version'" node-v${version}/lib/punycode.js |
||||
echo |
||||
echo "npm" |
||||
echo "=========================" |
||||
grep "\"version\":" node-v${version}/deps/npm/package.json |
||||
echo |
||||
echo "Make sure these versions match what is in the RPM spec file" |
||||
|
||||
rm -rf node-v${version} |
||||
# ] <-- needed because of Argbash |
||||
|
Loading…
Reference in new issue