From b3b7d07d0cc2c5973af224d36ce00f1a06cd8d05 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Fri, 23 Sep 2022 23:16:42 +0200 Subject: [PATCH 1/3] Apply last example_ynh --- conf/app.src | 1 + conf/nginx.conf | 29 +- conf/systemd.service | 1 - doc/DESCRIPTION.md | 1 + doc/DISCLAIMER.md | 5 +- doc/screenshots/couchpotato_interface.png | Bin 0 -> 169103 bytes manifest.json | 7 +- scripts/_common.sh | 3 +- scripts/install | 50 ++-- scripts/remove | 38 +-- scripts/restore | 48 ++- scripts/upgrade | 60 ++-- scripts/ynh_install_python | 347 +++++++++++----------- 13 files changed, 294 insertions(+), 296 deletions(-) create mode 100644 doc/DESCRIPTION.md create mode 100644 doc/screenshots/couchpotato_interface.png diff --git a/conf/app.src b/conf/app.src index 854b162..338cdb0 100644 --- a/conf/app.src +++ b/conf/app.src @@ -4,3 +4,4 @@ SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.gz SOURCE_IN_SUBDIR=true SOURCE_FILENAME= +SOURCE_EXTRACT=true diff --git a/conf/nginx.conf b/conf/nginx.conf index 664df0e..ef38560 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,15 +1,16 @@ -location __PATH__ { - proxy_http_version 1.1; - proxy_pass_header Server; - proxy_pass http://127.0.0.1:__PORT__; - proxy_redirect off; - proxy_set_header Host $http_host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Scheme $scheme; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "upgrade"; - - # Include SSOWAT user panel. - include conf.d/yunohost_panel.conf.inc; - more_clear_input_headers 'Accept-Encoding'; +#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; +location __PATH__/ { + proxy_http_version 1.1; + proxy_pass_header Server; + proxy_pass http://127.0.0.1:__PORT__; + proxy_redirect off; + proxy_set_header Host $http_host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Scheme $scheme; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + + # Include SSOWAT user panel. + include conf.d/yunohost_panel.conf.inc; + more_clear_input_headers 'Accept-Encoding'; } diff --git a/conf/systemd.service b/conf/systemd.service index dfa9826..046166d 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -9,6 +9,5 @@ Group=__APP__ WorkingDirectory=__FINALPATH__/ ExecStart=/opt/pyenv/versions/__PYTHON_VERSION__/bin/python __FINALPATH__/CouchPotato.py --quiet --pid_file=/var/run/__APP__/__APP__.pid --data_dir=__DATADIR__ --config_file=__DATADIR__/settings.conf - [Install] WantedBy=multi-user.target diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md new file mode 100644 index 0000000..567beda --- /dev/null +++ b/doc/DESCRIPTION.md @@ -0,0 +1 @@ +Download movies automatically, easily and in the best quality as soon as they are available. diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index ad18dd4..70a00b2 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -1,3 +1,2 @@ -* Other infos that people should be aware of, such as: - * Integrates automatically with [transmission_ynh](https://github.com/YunoHost-Apps/transmission_ynh) (or tries to...), - * Integrates [YunoHost multimedia](https://github.com/YunoHost-Apps/yunohost.multimedia) folder structure +* Integrates automatically with [transmission_ynh](https://github.com/YunoHost-Apps/transmission_ynh) (or tries to...), +* Integrates [YunoHost multimedia](https://github.com/YunoHost-Apps/yunohost.multimedia) folder structure diff --git a/doc/screenshots/couchpotato_interface.png b/doc/screenshots/couchpotato_interface.png new file mode 100644 index 0000000000000000000000000000000000000000..9f2faee75554a71b4c6ff6bad123c385866769b7 GIT binary patch literal 169103 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%0DT+X}p_n!C!p|rES{-Lg9@b>h04`J>u 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 V2}yL)cUAxZ002ovPDHLkV1jWYm?QuI literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json index 39c88c6..94ca0c8 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Automatic movie downloader", "fr": "Téléchargement automatisé de film" }, - "version": "3.0.1~ynh3", + "version": "3.0.1~ynh4", "url": "https://couchpota.to/", "upstream": { "license": "GPL-3.0-only", @@ -27,11 +27,10 @@ "nginx" ], "arguments": { - "install" : [ + "install": [ { "name": "domain", - "type": "domain", - "example": "example.com" + "type": "domain" }, { "name": "path", diff --git a/scripts/_common.sh b/scripts/_common.sh index c0faaa3..39f163c 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -4,9 +4,8 @@ # COMMON VARIABLES #================================================= -# dependencies used by the app +# dependencies used by the app (must be on a single line) pkg_dependencies="" -#python-pip python-virtualenv python-dev uwsgi uwsgi-plugin-python python_version=2.7.18 diff --git a/scripts/install b/scripts/install index 240217c..1b0b70a 100644 --- a/scripts/install +++ b/scripts/install @@ -32,7 +32,7 @@ app=$YNH_APP_INSTANCE_NAME #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= -ynh_script_progression --message="Validating installation parameters..." +ynh_script_progression --message="Validating installation parameters..." --weight=1 final_path=/opt/yunohost/$app test ! -e "$final_path" || ynh_die --message="This path already contains a folder" @@ -43,7 +43,7 @@ ynh_webpath_register --app=$app --domain=$domain --path_url=$path_url #================================================= # STORE SETTINGS FROM MANIFEST #================================================= -ynh_script_progression --message="Storing installation settings..." +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 @@ -53,7 +53,7 @@ ynh_app_setting_set --app=$app --key=path --value=$path_url #================================================= # FIND AND OPEN A PORT #================================================= -ynh_script_progression --message="Finding an available port..." +ynh_script_progression --message="Finding an available port..." --weight=1 # Find an available port port=$(ynh_find_port --port=5050) @@ -64,28 +64,29 @@ ynh_app_setting_set --app=$app --key=port --value=$port # If you do this and the app doesn't actually need you are CREATING SECURITY HOLES IN THE SERVER !) # Open the port -# ynh_script_progression --message="Configuring firewall..." +# ynh_script_progression --message="Configuring firewall..." --weight=1 # ynh_exec_warn_less yunohost firewall allow --no-upnp TCP $port #================================================= # INSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Installing dependencies..." +ynh_script_progression --message="Installing dependencies..." --weight=1 ynh_install_app_dependencies $pkg_dependencies +ynh_install_python --python_version=$python_version #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Configuring system user..." +ynh_script_progression --message="Configuring system user..." --weight=1 # Create a system user -ynh_system_user_create --username=$app --home_dir=$final_path +ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= -ynh_script_progression --message="Setting up source files..." +ynh_script_progression --message="Setting up source files..." --weight=1 ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Download, check integrity, uncompress and patch the source from app.src @@ -98,7 +99,7 @@ chown -R $app:$app "$final_path" #================================================= # NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Configuring NGINX web server..." +ynh_script_progression --message="Configuring NGINX web server..." --weight=1 # Create a dedicated NGINX config ynh_add_nginx_config @@ -108,7 +109,7 @@ ynh_add_nginx_config #================================================= # CREATE DATA DIRECTORY #================================================= -ynh_script_progression --message="Creating a data directory..." +ynh_script_progression --message="Creating a data directory..." --weight=1 datadir=/home/yunohost.app/$app ynh_app_setting_set --app=$app --key=datadir --value=$datadir @@ -122,20 +123,19 @@ chown -R $app:$app "$datadir" #================================================= # BUILD COUCHPOTATO #================================================= -ynh_script_progression --message="Building CouchPotato..." +ynh_script_progression --message="Building CouchPotato..." --weight=1 -ynh_install_python --python_version=$python_version ynh_use_python pushd $final_path - /opt/pyenv/versions/$python_version/bin/pip install --upgrade pyopenssl - /opt/pyenv/versions/$python_version/bin/pip install cheetah + ynh_pip install --upgrade pyopenssl + ynh_pip install cheetah popd #================================================= # INSTALL YUNOHOST MULTIMEDIA #================================================= -ynh_script_progression --message="Install YunoHost multimedia..." +ynh_script_progression --message="Install YunoHost multimedia..." --weight=1 # Creates the "Movies" subfolder in "Video" mkdir -p "$MEDIA_DIRECTORY/share/Video/Movies" @@ -148,7 +148,7 @@ ynh_multimedia_addaccess $app #================================================= # CONFIGURE TRANSMISSION #================================================= -ynh_script_progression --message="Configuring transmission..." +ynh_script_progression --message="Configuring transmission..." --weight=1 # Variable initialization rpc="" @@ -202,7 +202,7 @@ fi #================================================= # ADD A CONFIGURATION #================================================= -ynh_script_progression --message="Adding a configuration file..." +ynh_script_progression --message="Adding a configuration file..." --weight=1 ynh_add_config --template="../conf/couchpotato.conf" --destination="$datadir/settings.conf" @@ -212,7 +212,7 @@ chown $app:$app "$datadir/settings.conf" #================================================= # SETUP SYSTEMD #================================================= -ynh_script_progression --message="Configuring a systemd service..." +ynh_script_progression --message="Configuring a systemd service..." --weight=1 # Create a dedicated systemd config ynh_add_systemd_config @@ -220,7 +220,7 @@ ynh_add_systemd_config #================================================= # CONFIGURE LOGS #================================================= -ynh_script_progression --message="Configuring logs..." +ynh_script_progression --message="Configuring logs..." --weight=1 # Redirect logs directory app_logs_dir="/var/log/$app" @@ -234,7 +234,7 @@ ynh_replace_string --match_string="self.log_dir =.*" --replace_string="self.log_ #================================================= # SETUP LOGROTATE #================================================= -ynh_script_progression --message="Configuring log rotation..." +ynh_script_progression --message="Configuring log rotation..." --weight=1 # Use logrotate to manage application logfile(s) ynh_use_logrotate @@ -242,14 +242,14 @@ ynh_use_logrotate #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= -ynh_script_progression --message="Integrating service in YunoHost..." +ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 yunohost service add $app --description="CouchPotato Daemon" --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." +ynh_script_progression --message="Starting a systemd service..." --weight=1 # Start a systemd service ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" @@ -257,7 +257,7 @@ ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$ap #================================================= # SETUP SSOWAT #================================================= -ynh_script_progression --message="Configuring permissions..." +ynh_script_progression --message="Configuring permissions..." --weight=1 ynh_permission_update --permission="main" --add="visitors" @@ -269,7 +269,7 @@ ynh_permission_create --permission="api" --url="/api" --allowed="visitors" --sho #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." +ynh_script_progression --message="Reloading NGINX web server..." --weight=1 ynh_systemd_action --service_name=nginx --action=reload @@ -277,4 +277,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Installation of $app completed" +ynh_script_progression --message="Installation of $app completed" --last diff --git a/scripts/remove b/scripts/remove index 985b798..1583409 100644 --- a/scripts/remove +++ b/scripts/remove @@ -13,7 +13,7 @@ source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +ynh_script_progression --message="Loading installation settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME @@ -30,14 +30,14 @@ final_path=$(ynh_app_setting_get --app=$app --key=final_path) # 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..." + ynh_script_progression --message="Removing $app service integration..." --weight=1 yunohost service remove $app fi #================================================= # STOP AND REMOVE SERVICE #================================================= -ynh_script_progression --message="Stopping and removing the systemd service..." +ynh_script_progression --message="Stopping and removing the systemd service..." --weight=1 # Remove the dedicated systemd config ynh_remove_systemd_config @@ -45,24 +45,15 @@ ynh_remove_systemd_config #================================================= # REMOVE LOGROTATE CONFIGURATION #================================================= -ynh_script_progression --message="Removing logrotate configuration..." +ynh_script_progression --message="Removing logrotate configuration..." --weight=1 # Remove the app-specific logrotate config ynh_remove_logrotate -#================================================= -# REMOVE DEPENDENCIES -#================================================= -ynh_script_progression --message="Removing dependencies..." - -# Remove metapackage and its dependencies -ynh_remove_python -ynh_remove_app_dependencies - #================================================= # REMOVE APP MAIN DIR #================================================= -ynh_script_progression --message="Removing app main directory..." +ynh_script_progression --message="Removing app main directory..." --weight=1 # Remove the app directory securely ynh_secure_remove --file="$final_path" @@ -70,18 +61,27 @@ ynh_secure_remove --file="$final_path" #================================================= # REMOVE NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Removing NGINX web server configuration..." +ynh_script_progression --message="Removing NGINX web server configuration..." --weight=1 # Remove the dedicated NGINX config ynh_remove_nginx_config +#================================================= +# REMOVE DEPENDENCIES +#================================================= +ynh_script_progression --message="Removing dependencies..." --weight=1 + +# Remove metapackage and its dependencies +ynh_remove_python +ynh_remove_app_dependencies + #================================================= # CLOSE A PORT #================================================= if yunohost firewall list | grep -q "\- $port$" then - ynh_script_progression --message="Closing port $port..." + ynh_script_progression --message="Closing port $port..." --weight=1 ynh_exec_warn_less yunohost firewall disallow TCP $port fi @@ -90,7 +90,7 @@ fi #================================================= # REMOVE VARIOUS FILES #================================================= -ynh_script_progression --message="Removing various files..." +ynh_script_progression --message="Removing various files..." --weight=1 # Remove the log files ynh_secure_remove --file="/var/log/$app" @@ -100,7 +100,7 @@ ynh_secure_remove --file="/var/log/$app" #================================================= # REMOVE DEDICATED USER #================================================= -ynh_script_progression --message="Removing the dedicated system user..." +ynh_script_progression --message="Removing the dedicated system user..." --weight=1 # Delete a system user ynh_system_user_delete --username=$app @@ -109,4 +109,4 @@ ynh_system_user_delete --username=$app # END OF SCRIPT #================================================= -ynh_script_progression --message="Removal of $app completed" +ynh_script_progression --message="Removal of $app completed" --last diff --git a/scripts/restore b/scripts/restore index 0f75807..8d27ea6 100644 --- a/scripts/restore +++ b/scripts/restore @@ -24,7 +24,7 @@ ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +ynh_script_progression --message="Loading installation settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME @@ -36,26 +36,17 @@ datadir=$(ynh_app_setting_get --app=$app --key=datadir) #================================================= # CHECK IF THE APP CAN BE RESTORED #================================================= -ynh_script_progression --message="Validating restoration parameters..." +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 " #================================================= # STANDARD RESTORATION STEPS -#================================================= -# RESTORE THE NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Restoring the NGINX web server configuration..." - -ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" - #================================================= # RECREATE THE DEDICATED USER #================================================= -ynh_script_progression --message="Recreating the dedicated system user..." +ynh_script_progression --message="Recreating the dedicated system user..." --weight=1 # Create the dedicated user (if not existing) ynh_system_user_create --username=$app --home_dir=$final_path @@ -63,7 +54,7 @@ ynh_system_user_create --username=$app --home_dir=$final_path #================================================= # RESTORE THE APP MAIN DIR #================================================= -ynh_script_progression --message="Restoring the app main directory..." +ynh_script_progression --message="Restoring the app main directory..." --weight=1 ynh_restore_file --origin_path="$final_path" @@ -74,7 +65,7 @@ chown -R $app:$app "$final_path" #================================================= # RESTORE THE DATA DIRECTORY #================================================= -ynh_script_progression --message="Restoring the data directory..." +ynh_script_progression --message="Restoring the data directory..." --weight=1 ynh_restore_file --origin_path="$datadir" --not_mandatory @@ -89,17 +80,24 @@ chown -R $app:$app "$datadir" #================================================= # REINSTALL DEPENDENCIES #================================================= -ynh_script_progression --message="Reinstalling dependencies..." +ynh_script_progression --message="Reinstalling dependencies..." --weight=1 # Define and install dependencies ynh_install_app_dependencies $pkg_dependencies +ynh_install_python --python_version=$python_version + +#================================================= +# RESTORE THE NGINX CONFIGURATION +#================================================= +ynh_script_progression --message="Restoring the NGINX web server configuration..." --weight=1 + +ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" #================================================= # BUILD COUCHPOTATO #================================================= -ynh_script_progression --message="Building CouchPotato..." +ynh_script_progression --message="Building CouchPotato..." --weight=1 -ynh_install_python --python_version=$python_version ynh_use_python pushd $final_path @@ -110,7 +108,7 @@ popd #================================================= # INSTALL YUNOHOST MULTIMEDIA #================================================= -ynh_script_progression --message="Install YunoHost multimedia..." +ynh_script_progression --message="Install YunoHost multimedia..." --weight=1 # Creates the "Movies" subfolder in "Video" mkdir -p "$MEDIA_DIRECTORY/share/Video/Movies" @@ -123,7 +121,7 @@ ynh_multimedia_addaccess $app #================================================= # CONFIGURE LOGS #================================================= -ynh_script_progression --message="Configuring logs..." +ynh_script_progression --message="Configuring logs..." --weight=1 # Redirect logs directory app_logs_dir="/var/log/$app" @@ -135,7 +133,7 @@ ynh_replace_string --match_string="self.log_dir =.*" --replace_string="self.log_ #================================================= # RESTORE SYSTEMD #================================================= -ynh_script_progression --message="Restoring the systemd configuration..." +ynh_script_progression --message="Restoring the systemd configuration..." --weight=1 ynh_restore_file --origin_path="/etc/systemd/system/$app.service" systemctl enable $app.service --quiet @@ -143,21 +141,21 @@ systemctl enable $app.service --quiet #================================================= # RESTORE THE LOGROTATE CONFIGURATION #================================================= -ynh_script_progression --message="Restoring the logrotate configuration..." +ynh_script_progression --message="Restoring the logrotate configuration..." --weight=1 ynh_restore_file --origin_path="/etc/logrotate.d/$app" #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= -ynh_script_progression --message="Integrating service in YunoHost..." +ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 yunohost service add $app --description="CouchPotato Daemon" --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." +ynh_script_progression --message="Starting a systemd service..." --weight=1 ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" @@ -166,7 +164,7 @@ ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$ap #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." +ynh_script_progression --message="Reloading NGINX web server..." --weight=1 ynh_systemd_action --service_name=nginx --action=reload @@ -174,4 +172,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Restoration completed for $app" +ynh_script_progression --message="Restoration completed for $app" --last diff --git a/scripts/upgrade b/scripts/upgrade index cd1edd5..0fde945 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -13,7 +13,7 @@ source /usr/share/yunohost/helpers #================================================= # LOAD SETTINGS #================================================= -ynh_script_progression --message="Loading installation settings..." +ynh_script_progression --message="Loading installation settings..." --weight=1 app=$YNH_APP_INSTANCE_NAME @@ -26,14 +26,14 @@ datadir=$(ynh_app_setting_get --app=$app --key=datadir) #================================================= # CHECK VERSION #================================================= -ynh_script_progression --message="Checking version..." +ynh_script_progression --message="Checking version..." --weight=1 upgrade_type=$(ynh_check_app_version_changed) #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP #================================================= -ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." +ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." --weight=1 # Backup the current version of the app ynh_backup_before_upgrade @@ -49,14 +49,14 @@ ynh_abort_if_errors #================================================= # STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Stopping a systemd service..." +ynh_script_progression --message="Stopping a systemd service..." --weight=1 ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= -ynh_script_progression --message="Ensuring downward compatibility..." +ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 # If final_path doesn't exist, create it if [ -z "$final_path" ]; then @@ -96,10 +96,10 @@ fi #================================================= # CREATE DEDICATED USER #================================================= -ynh_script_progression --message="Making sure dedicated system user exists..." +ynh_script_progression --message="Making sure dedicated system user exists..." --weight=1 # Create a dedicated user (if not existing) -ynh_system_user_create --username=$app --home_dir=$final_path +ynh_system_user_create --username=$app --home_dir="$final_path" #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -107,7 +107,7 @@ ynh_system_user_create --username=$app --home_dir=$final_path if [ "$upgrade_type" == "UPGRADE_APP" ] then - ynh_script_progression --message="Upgrading source files..." + ynh_script_progression --message="Upgrading source files..." --weight=1 # Download, check integrity, uncompress and patch the source from app.src pushd "$final_path" @@ -119,40 +119,40 @@ chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app:$app "$final_path" +#================================================= +# UPGRADE DEPENDENCIES +#================================================= +ynh_script_progression --message="Upgrading dependencies..." --weight=1 + +ynh_install_app_dependencies $pkg_dependencies +ynh_install_python --python_version=$python_version + #================================================= # NGINX CONFIGURATION #================================================= -ynh_script_progression --message="Upgrading NGINX web server configuration..." +ynh_script_progression --message="Upgrading NGINX web server configuration..." --weight=1 # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# UPGRADE DEPENDENCIES -#================================================= -ynh_script_progression --message="Upgrading dependencies..." - -ynh_install_app_dependencies $pkg_dependencies - #================================================= # SPECIFIC UPGRADE #================================================= # BUILD COUCHPOTATO #================================================= -ynh_script_progression --message="Building CouchPotato..." +ynh_script_progression --message="Building CouchPotato..." --weight=1 -ynh_install_python --python_version=$python_version ynh_use_python pushd $final_path - /opt/pyenv/versions/$python_version/bin/pip install --upgrade pyopenssl - /opt/pyenv/versions/$python_version/bin/pip install cheetah + ynh_pip install --upgrade pyopenssl + ynh_pip install cheetah popd #================================================= # INSTALL YUNOHOST MULTIMEDIA #================================================= -ynh_script_progression --message="Install YunoHost multimedia..." +ynh_script_progression --message="Install YunoHost multimedia..." --weight=1 # Creates the "Movies" subfolder in "Video" mkdir -p "$MEDIA_DIRECTORY/share/Video/Movies" @@ -165,7 +165,7 @@ ynh_multimedia_addaccess $app #================================================= # CONFIGURE TRANSMISSION #================================================= -ynh_script_progression --message="Configuring transmission..." +ynh_script_progression --message="Configuring transmission..." --weight=1 # Variable initialization rpc="" @@ -219,7 +219,7 @@ fi #================================================= # UPDATE A CONFIG FILE #================================================= -ynh_script_progression --message="Updating a configuration file..." +ynh_script_progression --message="Updating a configuration file..." --weight=1 ynh_backup_if_checksum_is_different --file="$datadir/settings.conf" @@ -229,7 +229,7 @@ chown $app:$app "$datadir/settings.conf" #================================================= # CONFIGURE LOGS #================================================= -ynh_script_progression --message="Configuring logs..." +ynh_script_progression --message="Configuring logs..." --weight=1 # Redirect logs directory app_logs_dir="/var/log/$app" @@ -241,7 +241,7 @@ ynh_replace_string --match_string="self.log_dir =.*" --replace_string="self.log_ #================================================= # SETUP SYSTEMD #================================================= -ynh_script_progression --message="Upgrading systemd configuration..." +ynh_script_progression --message="Upgrading systemd configuration..." --weight=1 # Create a dedicated systemd config ynh_add_systemd_config @@ -251,7 +251,7 @@ ynh_add_systemd_config #================================================= # SETUP LOGROTATE #================================================= -ynh_script_progression --message="Upgrading logrotate configuration..." +ynh_script_progression --message="Upgrading logrotate configuration..." --weight=1 # Use logrotate to manage app-specific logfile(s) ynh_use_logrotate --non-append @@ -259,21 +259,21 @@ ynh_use_logrotate --non-append #================================================= # INTEGRATE SERVICE IN YUNOHOST #================================================= -ynh_script_progression --message="Integrating service in YunoHost..." +ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 yunohost service add $app --description="CouchPotato Daemon" --log="/var/log/$app/$app.log" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." +ynh_script_progression --message="Starting a systemd service..." --weight=1 ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" #================================================= # RELOAD NGINX #================================================= -ynh_script_progression --message="Reloading NGINX web server..." +ynh_script_progression --message="Reloading NGINX web server..." --weight=1 ynh_systemd_action --service_name=nginx --action=reload @@ -281,4 +281,4 @@ ynh_systemd_action --service_name=nginx --action=reload # END OF SCRIPT #================================================= -ynh_script_progression --message="Upgrade of $app completed" +ynh_script_progression --message="Upgrade of $app completed" --last diff --git a/scripts/ynh_install_python b/scripts/ynh_install_python index 5214393..02f3fe2 100644 --- a/scripts/ynh_install_python +++ b/scripts/ynh_install_python @@ -1,20 +1,21 @@ #!/bin/bash ynh_python_try_bash_extension() { - if [ -x src/configure ]; then - src/configure && make -C src || { - ynh_print_info --message="Optional bash extension failed to build, but things will still work normally." - } - fi + if [ -x src/configure ]; then + src/configure && make -C src || { + ynh_print_info --message="Optional bash extension failed to build, but things will still work normally." + } + fi } pyenv_install_dir="/opt/pyenv" python_version_path="$pyenv_install_dir/versions" # PYENV_ROOT is the directory of pyenv, it needs to be loaded as a environment variable. export PYENV_ROOT="$pyenv_install_dir" +export pyenv_root="$pyenv_install_dir" # Required dependencies -pyenv_dependencies="build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev|libedit-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python3-openssl git" +pyenv_dependencies="make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev git" # Load the version of Python for an app, and set variables. # @@ -30,57 +31,56 @@ pyenv_dependencies="build-essential libssl-dev zlib1g-dev libbz2-dev libreadline # Exemple: `ynh_exec_as $app $ynh_python_load_path $ynh_pip install` # # $PATH contains the path of the requested version of Python. -# However, $PATH is duplicated into $python_path to outlast any manipulation of $PATH +# However, $PATH is duplicated into $ynh_python_path to outlast any manipulation of $PATH # You can use the variable `$ynh_python_load_path` to quickly load your Python version -# in $PATH for an usage into a separate script. +# in $PATH for an usage into a separate script. # Exemple: $ynh_python_load_path $final_path/script_that_use_pip.sh` # # # Finally, to start a Python service with the correct version, 2 solutions -# Either the app is dependent of python or pip, but does not called it directly. -# In such situation, you need to load PATH -# `Environment="__YNH_PYTHON_LOAD_ENV_PATH__"` -# `ExecStart=__FINALPATH__/my_app` -# You will replace __YNH_PYTHON_LOAD_ENV_PATH__ with $ynh_python_load_path -# -# Or Python start the app directly, then you don't need to load the PATH variable -# `ExecStart=__YNH_PYTHON__ my_app run` -# You will replace __YNH_PYTHON__ with $ynh_python +# Either the app is dependent of python or pip, but does not called it directly. +# In such situation, you need to load PATH +# `Environment="__YNH_PYTHON_LOAD_PATH__"` +# `ExecStart=__FINALPATH__/my_app` +# You will replace __YNH_PYTHON_LOAD_PATH__ with $ynh_python_load_path # +# Or Python start the app directly, then you don't need to load the PATH variable +# `ExecStart=__YNH_PYTHON__ my_app run` +# You will replace __YNH_PYTHON__ with $ynh_python # # one other variable is also available -# - $python_path: The absolute path to Python binaries for the chosen version. +# - $ynh_python_path: The absolute path to Python binaries for the chosen version. # # usage: ynh_use_python # -# Requires YunoHost version 2.7.12 or higher. +# Requires YunoHost version 3.2.2 or higher. ynh_use_python () { - python_version=$(ynh_app_setting_get --app=$app --key=python_version) + python_version=$(ynh_app_setting_get --app=$app --key=python_version) - # Get the absolute path of this version of Python - python_path="$python_version_path/$YNH_APP_INSTANCE_NAME/bin" + # Get the absolute path of this version of Python + ynh_python_path="$python_version_path/$YNH_APP_INSTANCE_NAME/bin" - # Allow alias to be used into bash script - shopt -s expand_aliases + # Allow alias to be used into bash script + shopt -s expand_aliases - # Create an alias for the specific version of Python and a variable as fallback - ynh_python="$python_path/python" - alias ynh_python="$ynh_python" - # And pip - ynh_pip="$python_path/pip" - alias ynh_pip="$ynh_pip" + # Create an alias for the specific version of Python and a variable as fallback + ynh_python="$ynh_python_path/python" + alias ynh_python="$ynh_python" + # And pip + ynh_pip="$ynh_python_path/pip" + alias ynh_pip="$ynh_pip" - # Load the path of this version of Python in $PATH - if [[ :$PATH: != *":$python_path"* ]]; then - PATH="$python_path:$PATH" - fi - # Create an alias to easily load the PATH - ynh_python_load_path="PATH=$PATH" + # Load the path of this version of Python in $PATH + if [[ :$PATH: != *":$ynh_python_path"* ]]; then + PATH="$ynh_python_path:$PATH" + fi + # Create an alias to easily load the PATH + ynh_python_load_path="PATH=$PATH" - # Sets the local application-specific Python version - pushd $final_path - $pyenv_install_dir/bin/pyenv local $python_version - popd + # Sets the local application-specific Python version + pushd $final_path + $pyenv_install_dir/bin/pyenv local $python_version + popd } # Install a specific version of Python @@ -98,122 +98,123 @@ ynh_use_python () { # usage: ynh_install_python --python_version=python_version # | arg: -v, --python_version= - Version of Python to install. # -# Requires YunoHost version 2.7.12 or higher. +# Requires YunoHost version 3.2.2 or higher. ynh_install_python () { - # Declare an array to define the options of this helper. - local legacy_args=v - local -A args_array=( [v]=python_version= ) - local python_version - # Manage arguments with getopts - ynh_handle_getopts_args "$@" + # Declare an array to define the options of this helper. + local legacy_args=v + local -A args_array=( [v]=python_version= ) + local python_version + # Manage arguments with getopts + ynh_handle_getopts_args "$@" - # Install required dependencies - ynh_add_app_dependencies --package="$pyenv_dependencies" + # Install required dependencies + ynh_add_app_dependencies --package="$pyenv_dependencies" - # Load pyenv path in PATH - local CLEAR_PATH="$pyenv_install_dir/bin:$PATH" + # Load pyenv path in PATH + local CLEAR_PATH="$pyenv_install_dir/bin:$PATH" - # Remove /usr/local/bin in PATH in case of Python prior installation - PATH=$(echo $CLEAR_PATH | sed 's@/usr/local/bin:@@') + # Remove /usr/local/bin in PATH in case of Python prior installation + PATH=$(echo $CLEAR_PATH | sed 's@/usr/local/bin:@@') - # Move an existing Python binary, to avoid to block pyenv - #test -x /usr/bin/python && mv /usr/bin/python /usr/bin/python_pyenv + # Move an existing Python binary, to avoid to block pyenv + #test -x /usr/bin/python && mv /usr/bin/python /usr/bin/python_pyenv - # Install or update pyenv - pyenv="$(command -v pyenv $pyenv_install_dir/bin/pyenv | head -1)" - if [ -n "$pyenv" ]; then - ynh_print_info --message="pyenv already seems installed in \`$pyenv'." - pushd "${pyenv%/*/*}" - if git remote -v 2>/dev/null | grep "https://github.com/pyenv/pyenv.git"; then - echo "Trying to update with git..." - git pull -q --tags origin master - cd .. - ynh_python_try_bash_extension - fi - popd - else - ynh_print_info --message="Installing pyenv with git..." - mkdir -p $pyenv_install_dir - pushd $pyenv_install_dir - git init -q - git remote add -f -t master origin https://github.com/pyenv/pyenv.git > /dev/null 2>&1 - git checkout -q -b master origin/master - ynh_python_try_bash_extension - pyenv=$pyenv_install_dir/bin/pyenv - popd - fi + # Install or update pyenv + pyenv="$(command -v pyenv $pyenv_install_dir/bin/pyenv | head -1)" + if [ -n "$pyenv" ]; then + ynh_print_info --message="pyenv already seems installed in \`$pyenv'." + pushd "${pyenv%/*/*}" + if git remote -v 2>/dev/null | grep "https://github.com/pyenv/pyenv.git"; then + ynh_print_info --message="Trying to update with git..." + git pull -q --tags origin master + cd .. + ynh_python_try_bash_extension + fi + popd + else + ynh_print_info --message="Installing pyenv with git..." + mkdir -p $pyenv_install_dir + pushd $pyenv_install_dir + git init -q + git remote add -f -t master origin https://github.com/pyenv/pyenv.git > /dev/null 2>&1 + git checkout -q -b master origin/master + ynh_python_try_bash_extension + pyenv=$pyenv_install_dir/bin/pyenv + popd + fi - pyenv_virtualenv="$(command -v "$pyenv_install_dir"/plugins/*/bin/pyenv-virtualenv pyenv-virtualenv | head -1)" - if [ -n "$pyenv_virtualenv" ]; then - ynh_print_info --message="\`pyenv virtualenv' command already available in \`$pyenv_virtualenv'." - pushd "${pyenv_virtualenv%/*/*}" - if git remote -v 2>/dev/null | grep "https://github.com/pyenv/pyenv-virtualenv.git"; then - ynh_print_info --message="Trying to update pyenv-virtualenv with git..." - git pull -q origin master - fi - popd - else - ynh_print_info --message="Installing pyenv-virtualenv with git..." - mkdir -p "${pyenv_install_dir}/plugins" - git clone -q https://github.com/pyenv/pyenv-virtualenv.git "${pyenv_install_dir}/plugins/pyenv-virtualenv" - fi + pyenv_virtualenv="$(command -v "$pyenv_install_dir"/plugins/*/bin/pyenv-virtualenv pyenv-virtualenv | head -1)" + if [ -n "$pyenv_virtualenv" ]; then + ynh_print_info --message="\`pyenv virtualenv' command already available in \`$pyenv_virtualenv'." + pushd "${pyenv_virtualenv%/*/*}" + if git remote -v 2>/dev/null | grep "https://github.com/pyenv/pyenv-virtualenv.git"; then + ynh_print_info --message="Trying to update pyenv-virtualenv with git..." + git pull -q origin master + fi + popd + else + ynh_print_info --message="Installing pyenv-virtualenv with git..." + mkdir -p "${pyenv_install_dir}/plugins" + git clone -q https://github.com/pyenv/pyenv-virtualenv.git "${pyenv_install_dir}/plugins/pyenv-virtualenv" + fi - pyenv_latest="$(command -v "$pyenv_install_dir"/plugins/*/bin/pyenv-latest pyenv-latest | head -1)" - if [ -n "$pyenv_latest" ]; then - ynh_print_info --message="\`pyenv latest' command already available in \`$pyenv_latest'." - pushd "${pyenv_latest%/*/*}" - if git remote -v 2>/dev/null | grep "https://github.com/momo-lab/xxenv-latest.git"; then - ynh_print_info --message="Trying to update xxenv-latest with git..." - git pull -q origin master - fi - popd - else - ynh_print_info --message="Installing xxenv-latest with git..." - mkdir -p "${pyenv_install_dir}/plugins" - git clone -q https://github.com/momo-lab/xxenv-latest.git "${pyenv_install_dir}/plugins/xxenv-latest" - fi + pyenv_latest="$(command -v "$pyenv_install_dir"/plugins/*/bin/pyenv-latest pyenv-latest | head -1)" + if [ -n "$pyenv_latest" ]; then + ynh_print_info --message="\`pyenv latest' command already available in \`$pyenv_latest'." + pushd "${pyenv_latest%/*/*}" + if git remote -v 2>/dev/null | grep "https://github.com/momo-lab/xxenv-latest.git"; then + ynh_print_info --message="Trying to update xxenv-latest with git..." + git pull -q origin master + fi + popd + else + ynh_print_info --message="Installing xxenv-latest with git..." + mkdir -p "${pyenv_install_dir}/plugins" + git clone -q https://github.com/momo-lab/xxenv-latest.git "${pyenv_install_dir}/plugins/xxenv-latest" + fi - # Enable caching - mkdir -p "${pyenv_install_dir}/cache" + # Enable caching + mkdir -p "${pyenv_install_dir}/cache" - # Create shims directory if needed - mkdir -p "${pyenv_install_dir}/shims" + # Create shims directory if needed + mkdir -p "${pyenv_install_dir}/shims" + chmod -R a+w "${pyenv_install_dir}/shims" - # Restore /usr/local/bin in PATH - PATH=$CLEAR_PATH + # Restore /usr/local/bin in PATH + PATH=$CLEAR_PATH - # And replace the old Python binary - # test -x /usr/bin/python_pyenv && mv /usr/bin/python_pyenv /usr/bin/python + # And replace the old Python binary + # test -x /usr/bin/python_pyenv && mv /usr/bin/python_pyenv /usr/bin/python - # Install the requested version of Python - local final_python_version=$(pyenv latest --print $python_version) - ynh_print_info --message="Installation of Python-$python_version" - ynh_exec_warn_less pyenv install --skip-existing $final_python_version > /dev/null 2>&1 + # Install the requested version of Python + local final_python_version=$(pyenv latest --print $python_version) + ynh_print_info --message="Installation of Python-$python_version" + pyenv install --skip-existing $final_python_version > /dev/null 2>&1 - # Store python_version into the config of this app - ynh_app_setting_set --app=$YNH_APP_INSTANCE_NAME --key=python_version --value=$python_version + # Store python_version into the config of this app + ynh_app_setting_set --app=$YNH_APP_INSTANCE_NAME --key=python_version --value=$python_version - # Remove app virtualenv - if `pyenv virtualenvs | grep --quiet "$YNH_APP_INSTANCE_NAME " 1>/dev/null 2>&1` - then - pyenv virtualenv-delete --force $YNH_APP_INSTANCE_NAME - fi + # Remove app virtualenv + if `pyenv virtualenvs | grep --quiet "$YNH_APP_INSTANCE_NAME " 1>/dev/null 2>&1` + then + pyenv virtualenv-delete --force $YNH_APP_INSTANCE_NAME + fi - # Create app virtualenv - pyenv virtualenv --force $python_version $YNH_APP_INSTANCE_NAME + # Create app virtualenv + pyenv virtualenv --force $python_version $YNH_APP_INSTANCE_NAME - # Cleanup Python versions - ynh_cleanup_python + # Cleanup Python versions + ynh_cleanup_python - # Set environment for Python users - echo "#pyenv + # Set environment for Python users + echo "#pyenv export PYENV_ROOT=$pyenv_install_dir export PATH=\"$pyenv_install_dir/bin:$PATH\" eval \"\$(pyenv init -)\" #pyenv" > /etc/profile.d/pyenv.sh - # Load the environment - eval "$(pyenv init -)" + # Load the environment + eval "$(pyenv init -)" } # Remove the version of Python used by the app. @@ -222,21 +223,21 @@ eval \"\$(pyenv init -)\" # # usage: ynh_remove_python ynh_remove_python () { - local python_version=$(ynh_app_setting_get --app=$YNH_APP_INSTANCE_NAME --key=python_version) + local python_version=$(ynh_app_setting_get --app=$YNH_APP_INSTANCE_NAME --key=python_version) - # Load pyenv path in PATH - local CLEAR_PATH="$pyenv_install_dir/bin:$PATH" + # Load pyenv path in PATH + local CLEAR_PATH="$pyenv_install_dir/bin:$PATH" - # Remove /usr/local/bin in PATH in case of Python prior installation - PATH=$(echo $CLEAR_PATH | sed 's@/usr/local/bin:@@') + # Remove /usr/local/bin in PATH in case of Python prior installation + PATH=$(echo $CLEAR_PATH | sed 's@/usr/local/bin:@@') - pyenv virtualenv-delete --force $YNH_APP_INSTANCE_NAME + pyenv virtualenv-delete --force $YNH_APP_INSTANCE_NAME - # Remove the line for this app - ynh_app_setting_delete --app=$YNH_APP_INSTANCE_NAME --key=python_version + # Remove the line for this app + ynh_app_setting_delete --app=$YNH_APP_INSTANCE_NAME --key=python_version - # Cleanup Python versions - ynh_cleanup_python + # Cleanup Python versions + ynh_cleanup_python } # Remove no more needed versions of Python used by the app. @@ -248,35 +249,35 @@ ynh_remove_python () { # usage: ynh_cleanup_python ynh_cleanup_python () { - # List required Python version - local installed_apps=$(yunohost app list | grep -oP 'id: \K.*$') - local required_python_versions="" - for installed_app in $installed_apps - do - local installed_app_python_version=$(ynh_app_setting_get --app=$installed_app --key="python_version") - if [[ $installed_app_python_version ]] - then - required_python_versions="${installed_app_python_version}\n${required_python_versions}" - fi - done + # List required Python versions + local installed_apps=$(yunohost app list | grep -oP 'id: \K.*$') + local required_python_versions="" + for installed_app in $installed_apps + do + local installed_app_python_version=$(ynh_app_setting_get --app=$installed_app --key="python_version") + if [[ $installed_app_python_version ]] + then + required_python_versions="${installed_app_python_version}\n${required_python_versions}" + fi + done - # Remove no more needed Python version - local installed_python_versions=$(pyenv versions --bare --skip-aliases | grep -Ev '/') - for installed_python_version in $installed_python_versions - do - if ! `echo ${required_python_versions} | grep "${installed_python_version}" 1>/dev/null 2>&1` - then - ynh_print_info --message="Removing of Python-$installed_python_version" - $pyenv_install_dir/bin/pyenv uninstall --force $installed_python_version - fi - done + # Remove no more needed Python versions + local installed_python_versions=$(pyenv versions --bare --skip-aliases | grep -Ev '/') + for installed_python_version in $installed_python_versions + do + if ! `echo ${required_python_versions} | grep "${installed_python_version}" 1>/dev/null 2>&1` + then + ynh_print_info --message="Removing of Python-$installed_python_version" + $pyenv_install_dir/bin/pyenv uninstall --force $installed_python_version + fi + done - # If none Python version is required - if [[ ! $required_python_versions ]] - then - # Remove pyenv environment configuration - ynh_print_info --message="Removing of pyenv-$pyenv_version" - ynh_secure_remove --file="$pyenv_install_dir" - ynh_secure_remove --file="/etc/profile.d/pyenv.sh" - fi -} \ No newline at end of file + # If none Python version is required + if [[ ! $required_python_versions ]] + then + # Remove pyenv environment configuration + ynh_print_info --message="Removing of pyenv-$pyenv_version" + ynh_secure_remove --file="$pyenv_install_dir" + ynh_secure_remove --file="/etc/profile.d/pyenv.sh" + fi +} From 2f8fe7564ee589a0c7c27c21fb2b358c03070374 Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Fri, 23 Sep 2022 21:16:47 +0000 Subject: [PATCH 2/3] Auto-update README --- README.md | 30 +++++++++++++++++------------- README_fr.md | 36 ++++++++++++++++++++++-------------- 2 files changed, 39 insertions(+), 27 deletions(-) diff --git a/README.md b/README.md index f6f4b45..8f683a7 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ It shall NOT be edited by hand. # CouchPotato for YunoHost -[![Integration level](https://dash.yunohost.org/integration/couchpotato.svg)](https://dash.yunohost.org/appci/app/couchpotato) ![](https://ci-apps.yunohost.org/ci/badges/couchpotato.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/couchpotato.maintain.svg) +[![Integration level](https://dash.yunohost.org/integration/couchpotato.svg)](https://dash.yunohost.org/appci/app/couchpotato) ![Working status](https://ci-apps.yunohost.org/ci/badges/couchpotato.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/couchpotato.maintain.svg) [![Install CouchPotato with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=couchpotato) *[Lire ce readme en français.](./README_fr.md)* @@ -15,34 +15,38 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in ## Overview -Automatic movie downloader - -**Shipped version:** 3.0.1~ynh3 +Download movies automatically, easily and in the best quality as soon as they are available. +**Shipped version:** 3.0.1~ynh4 + + +## Screenshots + +![Screenshot of CouchPotato](./doc/screenshots/couchpotato_interface.png) ## Disclaimers / important information -* Other infos that people should be aware of, such as: - * Integrates automatically with [transmission_ynh](https://github.com/YunoHost-Apps/transmission_ynh) (or tries to...), - * Integrates [YunoHost multimedia](https://github.com/YunoHost-Apps/yunohost.multimedia) folder structure +* Integrates automatically with [transmission_ynh](https://github.com/YunoHost-Apps/transmission_ynh) (or tries to...), +* Integrates [YunoHost multimedia](https://github.com/YunoHost-Apps/yunohost.multimedia) folder structure ## Documentation and resources -* Official app website: https://couchpota.to -* Upstream app code repository: https://github.com/CouchPotato/CouchPotatoServer -* YunoHost documentation for this app: https://yunohost.org/app_couchpotato -* Report a bug: https://github.com/YunoHost-Apps/couchpotato_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/couchpotato_ynh/tree/testing). To try the testing branch, please proceed like that. -``` + +``` bash sudo yunohost app install https://github.com/YunoHost-Apps/couchpotato_ynh/tree/testing --debug or sudo yunohost app upgrade couchpotato -u https://github.com/YunoHost-Apps/couchpotato_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 c7ddab4..e38c936 100644 --- a/README_fr.md +++ b/README_fr.md @@ -1,44 +1,52 @@ + + # CouchPotato pour YunoHost -[![Niveau d'intégration](https://dash.yunohost.org/integration/couchpotato.svg)](https://dash.yunohost.org/appci/app/couchpotato) ![](https://ci-apps.yunohost.org/ci/badges/couchpotato.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/couchpotato.maintain.svg) +[![Niveau d'intégration](https://dash.yunohost.org/integration/couchpotato.svg)](https://dash.yunohost.org/appci/app/couchpotato) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/couchpotato.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/couchpotato.maintain.svg) [![Installer CouchPotato avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=couchpotato) *[Read this readme in english.](./README.md)* -*[Lire ce readme en français.](./README_fr.md)* > *Ce package vous permet d'installer CouchPotato 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 -Téléchargement automatisé de film - -**Version incluse :** 3.0.1~ynh3 +Download movies automatically, easily and in the best quality as soon as they are available. +**Version incluse :** 3.0.1~ynh4 + + +## Captures d'écran + +![Capture d'écran de CouchPotato](./doc/screenshots/couchpotato_interface.png) ## Avertissements / informations importantes -* Other infos that people should be aware of, such as: - * Integrates automatically with [transmission_ynh](https://github.com/YunoHost-Apps/transmission_ynh) (or tries to...), - * Integrates [YunoHost multimedia](https://github.com/YunoHost-Apps/yunohost.multimedia) folder structure +* Integrates automatically with [transmission_ynh](https://github.com/YunoHost-Apps/transmission_ynh) (or tries to...), +* Integrates [YunoHost multimedia](https://github.com/YunoHost-Apps/yunohost.multimedia) folder structure ## Documentations et ressources -* Site officiel de l'app : https://couchpota.to -* Dépôt de code officiel de l'app : https://github.com/CouchPotato/CouchPotatoServer -* Documentation YunoHost pour cette app : https://yunohost.org/app_couchpotato -* Signaler un bug : https://github.com/YunoHost-Apps/couchpotato_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/couchpotato_ynh/tree/testing). Pour essayer la branche testing, procédez comme suit. -``` + +``` bash sudo yunohost app install https://github.com/YunoHost-Apps/couchpotato_ynh/tree/testing --debug ou sudo yunohost app upgrade couchpotato -u https://github.com/YunoHost-Apps/couchpotato_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 7fabb52f2c66c228432ea0036f5bcb9820da7522 Mon Sep 17 00:00:00 2001 From: yalh76 Date: Sat, 24 Sep 2022 15:01:08 +0200 Subject: [PATCH 3/3] Update check_process --- check_process | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/check_process b/check_process index 672f9cd..3cd3e72 100644 --- a/check_process +++ b/check_process @@ -11,9 +11,11 @@ setup_public=0 upgrade=1 # From GIT - upgrade=1 from_commit=2a7461345d70ae231cc81a580189934626ed8c58 + upgrade=0 from_commit=2a7461345d70ae231cc81a580189934626ed8c58 # 3.0.1~ynh2 - upgrade=1 from_commit=06e0d129fef72c1c43063f81ae2bef97576f7fa7 + upgrade=0 from_commit=06e0d129fef72c1c43063f81ae2bef97576f7fa7 + # 3.0.1~ynh3 + upgrade=1 from_commit=686a590376d1b18ed38cfd4b8676d4a1cf3867fb backup_restore=1 multi_instance=0 port_already_use=1 (5050) @@ -21,8 +23,3 @@ ;;; Options Email= Notification=none -;;; Upgrade options - ; commit=2a7461345d70ae231cc81a580189934626ed8c58 - name=From GIT - ; commit=06e0d129fef72c1c43063f81ae2bef97576f7fa7 - name=3.0.1~ynh2