1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/firefly-iii_ynh.git synced 2024-09-03 18:36:13 +02:00
firefly-iii_ynh/scripts/_common.sh

72 lines
2 KiB
Bash
Raw Normal View History

2018-06-17 00:50:26 +02:00
#!/bin/bash
#=================================================
# COMMON VARIABLES
#=================================================
# dependencies used by the app
pkg_dependencies="php7.2 php7.2-zip php7.2-fpm php7.2-mysql php7.2-xml php7.2-intl php7.2-mbstring php7.2-gd php7.2-curl php7.2-bcmath php7.2-opcache php7.2-ldap"
2018-06-17 00:50:26 +02:00
# ============= FUTURE YUNOHOST HELPER =============
# Delete a file checksum from the app settings
#
# $app should be defined when calling this helper
#
# usage: ynh_remove_file_checksum file
# | arg: file - The file for which the checksum will be deleted
ynh_delete_file_checksum () {
local checksum_setting_name=checksum_${1//[\/ ]/_} # Replace all '/' and ' ' by '_'
ynh_app_setting_delete $app $checksum_setting_name
}
# Execute a command as another user
# usage: exec_as USER COMMAND [ARG ...]
exec_as() {
local USER=$1
shift 1
if [[ $USER = $(whoami) ]]; then
eval $@
else
# use sudo twice to be root and be allowed to use another user
sudo sudo -u "$USER" $@
fi
}
#
# Composer helpers
#
# Execute a composer command from a given directory
# usage: composer_exec AS_USER WORKDIR COMMAND [ARG ...]
exec_composer() {
local WORKDIR=$1
shift 1
COMPOSER_HOME="${WORKDIR}/.composer" \
# sudo /usr/bin/php7.2 "${WORKDIR}/composer.phar" $@ \
/usr/bin/php7.2 "${WORKDIR}/composer.phar" $@ \
-d "${WORKDIR}" --no-interaction
2018-06-17 00:50:26 +02:00
}
# Install and initialize Composer in the given directory
# usage: init_composer DESTDIR [AS_USER]
init_composer() {
local DESTDIR=$1
local AS_USER=${2:-admin}
# install composer
curl -sS https://getcomposer.org/installer \
| COMPOSER_HOME="${DESTDIR}/.composer" \
sudo /usr/bin/php7.2 -- --quiet --install-dir="$DESTDIR" \
2018-06-17 00:50:26 +02:00
|| ynh_die "Unable to install Composer"
# update dependencies to create composer.lock
2018-06-17 06:32:42 +02:00
exec_composer "$DESTDIR" install --no-dev --prefer-dist --no-scripts \
2018-06-17 00:50:26 +02:00
|| ynh_die "Unable to update firefly-iii core dependencies"
}
sudo_path () {
sudo env "PATH=$PATH" $@
}