mirror of
https://github.com/YunoHost-Apps/svgedit_ynh.git
synced 2024-09-03 20:26:24 +02:00
parent
65a82b5768
commit
31033edd07
11 changed files with 173 additions and 260 deletions
|
@ -36,8 +36,8 @@ Not supported.
|
||||||
|
|
||||||
#### Supported architectures
|
#### Supported architectures
|
||||||
|
|
||||||
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/svgedit%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/svgedit/)
|
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/svgedit.svg)](https://ci-apps.yunohost.org/ci/apps/svgedit/)
|
||||||
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/svgedit%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/svgedit/)
|
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/svgedit.svg)](https://ci-apps-arm.yunohost.org/ci/apps/svgedit/)
|
||||||
|
|
||||||
## Limitations
|
## Limitations
|
||||||
|
|
||||||
|
|
|
@ -36,8 +36,8 @@ Non supporté.
|
||||||
|
|
||||||
#### Architectures supportées
|
#### Architectures supportées
|
||||||
|
|
||||||
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/svgedit%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/svgedit/)
|
* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/svgedit.svg)](https://ci-apps.yunohost.org/ci/apps/svgedit/)
|
||||||
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/svgedit%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/svgedit/)
|
* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/svgedit.svg)](https://ci-apps-arm.yunohost.org/ci/apps/svgedit/)
|
||||||
|
|
||||||
## Limitations
|
## Limitations
|
||||||
|
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
;; Test complet
|
;; Test complet
|
||||||
; Manifest
|
; Manifest
|
||||||
domain="domain.tld" (DOMAIN)
|
domain="domain.tld"
|
||||||
path="/path" (PATH)
|
path="/path"
|
||||||
admin="john" (USER)
|
admin="john"
|
||||||
is_public=1 (PUBLIC|public=1|private=0)
|
is_public=1
|
||||||
; Checks
|
; Checks
|
||||||
pkg_linter=1
|
pkg_linter=1
|
||||||
setup_sub_dir=1
|
setup_sub_dir=1
|
||||||
|
@ -14,8 +14,6 @@
|
||||||
upgrade=1
|
upgrade=1
|
||||||
backup_restore=1
|
backup_restore=1
|
||||||
multi_instance=1
|
multi_instance=1
|
||||||
# incorrect_path=1
|
|
||||||
port_already_use=0
|
|
||||||
change_url=1
|
change_url=1
|
||||||
;;; Options
|
;;; Options
|
||||||
Email=
|
Email=
|
||||||
|
|
146
conf/config-sample.js
Normal file
146
conf/config-sample.js
Normal file
|
@ -0,0 +1,146 @@
|
||||||
|
// DO NOT EDIT THIS FILE!
|
||||||
|
// THIS FILE IS JUST A SAMPLE; TO APPLY, YOU MUST
|
||||||
|
// CREATE A NEW FILE config.js AND ADD CONTENTS
|
||||||
|
// SUCH AS SHOWN BELOW INTO THAT FILE.
|
||||||
|
|
||||||
|
/*globals svgEditor*/
|
||||||
|
/*
|
||||||
|
The config.js file is intended for the setting of configuration or
|
||||||
|
preferences which must run early on; if this is not needed, it is
|
||||||
|
recommended that you create an extension instead (for greater
|
||||||
|
reusability and modularity).
|
||||||
|
*/
|
||||||
|
|
||||||
|
// CONFIG AND EXTENSION SETTING
|
||||||
|
/*
|
||||||
|
See defaultConfig and defaultExtensions in svg-editor.js for a list
|
||||||
|
of possible configuration settings.
|
||||||
|
|
||||||
|
See svg-editor.js for documentation on using setConfig().
|
||||||
|
*/
|
||||||
|
|
||||||
|
// URL OVERRIDE CONFIG
|
||||||
|
svgEditor.setConfig({
|
||||||
|
/**
|
||||||
|
To override the ability for URLs to set URL-based SVG content,
|
||||||
|
uncomment the following:
|
||||||
|
*/
|
||||||
|
// preventURLContentLoading: true,
|
||||||
|
/**
|
||||||
|
To override the ability for URLs to set other configuration (including
|
||||||
|
extension config), uncomment the following:
|
||||||
|
*/
|
||||||
|
// preventAllURLConfig: true,
|
||||||
|
/**
|
||||||
|
To override the ability for URLs to set their own extensions,
|
||||||
|
uncomment the following (note that if setConfig() is used in
|
||||||
|
extension code, it will still be additive to extensions,
|
||||||
|
however):
|
||||||
|
*/
|
||||||
|
// lockExtensions: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
svgEditor.setConfig({
|
||||||
|
/*
|
||||||
|
Provide default values here which differ from that of the editor but
|
||||||
|
which the URL can override
|
||||||
|
*/
|
||||||
|
}, {allowInitialUserOverride: true});
|
||||||
|
|
||||||
|
// EXTENSION CONFIG
|
||||||
|
svgEditor.setConfig({
|
||||||
|
extensions: [
|
||||||
|
// 'ext-overview_window.js', 'ext-markers.js', 'ext-connector.js', 'ext-eyedropper.js', 'ext-shapes.js', 'ext-imagelib.js', 'ext-grid.js', 'ext-polygon.js', 'ext-star.js', 'ext-panning.js', 'ext-storage.js'
|
||||||
|
]
|
||||||
|
// , noDefaultExtensions: false, // noDefaultExtensions can only be meaningfully used in config.js or in the URL
|
||||||
|
});
|
||||||
|
|
||||||
|
// OTHER CONFIG
|
||||||
|
svgEditor.setConfig({
|
||||||
|
// canvasName: 'default',
|
||||||
|
// canvas_expansion: 3,
|
||||||
|
// initFill: {
|
||||||
|
// color: 'FF0000', // solid red
|
||||||
|
// opacity: 1
|
||||||
|
// },
|
||||||
|
// initStroke: {
|
||||||
|
// width: 5,
|
||||||
|
// color: '000000', // solid black
|
||||||
|
// opacity: 1
|
||||||
|
// },
|
||||||
|
// initOpacity: 1,
|
||||||
|
// colorPickerCSS: null,
|
||||||
|
// initTool: 'select',
|
||||||
|
// exportWindowType: 'new', // 'same'
|
||||||
|
// wireframe: false,
|
||||||
|
// showlayers: false,
|
||||||
|
// no_save_warning: false,
|
||||||
|
// PATH CONFIGURATION
|
||||||
|
// imgPath: 'images/',
|
||||||
|
// langPath: 'locale/',
|
||||||
|
// extPath: 'extensions/',
|
||||||
|
// jGraduatePath: 'jgraduate/images/',
|
||||||
|
/*
|
||||||
|
Uncomment the following to allow at least same domain (embedded) access,
|
||||||
|
including file:// access.
|
||||||
|
Setting as `['*']` would allow any domain to access but would be unsafe to
|
||||||
|
data privacy and integrity.
|
||||||
|
*/
|
||||||
|
// allowedOrigins: [window.location.origin || 'null'], // May be 'null' (as a string) when used as a file:// URL
|
||||||
|
// DOCUMENT PROPERTIES
|
||||||
|
// dimensions: [640, 480],
|
||||||
|
// EDITOR OPTIONS
|
||||||
|
// gridSnapping: false,
|
||||||
|
// gridColor: '#000',
|
||||||
|
// baseUnit: 'px',
|
||||||
|
// snappingStep: 10,
|
||||||
|
// showRulers: true,
|
||||||
|
// EXTENSION-RELATED (GRID)
|
||||||
|
// showGrid: false, // Set by ext-grid.js
|
||||||
|
// EXTENSION-RELATED (STORAGE)
|
||||||
|
// noStorageOnLoad: false, // Some interaction with ext-storage.js; prevent even the loading of previously saved local storage
|
||||||
|
// forceStorage: false, // Some interaction with ext-storage.js; strongly discouraged from modification as it bypasses user privacy by preventing them from choosing whether to keep local storage or not
|
||||||
|
// emptyStorageOnDecline: true, // Used by ext-storage.js; empty any prior storage if the user declines to store
|
||||||
|
});
|
||||||
|
|
||||||
|
// PREF CHANGES
|
||||||
|
/**
|
||||||
|
setConfig() can also be used to set preferences in addition to
|
||||||
|
configuration (see defaultPrefs in svg-editor.js for a list of
|
||||||
|
possible settings), but at least if you are using ext-storage.js
|
||||||
|
to store preferences, it will probably be better to let your
|
||||||
|
users control these.
|
||||||
|
As with configuration, one may use allowInitialUserOverride, but
|
||||||
|
in the case of preferences, any previously stored preferences
|
||||||
|
will also thereby be enabled to override this setting (and at a
|
||||||
|
higher priority than any URL preference setting overrides).
|
||||||
|
Failing to use allowInitialUserOverride will ensure preferences
|
||||||
|
are hard-coded here regardless of URL or prior user storage setting.
|
||||||
|
*/
|
||||||
|
svgEditor.setConfig(
|
||||||
|
{
|
||||||
|
// lang: '', // Set dynamically within locale.js if not previously set
|
||||||
|
// iconsize: '', // Will default to 's' if the window height is smaller than the minimum height and 'm' otherwise
|
||||||
|
/**
|
||||||
|
* When showing the preferences dialog, svg-editor.js currently relies
|
||||||
|
* on curPrefs instead of $.pref, so allowing an override for bkgd_color
|
||||||
|
* means that this value won't have priority over block auto-detection as
|
||||||
|
* far as determining which color shows initially in the preferences
|
||||||
|
* dialog (though it can be changed and saved).
|
||||||
|
*/
|
||||||
|
// bkgd_color: '#FFF',
|
||||||
|
// bkgd_url: '',
|
||||||
|
// img_save: 'embed',
|
||||||
|
// Only shows in UI as far as alert notices
|
||||||
|
// save_notice_done: false,
|
||||||
|
// export_notice_done: false
|
||||||
|
}
|
||||||
|
);
|
||||||
|
svgEditor.setConfig(
|
||||||
|
{
|
||||||
|
// Indicate pref settings here if you wish to allow user storage or URL settings
|
||||||
|
// to be able to override your default preferences (unless other config options
|
||||||
|
// have already explicitly prevented one or the other)
|
||||||
|
},
|
||||||
|
{allowInitialUserOverride: true}
|
||||||
|
);
|
|
@ -18,7 +18,7 @@
|
||||||
"name": "Luc Didry"
|
"name": "Luc Didry"
|
||||||
},
|
},
|
||||||
"requirements": {
|
"requirements": {
|
||||||
"yunohost": ">> 3.8.1"
|
"yunohost": ">= 4.2.4"
|
||||||
},
|
},
|
||||||
"multi_instance": true,
|
"multi_instance": true,
|
||||||
"services": [
|
"services": [
|
||||||
|
@ -29,29 +29,17 @@
|
||||||
{
|
{
|
||||||
"name": "domain",
|
"name": "domain",
|
||||||
"type": "domain",
|
"type": "domain",
|
||||||
"ask": {
|
|
||||||
"en": "Choose a domain name for SVG-edit",
|
|
||||||
"fr": "Choisissez un nom de domaine pour SVG-edit"
|
|
||||||
},
|
|
||||||
"example": "domain.org"
|
"example": "domain.org"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "path",
|
"name": "path",
|
||||||
"type": "path",
|
"type": "path",
|
||||||
"ask": {
|
|
||||||
"en": "Choose a path for SVG-edit",
|
|
||||||
"fr": "Choisissez un chemin pour SVG-edit"
|
|
||||||
},
|
|
||||||
"example": "/svgedit",
|
"example": "/svgedit",
|
||||||
"default": "/svgedit"
|
"default": "/svgedit"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "is_public",
|
"name": "is_public",
|
||||||
"type": "boolean",
|
"type": "boolean",
|
||||||
"ask": {
|
|
||||||
"en": "Is it a public application?",
|
|
||||||
"fr": "Est-ce une application publique ?"
|
|
||||||
},
|
|
||||||
"help": {
|
"help": {
|
||||||
"en": "If enabled, SVG-edit will be accessible by people who do not have an account. This can be changed later via the webadmin.",
|
"en": "If enabled, SVG-edit will be accessible by people who do not have an account. This can be changed later via the webadmin.",
|
||||||
"fr": "Si cette case est cochée, SVG-edit sera accessible aux personnes n’ayant pas de compte. Vous pourrez changer ceci plus tard via la webadmin."
|
"fr": "Si cette case est cochée, SVG-edit sera accessible aux personnes n’ayant pas de compte. Vous pourrez changer ceci plus tard via la webadmin."
|
||||||
|
|
|
@ -4,12 +4,6 @@
|
||||||
# COMMON VARIABLES
|
# COMMON VARIABLES
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
# dependencies used by the app
|
|
||||||
pkg_dependencies="wget"
|
|
||||||
|
|
||||||
# App package root directory should be the parent folder
|
|
||||||
PKG_DIR=$(cd ../; pwd)
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# PERSONAL HELPERS
|
# PERSONAL HELPERS
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -17,197 +11,6 @@ PKG_DIR=$(cd ../; pwd)
|
||||||
#=================================================
|
#=================================================
|
||||||
# EXPERIMENTAL HELPERS
|
# EXPERIMENTAL HELPERS
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_set_default_perm () {
|
|
||||||
local DIRECTORY=$1
|
|
||||||
local user=$YNH_APP_INSTANCE_NAME
|
|
||||||
id -u $user 2>/dev/null || user=root
|
|
||||||
# Set permissions
|
|
||||||
chown -R $user:www-data $DIRECTORY
|
|
||||||
chmod -R 440 $DIRECTORY
|
|
||||||
find $DIRECTORY -type d -print0 | xargs -0 chmod 550 \
|
|
||||||
|| echo "No file to modify"
|
|
||||||
|
|
||||||
}
|
|
||||||
ynh_export () {
|
|
||||||
local ynh_arg=""
|
|
||||||
for var in $@;
|
|
||||||
do
|
|
||||||
ynh_arg=$(echo $var | awk '{print toupper($0)}')
|
|
||||||
if [ "$var" == "path_url" ]; then
|
|
||||||
ynh_arg="PATH"
|
|
||||||
fi
|
|
||||||
ynh_arg="YNH_APP_ARG_$ynh_arg"
|
|
||||||
export $var=${!ynh_arg}
|
|
||||||
done
|
|
||||||
}
|
|
||||||
ynh_get_and_export () {
|
|
||||||
local ynh_arg=""
|
|
||||||
for var in $@;
|
|
||||||
do
|
|
||||||
ynh_arg=$var
|
|
||||||
if [ "$var" == "path_url" ]; then
|
|
||||||
ynh_arg="path"
|
|
||||||
fi
|
|
||||||
export $var=$(ynh_app_setting_get $app $ynh_arg)
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
# Check the path doesn't exist
|
|
||||||
# usage: ynh_final_path_available PATH
|
|
||||||
ynh_final_path_available () {
|
|
||||||
if [ -e "$final_path" ]
|
|
||||||
then
|
|
||||||
ynh_die "This path '$final_path' already contains a folder"
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Save listed var in YunoHost app settings
|
|
||||||
# usage: ynh_save_args VARNAME1 [VARNAME2 [...]]
|
|
||||||
ynh_save_args () {
|
|
||||||
for var in $@;
|
|
||||||
do
|
|
||||||
local setting_var="$var"
|
|
||||||
if [ "$var" == "path_url" ]; then
|
|
||||||
setting_var="path"
|
|
||||||
fi
|
|
||||||
ynh_app_setting_set $app $setting_var ${!var}
|
|
||||||
done
|
|
||||||
}
|
|
||||||
ynh_sso_access () {
|
|
||||||
ynh_app_setting_set $app unprotected_uris "/"
|
|
||||||
|
|
||||||
if [[ $is_public -eq 0 ]]; then
|
|
||||||
ynh_app_setting_set $app protected_uris "$1"
|
|
||||||
fi
|
|
||||||
yunohost app ssowatconf
|
|
||||||
}
|
|
||||||
|
|
||||||
ynh_exit_if_up_to_date () {
|
|
||||||
if [ "${version}" = "${last_version}" ]; then
|
|
||||||
info "Up-to-date, nothing to do"
|
|
||||||
ynh_die "Up-to-date, nothing to do" 0
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
log() {
|
|
||||||
echo "${1}"
|
|
||||||
}
|
|
||||||
|
|
||||||
info() {
|
|
||||||
log "[INFO] ${1}"
|
|
||||||
}
|
|
||||||
|
|
||||||
warn() {
|
|
||||||
log "[WARN] ${1}"
|
|
||||||
}
|
|
||||||
|
|
||||||
err() {
|
|
||||||
log "[ERR] ${1}"
|
|
||||||
}
|
|
||||||
|
|
||||||
to_logs() {
|
|
||||||
|
|
||||||
# When yunohost --verbose or bash -x
|
|
||||||
if $_ISVERBOSE; then
|
|
||||||
cat
|
|
||||||
else
|
|
||||||
cat > /dev/null
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
ynh_read_json () {
|
|
||||||
python3 -c "import sys, json;print(json.load(open('$1'))['$2'])"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ynh_configure () {
|
|
||||||
local TEMPLATE=$1
|
|
||||||
local DEST=$2
|
|
||||||
type j2 2>/dev/null || pip install j2cli
|
|
||||||
j2 "${PKG_DIR}/conf/$TEMPLATE.j2" > "${PKG_DIR}/conf/$TEMPLATE"
|
|
||||||
ynh_backup_if_checksum_is_different "$DEST"
|
|
||||||
cp "${PKG_DIR}/conf/$TEMPLATE" "$DEST"
|
|
||||||
ynh_store_file_checksum "$DEST"
|
|
||||||
chown root: "$DEST"
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
# Exit without error if the package is up to date
|
|
||||||
#
|
|
||||||
# This helper should be used to avoid an upgrade of a package
|
|
||||||
# when it's not needed.
|
|
||||||
#
|
|
||||||
# To force an upgrade, even if the package is up to date,
|
|
||||||
# you have to set the variable YNH_FORCE_UPGRADE before.
|
|
||||||
# example: YNH_FORCE_UPGRADE=1 yunohost app upgrade MyApp
|
|
||||||
#
|
|
||||||
# usage: ynh_abort_if_up_to_date
|
|
||||||
ynh_abort_if_up_to_date () {
|
|
||||||
local force_upgrade=${YNH_FORCE_UPGRADE:-0}
|
|
||||||
local package_check=${PACKAGE_CHECK_EXEC:-0}
|
|
||||||
|
|
||||||
local version=$(ynh_read_json "/etc/yunohost/apps/$YNH_APP_INSTANCE_NAME/manifest.json" "version" || echo 1.0)
|
|
||||||
local last_version=$(ynh_read_manifest "version" || echo 1.0)
|
|
||||||
if [ "$version" = "$last_version" ]
|
|
||||||
then
|
|
||||||
if [ "$force_upgrade" != "0" ]
|
|
||||||
then
|
|
||||||
echo "Upgrade forced by YNH_FORCE_UPGRADE." >&2
|
|
||||||
unset YNH_FORCE_UPGRADE
|
|
||||||
elif [ "$package_check" != "0" ]
|
|
||||||
then
|
|
||||||
echo "Upgrade forced for package check." >&2
|
|
||||||
else
|
|
||||||
ynh_die "Up-to-date, nothing to do" 0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
ynh_version_gt() { test "$(printf '%s\n' "$@" | sort -V | head -n 1)" != "$1"; }
|
|
||||||
|
|
||||||
# In upgrade script allow to test if the app is less than or equal a specific version
|
|
||||||
#
|
|
||||||
# usage: ynh_version_le "0.5"
|
|
||||||
ynh_version_le() {
|
|
||||||
local version=$(ynh_read_json "/etc/yunohost/apps/$YNH_APP_INSTANCE_NAME/manifest.json" "version" || echo 1.0)
|
|
||||||
ynh_version_gt "$1" "${version}"
|
|
||||||
}
|
|
||||||
|
|
||||||
ynh_debian_release () {
|
|
||||||
lsb_release --codename --short
|
|
||||||
}
|
|
||||||
|
|
||||||
is_stretch () {
|
|
||||||
if [ "$(ynh_debian_release)" == "stretch" ]
|
|
||||||
then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
is_jessie () {
|
|
||||||
if [ "$(ynh_debian_release)" == "jessie" ]
|
|
||||||
then
|
|
||||||
return 0
|
|
||||||
else
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
# Reload (or other actions) a service and print a log in case of failure.
|
|
||||||
#
|
|
||||||
# usage: ynh_system_reload service_name [action]
|
|
||||||
# | arg: service_name - Name of the service to reload
|
|
||||||
# | arg: action - Action to perform with systemctl. Default: reload
|
|
||||||
ynh_system_reload () {
|
|
||||||
local service_name=$1
|
|
||||||
local action=${2:-reload}
|
|
||||||
|
|
||||||
# Reload, restart or start and print the log if the service fail to start or reload
|
|
||||||
systemctl $action $service_name || ( journalctl --lines=20 -u $service_name >&2 && false)
|
|
||||||
}
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# FUTURE OFFICIAL HELPERS
|
# FUTURE OFFICIAL HELPERS
|
||||||
|
|
|
@ -47,13 +47,6 @@ ynh_script_progression --message="Storing installation settings..." --weight=1
|
||||||
|
|
||||||
ynh_app_setting_set --app=$app --key=domain --value=$domain
|
ynh_app_setting_set --app=$app --key=domain --value=$domain
|
||||||
ynh_app_setting_set --app=$app --key=path --value=$path_url
|
ynh_app_setting_set --app=$app --key=path --value=$path_url
|
||||||
ynh_app_setting_set --app=$app --key=is_public --value=$is_public
|
|
||||||
|
|
||||||
# INSTALL DEPENDENCIES
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Installing dependencies..." --weight=3
|
|
||||||
|
|
||||||
ynh_install_app_dependencies $pkg_dependencies
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||||
|
@ -84,8 +77,7 @@ ynh_add_nginx_config
|
||||||
# CUSTOM INSTRUCTION
|
# CUSTOM INSTRUCTION
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
ynh_configure config.js "$final_path/config.js"
|
ynh_add_config --template="config-sample.js" --destination="$final_path/config.js"
|
||||||
ynh_configure custom.css "$final_path/custom.css"
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SECURE FILES AND DIRECTORIES
|
# SECURE FILES AND DIRECTORIES
|
||||||
|
@ -101,7 +93,7 @@ ynh_script_progression --message="Configuring SSOwat..." --weight=1
|
||||||
# Make app public if necessary or protect it
|
# Make app public if necessary or protect it
|
||||||
if [ $is_public -eq 1 ]
|
if [ $is_public -eq 1 ]
|
||||||
then
|
then
|
||||||
ynh_permission_update --permission "main" --add "visitors"
|
ynh_permission_update --permission="main" --add="visitors"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -46,13 +46,6 @@ test ! -d $final_path \
|
||||||
|
|
||||||
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# INSTALL DEPENDENCIES
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Installing dependencies..." --weight=2
|
|
||||||
|
|
||||||
ynh_install_app_dependencies $pkg_dependencies
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# RESTORE THE APP MAIN DIR
|
# RESTORE THE APP MAIN DIR
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
|
@ -18,7 +18,6 @@ app=$YNH_APP_INSTANCE_NAME
|
||||||
|
|
||||||
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
domain=$(ynh_app_setting_get --app=$app --key=domain)
|
||||||
path_url=$(ynh_app_setting_get --app=$app --key=path)
|
path_url=$(ynh_app_setting_get --app=$app --key=path)
|
||||||
is_public=$(ynh_app_setting_get --app=$app --key=is_public)
|
|
||||||
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
final_path=$(ynh_app_setting_get --app=$app --key=final_path)
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -32,21 +31,19 @@ upgrade_type=$(ynh_check_app_version_changed)
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
|
ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
|
||||||
|
|
||||||
# Fix is_public as a boolean value
|
|
||||||
if [ "$is_public" = "Yes" ]; then
|
|
||||||
ynh_app_setting_set --app=$app --key=is_public --value=1
|
|
||||||
is_public=1
|
|
||||||
elif [ "$is_public" = "No" ]; then
|
|
||||||
ynh_app_setting_set --app=$app --key=is_public --value=0
|
|
||||||
is_public=0
|
|
||||||
fi
|
|
||||||
|
|
||||||
# If final_path doesn't exist, create it
|
# If final_path doesn't exist, create it
|
||||||
if [ -z "$final_path" ]; then
|
if [ -z "$final_path" ]; then
|
||||||
final_path=/var/www/$app
|
final_path=/var/www/$app
|
||||||
ynh_app_setting_set --app=$app --key=final_path --value=$final_path
|
ynh_app_setting_set --app=$app --key=final_path --value=$final_path
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Cleaning legacy permissions
|
||||||
|
if ynh_legacy_permissions_exists; then
|
||||||
|
ynh_legacy_permissions_delete_all
|
||||||
|
|
||||||
|
ynh_app_setting_delete --app=$app --key=is_public
|
||||||
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
|
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
|
||||||
#=================================================
|
#=================================================
|
||||||
|
@ -61,22 +58,19 @@ ynh_clean_setup () {
|
||||||
# Exit if an error occurs during the execution of the script
|
# Exit if an error occurs during the execution of the script
|
||||||
ynh_abort_if_errors
|
ynh_abort_if_errors
|
||||||
|
|
||||||
#=================================================
|
|
||||||
# UPGRADE DEPENDENCIES
|
|
||||||
#=================================================
|
|
||||||
ynh_script_progression --message="Upgrading dependencies..." --weight=6
|
|
||||||
|
|
||||||
ynh_install_app_dependencies $pkg_dependencies
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
||||||
#=================================================
|
#=================================================
|
||||||
ynh_script_progression --message="Setting up source files..." --weight=5
|
ynh_script_progression --message="Setting up source files..." --weight=5
|
||||||
|
|
||||||
ynh_app_setting_set --app=$app --key=final_path --value=$final_path
|
if [ "$upgrade_type" == "UPGRADE_APP" ]
|
||||||
# Download, check integrity, uncompress and patch the source from app.src
|
then
|
||||||
ynh_secure_remove "$final_path"
|
ynh_script_progression --message="Upgrading source files..." --time --weight=1
|
||||||
ynh_setup_source --dest_dir="$final_path"
|
|
||||||
|
ynh_secure_remove "$final_path"
|
||||||
|
# Download, check integrity, uncompress and patch the source from app.src
|
||||||
|
ynh_setup_source --dest_dir="$final_path"
|
||||||
|
fi
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# CREATE DEDICATED USER
|
# CREATE DEDICATED USER
|
||||||
|
@ -90,8 +84,7 @@ ynh_system_user_create --username=$app
|
||||||
# CUSTOM INSTRUCTION
|
# CUSTOM INSTRUCTION
|
||||||
#=================================================
|
#=================================================
|
||||||
|
|
||||||
ynh_configure config.js "$final_path/config.js"
|
ynh_add_config --template="config-sample.js" --destination="$final_path/config.js"
|
||||||
ynh_configure custom.css "$final_path/custom.css"
|
|
||||||
|
|
||||||
#=================================================
|
#=================================================
|
||||||
# SECURE FILES AND DIRECTORIES
|
# SECURE FILES AND DIRECTORIES
|
||||||
|
|
Loading…
Reference in a new issue