1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/grav_ynh.git synced 2024-09-03 19:16:01 +02:00

Merge pull request #116 from YunoHost-Apps/testing

This commit is contained in:
tituspijean 2022-08-05 18:25:11 +02:00 committed by GitHub
commit 571cd80764
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 185 additions and 38 deletions

View file

@ -5,7 +5,7 @@ It shall NOT be edited by hand.
# Grav for YunoHost # Grav for YunoHost
[![Integration level](https://dash.yunohost.org/integration/grav.svg)](https://dash.yunohost.org/appci/app/grav) ![](https://ci-apps.yunohost.org/ci/badges/grav.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/grav.maintain.svg) [![Integration level](https://dash.yunohost.org/integration/grav.svg)](https://dash.yunohost.org/appci/app/grav) ![Working status](https://ci-apps.yunohost.org/ci/badges/grav.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/grav.maintain.svg)
[![Install Grav with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=grav) [![Install Grav with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=grav)
*[Lire ce readme en français.](./README_fr.md)* *[Lire ce readme en français.](./README_fr.md)*
@ -17,42 +17,44 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in
A modern open source flat-file CMS A modern open source flat-file CMS
**Shipped version:** 1.7.33~ynh1 **Shipped version:** 1.7.34~ynh1
**Demo:** https://getgrav.org/downloads/themes **Demo:** https://getgrav.org/downloads/themes
## Screenshots ## Screenshots
![](./doc/screenshots/grav.jpg) ![Screenshot of Grav](./doc/screenshots/grav.jpg)
## Disclaimers / important information ## Disclaimers / important information
* You can access the administration panel at `yourdomain.tld/path/admin`. Users created within YunoHost can log in, provided their were given the appropriate permissions: * You can access the administration panel at `yourdomain.tld/path/admin`. Users created within YunoHost can log in, provided their were given the appropriate permissions:
* To make users administrators, give them the `grav.admin` permission. * To make users administrators, give them the `grav.admin` permission.
* To allow users to log in, without extended rights, give them the `grav.user` permission. * To allow users to log in, without extended rights, give them the `grav.user` permission.
* Grav provides a command line interface. Refer to its documentation, but you will need to specifically call for the PHP version currently used for the app: * Grav offers an SSH or SFTP access, which can be enabled in its YunoHost admin configuration panel.
* Go to your app's directory: `cd /var/www/grav` (or `grav__2`, etc. if you have multiple ones) * You can thus use its GPM command line binary.
* `php7.3 bin/grav ...` or `php7.3 bin/gpm ...` Refer to is documentation, but bear in mind you need to call it by specifying the PHP version used by the app:
`php7.3 bin/grav ...` or `php7.3 bin/gpm ...`
* You can install plugins through the admin panel, or through the GPM. * You can install plugins through the admin panel, or through the GPM.
* If installing Grav at the root of a domain, bear in mind that paths starting by `/yunohost` are reserved. * If installing Grav at the root of a domain, bear in mind that paths starting by `/yunohost` are reserved.
## Documentation and resources ## Documentation and resources
* Official app website: https://www.getgrav.org/ * Official app website: <https://www.getgrav.org/>
* Official admin documentation: https://learn.getgrav.org * Official admin documentation: <https://learn.getgrav.org>
* Upstream app code repository: https://github.com/getgrav/grav * Upstream app code repository: <https://github.com/getgrav/grav>
* YunoHost documentation for this app: https://yunohost.org/app_grav * YunoHost documentation for this app: <https://yunohost.org/app_grav>
* Report a bug: https://github.com/YunoHost-Apps/grav_ynh/issues * Report a bug: <https://github.com/YunoHost-Apps/grav_ynh/issues>
## Developer info ## Developer info
Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/grav_ynh/tree/testing). Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/grav_ynh/tree/testing).
To try the testing branch, please proceed like that. To try the testing branch, please proceed like that.
```
``` bash
sudo yunohost app install https://github.com/YunoHost-Apps/grav_ynh/tree/testing --debug sudo yunohost app install https://github.com/YunoHost-Apps/grav_ynh/tree/testing --debug
or or
sudo yunohost app upgrade grav -u https://github.com/YunoHost-Apps/grav_ynh/tree/testing --debug sudo yunohost app upgrade grav -u https://github.com/YunoHost-Apps/grav_ynh/tree/testing --debug
``` ```
**More info regarding app packaging:** https://yunohost.org/packaging_apps **More info regarding app packaging:** <https://yunohost.org/packaging_apps>

View file

@ -1,10 +1,14 @@
<!--
N.B.: This README was automatically generated by https://github.com/YunoHost/apps/tree/master/tools/README-generator
It shall NOT be edited by hand.
-->
# Grav pour YunoHost # Grav pour YunoHost
[![Niveau d'intégration](https://dash.yunohost.org/integration/grav.svg)](https://dash.yunohost.org/appci/app/grav) ![](https://ci-apps.yunohost.org/ci/badges/grav.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/grav.maintain.svg) [![Niveau d'intégration](https://dash.yunohost.org/integration/grav.svg)](https://dash.yunohost.org/appci/app/grav) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/grav.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/grav.maintain.svg)
[![Installer Grav avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=grav) [![Installer Grav avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=grav)
*[Read this readme in english.](./README.md)* *[Read this readme in english.](./README.md)*
*[Lire ce readme en français.](./README_fr.md)*
> *Ce package vous permet d'installer Grav rapidement et simplement sur un serveur YunoHost. > *Ce package vous permet d'installer Grav rapidement et simplement sur un serveur YunoHost.
Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.*
@ -13,42 +17,44 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour
Un CMS moderne basé sur des fichiers plats Un CMS moderne basé sur des fichiers plats
**Version incluse :** 1.7.33~ynh1 **Version incluse :** 1.7.34~ynh1
**Démo :** https://getgrav.org/downloads/themes **Démo :** https://getgrav.org/downloads/themes
## Captures d'écran ## Captures d'écran
![](./doc/screenshots/grav.jpg) ![Capture d'écran de Grav](./doc/screenshots/grav.jpg)
## Avertissements / informations importantes ## Avertissements / informations importantes
* Vous pouvez accéder au panneau d'adminstration à l'adresse `votredomaine.tld/votrechemin/admin`. Les utilisateurs créés dans YunoHost peuvent se connecter, à condition de leur avoir octroyé la permission adéquate: * Vous pouvez accéder au panneau d'adminstration à l'adresse `votredomaine.tld/votrechemin/admin`. Les utilisateurs créés dans YunoHost peuvent se connecter, à condition de leur avoir octroyé la permission adéquate:
* `grav.admin` pour qu'ils soient administrateur de Grav ; * `grav.admin` pour qu'ils soient administrateur de Grav ;
* `grav.user` pour qu'ils puissent se connecter, mais sans droit étendu. * `grav.user` pour qu'ils puissent se connecter, mais sans droit étendu.
* Grav dispose d'une interface par ligne de commande. Référez-vous à sa documentation, mais sachez que vous devrez préciser la version de PHP utilisée par l'app: * Grav offre un accès par SSH ou SFTP, activable dans le panneau de configuration de l'application dans l'administration de YunoHost.
* Allez dans le répertoire de Grav: `cd /var/www/grav` (ou `grav__2`, etc. si vous avez de multiples instances) * Vous pouvez ainsi utiliser sa ligne de commande GPM.
* `php7.3 bin/grav ...` ou `php7.3 bin/gpm ...` Référez-vous à sa documentation, mais sachez que vous devrez préciser la version de PHP utilisée par l'app:
`php7.3 bin/grav ...` ou `php7.3 bin/gpm ...`
* Vous pouvez installer les extensions soit via le panneau d'administration, soit via GPM. * Vous pouvez installer les extensions soit via le panneau d'administration, soit via GPM.
* Si vous installez Grav à la racin d'un domaine, sachez que les chemins d'accès commançant par `/yunohost` sont réservés. * Si vous installez Grav à la racin d'un domaine, sachez que les chemins d'accès commançant par `/yunohost` sont réservés.
## Documentations et ressources ## Documentations et ressources
* Site officiel de l'app : https://www.getgrav.org/ * Site officiel de l'app : <https://www.getgrav.org/>
* Documentation officielle de l'admin : https://learn.getgrav.org * Documentation officielle de l'admin : <https://learn.getgrav.org>
* Dépôt de code officiel de l'app : https://github.com/getgrav/grav * Dépôt de code officiel de l'app : <https://github.com/getgrav/grav>
* Documentation YunoHost pour cette app : https://yunohost.org/app_grav * Documentation YunoHost pour cette app : <https://yunohost.org/app_grav>
* Signaler un bug : https://github.com/YunoHost-Apps/grav_ynh/issues * Signaler un bug : <https://github.com/YunoHost-Apps/grav_ynh/issues>
## Informations pour les développeurs ## Informations pour les développeurs
Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/grav_ynh/tree/testing). Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/grav_ynh/tree/testing).
Pour essayer la branche testing, procédez comme suit. Pour essayer la branche testing, procédez comme suit.
```
``` bash
sudo yunohost app install https://github.com/YunoHost-Apps/grav_ynh/tree/testing --debug sudo yunohost app install https://github.com/YunoHost-Apps/grav_ynh/tree/testing --debug
ou ou
sudo yunohost app upgrade grav -u https://github.com/YunoHost-Apps/grav_ynh/tree/testing --debug sudo yunohost app upgrade grav -u https://github.com/YunoHost-Apps/grav_ynh/tree/testing --debug
``` ```
**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps **Plus d'infos sur le packaging d'applications :** <https://yunohost.org/packaging_apps>

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/getgrav/grav/releases/download/1.7.33/grav-update-v1.7.33.zip SOURCE_URL=https://github.com/getgrav/grav/releases/download/1.7.34/grav-update-v1.7.34.zip
SOURCE_SUM=b4cdcc6d6d9a3efa0c4b12b2a4b26e49fe47a963d8896a80bdaf3cf166e4ac7b SOURCE_SUM=9859ca81899a95bf4a88abe660fa6160458e63c8fb25aa3ac85abdda4973d494
SOURCE_SUM_PRG=sha256sum SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true SOURCE_IN_SUBDIR=true

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/getgrav/grav/releases/download/1.7.33/grav-admin-v1.7.33.zip SOURCE_URL=https://github.com/getgrav/grav/releases/download/1.7.34/grav-admin-v1.7.34.zip
SOURCE_SUM=a8a04858689ce6a214c92cd62a22855f67dee069f034cc341802f29a7de03d75 SOURCE_SUM=2513b25074419dfdee2ce5d042df0576b6d83797e8341e761af919942473a42d
SOURCE_SUM_PRG=sha256sum SOURCE_SUM_PRG=sha256sum
SOURCE_FORMAT=zip SOURCE_FORMAT=zip
SOURCE_IN_SUBDIR=true SOURCE_IN_SUBDIR=true

19
config_panel.toml Normal file
View file

@ -0,0 +1,19 @@
version = "1.0"
[main]
name = "Grav configuration"
[main.sftp]
name = "SSH and SFTP access"
[main.sftp.with_sftp]
ask = "Do you need an SSH and SFTP access?"
type = "boolean"
default = false
[main.sftp.password]
ask = "Set a password for the SSH and SFTP access"
type = "password"
optional = true
visible = "with_sftp"
help = "If a password already exists, leave blank and it will not be replaced."

View file

@ -1,8 +1,9 @@
* You can access the administration panel at `yourdomain.tld/path/admin`. Users created within YunoHost can log in, provided their were given the appropriate permissions: * You can access the administration panel at `yourdomain.tld/path/admin`. Users created within YunoHost can log in, provided their were given the appropriate permissions:
* To make users administrators, give them the `grav.admin` permission. * To make users administrators, give them the `grav.admin` permission.
* To allow users to log in, without extended rights, give them the `grav.user` permission. * To allow users to log in, without extended rights, give them the `grav.user` permission.
* Grav provides a command line interface. Refer to its documentation, but you will need to specifically call for the PHP version currently used for the app: * Grav offers an SSH or SFTP access, which can be enabled in its YunoHost admin configuration panel.
* Go to your app's directory: `cd /var/www/grav` (or `grav__2`, etc. if you have multiple ones) * You can thus use its GPM command line binary.
* `php7.3 bin/grav ...` or `php7.3 bin/gpm ...` Refer to is documentation, but bear in mind you need to call it by specifying the PHP version used by the app:
`php7.3 bin/grav ...` or `php7.3 bin/gpm ...`
* You can install plugins through the admin panel, or through the GPM. * You can install plugins through the admin panel, or through the GPM.
* If installing Grav at the root of a domain, bear in mind that paths starting by `/yunohost` are reserved. * If installing Grav at the root of a domain, bear in mind that paths starting by `/yunohost` are reserved.

View file

@ -1,8 +1,9 @@
* Vous pouvez accéder au panneau d'adminstration à l'adresse `votredomaine.tld/votrechemin/admin`. Les utilisateurs créés dans YunoHost peuvent se connecter, à condition de leur avoir octroyé la permission adéquate: * Vous pouvez accéder au panneau d'adminstration à l'adresse `votredomaine.tld/votrechemin/admin`. Les utilisateurs créés dans YunoHost peuvent se connecter, à condition de leur avoir octroyé la permission adéquate:
* `grav.admin` pour qu'ils soient administrateur de Grav ; * `grav.admin` pour qu'ils soient administrateur de Grav ;
* `grav.user` pour qu'ils puissent se connecter, mais sans droit étendu. * `grav.user` pour qu'ils puissent se connecter, mais sans droit étendu.
* Grav dispose d'une interface par ligne de commande. Référez-vous à sa documentation, mais sachez que vous devrez préciser la version de PHP utilisée par l'app: * Grav offre un accès par SSH ou SFTP, activable dans le panneau de configuration de l'application dans l'administration de YunoHost.
* Allez dans le répertoire de Grav: `cd /var/www/grav` (ou `grav__2`, etc. si vous avez de multiples instances) * Vous pouvez ainsi utiliser sa ligne de commande GPM.
* `php7.3 bin/grav ...` ou `php7.3 bin/gpm ...` Référez-vous à sa documentation, mais sachez que vous devrez préciser la version de PHP utilisée par l'app:
`php7.3 bin/grav ...` ou `php7.3 bin/gpm ...`
* Vous pouvez installer les extensions soit via le panneau d'administration, soit via GPM. * Vous pouvez installer les extensions soit via le panneau d'administration, soit via GPM.
* Si vous installez Grav à la racin d'un domaine, sachez que les chemins d'accès commançant par `/yunohost` sont réservés. * Si vous installez Grav à la racin d'un domaine, sachez que les chemins d'accès commançant par `/yunohost` sont réservés.

View file

@ -6,7 +6,7 @@
"en": "A modern open source flat-file CMS", "en": "A modern open source flat-file CMS",
"fr": "Un CMS moderne basé sur des fichiers plats" "fr": "Un CMS moderne basé sur des fichiers plats"
}, },
"version": "1.7.33~ynh1", "version": "1.7.34~ynh1",
"url": "https://www.getgrav.org/", "url": "https://www.getgrav.org/",
"upstream": { "upstream": {
"license": "MIT", "license": "MIT",

View file

@ -13,3 +13,38 @@ pkg_dependencies="php${YNH_PHP_VERSION}-zip php${YNH_PHP_VERSION}-mbstring php${
#================================================= #=================================================
# EXPERIMENTAL HELPERS # EXPERIMENTAL HELPERS
#================================================= #=================================================
ynh_system_user_add_group() {
# Declare an array to define the options of this helper.
local legacy_args=uhs
local -A args_array=([u]=username= [g]=groups=)
local username
local groups
# Manage arguments with getopts
ynh_handle_getopts_args "$@"
groups="${groups:-}"
local group
for group in $groups; do
usermod -a -G "$group" "$username"
done
}
ynh_system_user_del_group() {
# Declare an array to define the options of this helper.
local legacy_args=uhs
local -A args_array=([u]=username= [g]=groups=)
local username
local groups
# Manage arguments with getopts
ynh_handle_getopts_args "$@"
groups="${groups:-}"
local group
for group in $groups; do
gpasswd -d "$username" "$group"
done
}

72
scripts/config Normal file
View file

@ -0,0 +1,72 @@
#!/bin/bash
#=================================================
# GENERIC STARTING
#=================================================
# IMPORT GENERIC HELPERS
#=================================================
source _common.sh
source /usr/share/yunohost/helpers
ynh_abort_if_errors
#=================================================
# RETRIEVE ARGUMENTS
#=================================================
final_path=$(ynh_app_setting_get $app final_path)
#=================================================
# SPECIFIC GETTERS FOR TOML SHORT KEY
#=================================================
#=================================================
# SPECIFIC VALIDATORS FOR TOML SHORT KEYS
#=================================================
#=================================================
# SPECIFIC SETTERS FOR TOML SHORT KEYS
#=================================================
set__password() {
if [ "$password" == "" ]
then
ynh_app_setting_set --app=$app --key=password --value="$password"
fi
}
#=================================================
# GENERIC FINALIZATION
#=================================================
ynh_app_config_validate() {
_ynh_app_config_validate
if [ "${changed[with_sftp]}" == "true" ] && [ $with_sftp -eq 1 ] && [ "$password" == "" ]
then
ynh_die --message="You need to set a password to enable SSH and SFTP"
fi
}
ynh_app_config_apply() {
_ynh_app_config_apply
if [ "${changed[with_sftp]}" == "true" ] && [ $with_sftp -eq 1 ]
then
ynh_system_user_add_group --username=$app --groups="sftp.app ssh.app"
usermod --shell /bin/bash $app
if [ ! "$password" == "" ]
then
chpasswd <<< "${app}:${password}"
fi
elif [ "${changed[with_sftp]}" == "true" ] && [ $with_sftp -eq 0 ]
then
ynh_system_user_del_group --username=$app --groups="sftp.app ssh.app"
usermod --shel /usr/sbin/nologin $app
fi
}
ynh_app_config_run $1

View file

@ -48,6 +48,8 @@ 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=admin --value=$admin ynh_app_setting_set --app=$app --key=admin --value=$admin
ynh_app_setting_set --app=$app --key=language --value=$language ynh_app_setting_set --app=$app --key=language --value=$language
ynh_app_setting_set --app=$app --key=with_sftp --value="false"
ynh_app_setting_set --app=$app --key=password --value=$(ynh_string_random)
#================================================= #=================================================
# INSTALL DEPENDENCIES # INSTALL DEPENDENCIES

View file

@ -25,6 +25,9 @@ language=$(ynh_app_setting_get --app=$app --key=language)
fpm_footprint=$(ynh_app_setting_get --app=$app --key=fpm_footprint) fpm_footprint=$(ynh_app_setting_get --app=$app --key=fpm_footprint)
fpm_usage=$(ynh_app_setting_get --app=$app --key=fpm_usage) fpm_usage=$(ynh_app_setting_get --app=$app --key=fpm_usage)
with_sftp=$(ynh_app_setting_get --app=$app --key=with_sftp)
password=$(ynh_app_setting_get --app=$app --key=password)
#================================================= #=================================================
# CHECK VERSION # CHECK VERSION
#================================================= #=================================================
@ -79,6 +82,12 @@ if [ -z "$fpm_usage" ]; then
ynh_app_setting_set --app=$app --key=fpm_usage --value=$fpm_usage ynh_app_setting_set --app=$app --key=fpm_usage --value=$fpm_usage
fi fi
# If with_sftp or password don't exist, create them
if [ -z "$with_sftp" ] || [ -z "$password" ]; then
ynh_app_setting_set --app=$app --key=with_sftp --value="false"
ynh_app_setting_set --app=$app --key=password --value=$(ynh_string_random)
fi
#================================================= #=================================================
# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP
#================================================= #=================================================