From e61c6db2c857b2bbe75355ae952e25f0f00c515a Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 13 Jun 2021 09:42:58 +0200 Subject: [PATCH 1/9] Cleaning up --- check_process | 7 +++---- manifest.json | 2 +- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/check_process b/check_process index 7970cbc..4109f55 100644 --- a/check_process +++ b/check_process @@ -1,9 +1,8 @@ ;; Test complet - auto_remove=1 ; Manifest - domain="domain.tld" (DOMAIN) - path="/path" (PATH) - is_public="Yes" (PUBLIC|public=Yes|private=No) + domain="domain.tld" + path="/path" + is_public=1 ; Checks pkg_linter=1 setup_sub_dir=1 diff --git a/manifest.json b/manifest.json index e66e73e..664a7bd 100644 --- a/manifest.json +++ b/manifest.json @@ -14,7 +14,7 @@ "email": "" }, "requirements": { - "yunohost": ">= 4.1.7" + "yunohost": ">= 4.2.0" }, "multi_instance": true, "services": [ From 33798801b332e137ed2562f9a3e6fb2e833bbacd Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 13 Jun 2021 11:52:15 +0200 Subject: [PATCH 2/9] Revert "Cleaning up" This reverts commit e61c6db2c857b2bbe75355ae952e25f0f00c515a. --- check_process | 7 ++++--- manifest.json | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/check_process b/check_process index 4109f55..7970cbc 100644 --- a/check_process +++ b/check_process @@ -1,8 +1,9 @@ ;; Test complet + auto_remove=1 ; Manifest - domain="domain.tld" - path="/path" - is_public=1 + domain="domain.tld" (DOMAIN) + path="/path" (PATH) + is_public="Yes" (PUBLIC|public=Yes|private=No) ; Checks pkg_linter=1 setup_sub_dir=1 diff --git a/manifest.json b/manifest.json index 664a7bd..e66e73e 100644 --- a/manifest.json +++ b/manifest.json @@ -14,7 +14,7 @@ "email": "" }, "requirements": { - "yunohost": ">= 4.2.0" + "yunohost": ">= 4.1.7" }, "multi_instance": true, "services": [ From c253a238d18ee8a2a589cc8ee3bcfec5aac2e14e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=89ric=20Gaspar?= <46165813+ericgaspar@users.noreply.github.com> Date: Sat, 14 Aug 2021 14:06:45 +0200 Subject: [PATCH 3/9] Testing (#19) * Auto-update README --- .github/ISSUE_TEMPLATE.md | 55 +++++++++++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 16 +++++++++ README.md | 43 +++++++++++----------- README_fr.md | 40 ++++++++++----------- check_process | 6 ++-- doc/screenshots/Screenshot-243.jpg | Bin 0 -> 29745 bytes manifest.json | 6 ++++ 7 files changed, 120 insertions(+), 46 deletions(-) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 doc/screenshots/Screenshot-243.jpg diff --git a/.github/ISSUE_TEMPLATE.md b/.github/ISSUE_TEMPLATE.md new file mode 100644 index 0000000..2729a6b --- /dev/null +++ b/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,55 @@ +--- +name: Bug report +about: When creating a bug report, please use the following template to provide all the relevant information and help debugging efficiently. + +--- + +**How to post a meaningful bug report** +1. *Read this whole template first.* +2. *Determine if you are on the right place:* + - *If you were performing an action on the app from the webadmin or the CLI (install, update, backup, restore, change_url...), you are on the right place!* + - *Otherwise, the issue may be due to the app itself. Refer to its documentation or repository for help.* + - *When in doubt, post here and we will figure it out together.* +3. *Delete the italic comments as you write over them below, and remove this guide.* +--- + +### Describe the bug + +*A clear and concise description of what the bug is.* + +### Context + +- Hardware: *VPS bought online / Old laptop or computer / Raspberry Pi at home / Internet Cube with VPN / Other ARM board / ...* +- YunoHost version: x.x.x +- I have access to my server: *Through SSH | through the webadmin | direct access via keyboard / screen | ...* +- Are you in a special context or did you perform some particular tweaking on your YunoHost instance?: *no / yes* + - If yes, please explain: +- Using, or trying to install package version/branch: +- If upgrading, current package version: *can be found in the admin, or with `yunohost app info $app_id`* + +### Steps to reproduce + +- *If you performed a command from the CLI, the command itself is enough. For example:* + ```sh + sudo yunohost app install the_app + ``` +- *If you used the webadmin, please perform the equivalent command from the CLI first.* +- *If the error occurs in your browser, explain what you did:* + 1. *Go to '...'* + 2. *Click on '...'* + 3. *Scroll down to '...'* + 4. *See error* + +### Expected behavior + +*A clear and concise description of what you expected to happen. You can remove this section if the command above is enough to understand your intent.* + +### Logs + +*When an operation fails, YunoHost provides a simple way to share the logs.* +- *In the webadmin, the error message contains a link to the relevant log page. On that page, you will be able to 'Share with Yunopaste'. If you missed it, the logs of previous operations are also available under Tools > Logs.* +- *In command line, the command to share the logs is displayed at the end of the operation and looks like `yunohost log display [log name] --share`. If you missed it, you can find the log ID of a previous operation using `yunohost log list`.* + +*After sharing the log, please copypaste directly the link provided by YunoHost (to help readability, no need to copypaste the entire content of the log here, just the link is enough...)* + +*If applicable and useful, add screenshots to help explain your problem.* diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..ef70e18 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,16 @@ +## Problem + +- *Description of why you made this PR* + +## Solution + +- *And how do you fix that problem* + +## PR Status + +- [ ] Code finished and ready to be reviewed/tested +- [ ] The fix/enhancement were manually tested (if applicable) + +## Automatic tests + +Automatic tests can be triggered on https://ci-apps-dev.yunohost.org/ *after creating the PR*, by commenting "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!". (N.B. : for this to work you need to be a member of the Yunohost-Apps organization) diff --git a/README.md b/README.md index 55f81aa..58f6007 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ + + # 243 for YunoHost [![Integration level](https://dash.yunohost.org/integration/243.svg)](https://dash.yunohost.org/appci/app/243) ![](https://ci-apps.yunohost.org/ci/badges/243.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/243.maintain.svg) @@ -5,37 +10,31 @@ *[Lire ce readme en français.](./README_fr.md)* -> *This package allow you to install 243 quickly and simply on a YunoHost server. -If you don’t have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* +> *This package allows you to install 243 quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview -Clone of 2048 game. You need to reach 243. +2048 game clone + +**Shipped version:** 1.0~ynh5 + +**Demo:** https://hgentry.github.io/81/ ## Screenshots -![](Screenshot-243.jpg) +![](./doc/screenshots/Screenshot-243.jpg) -## Demo +## Documentation and resources -* [Official demo](https://hgentry.github.io/81/) +* Official app website: https://github.com/hgentry/81/ +* Upstream app code repository: https://github.com/hgentry/81 +* YunoHost documentation for this app: https://yunohost.org/app_243 +* Report a bug: https://github.com/YunoHost-Apps/243_ynh/issues -#### Supported architectures +## Developer info -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/243.svg)](https://ci-apps.yunohost.org/ci/apps/243/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/243.svg)](https://ci-apps-arm.yunohost.org/ci/apps/243/) - -## Links - - * Report a bug: https://github.com/YunoHost-Apps/243_ynh/issues - * Upstream app repository: https://github.com/hgentry/81 - * YunoHost website: https://yunohost.org/ - ---- - -## Developers info - -Please do your pull request to the [testing branch](https://github.com/YunoHost-Apps/243_ynh/tree/testing). +Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/243_ynh/tree/testing). To try the testing branch, please proceed like that. ``` @@ -43,3 +42,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/243_ynh/tree/testing or sudo yunohost app upgrade 243 -u https://github.com/YunoHost-Apps/243_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index 76aa641..1ac3e45 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,38 +1,32 @@ # 243 pour YunoHost -[![Integration level](https://dash.yunohost.org/integration/243.svg)](https://dash.yunohost.org/appci/app/243) ![](https://ci-apps.yunohost.org/ci/badges/243.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/243.maintain.svg) +[![Niveau d'intégration](https://dash.yunohost.org/integration/243.svg)](https://dash.yunohost.org/appci/app/243) ![](https://ci-apps.yunohost.org/ci/badges/243.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/243.maintain.svg) [![Installer 243 avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=243) -*[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 243 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.* +> *Ce package vous permet d'installer 243 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.* -## Vue d’ensemble +## Vue d'ensemble -Clone du jeu 2048. Il vous faut atteindre 243. +Clone du jeu 2048 -## Captures d’écran +**Version incluse :** 1.0~ynh5 -![](Screenshot-243.jpg) +**Démo :** https://hgentry.github.io/81/ -## Démo +## Captures d'écran -* [Démo officielle](https://hgentry.github.io/81/) +![](./doc/screenshots/Screenshot-243.jpg) -#### Architectures supportées +## Documentations et ressources -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/243.svg)](https://ci-apps.yunohost.org/ci/apps/243/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/243.svg)](https://ci-apps-arm.yunohost.org/ci/apps/243/) - - -## Liens - - * Signaler un bug : https://github.com/YunoHost-Apps/243_ynh/issues - * Dépôt de l’application principale : https://github.com/hgentry/81 - * Site web YunoHost : https://yunohost.org/ - ---- +* Site officiel de l'app : https://github.com/hgentry/81/ +* Dépôt de code officiel de l'app : https://github.com/hgentry/81 +* Documentation YunoHost pour cette app : https://yunohost.org/app_243 +* Signaler un bug : https://github.com/YunoHost-Apps/243_ynh/issues ## Informations pour les développeurs @@ -44,3 +38,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/243_ynh/tree/testing ou sudo yunohost app upgrade 243 -u https://github.com/YunoHost-Apps/243_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/check_process b/check_process index 7970cbc..320dec3 100644 --- a/check_process +++ b/check_process @@ -1,9 +1,9 @@ ;; Test complet auto_remove=1 ; Manifest - domain="domain.tld" (DOMAIN) - path="/path" (PATH) - is_public="Yes" (PUBLIC|public=Yes|private=No) + domain="domain.tld" + path="/path" + is_public="Yes" ; Checks pkg_linter=1 setup_sub_dir=1 diff --git a/doc/screenshots/Screenshot-243.jpg b/doc/screenshots/Screenshot-243.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6db32acd610caaab849605b5e29162417308da32 GIT binary patch literal 29745 zcmeFZbyQtVwlBKTKyVK(8x8IbAy^0&g1c|r-2()-K+ugPI2(6|;0{4H?i$?PF8R8@ zGy2}s_jI4WeaCy_jaU3ZtyOcanrp7Ps%HJ>ulCc-(+U9dy_Ad;00ssCfO-A{Jk0|> z1K?m`k^brO^0y>1GBOep3ffB~wC6e!3>-W>A_C$|M8ubv&yASRCy|g|{vr6g_K(Zc z4*(VtEC40|4h9PVivlOtz`+6#&`?m| zVPRkq;eLz5!DAsHVpFoez#-t^6jO3=jE$=pL&C$S;`*rU^tEanSH;lC+5dZG`@||R zAghD>ZM^vLD{2~5<7%G3py!(sJ@@w90@Tl5Xfp4=;j2r{T<2pK@<^ZU0&)Q+ZVF5$| z4{tOQL;tZ+{x3=py!mTsg#G6VI;3A#;|h)0IE}AUhV(u5)I%bh|LAEF%67T6E5Q;O z!%zV@w~9t6D#1QvBz-JqRS7H?f6AlUK`!7XB^tyj6PF=1P%pl%@T>PY&w@j_Z&n@2 zduQ?0BknNmdk^B*s~G8m+2kE5IsJ-2Qyt2)d}rfpWv,eO%MBF=}AelI~^X@tH; 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

s*A_n)a{s0uvBLMke!Q2BVHpzou7 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 Date: Fri, 29 Jul 2022 22:01:32 +0200 Subject: [PATCH 4/9] Apply example_ynh --- Screenshot-243.jpg | Bin 29745 -> 0 bytes check_process | 10 +++++++--- conf/app.src | 3 ++- conf/nginx.conf | 4 ++-- doc/DESCRIPTION.md | 1 + doc/DESCRIPTION_fr.md | 1 + doc/DISCLAIMER.md | 0 doc/DISCLAIMER_fr.md | 0 manifest.json | 10 +++++----- scripts/_common.sh | 20 ++++++++++++++++++++ scripts/backup | 3 +++ scripts/change_url | 7 ++++--- scripts/install | 34 +++++++++++++++++++++------------- scripts/remove | 13 ++++++++++++- scripts/restore | 28 +++++++++++++++++++--------- scripts/upgrade | 42 ++++++++++++++++++++++-------------------- 16 files changed, 119 insertions(+), 57 deletions(-) delete mode 100644 Screenshot-243.jpg create mode 100644 doc/DESCRIPTION.md create mode 100644 doc/DESCRIPTION_fr.md create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/DISCLAIMER_fr.md create mode 100644 scripts/_common.sh diff --git a/Screenshot-243.jpg b/Screenshot-243.jpg deleted file mode 100644 index 6db32acd610caaab849605b5e29162417308da32..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29745 zcmeFZbyQtVwlBKTKyVK(8x8IbAy^0&g1c|r-2()-K+ugPI2(6|;0{4H?i$?PF8R8@ zGy2}s_jI4WeaCy_jaU3ZtyOcanrp7Ps%HJ>ulCc-(+U9dy_Ad;00ssCfO-A{Jk0|> z1K?m`k^brO^0y>1GBOep3ffB~wC6e!3>-W>A_C$|M8ubv&yASRCy|g|{vr6g_K(Zc z4*(VtEC40|4h9PVivlOtz`+6#&`?m| zVPRkq;eLz5!DAsHVpFoez#-t^6jO3=jE$=pL&C$S;`*rU^tEanSH;lC+5dZG`@||R zAghD>ZM^vLD{2~5<7%G3py!(sJ@@w90@Tl5Xfp4=;j2r{T<2pK@<^ZU0&)Q+ZVF5$| z4{tOQL;tZ+{x3=py!mTsg#G6VI;3A#;|h)0IE}AUhV(u5)I%bh|LAEF%67T6E5Q;O z!%zV@w~9t6D#1QvBz-JqRS7H?f6AlUK`!7XB^tyj6PF=1P%pl%@T>PY&w@j_Z&n@2 zduQ?0BknNmdk^B*s~G8m+2kE5IsJ-2Qyt2)d}rfpWv,eO%MBF=}AelI~^X@tH; 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

s*A_n)a{s0uvBLMke!Q2BVHpzou7 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 Date: Fri, 29 Jul 2022 20:01:36 +0000 Subject: [PATCH 5/9] Auto-update README --- README.md | 20 +++++++++++--------- README_fr.md | 26 ++++++++++++++++---------- 2 files changed, 27 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 58f6007..0418f2e 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ It shall NOT be edited by hand. # 243 for YunoHost -[![Integration level](https://dash.yunohost.org/integration/243.svg)](https://dash.yunohost.org/appci/app/243) ![](https://ci-apps.yunohost.org/ci/badges/243.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/243.maintain.svg) +[![Integration level](https://dash.yunohost.org/integration/243.svg)](https://dash.yunohost.org/appci/app/243) ![Working status](https://ci-apps.yunohost.org/ci/badges/243.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/243.maintain.svg) [![Install 243 with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=243) *[Lire ce readme en français.](./README_fr.md)* @@ -17,30 +17,32 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in 2048 game clone -**Shipped version:** 1.0~ynh5 + +**Shipped version:** 1.0~ynh6 **Demo:** https://hgentry.github.io/81/ ## Screenshots -![](./doc/screenshots/Screenshot-243.jpg) +![Screenshot of 243](./doc/screenshots/Screenshot-243.jpg) ## Documentation and resources -* Official app website: https://github.com/hgentry/81/ -* Upstream app code repository: https://github.com/hgentry/81 -* YunoHost documentation for this app: https://yunohost.org/app_243 -* Report a bug: https://github.com/YunoHost-Apps/243_ynh/issues +* Official app website: +* Upstream app code repository: +* YunoHost documentation for this app: +* Report a bug: ## Developer info Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/243_ynh/tree/testing). To try the testing branch, please proceed like that. -``` + +``` bash sudo yunohost app install https://github.com/YunoHost-Apps/243_ynh/tree/testing --debug or sudo yunohost app upgrade 243 -u https://github.com/YunoHost-Apps/243_ynh/tree/testing --debug ``` -**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file +**More info regarding app packaging:** diff --git a/README_fr.md b/README_fr.md index 1ac3e45..cd95455 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,10 +1,14 @@ + + # 243 pour YunoHost -[![Niveau d'intégration](https://dash.yunohost.org/integration/243.svg)](https://dash.yunohost.org/appci/app/243) ![](https://ci-apps.yunohost.org/ci/badges/243.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/243.maintain.svg) +[![Niveau d'intégration](https://dash.yunohost.org/integration/243.svg)](https://dash.yunohost.org/appci/app/243) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/243.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/243.maintain.svg) [![Installer 243 avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=243) *[Read this readme in english.](./README.md)* -*[Lire ce readme en français.](./README_fr.md)* > *Ce package vous permet d'installer 243 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.* @@ -13,30 +17,32 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Clone du jeu 2048 -**Version incluse :** 1.0~ynh5 + +**Version incluse :** 1.0~ynh6 **Démo :** https://hgentry.github.io/81/ ## Captures d'écran -![](./doc/screenshots/Screenshot-243.jpg) +![Capture d'écran de 243](./doc/screenshots/Screenshot-243.jpg) ## Documentations et ressources -* Site officiel de l'app : https://github.com/hgentry/81/ -* Dépôt de code officiel de l'app : https://github.com/hgentry/81 -* Documentation YunoHost pour cette app : https://yunohost.org/app_243 -* Signaler un bug : https://github.com/YunoHost-Apps/243_ynh/issues +* Site officiel de l'app : +* Dépôt de code officiel de l'app : +* Documentation YunoHost pour cette app : +* Signaler un bug : ## Informations pour les développeurs Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/243_ynh/tree/testing). Pour essayer la branche testing, procédez comme suit. -``` + +``` bash sudo yunohost app install https://github.com/YunoHost-Apps/243_ynh/tree/testing --debug ou sudo yunohost app upgrade 243 -u https://github.com/YunoHost-Apps/243_ynh/tree/testing --debug ``` -**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file +**Plus d'infos sur le packaging d'applications :** From b0841315c2645df757b8c4d2043a8141617073e5 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sat, 30 Jul 2022 01:21:23 +0200 Subject: [PATCH 6/9] Update install --- scripts/install | 1 + 1 file changed, 1 insertion(+) diff --git a/scripts/install b/scripts/install index f234580..779f9fd 100755 --- a/scripts/install +++ b/scripts/install @@ -13,6 +13,7 @@ source /usr/share/yunohost/helpers # MANAGE SCRIPT FAILURE #================================================= +# Exit if an error occurs during the execution of the script ynh_abort_if_errors #================================================= From ff035cf60d4abb9a3e1fe716349fd1fd8ecf48de Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sat, 30 Jul 2022 13:59:07 +0200 Subject: [PATCH 7/9] fix user --- scripts/install | 4 ++-- scripts/remove | 2 +- scripts/restore | 3 +-- scripts/upgrade | 2 +- 4 files changed, 5 insertions(+), 6 deletions(-) diff --git a/scripts/install b/scripts/install index 779f9fd..845fe5c 100755 --- a/scripts/install +++ b/scripts/install @@ -53,7 +53,7 @@ ynh_app_setting_set --app=$app --key=path --value=$path_url ynh_script_progression --message="Configuring system user..." # Create a system user -ynh_system_user_create --username=$app --home_dir="$final_path" +ynh_system_user_create --username=ynh_$app --home_dir="$final_path" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -66,7 +66,7 @@ ynh_setup_source --dest_dir="$final_path" chmod 750 "$final_path" chmod -R o-rwx "$final_path" -chown -R $app:www-data "$final_path" +chown -R ynh_$app:www-data "$final_path" #================================================= # NGINX CONFIGURATION diff --git a/scripts/remove b/scripts/remove index 7afcdd1..e86b35a 100755 --- a/scripts/remove +++ b/scripts/remove @@ -45,7 +45,7 @@ ynh_remove_nginx_config ynh_script_progression --message="Removing the dedicated system user..." # Delete a system user -ynh_system_user_delete --username=$app +ynh_system_user_delete --username=ynh_$app #================================================= # END OF SCRIPT diff --git a/scripts/restore b/scripts/restore index 2f04dc4..d48b366 100644 --- a/scripts/restore +++ b/scripts/restore @@ -55,8 +55,7 @@ ynh_restore_file --origin_path="$final_path" chmod 750 "$final_path" chmod -R o-rwx "$final_path" -chown -R $app:www-data "$final_path" - +chown -R ynh_$app:www-data "$final_path" #================================================= # RESTORE THE NGINX CONFIGURATION diff --git a/scripts/upgrade b/scripts/upgrade index 467de75..1c53880 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -74,7 +74,7 @@ fi chmod 750 "$final_path" chmod -R o-rwx "$final_path" -chown -R $app:www-data "$final_path" +chown -R ynh_$app:www-data "$final_path" #================================================= # NGINX CONFIGURATION From c0d36f052b14fb79bd16ca9b9f76c1e6be8ad37d Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sun, 31 Jul 2022 03:06:56 +0200 Subject: [PATCH 8/9] Update restore --- scripts/restore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/restore b/scripts/restore index d48b366..e19eaee 100644 --- a/scripts/restore +++ b/scripts/restore @@ -44,7 +44,7 @@ test ! -d $final_path \ ynh_script_progression --message="Recreating the dedicated system user..." # Create the dedicated user (if not existing) -ynh_system_user_create --username=$app --home_dir="$final_path" +ynh_system_user_create --username=ynh_$app --home_dir="$final_path" #================================================= # RESTORE THE APP MAIN DIR From 41a056b9dd44cc0659818fd8732ec9c6b10bac20 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sun, 31 Jul 2022 14:37:18 +0200 Subject: [PATCH 9/9] Update upgrade --- scripts/upgrade | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/upgrade b/scripts/upgrade index 1c53880..50ffafc 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -60,6 +60,14 @@ if ynh_legacy_permissions_exists; then ynh_app_setting_delete --app=$app --key=is_public fi +#================================================= +# CREATE DEDICATED USER +#================================================= +ynh_script_progression --message="Making sure dedicated system user exists..." + +# Create a dedicated user (if not existing) +ynh_system_user_create --username=ynh_$app --home_dir="$final_path" + #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #=================================================