linting: use local scripts to remove sudo need

install linting tools locally to remove the need for
sudo curling scripts and installing them for all users
This commit is contained in:
Andreas Perhab 2021-02-23 11:03:14 +01:00
parent 73ca77e7df
commit 9df60f62ce
3 changed files with 22 additions and 10 deletions

7
.gitignore vendored
View file

@ -13,6 +13,13 @@ config/opendkim/
.idea
.vscode
#################################################
### Linting Tools #############################
#################################################
tools/
#################################################
### Tests #####################################
#################################################

View file

@ -62,14 +62,15 @@ eclint:
@ ./test/linting/lint.sh eclint
install_linters:
@ sudo curl -S -L \
"https://github.com/hadolint/hadolint/releases/download/v$(HADOLINT_VERSION)/hadolint-$(shell uname -s)-$(shell uname -m)" -o /usr/local/bin/hadolint
@ sudo curl -S -L \
@ mkdir -p tools
@ curl -S -L \
"https://github.com/hadolint/hadolint/releases/download/v$(HADOLINT_VERSION)/hadolint-$(shell uname -s)-$(shell uname -m)" -o tools/hadolint
@ curl -S -L \
"https://github.com/koalaman/shellcheck/releases/download/v$(SHELLCHECK_VERSION)/shellcheck-v$(SHELLCHECK_VERSION).linux.x86_64.tar.xz" | tar -xJ
@ sudo curl -S -L \
@ curl -S -L \
"https://github.com/editorconfig-checker/editorconfig-checker/releases/download/$(ECLINT_VERSION)/ec-linux-amd64.tar.gz" | tar -xaz
@ sudo chmod +rx /usr/local/bin/hadolint
@ sudo mv "shellcheck-v$(SHELLCHECK_VERSION)/shellcheck" /usr/bin/
@ sudo mv bin/ec-linux-amd64 /usr/bin/eclint
@ sudo chmod +x /usr/bin/eclint
@ sudo rm -rf "shellcheck-v$(SHELLCHECK_VERSION)" bin
@ chmod +rx tools/hadolint
@ mv "shellcheck-v$(SHELLCHECK_VERSION)/shellcheck" tools/
@ mv bin/ec-linux-amd64 tools/eclint
@ chmod +x tools/eclint
@ rm -rf "shellcheck-v$(SHELLCHECK_VERSION)" bin

View file

@ -116,7 +116,7 @@ function _shellcheck
{
local SCRIPT='SHELLCHECK'
local ERR=0
local LINT=(/usr/bin/shellcheck -x -S style -Cauto -o all -e SC2154 -W 50)
local LINT=(shellcheck -x -S style -Cauto -o all -e SC2154 -W 50)
if ! __in_path "${LINT[0]}"
then
@ -200,4 +200,8 @@ function _main
esac
}
# prefer linters installed in tools
PATH="$(pwd)/tools:${PATH}"
export PATH
_main "${@}" || exit ${?}