mirror of
https://src.fedoraproject.org/rpms/nodejs18.git
synced 2024-11-24 17:44:23 +00:00
Add version positional argument to nodejs-tarball.sh
Uses argbash to generate argument handling. Signed-off-by: Stephen Gallagher <sgallagh@redhat.com>
This commit is contained in:
parent
95a3bb3361
commit
a148d56ddc
1 changed files with 112 additions and 1 deletions
|
@ -1,6 +1,115 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
# Uses Argbash to generate command argument parsing. To update
|
||||||
|
# arguments, make sure to call
|
||||||
|
# `argbash nodejs-tarball.sh -o nodejs-tarball.sh`
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo $_arg_version
|
||||||
|
|
||||||
|
if [ x$_arg_version != x ]; then
|
||||||
|
version=$_arg_version
|
||||||
|
else
|
||||||
version=$(rpm -q --specfile --qf='%{version}\n' nodejs.spec | head -n1)
|
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
|
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
|
wget http://nodejs.org/dist/v${version}/node-v${version}.tar.gz
|
||||||
tar -zxf node-v${version}.tar.gz
|
tar -zxf node-v${version}.tar.gz
|
||||||
|
@ -10,3 +119,5 @@ tar -zcf node-v${version}-stripped.tar.gz node-v${version}
|
||||||
fedpkg new-sources node-v${version}-stripped.tar.gz
|
fedpkg new-sources node-v${version}-stripped.tar.gz
|
||||||
|
|
||||||
rm -f node-v${version}.tar.gz
|
rm -f node-v${version}.tar.gz
|
||||||
|
|
||||||
|
# ] <-- needed because of Argbash
|
||||||
|
|
Loading…
Reference in a new issue