diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 46e9d7c89e50887a63b0d9ff5e738adb51f3ef1a..20cdc28dff9307b1da52e955eda1fff87d0ddfbe 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -31,8 +31,8 @@ workflow: before_script: - export NVM_DIR="$HOME/.nvm" - . "$NVM_DIR/nvm.sh" - - nvm install 10.19.0 - - nvm use 10.19.0 + - nvm install 10 + - nvm use 10 - curl https://sh.rustup.rs -sSf | sh -s -- -y - export PATH="$HOME/.cargo/bin:$PATH" - export RUSTFLAGS="-D warnings" diff --git a/release/arch/arm/build-arm.sh b/release/arch/arm/build-arm.sh index 70703f17e9c28d388ef6a143e4af68bf9fd7d566..0c48e9524177bfd0001de4d04e2689d3c7e2c91d 100755 --- a/release/arch/arm/build-arm.sh +++ b/release/arch/arm/build-arm.sh @@ -6,7 +6,7 @@ export NVM_DIR="$HOME/.nvm" # Prepare -NODE_VERSION=10.19.0 +NODE_VERSION=10.20.1 ARCH="`uname -m | sed -e \"s/86_//\"`" NVER="v$NODE_VERSION" DUNITER_TAG=$1 @@ -94,13 +94,16 @@ cp -R ${SRC}/* duniter_release/ # Creating DEB packaging mv duniter_release/release/extra/debian/package duniter-${ARCH} mkdir -p duniter-${ARCH}/opt/duniter/ +mkdir -p duniter-${ARCH}/etc/bash_completion.d/ chmod 755 duniter-${ARCH}/DEBIAN/post* chmod 755 duniter-${ARCH}/DEBIAN/pre* sed -i "s/Version:.*/Version:$DUNITER_DEB_VER/g" duniter-${ARCH}/DEBIAN/control +echo "Extra..." +mv duniter_release/release/extra/completion/duniter_completion.bash duniter-${ARCH}/etc/bash_completion.d/duniter_completion.bash +echo "Zipping..." cd duniter_release pwd rm -Rf .git -echo "Zipping..." zip -qr ../duniter.zip * cd ../ mv duniter.zip duniter-${ARCH}/opt/duniter/ diff --git a/release/arch/linux/build-lin.sh b/release/arch/linux/build-lin.sh index 8af3343cdb66b51c07ae84384d0a6c5f1d3a1e05..b7bc805ffed119068214470b83900af56a842070 100644 --- a/release/arch/linux/build-lin.sh +++ b/release/arch/linux/build-lin.sh @@ -90,6 +90,8 @@ build_extra_desktop() { build_extra_server() { mkdir -p "${1}/lib/systemd/system" || exit 1 cp "${ROOT}/release/extra/systemd/duniter.service" "${1}/lib/systemd/system" || exit 1 + mkdir -p "${1}/etc/bash_completion.d/" || exit 1 + cp "${ROOT}/release/extra/completion/duniter_completion.bash" "${1}/etc/bash_completion.d/duniter_completion.bash" || exit 1 } # Debian package building. @@ -122,7 +124,7 @@ build_deb_pack() { # Install tools needed to build # ----------------------------- -NODE_VERSION=10.19.0 +NODE_VERSION=10.20.1 NVER="v${NODE_VERSION}" DUNITER_TAG="v${1}" DUNITER_DEB_VER=" ${1}" diff --git a/release/extra/completion/duniter_completion.bash b/release/extra/completion/duniter_completion.bash new file mode 100644 index 0000000000000000000000000000000000000000..c5af54675d8821699ab872beea44deb39ff0a077 --- /dev/null +++ b/release/extra/completion/duniter_completion.bash @@ -0,0 +1,197 @@ +# +# The basic options we'll complete. +# +DUNITER_ARGUMENTS="config \ +parse-logs \ +wizard \ +reset \ +check-config \ +export-bc \ +reapply-to \ +revert \ +revert-to \ +start \ +stop \ +restart \ +status \ +logs \ +direct_start \ +plug \ +unplug \ +gen-next \ +bc-resolve \ +gen-root \ +gen-root-choose \ +pub \ +sec \ +sync \ +peer \ +import \ +sync-mempool \ +sync-mempool-search \ +sync-mempool-fwd \ +pull \ +forward \ +import-lookup \ +crawl-lookup \ +fwd-pending-ms \ +ws2p \ +current \ +trim-indexes \ +dump \ +search \ +dump-ww \ +webstart \ +webrestart \ +direct_webstart \ +-h \ +-V \ +--home \ +-d \ +--autoconf \ +--addep \ +--remep \ +--cpu \ +--nb-cores \ +--prefix \ +-c \ +--nostdout \ +--noshuffle \ +--socks-proxy \ +--tor-proxy \ +--reaching-clear-ep \ +--force-tor \ +--rm-proxies \ +--timeout \ +--httplogs \ +--nohttplogs \ +--isolate \ +--forksize \ +--notrim \ +--notrimc \ +--memory \ +--store-txs \ +--store-ww \ +--loglevel \ +--sql-traces \ +--show \ +--check \ +--submit-local \ +--submit-host \ +--submit-port \ +--at \ +--salt \ +--passwd \ +--keyN \ +--keyr \ +--keyp \ +--keyprompt \ +--keyfile \ +--nointeractive \ +--nocautious \ +--cautious \ +--nopeers \ +--nop2p \ +--localsync \ +--nosources \ +--nosbx \ +--onlypeers \ +--slow \ +--readfilesystem \ +--minsig \ +--upnp \ +--noupnp \ +--bma \ +--nobma \ +--bma-with-crawler \ +--bma-without-crawler \ +-p \ +--ipv4 \ +--ipv6 \ +--remoteh \ +--remote4 \ +--remote6 \ +--remotep \ +--ws2p-upnp \ +--ws2p-noupnp \ +--ws2p-host \ +--ws2p-port \ +--ws2p-remote-host \ +--ws2p-remote-port \ +--ws2p-remote-path \ +--ws2p-max-private \ +--ws2p-max-public \ +--ws2p-private \ +--ws2p-public \ +--ws2p-noprivate \ +--ws2p-nopublic \ +--ws2p-sync \ +--ws2p-nosync \ +--ws2p-prefered-add \ +--ws2p-prefered-rm \ +--ws2p-prefered-only \ +--ws2p-privileged-add \ +--ws2p-privileged-rm \ +--ws2p-privileged-only \ +--webmhost \ +--webmport +" + +DUNITER_WIZARD_ARGS="key network network-reconfigure currency pow parameters" + +DUNITER_RESET_ARGS="config data peers tx stats all" + +DUNITER_WS2P_ARGS="list-prefered list-privileged list-nodes show-conf" + +DUNITER_REACHING_CLEAR_EP_ARGS="clear tor none" + +_duniter_completion() +{ + local cur prev base + COMPREPLY=() + cur="${COMP_WORDS[COMP_CWORD]}" + prev="${COMP_WORDS[COMP_CWORD-1]}" + + # + # Complete the arguments to some of the basic commands. + # + case "${prev}" in + wizard) + COMPREPLY=( $(compgen -W "${DUNITER_WIZARD_ARGS}" -- ${cur}) ) + return 0 + ;; + reset) + COMPREPLY=( $(compgen -W "${DUNITER_RESET_ARGS}" -- ${cur}) ) + return 0 + ;; + ws2p) + COMPREPLY=( $(compgen -W "${DUNITER_WS2P_ARGS}" -- ${cur}) ) + return 0 + ;; + --reaching-clear-ep) + COMPREPLY=( $(compgen -W "${DUNITER_REACHING_CLEAR_EP_ARGS}" -- ${cur}) ) + return 0 + ;; + --home) + COMPREPLY=( $(compgen -d -- ${cur}) ) + return 0 + ;; + --keyfile) + COMPREPLY=( $(compgen -f -- ${cur}) ) + return 0 + ;; + + *) + ;; + esac + + # do not complete after mono argument + if [ "${#COMP_WORDS[@]}" != "2" ]; then + return + fi + + COMPREPLY=($(compgen -W "${DUNITER_ARGUMENTS}" -- ${cur})) + return 0 +} + +complete -F _duniter_completion duniter