2017-07-18 12:21:08 +02:00
|
|
|
|
2018-06-05 23:17:03 +02:00
|
|
|
#!/bin/bash
|
2017-07-18 12:21:08 +02:00
|
|
|
|
2018-06-05 23:17:03 +02:00
|
|
|
# ============= FUTURE YUNOHOST HELPER =============
|
|
|
|
# Delete a file checksum from the app settings
|
2017-07-18 12:21:08 +02:00
|
|
|
#
|
2018-06-05 23:17:03 +02:00
|
|
|
# $app should be defined when calling this helper
|
2017-07-18 12:21:08 +02:00
|
|
|
#
|
2018-06-05 23:17:03 +02:00
|
|
|
# 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
|
2017-07-18 12:21:08 +02:00
|
|
|
}
|
2018-09-27 11:39:00 +02:00
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
# COMMON ROUNDCUBE FUNCTIONS
|
|
|
|
# =============================================================================
|
|
|
|
|
|
|
|
# Execute a composer command from a given directory
|
|
|
|
# usage: composer_exec workdir COMMAND [ARG ...]
|
|
|
|
exec_composer() {
|
|
|
|
local workdir=$1
|
|
|
|
shift 1
|
|
|
|
|
|
|
|
COMPOSER_HOME="${workdir}/.composer" \
|
|
|
|
php "${workdir}/composer.phar" $@ \
|
|
|
|
-d "${workdir}" --quiet --no-interaction
|
|
|
|
}
|
|
|
|
|
|
|
|
# Install and initialize Composer in the given directory
|
|
|
|
# usage: init_composer destdir
|
|
|
|
init_composer() {
|
|
|
|
local destdir=$1
|
|
|
|
|
|
|
|
# install composer
|
|
|
|
curl -sS https://getcomposer.org/installer \
|
|
|
|
| COMPOSER_HOME="${destdir}/.composer" \
|
|
|
|
php -- --quiet --install-dir="$destdir" \
|
|
|
|
|| ynh_die "Unable to install Composer"
|
|
|
|
|
|
|
|
# install composer.json
|
|
|
|
cp "${destdir}/composer.json-dist" "${destdir}/composer.json"
|
|
|
|
|
|
|
|
# update dependencies to create composer.lock
|
|
|
|
exec_composer "$destdir" install --no-dev \
|
|
|
|
|| ynh_die "Unable to update Roundcube core dependencies"
|
|
|
|
}
|