diff --git a/.github/workflows/updater.sh b/.github/workflows/updater.sh deleted file mode 100755 index 72eb5cb..0000000 --- a/.github/workflows/updater.sh +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/bash - -#================================================= -# PACKAGE UPDATING HELPER -#================================================= - -# This script is meant to be run by GitHub Actions -# The YunoHost-Apps organisation offers a template Action to run this script periodically -# Since each app is different, maintainers can adapt its contents so as to perform -# automatic actions when a new upstream release is detected. - -# Remove this exit command when you are ready to run this Action -exit 1 - -#================================================= -# FETCHING LATEST RELEASE AND ITS ASSETS -#================================================= - -# Fetching information -current_version=$(cat manifest.json | jq -j '.version|split("~")[0]') -repo=$(cat manifest.json | jq -j '.upstream.code|split("https://github.com/")[1]') -# Some jq magic is needed, because the latest upstream release is not always the latest version (e.g. security patches for older versions) -version=$(curl --silent "https://api.github.com/repos/$repo/releases" | jq -r '.[] | select( .prerelease != true ) | .tag_name' | sort -V | tail -1) -assets=($(curl --silent "https://api.github.com/repos/$repo/releases" | jq -r '[ .[] | select(.tag_name=="'$version'").assets[].browser_download_url ] | join(" ") | @sh' | tr -d "'")) - -# Later down the script, we assume the version has only digits and dots -# Sometimes the release name starts with a "v", so let's filter it out. -# You may need more tweaks here if the upstream repository has different naming conventions. -if [[ ${version:0:1} == "v" || ${version:0:1} == "V" ]]; then - version=${version:1} -fi - -# Setting up the environment variables -echo "Current version: $current_version" -echo "Latest release from upstream: $version" -echo "VERSION=$version" >> $GITHUB_ENV -echo "REPO=$repo" >> $GITHUB_ENV -# For the time being, let's assume the script will fail -echo "PROCEED=false" >> $GITHUB_ENV - -# Proceed only if the retrieved version is greater than the current one -if ! dpkg --compare-versions "$current_version" "lt" "$version" ; then - echo "::warning ::No new version available" - exit 0 -# Proceed only if a PR for this new version does not already exist -elif git ls-remote -q --exit-code --heads https://github.com/$GITHUB_REPOSITORY.git ci-auto-update-v$version ; then - echo "::warning ::A branch already exists for this update" - exit 0 -fi - -# Each release can hold multiple assets (e.g. binaries for different architectures, source code, etc.) -echo "${#assets[@]} available asset(s)" - -#================================================= -# UPDATE SOURCE FILES -#================================================= - -# Here we use the $assets variable to get the resources published in the upstream release. -# Here is an example for Grav, it has to be adapted in accordance with how the upstream releases look like. - -# Let's loop over the array of assets URLs -for asset_url in ${assets[@]}; do - -echo "Handling asset at $asset_url" - -# Assign the asset to a source file in conf/ directory -# Here we base the source file name upon a unique keyword in the assets url (admin vs. update) -# Leave $src empty to ignore the asset -case $asset_url in - *"admin"*) - src="app" - ;; - *"update"*) - src="app-upgrade" - ;; - *) - src="" - ;; -esac - -# If $src is not empty, let's process the asset -if [ ! -z "$src" ]; then - -# Create the temporary directory -tempdir="$(mktemp -d)" - -# Download sources and calculate checksum -filename=${asset_url##*/} -curl --silent -4 -L $asset_url -o "$tempdir/$filename" -checksum=$(sha256sum "$tempdir/$filename" | head -c 64) - -# Delete temporary directory -rm -rf $tempdir - -# Get extension -if [[ $filename == *.tar.gz ]]; then - extension=tar.gz -else - extension=${filename##*.} -fi - -# Rewrite source file -cat < conf/$src.src -SOURCE_URL=$asset_url -SOURCE_SUM=$checksum -SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=$extension -SOURCE_IN_SUBDIR=true -SOURCE_FILENAME= -EOT -echo "... conf/$src.src updated" - -else -echo "... asset ignored" -fi - -done - -#================================================= -# SPECIFIC UPDATE STEPS -#================================================= - -# Any action on the app's source code can be done. -# The GitHub Action workflow takes care of committing all changes after this script ends. - -#================================================= -# GENERIC FINALIZATION -#================================================= - -# Replace new version in manifest -echo "$(jq -s --indent 4 ".[] | .version = \"$version~ynh1\"" manifest.json)" > manifest.json - -# No need to update the README, yunohost-bot takes care of it - -# The Action will proceed only if the PROCEED environment variable is set to true -echo "PROCEED=true" >> $GITHUB_ENV -exit 0 diff --git a/README.md b/README.md index eb1ff08..44e2d4a 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,7 @@ Tiki Wiki CMS Groupware is the Free / Libre / Open Source Web Application with t - Tiki Trackers is the built-in database web apps builder and low-code / no-code application framework. -**Shipped version:** 25.2~ynh2 +**Shipped version:** 26.0~ynh1 **Demo:** https://tiki.org/Try-Tiki diff --git a/README_fr.md b/README_fr.md index ba0c74f..ce8502b 100644 --- a/README_fr.md +++ b/README_fr.md @@ -33,7 +33,7 @@ Tiki Wiki CMS Groupware est l'application Web libre dotée du plus grand nombre Les Tiki Trackers sont la composante intégrée pour le développement low-code / no-code et le générateur de formulaires et bases de données. -**Version incluse :** 25.2~ynh2 +**Version incluse :** 26.0~ynh1 **Démo :** https://tiki.org/Try-Tiki diff --git a/manifest.toml b/manifest.toml index caa5b55..d0d504c 100644 --- a/manifest.toml +++ b/manifest.toml @@ -5,7 +5,7 @@ name = "Tiki" description.en = "Wiki-based, content management system" description.fr = "Système de gestion de contenu basé sur Wiki" -version = "25.2~ynh2" +version = "26.0~ynh1" maintainers = ["eric_G"] @@ -17,7 +17,7 @@ admindoc = "https://doc.tiki.org" code = "https://gitlab.com/tikiwiki/tiki/" [integration] -yunohost = ">= 11.1.21" +yunohost = ">= 11.2" architectures = "all" multi_instance = true ldap = false @@ -52,8 +52,8 @@ ram.runtime = "50M" [resources.sources] [resources.sources.main] - url = "https://sourceforge.net/projects/tikiwiki/files/Tiki_25.x_Sagittarius_A/25.2/tiki-25.2.tar.gz/download" - sha256 = "312d71763e3dd1aa70ed1631a8cff000b4161e65b3caf5f524db4e600958c8ed" + url = "https://sourceforge.net/projects/tikiwiki/files/Tiki_26.x_Alnilam/26.0/tiki-26.0.tar.gz/download" + sha256 = "493f204407eefd102c2ed59e4e4e716ea1671e0d43d99dd8e4265a8e09f28335" format = "tar.gz" [resources.sources.lts] @@ -71,7 +71,15 @@ ram.runtime = "50M" main.url = "/" [resources.apt] - packages = "tesseract-ocr imagemagick mariadb-server php7.4-bz2 php7.4-curl php7.4-gd php7.4-zip php7.4-mysql php7.4-xml php7.4-mbstring" + packages = "tesseract-ocr imagemagick mariadb-server" + + packages_from_raw_bash = """ + if [[ "$release_cycle" == "regular" ]]; then + echo "php8.1-bz2 php8.1-curl php8.1-gd php8.1-zip php8.1-mysql php8.1-xml php8.1-mbstring php8.1-intl" + else + echo "php7.4-bz2 php7.4-curl php7.4-gd php7.4-zip php7.4-mysql php7.4-xml php7.4-mbstring php7.4-intl" + fi + """ [resources.database] type = "mysql" diff --git a/scripts/install b/scripts/install index e179a35..fc95f99 100755 --- a/scripts/install +++ b/scripts/install @@ -46,11 +46,6 @@ ynh_script_progression --message="Configuring NGINX web server..." --weight=1 # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Configuring PHP-FPM..." --weight=1 - # Create a dedicated PHP-FPM config ynh_add_fpm_config --usage=$fpm_usage --footprint=$fpm_footprint @@ -66,24 +61,24 @@ exec_as_app() { } # Create database configuration file -exec_as_app console.php database:configure "$app" "$db_pwd" "$app" +ynh_exec_warn_less exec_as_app console.php database:configure "$app" "$db_pwd" "$app" # Create database contents -exec_as_app console.php database:install +ynh_exec_warn_less exec_as_app console.php database:install # Set default database directory cd "$install_dir" sed -i -e "s#storage/fgal#$data_dir#" lib/prefs/fgal.php # Lock installer -exec_as_app console.php installer:lock +ynh_exec_warn_less exec_as_app console.php installer:lock # Create data index -exec_as_app console.php index:rebuild +ynh_exec_warn_less exec_as_app console.php index:rebuild # Set on Long Term Support versions if [[ "$release_cycle" == "longterm" ]] then - exec_as_app console.php preferences:set tiki_release_cycle longterm + ynh_exec_warn_less exec_as_app console.php preferences:set tiki_release_cycle longterm fi #================================================= diff --git a/scripts/remove b/scripts/remove index 60e7d08..1e9f012 100755 --- a/scripts/remove +++ b/scripts/remove @@ -10,26 +10,16 @@ source _common.sh source /usr/share/yunohost/helpers #================================================= -# REMOVE LOGROTATE CONFIGURATION +# REMOVE CONFIGURATION #================================================= -ynh_script_progression --message="Removing logrotate configuration..." --weight=1 +ynh_script_progression --message="Removing system configurations related to $app..." --weight=1 # Remove the app-specific logrotate config ynh_remove_logrotate -#================================================= -# REMOVE NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Removing NGINX web server configuration..." --weight=1 - # Remove the dedicated NGINX config ynh_remove_nginx_config -#================================================= -# REMOVE PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Removing PHP-FPM configuration..." --weight=1 - # Remove the dedicated PHP-FPM config ynh_remove_fpm_config diff --git a/scripts/restore b/scripts/restore index 1d83cb2..523063b 100755 --- a/scripts/restore +++ b/scripts/restore @@ -10,15 +10,6 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -#================================================= -# STANDARD RESTORATION STEPS -#================================================= -# 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" - #================================================= # RESTORE THE APP MAIN DIR #================================================= @@ -38,13 +29,6 @@ ynh_restore_file --origin_path="$data_dir" --not_mandatory chown -R $app:www-data "$data_dir" -#================================================= -# RESTORE THE PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Restoring the PHP-FPM configuration..." --weight=1 - -ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" - #================================================= # RESTORE THE MYSQL DATABASE #================================================= @@ -52,6 +36,17 @@ ynh_script_progression --message="Restoring the MySQL database..." --weight=1 ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql +#================================================= +# RESTORE SYSTEM CONFIGURATIONS +#================================================= +# RESTORE THE PHP-FPM CONFIGURATION +#================================================= +ynh_script_progression --message="Restoring system configurations related to $app..." --weight=1 + +ynh_restore_file --origin_path="/etc/php/$phpversion/fpm/pool.d/$app.conf" + +ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" + #================================================= # GENERIC FINALIZATION #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 3df9c7a..0efe0a5 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -66,7 +66,7 @@ chmod -R o-rwx "$install_dir" chown -R $app:www-data "$install_dir" # Update database -cd "$install_dir" && ynh_exec_as "$app" php${phpversion} --define apc.enable_cli=1 console.php database:update +(cd "$install_dir" && ynh_exec_as "$app" php${phpversion} --define apc.enable_cli=1 console.php database:update) #================================================= # NGINX CONFIGURATION @@ -76,11 +76,6 @@ ynh_script_progression --message="Upgrading NGINX web server configuration..." - # Create a dedicated NGINX config ynh_add_nginx_config -#================================================= -# PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Upgrading PHP-FPM configuration..." --weight=1 - # Create a dedicated PHP-FPM config ynh_add_fpm_config --usage=$fpm_usage --footprint=$fpm_footprint