From c70dc6444897174b86d450b9a0714524f26d2af2 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Jul 2021 09:50:32 +0200 Subject: [PATCH 01/14] Update install --- scripts/install | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/install b/scripts/install index 0058f20..129c6d7 100755 --- a/scripts/install +++ b/scripts/install @@ -95,11 +95,13 @@ couchdb couchdb/adminpass_again password ${COUCHDB_PASSWORD} couchdb couchdb/adminpass_again seen true" | debconf-set-selections DEBIAN_FRONTEND=noninteractive # apt-get install -y --force-yes couchdb -apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8756C4F765C9AC3CB6B85D62379CE192D401AB61 +#apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8756C4F765C9AC3CB6B85D62379CE192D401AB61 -ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" +#ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" # ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" --key="https://apache.bintray.com/couchdb-deb/dists/buster/Release.gpg" +ynh_install_extra_app_dependencies --repo="https://apache.jfrog.io/artifactory/couchdb-deb/ buster main" --package="couchdb" --key="https://apache.jfrog.io/artifactory/couchdb-deb/dists/buster/Release.gpg" + #================================================= # ADD SOME CUSTOM CONFIGURATION TO COUCH #================================================= From e373c49d12752483b3c7a3583f66e54b96ffd833 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Jul 2021 09:52:00 +0200 Subject: [PATCH 02/14] Update remove --- scripts/remove | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/scripts/remove b/scripts/remove index 2665849..369c1f1 100755 --- a/scripts/remove +++ b/scripts/remove @@ -65,16 +65,6 @@ ynh_script_progression --message="Removing logrotate configuration..." --weight= # Remove the app-specific logrotate config ynh_remove_logrotate -#================================================= -# CLOSE A PORT -#================================================= - -if yunohost firewall list | grep -q "\- $port$" -then - ynh_script_progression --message="Closing port $port..." --weight=2 - ynh_exec_warn_less yunohost firewall disallow TCP $port -fi - #================================================= # REMOVE FAIL2BAN CONFIGURATION #================================================= From fc937c77e4e84d90fba8ce6736a05eacb0d9d202 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Jul 2021 09:55:19 +0200 Subject: [PATCH 03/14] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 129c6d7..5760bbb 100755 --- a/scripts/install +++ b/scripts/install @@ -95,7 +95,7 @@ couchdb couchdb/adminpass_again password ${COUCHDB_PASSWORD} couchdb couchdb/adminpass_again seen true" | debconf-set-selections DEBIAN_FRONTEND=noninteractive # apt-get install -y --force-yes couchdb -#apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8756C4F765C9AC3CB6B85D62379CE192D401AB61 +apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 390EF70BB1EA12B2773962950EE62FB37A00258D #ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" # ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" --key="https://apache.bintray.com/couchdb-deb/dists/buster/Release.gpg" From 3f5a1e6c6fe24aec1d713c38ca97b1ba08109955 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Jul 2021 09:55:28 +0200 Subject: [PATCH 04/14] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index 5760bbb..a35ca37 100755 --- a/scripts/install +++ b/scripts/install @@ -100,7 +100,7 @@ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 390EF70BB1EA12B27739629 #ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" # ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" --key="https://apache.bintray.com/couchdb-deb/dists/buster/Release.gpg" -ynh_install_extra_app_dependencies --repo="https://apache.jfrog.io/artifactory/couchdb-deb/ buster main" --package="couchdb" --key="https://apache.jfrog.io/artifactory/couchdb-deb/dists/buster/Release.gpg" +ynh_install_extra_app_dependencies --repo="https://apache.jfrog.io/artifactory/couchdb-deb/ buster main" --package="couchdb" #--key="https://apache.jfrog.io/artifactory/couchdb-deb/dists/buster/Release.gpg" #================================================= # ADD SOME CUSTOM CONFIGURATION TO COUCH From 809f0ea1161ab7fc582c34cb8e6b4c4052c5bc4b Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Jul 2021 10:07:58 +0200 Subject: [PATCH 05/14] Add templates --- doc/DISCLAIMER.md | 3 +++ doc/DISCLAIMER_fr.md | 3 +++ .../Apache_CouchDB_v2.1.1_Fauxton_Console.png | Bin 0 -> 111673 bytes manifest.json | 19 +++++++++++----- scripts/install | 7 ++---- scripts/restore | 6 ++--- scripts/upgrade | 21 ++---------------- 7 files changed, 25 insertions(+), 34 deletions(-) create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/DISCLAIMER_fr.md create mode 100644 doc/screenshots/Apache_CouchDB_v2.1.1_Fauxton_Console.png diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..21417fa --- /dev/null +++ b/doc/DISCLAIMER.md @@ -0,0 +1,3 @@ +## Configuration + +You can do most configuration of CouchDB from fauxton, the web interface, accessible at the domain you specified: https://domain.tld/_utils/index.html diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md new file mode 100644 index 0000000..116edf3 --- /dev/null +++ b/doc/DISCLAIMER_fr.md @@ -0,0 +1,3 @@ +## Configuration + +Vous pouvez effectuer la plupart des configurations de CouchDB à partir de fauxton, l'interface Web, accessible sur le domaine que vous avez spécifié : https://domain.tld/_utils/index.html diff --git a/doc/screenshots/Apache_CouchDB_v2.1.1_Fauxton_Console.png b/doc/screenshots/Apache_CouchDB_v2.1.1_Fauxton_Console.png new file mode 100644 index 0000000000000000000000000000000000000000..5440af3e0ce4c41efd7b13742d6a9a6c0cddf482 GIT binary patch literal 111673 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/dev/null -#ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" -# ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" --key="https://apache.bintray.com/couchdb-deb/dists/buster/Release.gpg" - -ynh_install_extra_app_dependencies --repo="https://apache.jfrog.io/artifactory/couchdb-deb/ buster main" --package="couchdb" #--key="https://apache.jfrog.io/artifactory/couchdb-deb/dists/buster/Release.gpg" +ynh_install_extra_app_dependencies --repo="https://apache.jfrog.io/artifactory/couchdb-deb/ buster main" --package="couchdb" #================================================= # ADD SOME CUSTOM CONFIGURATION TO COUCH diff --git a/scripts/restore b/scripts/restore index 850782a..55b864a 100755 --- a/scripts/restore +++ b/scripts/restore @@ -93,11 +93,9 @@ couchdb couchdb/adminpass_again password ${COUCHDB_PASSWORD} couchdb couchdb/adminpass_again seen true" | debconf-set-selections DEBIAN_FRONTEND=noninteractive # apt-get install -y --force-yes couchdb -apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8756C4F765C9AC3CB6B85D62379CE192D401AB61 +apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 390EF70BB1EA12B2773962950EE62FB37A00258D 2>/dev/null -# ynh_add_app_dependencies --package="ca-certificates" # done before, when installing dependencies -ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" -# ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" --key="https://apache.bintray.com/couchdb-deb/dists/buster/Release.gpg" +ynh_install_extra_app_dependencies --repo="https://apache.jfrog.io/artifactory/couchdb-deb/ buster main" --package="couchdb" chmod 750 "$final_path" chmod -R o-rwx "$final_path" diff --git a/scripts/upgrade b/scripts/upgrade index a3487bf..f379d9d 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -43,22 +43,6 @@ ynh_clean_setup () { # Exit if an error occurs during the execution of the script ynh_abort_if_errors -#================================================= -# STANDARD UPGRADE STEPS -#================================================= -# ENSURE DOWNWARD COMPATIBILITY -#================================================= -ynh_script_progression --message="Ensuring downward compatibility..." --weight=4 - -# Cleaning legacy permissions -if ynh_legacy_permissions_exists; then - ynh_legacy_permissions_delete_all - - ynh_app_setting_delete --app=$app --key=is_public -fi - -ynh_permission_url --permission="main" --url="/_utils/index.html" --add_url="/" --auth_header=false - #================================================= # NGINX CONFIGURATION #================================================= @@ -92,10 +76,9 @@ couchdb couchdb/adminpass_again password ${COUCHDB_PASSWORD} couchdb couchdb/adminpass_again seen true" | debconf-set-selections DEBIAN_FRONTEND=noninteractive # apt-get install -y --force-yes couchdb -apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8756C4F765C9AC3CB6B85D62379CE192D401AB61 +apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 390EF70BB1EA12B2773962950EE62FB37A00258D 2>/dev/null -ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" -# ynh_install_extra_app_dependencies --repo="https://apache.bintray.com/couchdb-deb buster main" --package="couchdb" --key="https://apache.bintray.com/couchdb-deb/dists/buster/Release.gpg" +ynh_install_extra_app_dependencies --repo="https://apache.jfrog.io/artifactory/couchdb-deb/ buster main" --package="couchdb" #================================================= # UPDATE A CONFIG FILE From a966c6b17b272092833dcab4f8503cb03d8d5d69 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Fri, 23 Jul 2021 08:08:07 +0000 Subject: [PATCH 06/14] Auto-update README --- README.md | 66 ++++++++++++++++++---------------------------------- README_fr.md | 61 +++++++++++++++--------------------------------- 2 files changed, 41 insertions(+), 86 deletions(-) diff --git a/README.md b/README.md index 186ed16..bc7d5ce 100644 --- a/README.md +++ b/README.md @@ -1,68 +1,44 @@ -# Couchdb for YunoHost + + +# CouchDB for YunoHost [![Integration level](https://dash.yunohost.org/integration/couchdb.svg)](https://dash.yunohost.org/appci/app/couchdb) ![](https://ci-apps.yunohost.org/ci/badges/couchdb.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/couchdb.maintain.svg) -[![Install couchdb with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=couchdb) +[![Install CouchDB with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=couchdb) *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install couchdb quickly and simply on a YunoHost server. +> *This package allows you to install CouchDB 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 -Couchdb is a database system, where entries are json objects (allowing attachments), and that you can access and synchronize via simple http requests. +An open-source document-oriented NoSQL database -As explained in wikipedia: -> Apache CouchDB is an open-source document-oriented NoSQL database, implemented in Erlang. +**Shipped version:** 3.1.1~ynh2 -And as described in the couchdb official website: -> Seamless multi-master sync, that scales from Big Data to Mobile, with an Intuitive HTTP/JSON API and designed for Reliability. - -**Shipped version:** 3.1.1 ## Screenshots -![](https://upload.wikimedia.org/wikipedia/commons/c/c5/Apache_CouchDB_v2.1.1_Fauxton_Console.png) +![](./doc/screenshots/Apache_CouchDB_v2.1.1_Fauxton_Console.png) +## Disclaimers / important information ## Configuration -You can do most configuration of couchdb from fauxton, the web interface, accessible at the domain you specified: https://domain.tld/_utils/index.html +You can do most configuration of CouchDB from fauxton, the web interface, accessible at the domain you specified: https://domain.tld/_utils/index.html +## Documentation and resources -## Documentation - - * Official documentation: https://docs.couchdb.org/en/stable/index.html - - -## YunoHost specific features - -#### Multi-user support - -Couchdb has it's own users management system, so LDAP is not supported. - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/couchdb%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/couchdb/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/couchdb%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/couchdb/) - - -## Limitations - -By default this package installs couchdb as single node, if you need a different setup, please contribute with pull requests to improve the package :) - - -## Links - - * Report a bug: https://github.com/YunoHost-Apps/couchdb_ynh/issues - * App website: Link to the official website of this app. - * Upstream app repository: Link to the official repository of the upstream app. - * YunoHost website: https://yunohost.org/ - ---- - +* Official app website: https://couchdb.apache.org/ +* Official user documentation: https://yunohost.org/apps +* Official admin documentation: https://docs.couchdb.org/en/stable/ +* Upstream app code repository: https://github.com/apache/couchdb +* YunoHost documentation for this app: https://yunohost.org/app_couchdb +* Report a bug: https://github.com/YunoHost-Apps/couchdb_ynh/issues ## Developer info @@ -74,3 +50,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/couchdb_ynh/tree/test or sudo yunohost app upgrade couchdb -u https://github.com/YunoHost-Apps/couchdb_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 741c42c..6cfb2f0 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,65 +1,40 @@ -# Couchdb pour YunoHost +# CouchDB pour YunoHost [![Niveau d'intégration](https://dash.yunohost.org/integration/couchdb.svg)](https://dash.yunohost.org/appci/app/couchdb) ![](https://ci-apps.yunohost.org/ci/badges/couchdb.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/couchdb.maintain.svg) -[![Installer couchdb avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=couchdb) +[![Installer CouchDB avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=couchdb) *[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -> *Ce package vous permet d'installer couchdb rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* +> *Ce package vous permet d'installer CouchDB 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 -Couchdb est un gestionnaire de bases de données dans lesquelles les entrées sont des documents jsons (avec possibilité de pièces jointes), qui peuvent être manipulées par de simples requêtes http. +Système de gestion de base de données orienté documents -Comme le présente wikipédia: -> Apache CouchDB est un système de gestion de base de données orienté documents, écrit en langage Erlang et distribué sous licence Apache. -> Conçu pour le Web, il fait partie de la mouvance NoSQL, et a été conçu pour pouvoir être réparti sur une grappe de serveurs. +**Version incluse :** 3.1.1~ynh2 -**Version incluse :** 3.1.1 ## Captures d'écran -![](https://upload.wikimedia.org/wikipedia/commons/c/c5/Apache_CouchDB_v2.1.1_Fauxton_Console.png) +![](./doc/screenshots/Apache_CouchDB_v2.1.1_Fauxton_Console.png) +## Avertissements / informations importantes ## Configuration -Couchdb peut-être configuré via fauxton, l'interface web accessible sur le domaine que vous avez spécifié: https://domain.tld/_utils/index.html +Vous pouvez effectuer la plupart des configurations de CouchDB à partir de fauxton, l'interface Web, accessible sur le domaine que vous avez spécifié : https://domain.tld/_utils/index.html +## Documentations et ressources -## Documentation - - * Documentation officielle : https://docs.couchdb.org/en/stable/index.html - - -## Caractéristiques spécifiques YunoHost - -#### Support multi-utilisateur - -Couchdb a sa propre gestion d'utilisateurs, donc LDAP n'est pas supporté. - -#### Architectures supportées - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/couchdb%20%28Apps%29.svg)](https://ci-apps.yunohost.org/ci/apps/couchdb/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/couchdb%20%28Apps%29.svg)](https://ci-apps-arm.yunohost.org/ci/apps/couchdb/) - - -## Limitations - -Par défaut, ce paquet install couchdb comme nœud simple. Si vous souhaitez permettre des installations plus avancées les contributions sont bienvenues :) - - -## Liens - - * Signaler un bug : https://github.com/YunoHost-Apps/couchdb_ynh/issues - * Site de l'application : Lien vers le site officiel de cette application. - * Dépôt de l'application principale : Lien vers le dépôt officiel de l'application principale. - * Site web YunoHost : https://yunohost.org/ - ---- - +* Site officiel de l'app : https://couchdb.apache.org/ +* Documentation officielle utilisateur : https://yunohost.org/apps +* Documentation officielle de l'admin : https://docs.couchdb.org/en/stable/ +* Dépôt de code officiel de l'app : https://github.com/apache/couchdb +* Documentation YunoHost pour cette app : https://yunohost.org/app_couchdb +* Signaler un bug : https://github.com/YunoHost-Apps/couchdb_ynh/issues ## Informations pour les développeurs @@ -71,3 +46,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/couchdb_ynh/tree/test ou sudo yunohost app upgrade couchdb -u https://github.com/YunoHost-Apps/couchdb_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file From 736d7fd17c12de572e173a3373018e8397521cc8 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Jul 2021 10:09:00 +0200 Subject: [PATCH 07/14] Update check_process --- check_process | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/check_process b/check_process index eef6d32..2129b4a 100644 --- a/check_process +++ b/check_process @@ -1,12 +1,9 @@ -# See here for more information -# https://github.com/YunoHost/package_check#syntax-check_process-file - ;; Test complet ; Manifest domain="domain.tld" path="/path" is_public=1 - password="pass" + password="strong-password" ; Checks pkg_linter=1 setup_sub_dir=1 @@ -17,7 +14,6 @@ upgrade=1 backup_restore=1 multi_instance=0 - port_already_use=0 change_url=1 ;;; Options Email=squeak@eauchat.org From 669c8520a71f6f0a6588be24d717e0d1d158a8e0 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Jul 2021 11:54:20 +0200 Subject: [PATCH 08/14] Fix --- manifest.json | 2 +- scripts/install | 6 +++--- scripts/remove | 1 - scripts/upgrade | 31 +++++++++++++++++-------------- 4 files changed, 21 insertions(+), 19 deletions(-) diff --git a/manifest.json b/manifest.json index e709731..335526f 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "id": "couchdb", "packaging_format": 1, "description": { - "en": "An open-source document-oriented NoSQL database", + "en": "Open-source document-oriented NoSQL database", "fr": "Système de gestion de base de données orienté documents" }, "version": "3.1.1~ynh2", diff --git a/scripts/install b/scripts/install index 143a6c4..d77fe6c 100755 --- a/scripts/install +++ b/scripts/install @@ -35,7 +35,7 @@ app=$YNH_APP_INSTANCE_NAME #================================================= ynh_script_progression --message="Validating installation parameters..." --weight=1 -final_path=/opt/couchdb +final_path=/opt/$app test ! -e "$final_path" || ynh_die --message="This path already contains a folder" # Register (book) web path @@ -82,7 +82,7 @@ ynh_add_nginx_config #================================================= # INSTALL COUCHDB #================================================= -ynh_script_progression --message="Installing couchdb..." --weight=60 +ynh_script_progression --message="Installing CouchDB..." --weight=60 COUCHDB_PASSWORD=$password echo "couchdb couchdb/mode select standalone @@ -102,7 +102,7 @@ ynh_install_extra_app_dependencies --repo="https://apache.jfrog.io/artifactory/c #================================================= # ADD SOME CUSTOM CONFIGURATION TO COUCH #================================================= -ynh_script_progression --message="Customizing couchdb config..." --weight=2 +ynh_script_progression --message="Customizing CouchDB config..." --weight=2 # customize a bit the couch config ynh_add_config --template="../conf/couch_ynh.ini" --destination="$final_path/etc/local.d/couch_ynh.ini" diff --git a/scripts/remove b/scripts/remove index 369c1f1..a488894 100755 --- a/scripts/remove +++ b/scripts/remove @@ -26,7 +26,6 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) # REMOVE SERVICE INTEGRATION IN YUNOHOST #================================================= -# Remove the service from the list of services known by YunoHost (added from `yunohost service add`) if ynh_exec_warn_less yunohost service status $app >/dev/null then ynh_script_progression --message="Removing $app service integration..." --weight=2 diff --git a/scripts/upgrade b/scripts/upgrade index f379d9d..896dfc3 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -25,7 +25,6 @@ password=$(ynh_app_setting_get --app=$app --key=password) #================================================= # CHECK VERSION #================================================= -ynh_script_progression --message="Checking version..." upgrade_type=$(ynh_check_app_version_changed) @@ -63,22 +62,26 @@ ynh_install_app_dependencies $pkg_dependencies #================================================= # UPGRADING COUCHDB #================================================= -ynh_script_progression --message="Upgrading couchdb..." --weight=60 -COUCHDB_PASSWORD=$password -echo "couchdb couchdb/mode select standalone -couchdb couchdb/mode seen true -couchdb couchdb/bindaddress string 127.0.0.1 -couchdb couchdb/bindaddress seen true -couchdb couchdb/adminpass password ${COUCHDB_PASSWORD} -couchdb couchdb/adminpass seen true -couchdb couchdb/adminpass_again password ${COUCHDB_PASSWORD} -couchdb couchdb/adminpass_again seen true" | debconf-set-selections -DEBIAN_FRONTEND=noninteractive # apt-get install -y --force-yes couchdb +if [ "$upgrade_type" == "UPGRADE_APP" ] +then + ynh_script_progression --message="Upgrading CouchDB..." --weight=50 -apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 390EF70BB1EA12B2773962950EE62FB37A00258D 2>/dev/null + COUCHDB_PASSWORD=$password + echo "couchdb couchdb/mode select standalone + couchdb couchdb/mode seen true + couchdb couchdb/bindaddress string 127.0.0.1 + couchdb couchdb/bindaddress seen true + couchdb couchdb/adminpass password ${COUCHDB_PASSWORD} + couchdb couchdb/adminpass seen true + couchdb couchdb/adminpass_again password ${COUCHDB_PASSWORD} + couchdb couchdb/adminpass_again seen true" | debconf-set-selections + DEBIAN_FRONTEND=noninteractive # apt-get install -y --force-yes couchdb -ynh_install_extra_app_dependencies --repo="https://apache.jfrog.io/artifactory/couchdb-deb/ buster main" --package="couchdb" + apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 390EF70BB1EA12B2773962950EE62FB37A00258D 2>/dev/null + + ynh_install_extra_app_dependencies --repo="https://apache.jfrog.io/artifactory/couchdb-deb/ buster main" --package="couchdb" +fi #================================================= # UPDATE A CONFIG FILE From 587b9bdba64cb4ed7e89e3b753e61e566a7a5ba0 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Fri, 23 Jul 2021 09:54:28 +0000 Subject: [PATCH 09/14] Auto-update README --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bc7d5ce..2eda23f 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in ## Overview -An open-source document-oriented NoSQL database +Open-source document-oriented NoSQL database **Shipped version:** 3.1.1~ynh2 From 007c79f16248c9724a38688b1a5170700a70fa2e Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Jul 2021 11:59:28 +0200 Subject: [PATCH 10/14] Fix link --- doc/DISCLAIMER.md | 2 +- doc/DISCLAIMER_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index 21417fa..3d835fd 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -1,3 +1,3 @@ ## Configuration -You can do most configuration of CouchDB from fauxton, the web interface, accessible at the domain you specified: https://domain.tld/_utils/index.html +You can do most configuration of CouchDB from fauxton, the web interface, accessible at the domain you specified: `https://domain.tld/_utils/index.html` diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index 116edf3..5470e72 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -1,3 +1,3 @@ ## Configuration -Vous pouvez effectuer la plupart des configurations de CouchDB à partir de fauxton, l'interface Web, accessible sur le domaine que vous avez spécifié : https://domain.tld/_utils/index.html +Vous pouvez effectuer la plupart des configurations de CouchDB à partir de fauxton, l'interface Web, accessible sur le domaine que vous avez spécifié : `https://domain.tld/_utils/index.html` From 454730a3ff766a1e17de1c19a37a0fce15953b95 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Fri, 23 Jul 2021 10:22:43 +0000 Subject: [PATCH 11/14] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2eda23f..ca8c9d7 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ Open-source document-oriented NoSQL database ## Configuration -You can do most configuration of CouchDB from fauxton, the web interface, accessible at the domain you specified: https://domain.tld/_utils/index.html +You can do most configuration of CouchDB from fauxton, the web interface, accessible at the domain you specified: `https://domain.tld/_utils/index.html` ## Documentation and resources diff --git a/README_fr.md b/README_fr.md index 6cfb2f0..8365b2d 100644 --- a/README_fr.md +++ b/README_fr.md @@ -25,7 +25,7 @@ Système de gestion de base de données orienté documents ## Configuration -Vous pouvez effectuer la plupart des configurations de CouchDB à partir de fauxton, l'interface Web, accessible sur le domaine que vous avez spécifié : https://domain.tld/_utils/index.html +Vous pouvez effectuer la plupart des configurations de CouchDB à partir de fauxton, l'interface Web, accessible sur le domaine que vous avez spécifié : `https://domain.tld/_utils/index.html` ## Documentations et ressources From e771cd1bdcaa925253f65cdbf3e93d9e4ee0125f Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Jul 2021 12:33:12 +0200 Subject: [PATCH 12/14] Update remove --- scripts/remove | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/remove b/scripts/remove index a488894..9e693c7 100755 --- a/scripts/remove +++ b/scripts/remove @@ -43,10 +43,10 @@ ynh_remove_app_dependencies #================================================= # REMOVE APP MAIN DIR #================================================= -ynh_script_progression --message="Removing app main directory..." --weight=4 +#ynh_script_progression --message="Removing app main directory..." --weight=4 # Remove the app directory securely -ynh_secure_remove --file="$final_path" +#ynh_secure_remove --file="$final_path" #================================================= # REMOVE NGINX CONFIGURATION From 1ace087c6b4eada0826f7640b42458c4b2db62b6 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Fri, 23 Jul 2021 12:41:52 +0200 Subject: [PATCH 13/14] Update remove --- scripts/remove | 8 -------- 1 file changed, 8 deletions(-) diff --git a/scripts/remove b/scripts/remove index 9e693c7..1a7e215 100755 --- a/scripts/remove +++ b/scripts/remove @@ -40,14 +40,6 @@ ynh_script_progression --message="Removing dependencies..." --weight=16 # Remove metapackage and its dependencies ynh_remove_app_dependencies -#================================================= -# REMOVE APP MAIN DIR -#================================================= -#ynh_script_progression --message="Removing app main directory..." --weight=4 - -# Remove the app directory securely -#ynh_secure_remove --file="$final_path" - #================================================= # REMOVE NGINX CONFIGURATION #================================================= From eefebbab01936214721a5b510015ddec273a0f46 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 24 Jul 2021 07:53:28 +0200 Subject: [PATCH 14/14] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index d77fe6c..35d3fae 100755 --- a/scripts/install +++ b/scripts/install @@ -35,7 +35,7 @@ app=$YNH_APP_INSTANCE_NAME #================================================= ynh_script_progression --message="Validating installation parameters..." --weight=1 -final_path=/opt/$app +final_path=/opt/couchdb test ! -e "$final_path" || ynh_die --message="This path already contains a folder" # Register (book) web path