From cf0f1b7560981c8ef83188ad5401b2fabe560621 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 15 May 2021 10:21:21 +0200 Subject: [PATCH 01/16] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index e66e73e..6580e70 100644 --- a/manifest.json +++ b/manifest.json @@ -14,7 +14,7 @@ "email": "" }, "requirements": { - "yunohost": ">= 4.1.7" + "yunohost": ">= 4.2.4" }, "multi_instance": true, "services": [ From 916ec4ecc1fa895a5787b61b63f43b0b1278bb05 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 15 May 2021 10:22:48 +0200 Subject: [PATCH 02/16] Add templates --- .github/ISSUE_TEMPLATE.md | 55 ++++++++++++++++++++++++++++++++ .github/PULL_REQUEST_TEMPLATE.md | 16 ++++++++++ 2 files changed, 71 insertions(+) create mode 100644 .github/ISSUE_TEMPLATE.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md 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) From d10364c45bb280fc0214d863e0f9f2733ae4a3e2 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 15 May 2021 10:23:15 +0200 Subject: [PATCH 03/16] Update check_process --- check_process | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 From ef490e644f6db20dd660ba758b2a8b300f7d32e2 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 15 May 2021 10:26:44 +0200 Subject: [PATCH 04/16] Fix --- doc/screenshots/Screenshot-243.jpg | Bin 0 -> 29745 bytes manifest.json | 6 ++++++ 2 files changed, 6 insertions(+) create mode 100644 doc/screenshots/Screenshot-243.jpg 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, 25 Jun 2021 06:38:29 +0000 Subject: [PATCH 05/16] Auto-update README --- README.md | 43 ++++++++++++++++++++++--------------------- README_fr.md | 40 ++++++++++++++++++---------------------- 2 files changed, 40 insertions(+), 43 deletions(-) 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 From 5e0c2a3e3c485cdf37d42e6beb7e6b1bf08efc76 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 13 Aug 2021 06:57:28 +0200 Subject: [PATCH 06/16] Update manifest.json --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index d6fbcba..9332716 100644 --- a/manifest.json +++ b/manifest.json @@ -20,7 +20,7 @@ "email": "" }, "requirements": { - "yunohost": ">= 4.2.4" + "yunohost": ">= 4.1.7" }, "multi_instance": true, "services": [ From 1d4f4178e81e53ac9524b1afbab30375e9c036a0 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Mon, 30 Aug 2021 11:25:05 +0200 Subject: [PATCH 07/16] Update restore --- scripts/restore | 2 -- 1 file changed, 2 deletions(-) diff --git a/scripts/restore b/scripts/restore index 0885e6d..5ee8cb1 100644 --- a/scripts/restore +++ b/scripts/restore @@ -30,8 +30,6 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) #================================================= ynh_script_progression --message="Validating restoration parameters..." --weight=1 -ynh_webpath_available --domain=$domain --path_url=$path_url \ - || ynh_die --message="Path not available: ${domain}${path_url}" test ! -d $final_path \ || ynh_die --message="There is already a directory: $final_path " From aab123bb955089bc8037a5f73e91576d584e6cfd Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Wed, 17 Nov 2021 15:34:38 +0100 Subject: [PATCH 08/16] 4.3 --- conf/nginx.conf | 5 ----- manifest.json | 2 +- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index 11cb4b2..4fff1f6 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -4,11 +4,6 @@ location __PATH__/ { # Path to source alias __FINALPATH__/ ; - # Force usage of https - if ($scheme = http) { - rewrite ^ https://$server_name$request_uri? permanent; - } - # Include SSOWAT user panel. include conf.d/yunohost_panel.conf.inc; } \ No newline at end of file diff --git a/manifest.json b/manifest.json index 9332716..8502294 100644 --- a/manifest.json +++ b/manifest.json @@ -20,7 +20,7 @@ "email": "" }, "requirements": { - "yunohost": ">= 4.1.7" + "yunohost": ">= 4.3.0" }, "multi_instance": true, "services": [ From c6e67fc0524f7b83ad9d372ef0932665221fa369 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 19 Nov 2021 16:11:53 +0100 Subject: [PATCH 09/16] Update manifest.json --- manifest.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manifest.json b/manifest.json index 8502294..03c5500 100644 --- a/manifest.json +++ b/manifest.json @@ -30,8 +30,7 @@ "install" : [ { "name": "domain", - "type": "domain", - "example": "domain.org" + "type": "domain" }, { "name": "path", From f3e59580bcd5195fa4bdb3fac170e77f90c24b88 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Fri, 29 Jul 2022 22:01:32 +0200 Subject: [PATCH 10/16] 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 11/16] 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 12/16] 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 13/16] 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 14/16] 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 15/16] 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 #================================================= From 65112c7d5e38a1d1ea02b5b47aa886b734abfdc1 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Mon, 15 Aug 2022 13:32:31 +0000 Subject: [PATCH 16/16] Auto-update README --- README.md | 1 + README_fr.md | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 0418f2e..6e28c82 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in **Shipped version:** 1.0~ynh6 + **Demo:** https://hgentry.github.io/81/ ## Screenshots diff --git a/README_fr.md b/README_fr.md index cd95455..ada650d 100644 --- a/README_fr.md +++ b/README_fr.md @@ -18,7 +18,8 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Clone du jeu 2048 -**Version incluse :** 1.0~ynh6 +**Version incluse :** 1.0~ynh6 + **Démo :** https://hgentry.github.io/81/