diff --git a/README.md b/README.md index 22c949b..4f588fd 100755 --- a/README.md +++ b/README.md @@ -1,17 +1,17 @@ # Castopod for YunoHost [![Integration level](https://dash.yunohost.org/integration/castopod.svg)](https://dash.yunohost.org/appci/app/castopod) ![](https://ci-apps.yunohost.org/ci/badges/castopod.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/castopod.maintain.svg) -[![Install castopod with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=castopod) +[![Install Castopod with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=castopod) *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install castopod quickly and simply on a YunoHost server. +> *This package allows you to install Castopod 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 Castopod Server is an open-source hosting platform made for podcasters who want engage and interact with their audience. Please note that Castopod is still under heavy development: it may not be 100% stable and some features are still being developed. -**Shipped version:** 1.0.0 alpha.31 +**Shipped version:** 1.0.0 alpha.38 ## Screenshots @@ -45,7 +45,7 @@ Castopod Server is an open-source hosting platform made for podcasters who want ## Limitations -* Any known limitations. +* :warning: Installation possible only on a root domain or subdomain. ## Additional information diff --git a/README_fr.md b/README_fr.md index ea86f58..8d6d741 100755 --- a/README_fr.md +++ b/README_fr.md @@ -11,7 +11,7 @@ Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install ## Vue d'ensemble Castopod Server est une plate-forme d'hébergement open source conçue pour les podcasteurs qui souhaitent s'engager et interagir avec leur public. Veuillez noter que Castopod est toujours en développement: il n'est peut-être pas stable à 100% et certaines fonctionnalités sont encore en développement. -**Version incluse :** 1.0.0 alpha.31 +**Version incluse :** 1.0.0 alpha.38 ## Captures d'écran @@ -45,7 +45,7 @@ Castopod Server est une plate-forme d'hébergement open source conçue pour les ## Limitations -* Limitations connues. +* :warning: Installation possible uniquement sur un domaine racine ou sous-domaine. ## Informations additionnelles diff --git a/check_process b/check_process index a8e6ef9..ca3dd77 100755 --- a/check_process +++ b/check_process @@ -10,20 +10,21 @@ is_public=1 (PUBLIC|public=1|private=0) ; Checks pkg_linter=1 - setup_sub_dir=1 + setup_sub_dir=0 setup_root=1 setup_nourl=0 setup_private=1 setup_public=1 upgrade=1 + upgrade=1 from_commit=d511db842c4f1c3c6043ab9293d7f4eddcd9c379 backup_restore=1 multi_instance=1 port_already_use=0 - change_url=0 + change_url=1 ;;; Options Email= Notification=none ;;; Upgrade options - ; commit=CommitHash + ; commit=d511db842c4f1c3c6043ab9293d7f4eddcd9c379 name=Name and date of the commit. manifest_arg=domain=DOMAIN&path=PATH&is_public=1& diff --git a/conf/.env.example b/conf/.env.example index 46cdad2..9b8ee6c 100644 --- a/conf/.env.example +++ b/conf/.env.example @@ -11,16 +11,16 @@ #-------------------------------------------------------------------- # Instance configuration -app.baseURL="__DOMAIN__" -app.mediaBaseURL="__DOMAIN__" +app.baseURL="https://__DOMAIN__" +app.mediaBaseURL="https://__DOMAIN__" app.adminGateway="cp-admin" app.authGateway="cp-auth" # Database configuration database.default.hostname="localhost" -database.default.database="__DBNAME__" -database.default.username="__DBNAME__" -database.default.password="__DBPWD__" +database.default.database="__DB_NAME__" +database.default.username="__DB_NAME__" +database.default.password="__DB_PWD__" database.default.DBPrefix="cp_" # Cache configuration (advanced) diff --git a/conf/app.src b/conf/app.src index 73bd4fe..85fa925 100755 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://code.podlibre.org/podlibre/castopod/uploads/cdf2017e96987c41e0a982aa40f0d1da/castopod-1.0.0-alpha.31.zip -SOURCE_SUM=288c3a8391b739190df4b29d169b1ea76aafbe642fac0ee126af15ff654ed13d +SOURCE_URL=https://code.podlibre.org/podlibre/castopod/uploads/a3bf84c330fb9dd89477a9bbcfb0157d/castopod-1.0.0-alpha.38.zip +SOURCE_SUM=50828c4889f4722985c8776fd036403f9b15f4255ec7675dd7e1120d6754031e SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=zip SOURCE_IN_SUBDIR=true diff --git a/manifest.json b/manifest.json index e8bd332..88b4d18 100755 --- a/manifest.json +++ b/manifest.json @@ -6,15 +6,15 @@ "en": "Hosting platform made for podcasters", "fr": "Plateforme d'hébergement conçue pour les podcasteurs" }, - "version": "1.0.0~ynh1", + "version": "1.0.0-38~ynh1", "url": "https://podlibre.org/", "license": "GPL-3.0-only", "maintainer": { - "name": "", + "name": "eric_G", "email": "" }, "requirements": { - "yunohost": ">= 3.8.1" + "yunohost": ">= 4.0.0" }, "multi_instance": true, "services": [ @@ -31,17 +31,11 @@ "en": "Choose a domain name for Castopod", "fr": "Choisissez un nom de domaine pour Castopod" }, - "example": "example.com" - }, - { - "name": "path", - "type": "path", - "ask": { - "en": "Choose a path for Castopod", - "fr": "Choisissez un chemin pour Castopod" - }, - "example": "/", - "default": "/" + "help": { + "en": "Castopod needs to be installed in a dedicated domain or sub-domain.", + "fr": "Castopod doit être installé dans un domaine ou sous-domaine dédié." + }, + "example": "podcast.example.com" }, { "name": "is_public", diff --git a/pull_request_template.md b/pull_request_template.md index 0ec7457..6c28fc5 100755 --- a/pull_request_template.md +++ b/pull_request_template.md @@ -13,6 +13,4 @@ ## Package_check results --- -*If you have access to [App Continuous Integration for packagers](https://yunohost.org/#/packaging_apps_ci) you can provide a link to the package_check results like below, replacing '-NUM-' in this link by the PR number and USERNAME by your username on the ci-apps-dev. Or you provide a screenshot or a pastebin of the results* - -[![Build Status](https://ci-apps-dev.yunohost.org/jenkins/job/castopod_ynh%20PR-NUM-%20(USERNAME)/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/castopod_ynh%20PR-NUM-%20(USERNAME)/) +* An automatic package_check will be launch at https://ci-apps-dev.yunohost.org/, when you add a specific comment to your Pull Request: "!testme", "!gogogadgetoci" or "By the power of systemd, I invoke The Great App CI to test this Pull Request!"* diff --git a/scripts/install b/scripts/install index 51b6589..76265bc 100755 --- a/scripts/install +++ b/scripts/install @@ -44,7 +44,6 @@ ynh_script_progression --message="Storing installation settings..." --weight=1 ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path --value=$path_url -ynh_app_setting_set --app=$app --key=is_public --value=$is_public #================================================= # CREATE A MYSQL DATABASE @@ -97,17 +96,7 @@ phpversion=$(ynh_app_setting_get --app=$app --key=phpversion) #================================================= ynh_script_progression --message="Configuring Castopod..." --weight=1 -cp ../conf/.env.example "$final_path/.env" - -# Change variables in Castopod configuration -ynh_replace_string --match_string="__DBNAME__" --replace_string="$db_name" --target_file="$final_path/.env" -ynh_replace_string --match_string="__DBPWD__" --replace_string="$db_pwd" --target_file="$final_path/.env" -ynh_replace_string --match_string="__DOMAIN__" --replace_string="https://$domain" --target_file="$final_path/.env" -ynh_replace_string --match_string="__DOMAINPATH__" --replace_string="https://$domain$path_url" --target_file="$final_path/.env" - -#================================================= -# STORE THE CONFIG FILE CHECKSUM -#================================================= +ynh_add_config --template="../conf/.env.example" --destination="$final_path/.env" # Recalculate and store the config file checksum into the app settings ynh_store_file_checksum --file="$final_path/.env" @@ -125,12 +114,12 @@ chmod -R 755 $final_path #================================================= # SETUP SSOWAT #================================================= -ynh_script_progression --message="Configuring SSOwat..." --weight=10 +ynh_script_progression --message="Configuring permissions..." --weight=10 # Make app public if necessary or protect it if [ $is_public -eq 1 ] then - ynh_permission_update --permission "main" --add "visitors" + ynh_permission_update --permission="main" --add="visitors" fi #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 2e47736..2444e21 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -18,7 +18,6 @@ app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) -is_public=$(ynh_app_setting_get --app=$app --key=is_public) final_path=$(ynh_app_setting_get --app=$app --key=final_path) db_name=$(ynh_app_setting_get --app=$app --key=db_name) @@ -45,6 +44,13 @@ if [ -z "$final_path" ]; then ynh_app_setting_set --app=$app --key=final_path --value=$final_path fi +# Cleaning legacy permissions +if ynh_legacy_permissions_exists; then + ynh_legacy_permissions_delete_all + + ynh_app_setting_delete --app=$app --key=is_public +fi + #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #=================================================