mirror of
https://github.com/YunoHost-Apps/ihatemoney_ynh.git
synced 2024-09-03 19:26:15 +02:00
d738df4875
rebuilds the venv from scratch on upgrade.
79 lines
2.4 KiB
Bash
79 lines
2.4 KiB
Bash
### Constants
|
|
|
|
nginx_conf_path="/etc/nginx/conf.d/${domain}.d/ihatemoney.conf"
|
|
supervisor_conf_path="/etc/supervisor/conf.d/ihatemoney.conf"
|
|
gunicorn_conf_path="/etc/ihatemoney/gunicorn.conf.py"
|
|
ihatemoney_conf_path="/etc/ihatemoney/ihatemoney.cfg"
|
|
INSTALL_DIR="/opt/yunohost/ihatemoney"
|
|
|
|
|
|
### Functions
|
|
|
|
fetch_and_extract() {
|
|
local DESTDIR=$1
|
|
local OWNER_USER=${2:-admin}
|
|
|
|
VERSION=1.0
|
|
SHA256=e2ad6e56b161f13911c1c378aad79656bbdfce495189d80f997414803859348e
|
|
SOURCE_URL="https://github.com/spiral-project/ihatemoney/archive/${VERSION}.tar.gz"
|
|
|
|
tarball="/tmp/ihatemoney.tar.gz"
|
|
rm -f "$tarball"
|
|
|
|
wget -q -O "$tarball" "$SOURCE_URL" \
|
|
|| ynh_die "Unable to download tarball"
|
|
echo "$SHA256 $tarball" | sha256sum -c >/dev/null \
|
|
|| ynh_die "Invalid checksum of downloaded tarball"
|
|
test -d $DESTDIR || sudo mkdir $DESTDIR
|
|
sudo tar xaf "${tarball}" -C "$DESTDIR" --strip-components 1\
|
|
|| ynh_die "Unable to extract tarball"
|
|
|
|
rm -f "$tarball"
|
|
}
|
|
|
|
|
|
fix_permissions() {
|
|
local SRC_DIR=$1
|
|
|
|
sudo find $SRC_DIR -type f | while read LINE; do sudo chmod 640 "$LINE" ; done
|
|
sudo find $SRC_DIR -type d | while read LINE; do sudo chmod 755 "$LINE" ; done
|
|
sudo chown -R ihatemoney:ihatemoney $SRC_DIR
|
|
sudo chown -R www-data:www-data ${SRC_DIR}/budget/static
|
|
}
|
|
|
|
|
|
install_apt_dependencies() {
|
|
sudo apt-get install -y -qq python3-dev python3-virtualenv supervisor libmysqlclient-dev
|
|
}
|
|
|
|
create_unix_user() {
|
|
sudo mkdir -p /opt/yunohost
|
|
sudo useradd ihatemoney -d /opt/yunohost/ihatemoney/ --create-home || ynh_die "User creation failed"
|
|
}
|
|
|
|
create_system_dirs() {
|
|
sudo install -o ihatemoney -g ihatemoney -m 755 -d \
|
|
/var/log/ihatemoney \
|
|
/etc/ihatemoney
|
|
sudo mkdir -p /opt/yunohost
|
|
}
|
|
|
|
init_virtualenv () {
|
|
sudo virtualenv /opt/yunohost/ihatemoney/venv --python /usr/bin/python3
|
|
}
|
|
|
|
### Backported helpers (from testing)
|
|
|
|
|
|
# Add path
|
|
ynh_normalize_url_path () {
|
|
path_url=$1
|
|
test -n "$path_url" || ynh_die "ynh_normalize_url_path expect a URL path as first argument and received nothing."
|
|
if [ "${path_url:0:1}" != "/" ]; then # If the first character is not a /
|
|
path_url="/$path_url" # Add / at begin of path variable
|
|
fi
|
|
if [ "${path_url:${#path_url}-1}" == "/" ] && [ ${#path_url} -gt 1 ]; then # If the last character is a / and that not the only character.
|
|
path_url="${path_url:0:${#path_url}-1}" # Delete the last character
|
|
fi
|
|
echo $path_url
|
|
}
|