From 1b65ba55ca754e4035cfd676e6e62d52755a862f Mon Sep 17 00:00:00 2001 From: yalh76 Date: Fri, 25 Jun 2021 20:34:47 +0200 Subject: [PATCH] Apply example_ynh --- doc/.gitkeep | 0 doc/DISCLAIMER.md | 0 doc/screenshots/.gitkeep | 0 doc/screenshots/screenshot1.png | Bin 0 -> 21702 bytes manifest.json | 7 +++ scripts/backup | 15 +++---- scripts/change_url | 2 +- scripts/install | 21 +++------ scripts/restore | 9 ++-- scripts/upgrade | 75 +++++++++++++------------------- 10 files changed, 57 insertions(+), 72 deletions(-) create mode 100644 doc/.gitkeep create mode 100644 doc/DISCLAIMER.md create mode 100644 doc/screenshots/.gitkeep create mode 100644 doc/screenshots/screenshot1.png diff --git a/doc/.gitkeep b/doc/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..e69de29 diff --git a/doc/screenshots/.gitkeep b/doc/screenshots/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/doc/screenshots/screenshot1.png b/doc/screenshots/screenshot1.png new file mode 100644 index 0000000000000000000000000000000000000000..d3b6c8b1d1491de3570991b88757ce553952343d GIT binary patch literal 21702 zcmb@t2UL^a(l;7F#X=ELK&pT=k={d7=^YXgktRr$UIG%T1?jzaqy$2jPUwQtK_q}k z2Wg>~&;#ES{^z{wob}%Cu65VCto0;j@7Xi6_x$$Eo_V&x+L}tFH)(HzKp;{TWqAk) zM6>_`5q`W*2(+AAsM~-*&%;&ZpFV&0XMMEoM(cySSNRW3_Nk})$#or#hpLc5vY|9K?VXPf&Y14V?ZGMPLXW{!8*u6Q-WVrXjC(!inm=l99h7*bI@jDxeRP zLaX89Cv`f+z9r(yQ$09ACxxlL0<`~>x5l_m1shQRF3or&K?OTr82HI=;8G)2$@U^? zYcQgMc0~W%{jF+US1l_8a^&WY=_f@LtTeWaf5gO(hSElW|4oNS* zv25~cLuN-8yg_;cAkLx~LMx@@=ne4SueU^aeqhZ*)%E;(aJU53;shxh+bLalM{YhvU$6~i$%Kbmoy6poEALiB5g3oHX zrODN6CdGz!=gh{kjON_FJWPQ|>Csp76;@1T%7`}l#<^?GG-;{V22-LP?g8wrPY~z3 zW~Xcmj8&e@NV!BSg}hmV$S8d9s; zzQsVRlThTo?|Fs>&MPi_lR%&fu`gj;IaV_={AS`{ z;?-QH7mKF(K2xkt*&Bodc5+YYhvJKyO}hFf>EL+Ry?&0UYN1m}{RJ6@c{48-eB1+fxZ(OkI;C2B+{Z^}ug zXfKX8m2mJN&#kgCNNJw;tm3tkx+j2&e zdu?k*4^^SoN~q!Y%nB&Q1Oqg#K`>v|K^ZqXN$QH&wUGodV27kg4kI zu_~jk#UpFex91C^shqS$T#T5%E2sO>CoH=MKmMW3d7fJeO$fR}$ess1XqUcA4H1J} z{Ql(qX;72bU&8y9KJ`3vdp`TUzjr;dUnn?k?|J6M9KCa(gEY%F$dkF={F8)c19^|w z8rB$);OE(y>E~6FCwe>sp>aAZUEZB49&CJdozui%iYJgZiY0e|^xKcf zrzrX|qZ|BLt5WZI5X#9MvqYk^suvoS_>0VdbOD*`XORnY>%- zmR+>Nl4=Pts8_?Dig7Z&%D5|#qr@97n@=+YGiJ>9EppF?#`Y+Dg^TWf!o92@b@mfC z^~6rse9;IeGDs!XwlI>rpk}9jyBTgk7k!i{A3!hDD9NDvy|HADE;i(SrM-__%q<7S zc|R(>`oKebM~I;!D55=uY^|D}g?H2~H?&vs=sX3B6_;OV^$?b6DmS{>K0vCj6jD+5 z{3-ZmFY}pk5*pU(4eV?W|uE|Naq;8)ENr$%y^cq6D%|t={K~5%N zI2uRaUE_M#`HBDBSrJ1ccQkfgO6jiu?cl2bvEScnsZW`GjO*;0Wb0h4HXPF4a-92%)%Bb7kT&XXIEZm;G)$Z=P74?^@ zmb9)eEU2y@6m%6aauSh6#-V!QD+`+yu{)k`&Q?5$R%RdvL8uR4{Qf99WH zP*QXJJfSAnS%zGz_ohBD^-r~BQHzDDVV-@CnH0Y>b>Gx3hFb`-3SNnbQp(1q08{JB zb6a`!A>fla!>}MD#41eD$XJ3|%;?q6YCVYC!#@qB?J-?O9dElA8{)%E9H|^$T+7`Y zpbbbyV~5m26^N?OWXS>^!jRdOvxfJ`#zk&jpj_om9NtG+v8zH(43f~YXQ~)i%3Y6I zvYX!29vc@^jlcYOk&Wg)QyUYh8NbKCmBqHYMojA~SX_H%7z$-3CtcVuH`G+3e6d-@ zBH=BON2Iw7tE+4MN~gW~jDN*YeWCmVYr$G*Xm6{-`NQWp$WIqbleo9{*nsgEbOo_{{E)sx{ZDgSlWs@3O+Yf!B}X~{He~TJ`7v9BzM;9aouR( zTP%v~b0RZsFfb*HKtop4o%n`3J&@p_iyW2Ogbq)J7uk?wmGoqiU5~b&?rw?qamo)_ zT3?8+os{eLqaKbGd^$LO@jW*}T=JHJkOhgq(Sc{rnfEujMamy?7&}!;n~;mX+^-5w zyucF39+_>?CmoZtX6a`Ub}t@4b^TX?INsWl7Zi4yJ)KW)qm2#?fH>7 zvbb<#IPSTc$?SDrUjFR%w`AmwAl@^@E1ndycUUd%SfuY-;-MR~20RWO7J& zTH~)$l*`ONn?s2_WV}~C(#IJC&LBlEGy3w0cW@Mb-GwHGhF2cF!g~FoP^2^;e*HJa z{IphdK+onKBr%2~>gV;y4s*fec|QH&UoZ4NmtXWEcvlvTf35KO zg&@rjXu9$bQJ91N46_h&uSukWE0#6Hv1c

4LjHBomEIGnd)P6fID8{LU(#Xr_*7 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 H&awXkhRnq{ literal 0 HcmV?d00001 diff --git a/manifest.json b/manifest.json index 7134bd5..10384c4 100644 --- a/manifest.json +++ b/manifest.json @@ -8,6 +8,13 @@ }, "version": "1.17.0~ynh1", "url": "https://syncthing.net/", + "upstream": { + "license": "MPL-2.0", + "website": "https://syncthing.net", + + "userdoc": "https://docs.syncthing.net", + "code": "https://github.com/syncthing/syncthing" + }, "license": "MPL-2.0", "maintainer": [ { diff --git a/scripts/backup b/scripts/backup index cb832ff..11eb9f9 100644 --- a/scripts/backup +++ b/scripts/backup @@ -15,7 +15,7 @@ source /usr/share/yunohost/helpers #================================================= ynh_clean_setup () { - ynh_clean_check_starting + true } # Exit if an error occurs during the execution of the script ynh_abort_if_errors @@ -42,6 +42,12 @@ ynh_print_info --message="Declaring files to be backed up..." ynh_backup --src_path="$final_path" +#================================================= +# BACKUP THE DATA DIRECTORY +#================================================= + +ynh_backup --src_path="$sync_home" --is_big + #================================================= # BACKUP THE NGINX CONFIGURATION #================================================= @@ -56,13 +62,6 @@ ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" ynh_backup --src_path="/etc/systemd/system/$app.service" -#================================================= -# BACKUP THE DATA DIRECTORY -#================================================= -ynh_print_info --message="Backing up data directory..." - -ynh_backup --src_path="$sync_home" --is_big - #================================================= # END OF SCRIPT #================================================= diff --git a/scripts/change_url b/scripts/change_url index caac7fc..d6bb455 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -93,7 +93,7 @@ then domain="$old_domain" path_url="$new_path" # Create a dedicated NGINX config - ynh_add_nginx_config "gui_port" + ynh_add_nginx_config fi # Change the domain for NGINX diff --git a/scripts/install b/scripts/install index 7a559d6..fe5fbfb 100644 --- a/scripts/install +++ b/scripts/install @@ -30,9 +30,6 @@ admin=$YNH_APP_ARG_ADMIN app=$YNH_APP_INSTANCE_NAME -# Configure sync folder -sync_home="/home/yunohost.app/$app" - #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= @@ -52,7 +49,6 @@ ynh_script_progression --message="Storing installation settings..." 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=admin --value=$admin -ynh_app_setting_set --app=$app --key=sync_home --value=$sync_home #================================================= # STANDARD MODIFICATIONS @@ -78,7 +74,7 @@ ynh_exec_warn_less yunohost firewall allow TCP $sync_port ynh_script_progression --message="Configuring system user..." # Create a system user -ynh_system_user_create --username=$app --home_dir="$final_path" +ynh_system_user_create --username=$app --home_dir=$final_path #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE @@ -99,7 +95,7 @@ chown -R $app:$app "$final_path" ynh_script_progression --message="Configuring NGINX web server..." # Create a dedicated NGINX config -ynh_add_nginx_config "gui_port" +ynh_add_nginx_config #================================================= # SPECIFIC SETUP @@ -108,8 +104,11 @@ ynh_add_nginx_config "gui_port" #================================================= ynh_script_progression --message="Creating sync directory..." -# Make directories and set rights -mkdir -p "$sync_home" +sync_home=/home/yunohost.app/$app +ynh_app_setting_set --app=$app --key=sync_home --value=$sync_home + +mkdir -p $sync_home + chmod 750 "$sync_home" chmod -R o-rwx "$sync_home" chown -R $app:$app "$sync_home" @@ -147,12 +146,6 @@ ynh_replace_string --match_string="tcp://default" ynh_systemd_action --service_name=$app --action="stop" --log_path=systemd -#================================================= -# STORE THE CONFIG FILE CHECKSUM -#================================================= -ynh_script_progression --message="Storing the config file checksum..." - -# Calculate and store the config file checksum into the app settings ynh_store_file_checksum --file="$config_file" #================================================= diff --git a/scripts/restore b/scripts/restore index f9eaca4..b735318 100644 --- a/scripts/restore +++ b/scripts/restore @@ -79,22 +79,21 @@ chmod 750 "$final_path" chmod -R o-rwx "$final_path" chown -R $app:$app "$final_path" -#================================================= -# SPECIFIC RESTORATION #================================================= # RECREATE SYNC DIRECTORY #================================================= ynh_script_progression --message="Recreating sync directory..." -# Use --not_mandatory for the data directory, because if the backup has been made with BACKUP_CORE_ONLY, there's no data into the backup. ynh_restore_file --origin_path="$sync_home" --not_mandatory -# Make directories and set rights -mkdir -p "$sync_home" +mkdir -p $sync_home + chmod 750 "$sync_home" chmod -R o-rwx "$sync_home" chown -R $app:$app "$sync_home" +#================================================= +# SPECIFIC RESTORATION #================================================= # RESTORE SYSTEMD #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index d38071a..e2b6fa6 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -32,18 +32,34 @@ ynh_script_progression --message="Checking version..." 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)..." + +# Backup the current version of the app +ynh_backup_before_upgrade +ynh_clean_setup () { + # Restore it if the upgrade fails + ynh_restore_upgradebackup +} +# Exit if an error occurs during the execution of the script +ynh_abort_if_errors + +#================================================= +# STANDARD UPGRADE STEPS +#================================================= +# STOP SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Stopping a systemd service..." + +ynh_systemd_action --service_name=$app --action="stop" --log_path=systemd + #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= ynh_script_progression --message="Ensuring downward compatibility..." -# Cleaning legacy permissions -if ynh_legacy_permissions_exists; then - ynh_legacy_permissions_delete_all - - ynh_app_setting_delete --app=$app --key=is_public -fi - # If gui_port doesn't exist, create it if [ -z $gui_port ]; then OLD_SYNCHOME="/home/yunohost.app/syncthing" @@ -85,40 +101,13 @@ if [ -z $gui_port ]; then ynh_remove_app_dependencies -else +fi - #================================================= - # BACKUP BEFORE CHANGE URL THEN ACTIVE TRAP - #================================================= - ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." - - # Inform the backup/restore process that it should not save the data directory - # Use only for the previous backup script that doesn't set 'is_big' - ynh_app_setting_set --app=$app --key=backup_core_only --value=1 - - # Backup the current version of the app - ynh_backup_before_upgrade - - # Remove the option backup_core_only after the backup. - ynh_app_setting_delete --app=$app --key=backup_core_only - - ynh_clean_setup () { - ynh_clean_check_starting - # Restore it if the upgrade fails - ynh_restore_upgradebackup - } - # Exit if an error occurs during the execution of the script - ynh_abort_if_errors - - #================================================= - # STANDARD UPGRADE STEPS - #================================================= - # STOP SYSTEMD SERVICE - #================================================= - ynh_script_progression --message="Stopping a systemd service..." - - ynh_systemd_action --service_name=$app --action="stop" --log_path=systemd +# Cleaning legacy permissions +if ynh_legacy_permissions_exists; then + ynh_legacy_permissions_delete_all + ynh_app_setting_delete --app=$app --key=is_public fi #================================================= @@ -127,7 +116,7 @@ fi ynh_script_progression --message="Making sure dedicated system user exists..." # 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 @@ -151,7 +140,7 @@ chown -R $app:$app "$final_path" ynh_script_progression --message="Upgrading NGINX web server configuration..." # Create a dedicated NGINX config -ynh_add_nginx_config "gui_port" +ynh_add_nginx_config #================================================= # SPECIFIC UPGRADE @@ -173,9 +162,7 @@ ynh_script_progression --message="Updating a config file..." config_file="$final_path/.config/syncthing/config.xml" -ynh_backup_if_checksum_is_different --file="$config_file" -# Recalculate and store the checksum of the file for the next upgrade. -ynh_store_file_checksum --file="$config_file" +ynh_add_config --template="../conf/config.xml" --destination="$config_file" chmod 400 "$config_file" chown $app:$app "$config_file"