Primo abbozzo. Ancora molta strada da fare
This commit is contained in:
Executable
+41
@@ -0,0 +1,41 @@
|
||||
#! /bin/bash --
|
||||
[ ! -z "${GREZZO_1577141523}" ] && return; GREZZO_1577141523=0
|
||||
unset CDPATH
|
||||
DOVE="$(cd "$(dirname "$(readlink -f -- "${BASH_SOURCE[0]}")")" > /dev/null && pwd -P)"
|
||||
|
||||
. "$DOVE/../grezzo.sh"
|
||||
|
||||
function feat_addpacks_docker() {
|
||||
if ! feat_missing "apt-get"; then
|
||||
sudo apt-get remove docker docker-engine docker.io containerd runc
|
||||
sudo apt-get update
|
||||
if [ $(apt-cache search docker-ce | grep -o "^docker-ce ") != "docker-ce" ]; then
|
||||
sudo apt-get install \
|
||||
apt-transport-https \
|
||||
ca-certificates \
|
||||
curl \
|
||||
gnupg-agent \
|
||||
software-properties-common
|
||||
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
|
||||
sudo add-apt-repository \
|
||||
"deb [arch=$(dpkg --print-architecture)] https://download.docker.com/linux/ubuntu \
|
||||
$(lsb_release -cs) \
|
||||
stable"
|
||||
sudo apt-get update
|
||||
fi
|
||||
sudo apt-get install docker-ce docker-ce-cli containerd.io
|
||||
fi
|
||||
}
|
||||
|
||||
function feat_add_docker() {
|
||||
if feat_missing "dockerd"; then
|
||||
feat_addpacks_docker
|
||||
fi
|
||||
}
|
||||
|
||||
function pip_feat_add_docker-compose() {
|
||||
. "$DOVE/pip.sh"
|
||||
pip_feat_add "docker-compose"
|
||||
}
|
||||
|
||||
unset DOVE
|
||||
Executable
+35
@@ -0,0 +1,35 @@
|
||||
#! /bin/bash --
|
||||
[ ! -z "${GREZZO_1577142009}" ] && return; GREZZO_1577142009=0
|
||||
unset CDPATH
|
||||
DOVE="$(cd "$(dirname "$(readlink -f -- "${BASH_SOURCE[0]}")")" > /dev/null && pwd -P)"
|
||||
|
||||
. "$DOVE/../grezzo.sh"
|
||||
|
||||
function feat_addpacks_npm_dev() {
|
||||
if ! feat_missing "apt-get"; then
|
||||
sudo apt-get install -y wget curl tar
|
||||
elif ! feat_missing "pacman"; then
|
||||
sudo pacman -S --needed base-devel wget curl tar
|
||||
elif ! feat_missing "apk"; then
|
||||
sudo apk add --no-cache wget curl tar bash
|
||||
elif ! feat_missing "yum"; then
|
||||
sudo yum install wget curl tar
|
||||
elif ! feat_missing "zypper"; then
|
||||
sudo zypper in wget curl tar
|
||||
fi
|
||||
}
|
||||
|
||||
function feat_add_npm() {
|
||||
feat_addpacks_npm_dev
|
||||
cat - "$HOME/.bashrc" <<- EOF > "$HOME/.bashrc.tmp"
|
||||
export N_PREFIX="$HOME/.n_prefix"
|
||||
export PATH="$N_PREFIX/bin:\$PATH"
|
||||
EOF
|
||||
mv "$HOME/.bashrc.tmp" "$HOME/.bashrc"
|
||||
. "$HOME/.bashrc"
|
||||
mkdir -p "$N_PREFIX"
|
||||
curl -L https://raw.githubusercontent.com/tj/n/master/bin/n | bash -s latest
|
||||
npm install -g n
|
||||
}
|
||||
|
||||
unset DOVE
|
||||
Executable
+68
@@ -0,0 +1,68 @@
|
||||
#! /bin/bash --
|
||||
[ ! -z "${GREZZO_1577142035}" ] && return; GREZZO_1577142035=0
|
||||
unset CDPATH
|
||||
DOVE="$(cd "$(dirname "$(readlink -f -- "${BASH_SOURCE[0]}")")" > /dev/null && pwd -P)"
|
||||
|
||||
. "$DOVE/../grezzo.sh"
|
||||
|
||||
function feat_addpacks_pip_dev() {
|
||||
if ! feat_missing "apt-get"; then
|
||||
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
|
||||
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
|
||||
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
|
||||
elif ! feat_missing "pacman"; then
|
||||
sudo pacman -S --needed base-devel openssl zlib bzip2 readline sqlite curl \
|
||||
llvm ncurses xz tk libffi python-pyopenssl git
|
||||
elif ! feat_missing "apk"; then
|
||||
sudo apk add --no-cache bzip2-dev coreutils dpkg-dev dpkg expat-dev git curl \
|
||||
findutils gcc gdbm-dev libc-dev libffi-dev libnsl-dev libtirpc-dev \
|
||||
linux-headers make ncurses-dev openssl-dev pax-utils readline-dev \
|
||||
sqlite-dev tcl-dev tk tk-dev util-linux-dev xz-dev zlib-dev bash
|
||||
elif ! feat_missing "yum"; then
|
||||
sudo yum install @development zlib-devel bzip2 bzip2-devel readline-devel sqlite \
|
||||
sqlite-devel openssl-devel xz xz-devel libffi-devel findutils
|
||||
elif ! feat_missing "zypper"; then
|
||||
sudo zypper in zlib-devel bzip2 libbz2-devel libffi-devel libopenssl-devel \
|
||||
readline-devel sqlite3 sqlite3-devel xz xz-devel
|
||||
fi
|
||||
}
|
||||
|
||||
function feat_add_pip() {
|
||||
feat_addpacks_pip_dev
|
||||
sed -n -e '/# Load pyenv automatically/,$p' \
|
||||
<(curl https://pyenv.run | bash 2>&1) \
|
||||
| cat - "$HOME/.bashrc" > "$HOME/.bashrc.tmp"
|
||||
mv "$HOME/.bashrc.tmp" "$HOME/.bashrc"
|
||||
. "$HOME/.bashrc"
|
||||
LATESTPYTHON="$(pyenv install -l | grep '^[0-9\. ]*$' | sed -ne '$s|\s*||gp')"
|
||||
pyenv install "$LATESTPYTHON"
|
||||
pyenv global "$LATESTPYTHON"
|
||||
pip install --upgrade pip
|
||||
}
|
||||
|
||||
|
||||
function pip_feat_missing() {
|
||||
if feat_missing "pip"; then
|
||||
true
|
||||
else
|
||||
! python -c "import $1" >/dev/null 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
function pip_feat_add() {
|
||||
pip install "$1"
|
||||
}
|
||||
|
||||
function pip_feat_needed() {
|
||||
feat_needed "pip"
|
||||
FEAT="$1"
|
||||
if pip_feat_missing "$FEAT"; then
|
||||
if type "pip_feat_add_$FEAT" > /dev/null 2>&1 ; then
|
||||
eval "pip_feat_add_$FEAT"
|
||||
else
|
||||
pip_feat_add "$FEAT"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
unset DOVE
|
||||
@@ -0,0 +1,60 @@
|
||||
#! /bin/bash --
|
||||
[ ! -z "${GREZZO_1577142078}" ] && return; GREZZO_1577142078=0
|
||||
unset CDPATH
|
||||
DOVE="$(cd "$(dirname "$(readlink -f -- "${BASH_SOURCE[0]}")")" > /dev/null && pwd -P)"
|
||||
|
||||
. "$DOVE/pip.sh"
|
||||
|
||||
function feat_add_poetry() {
|
||||
feat_needed "pip"
|
||||
curl -sSL https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py | python
|
||||
. "$HOME/.poetry/env"
|
||||
}
|
||||
|
||||
function poetry_initialized() {
|
||||
poetry check >/dev/null 2>&1
|
||||
}
|
||||
|
||||
function poetry_feat_added() {
|
||||
poetry show | cut -f1 -d ' ' | grep -q ^"$1"$
|
||||
}
|
||||
|
||||
function poetry_feat_missing() {
|
||||
if feat_missing "pip"; then
|
||||
true
|
||||
else
|
||||
if feat_missing "poetry"; then
|
||||
true
|
||||
else
|
||||
if ! poetry_initialized; then
|
||||
true
|
||||
fi
|
||||
! poetry run python -c "import $1" >/dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function poetry_feat_needed() {
|
||||
feat_needed "poetry"
|
||||
FEAT="$1"
|
||||
if ! poetry_initialized; then
|
||||
poetry init
|
||||
fi
|
||||
if poetry_feat_added "$FEAT"; then
|
||||
if poetry_feat_missing "$FEAT"; then
|
||||
poetry install
|
||||
fi
|
||||
else
|
||||
if type "poetry_feat_add_$FEAT" > /dev/null 2>&1 ; then
|
||||
eval "poetry_feat_add_$FEAT"
|
||||
else
|
||||
poetry_feat_add "$FEAT"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
function poetry_feat_add() {
|
||||
poetry add "$1"
|
||||
}
|
||||
|
||||
unset DOVE
|
||||
Executable
+15
@@ -0,0 +1,15 @@
|
||||
#! /bin/bash --
|
||||
|
||||
# Questo è un esempio di custom callback. poetry_feat_needed chiama prima poetry_feat_add_django,
|
||||
# qui definito, che può effettuare altre operazioni prima e/o dopo il lancio di poetry_feat_add.
|
||||
|
||||
[ ! -z "${GREZZO_1577141483}" ] && return; GREZZO_1577141483=0
|
||||
unset CDPATH
|
||||
DOVE="$(cd "$(dirname "$(readlink -f -- "${BASH_SOURCE[0]}")")" > /dev/null && pwd -P)"
|
||||
|
||||
function poetry_feat_add_django() {
|
||||
. "$DOVE/../poetry.sh"
|
||||
poetry_feat_add "django"
|
||||
}
|
||||
|
||||
unset DOVE
|
||||
Reference in New Issue
Block a user