From 60cb5e5ae44860d0b72af889564f40811bffbee8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Sat, 9 Sep 2023 11:17:52 +0200 Subject: [PATCH 01/42] Migrate to manifestv2 and other changes: * Move app install dir from /opt to /var/www * Revamp the way binaries are downloaded thanks to manifestv2 (no need to check for arch, etc) * Remove custom helpers (exec_as, ynh_handle_app_migration) * Rename LFS_KEY as LFS_JWT_SECRET and KEY as SECRET_KEY as named in app.ini * Add JWT_SECRET for oauth and INTERNAL_TOKEN in app.ini * update upstream sample app.ini URL * Disable actions for now. * Automatically add ssh permissions to the system user * Remove support for upgrade before 1.6.4. Edit test_upgrade_from accordingly. --- check_process | 27 --- conf/app.ini | 60 +++--- conf/gogs_migrations | 5 - conf/gogs_post_migration.sh | 32 --- conf/nginx.conf | 2 +- conf/source/arm.src | 5 - conf/source/arm64.src | 5 - conf/source/arm64_1.0.src | 5 - conf/source/arm64_1.1.src | 5 - conf/source/arm64_1.10.src | 5 - conf/source/arm64_1.11.src | 5 - conf/source/arm64_1.12.src | 5 - conf/source/arm64_1.13.src | 5 - conf/source/arm64_1.14.src | 5 - conf/source/arm64_1.15.src | 5 - conf/source/arm64_1.16.src | 5 - conf/source/arm64_1.17.src | 5 - conf/source/arm64_1.18.src | 5 - conf/source/arm64_1.19.src | 5 - conf/source/arm64_1.2.src | 5 - conf/source/arm64_1.20.src | 5 - conf/source/arm64_1.3.src | 5 - conf/source/arm64_1.4.src | 5 - conf/source/arm64_1.5.src | 5 - conf/source/arm64_1.6.src | 5 - conf/source/arm64_1.7.src | 5 - conf/source/arm64_1.8.src | 5 - conf/source/arm64_1.9.src | 5 - conf/source/arm_1.0.src | 5 - conf/source/arm_1.1.src | 5 - conf/source/arm_1.10.src | 5 - conf/source/arm_1.11.src | 5 - conf/source/arm_1.12.src | 5 - conf/source/arm_1.13.src | 5 - conf/source/arm_1.14.src | 5 - conf/source/arm_1.15.src | 5 - conf/source/arm_1.16.src | 5 - conf/source/arm_1.17.src | 5 - conf/source/arm_1.18.src | 5 - conf/source/arm_1.19.src | 5 - conf/source/arm_1.2.src | 5 - conf/source/arm_1.20.src | 5 - conf/source/arm_1.3.src | 5 - conf/source/arm_1.4.src | 5 - conf/source/arm_1.5.src | 5 - conf/source/arm_1.6.src | 5 - conf/source/arm_1.7.src | 5 - conf/source/arm_1.8.src | 5 - conf/source/arm_1.9.src | 5 - conf/source/armv7.src | 8 - conf/source/armv7_1.0.src | 5 - conf/source/armv7_1.1.src | 5 - conf/source/armv7_1.10.src | 8 - conf/source/armv7_1.11.src | 8 - conf/source/armv7_1.12.src | 8 - conf/source/armv7_1.13.src | 8 - conf/source/armv7_1.14.src | 8 - conf/source/armv7_1.15.src | 8 - conf/source/armv7_1.16.src | 8 - conf/source/armv7_1.17.src | 8 - conf/source/armv7_1.18.src | 8 - conf/source/armv7_1.19.src | 8 - conf/source/armv7_1.2.src | 5 - conf/source/armv7_1.20.src | 8 - conf/source/armv7_1.3.src | 5 - conf/source/armv7_1.4.src | 5 - conf/source/armv7_1.5.src | 5 - conf/source/armv7_1.6.src | 5 - conf/source/armv7_1.7.src | 5 - conf/source/armv7_1.8.src | 8 - conf/source/armv7_1.9.src | 8 - conf/source/i386.src | 5 - conf/source/i386_1.0.src | 5 - conf/source/i386_1.1.src | 5 - conf/source/i386_1.10.src | 5 - conf/source/i386_1.11.src | 5 - conf/source/i386_1.12.src | 5 - conf/source/i386_1.13.src | 5 - conf/source/i386_1.14.src | 5 - conf/source/i386_1.15.src | 5 - conf/source/i386_1.16.src | 5 - conf/source/i386_1.17.src | 5 - conf/source/i386_1.18.src | 5 - conf/source/i386_1.19.src | 5 - conf/source/i386_1.2.src | 5 - conf/source/i386_1.20.src | 5 - conf/source/i386_1.3.src | 5 - conf/source/i386_1.4.src | 5 - conf/source/i386_1.5.src | 5 - conf/source/i386_1.6.src | 5 - conf/source/i386_1.7.src | 5 - conf/source/i386_1.8.src | 5 - conf/source/i386_1.9.src | 5 - conf/source/x86-64.src | 5 - conf/source/x86-64_1.0.src | 5 - conf/source/x86-64_1.1.src | 5 - conf/source/x86-64_1.10.src | 5 - conf/source/x86-64_1.11.src | 5 - conf/source/x86-64_1.12.src | 5 - conf/source/x86-64_1.13.src | 5 - conf/source/x86-64_1.14.src | 5 - conf/source/x86-64_1.15.src | 5 - conf/source/x86-64_1.16.src | 5 - conf/source/x86-64_1.17.src | 5 - conf/source/x86-64_1.18.src | 5 - conf/source/x86-64_1.19.src | 5 - conf/source/x86-64_1.2.src | 5 - conf/source/x86-64_1.20.src | 5 - conf/source/x86-64_1.3.src | 5 - conf/source/x86-64_1.4.src | 5 - conf/source/x86-64_1.5.src | 5 - conf/source/x86-64_1.6.src | 5 - conf/source/x86-64_1.7.src | 5 - conf/source/x86-64_1.8.src | 5 - conf/source/x86-64_1.9.src | 5 - conf/systemd.service | 6 +- doc/{DISCLAIMER.md => ADMIN.md} | 106 +++++----- manifest.json | 60 ------ manifest.toml | 96 +++++++++ scripts/_common.sh | 107 +++++----- scripts/backup | 39 ++-- scripts/change_url | 77 +++---- scripts/experimental_helper.sh | 257 ------------------------ scripts/install | 161 +++++---------- scripts/remove | 64 ++---- scripts/restore | 78 +++----- scripts/upgrade | 345 ++++++++------------------------ tests.toml | 8 + 128 files changed, 474 insertions(+), 1648 deletions(-) delete mode 100644 check_process delete mode 100644 conf/gogs_migrations delete mode 100644 conf/gogs_post_migration.sh delete mode 100644 conf/source/arm.src delete mode 100644 conf/source/arm64.src delete mode 100644 conf/source/arm64_1.0.src delete mode 100644 conf/source/arm64_1.1.src delete mode 100644 conf/source/arm64_1.10.src delete mode 100644 conf/source/arm64_1.11.src delete mode 100644 conf/source/arm64_1.12.src delete mode 100644 conf/source/arm64_1.13.src delete mode 100644 conf/source/arm64_1.14.src delete mode 100644 conf/source/arm64_1.15.src delete mode 100644 conf/source/arm64_1.16.src delete mode 100644 conf/source/arm64_1.17.src delete mode 100644 conf/source/arm64_1.18.src delete mode 100644 conf/source/arm64_1.19.src delete mode 100644 conf/source/arm64_1.2.src delete mode 100644 conf/source/arm64_1.20.src delete mode 100644 conf/source/arm64_1.3.src delete mode 100644 conf/source/arm64_1.4.src delete mode 100644 conf/source/arm64_1.5.src delete mode 100644 conf/source/arm64_1.6.src delete mode 100644 conf/source/arm64_1.7.src delete mode 100644 conf/source/arm64_1.8.src delete mode 100644 conf/source/arm64_1.9.src delete mode 100644 conf/source/arm_1.0.src delete mode 100644 conf/source/arm_1.1.src delete mode 100644 conf/source/arm_1.10.src delete mode 100644 conf/source/arm_1.11.src delete mode 100644 conf/source/arm_1.12.src delete mode 100644 conf/source/arm_1.13.src delete mode 100644 conf/source/arm_1.14.src delete mode 100644 conf/source/arm_1.15.src delete mode 100644 conf/source/arm_1.16.src delete mode 100644 conf/source/arm_1.17.src delete mode 100644 conf/source/arm_1.18.src delete mode 100644 conf/source/arm_1.19.src delete mode 100644 conf/source/arm_1.2.src delete mode 100644 conf/source/arm_1.20.src delete mode 100644 conf/source/arm_1.3.src delete mode 100644 conf/source/arm_1.4.src delete mode 100644 conf/source/arm_1.5.src delete mode 100644 conf/source/arm_1.6.src delete mode 100644 conf/source/arm_1.7.src delete mode 100644 conf/source/arm_1.8.src delete mode 100644 conf/source/arm_1.9.src delete mode 100644 conf/source/armv7.src delete mode 100644 conf/source/armv7_1.0.src delete mode 100644 conf/source/armv7_1.1.src delete mode 100644 conf/source/armv7_1.10.src delete mode 100644 conf/source/armv7_1.11.src delete mode 100644 conf/source/armv7_1.12.src delete mode 100644 conf/source/armv7_1.13.src delete mode 100644 conf/source/armv7_1.14.src delete mode 100644 conf/source/armv7_1.15.src delete mode 100644 conf/source/armv7_1.16.src delete mode 100644 conf/source/armv7_1.17.src delete mode 100644 conf/source/armv7_1.18.src delete mode 100644 conf/source/armv7_1.19.src delete mode 100644 conf/source/armv7_1.2.src delete mode 100644 conf/source/armv7_1.20.src delete mode 100644 conf/source/armv7_1.3.src delete mode 100644 conf/source/armv7_1.4.src delete mode 100644 conf/source/armv7_1.5.src delete mode 100644 conf/source/armv7_1.6.src delete mode 100644 conf/source/armv7_1.7.src delete mode 100644 conf/source/armv7_1.8.src delete mode 100644 conf/source/armv7_1.9.src delete mode 100644 conf/source/i386.src delete mode 100644 conf/source/i386_1.0.src delete mode 100644 conf/source/i386_1.1.src delete mode 100644 conf/source/i386_1.10.src delete mode 100644 conf/source/i386_1.11.src delete mode 100644 conf/source/i386_1.12.src delete mode 100644 conf/source/i386_1.13.src delete mode 100644 conf/source/i386_1.14.src delete mode 100644 conf/source/i386_1.15.src delete mode 100644 conf/source/i386_1.16.src delete mode 100644 conf/source/i386_1.17.src delete mode 100644 conf/source/i386_1.18.src delete mode 100644 conf/source/i386_1.19.src delete mode 100644 conf/source/i386_1.2.src delete mode 100644 conf/source/i386_1.20.src delete mode 100644 conf/source/i386_1.3.src delete mode 100644 conf/source/i386_1.4.src delete mode 100644 conf/source/i386_1.5.src delete mode 100644 conf/source/i386_1.6.src delete mode 100644 conf/source/i386_1.7.src delete mode 100644 conf/source/i386_1.8.src delete mode 100644 conf/source/i386_1.9.src delete mode 100644 conf/source/x86-64.src delete mode 100644 conf/source/x86-64_1.0.src delete mode 100644 conf/source/x86-64_1.1.src delete mode 100644 conf/source/x86-64_1.10.src delete mode 100644 conf/source/x86-64_1.11.src delete mode 100644 conf/source/x86-64_1.12.src delete mode 100644 conf/source/x86-64_1.13.src delete mode 100644 conf/source/x86-64_1.14.src delete mode 100644 conf/source/x86-64_1.15.src delete mode 100644 conf/source/x86-64_1.16.src delete mode 100644 conf/source/x86-64_1.17.src delete mode 100644 conf/source/x86-64_1.18.src delete mode 100644 conf/source/x86-64_1.19.src delete mode 100644 conf/source/x86-64_1.2.src delete mode 100644 conf/source/x86-64_1.20.src delete mode 100644 conf/source/x86-64_1.3.src delete mode 100644 conf/source/x86-64_1.4.src delete mode 100644 conf/source/x86-64_1.5.src delete mode 100644 conf/source/x86-64_1.6.src delete mode 100644 conf/source/x86-64_1.7.src delete mode 100644 conf/source/x86-64_1.8.src delete mode 100644 conf/source/x86-64_1.9.src rename doc/{DISCLAIMER.md => ADMIN.md} (50%) delete mode 100644 manifest.json create mode 100644 manifest.toml delete mode 100644 scripts/experimental_helper.sh create mode 100644 tests.toml diff --git a/check_process b/check_process deleted file mode 100644 index 308b465..0000000 --- a/check_process +++ /dev/null @@ -1,27 +0,0 @@ -;; General - ; Manifest - domain="domain.tld" - path="/path" - admin="john" - is_public=1 - ; Checks - pkg_linter=1 - setup_sub_dir=1 - setup_root=1 - setup_nourl=0 - setup_private=1 - setup_public=1 - upgrade=1 - #1.14.5 - upgrade=1 from_commit=7ea357724f2371aa1173f15ba5a7502609a0a131 - upgrade=1 from_commit=bd3fe9a8467864391ffaf96426036ab731833f99 - backup_restore=1 - multi_instance=1 - incorrect_path=0 - port_already_use=1 (6000) - change_url=1 -;;; Upgrade options - ; commit=7ea357724f2371aa1173f15ba5a7502609a0a131 - name=1.14.5 - ; commit=bd3fe9a8467864391ffaf96426036ab731833f99 - name=Just after group permission support diff --git a/conf/app.ini b/conf/app.ini index af59428..681234f 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -1,37 +1,38 @@ -;https://github.com/gogits/gogs/blob/master/conf/app.ini +;https://github.com/go-gitea/gitea/blob/release/v1.20/custom/conf/app.example.ini APP_NAME = Gitea RUN_USER = __APP__ RUN_MODE = prod +WORK_PATH =__INSTALL_DIR__ [actions] -ENABLED = true +ENABLED = false [database] DB_TYPE = mysql HOST = 127.0.0.1:3306 -NAME = __DB_USER__ +NAME = __DB_NAME__ USER = __DB_USER__ -PASSWD = __DB_PASSWORD__ +PASSWD = __DB_PWD__ SSL_MODE = disable -PATH = data/gitea.db -LOG_SQL = false +PATH = data/gitea.db +LOG_SQL = false [repository] -ROOT = __REPOS_PATH__ +ROOT = __DATA_DIR__/repositories FORCE_PRIVATE = false [server] -DOMAIN = __DOMAIN__ -HTTP_PORT = __PORT__ -HTTP_ADDR = 127.0.0.1 -ROOT_URL = https://__DOMAIN____PATH_URL__ -DISABLE_SSH = false -SSH_PORT = __SSH_PORT__ +DOMAIN = __DOMAIN__ +HTTP_PORT = __PORT__ +HTTP_ADDR = 127.0.0.1 +ROOT_URL = https://__DOMAIN____PATH__ +DISABLE_SSH = false +SSH_PORT = __SSH_PORT__ OFFLINE_MODE = false -APP_DATA_PATH = __DATA_PATH__ +APP_DATA_PATH = __DATA_DIR__/data LANDING_PAGE = explore LFS_START_SERVER = true -LFS_JWT_SECRET = __LFS_KEY__ +LFS_JWT_SECRET = __LFS_JWT_SECRET__ [mailer] ENABLED = true @@ -42,27 +43,27 @@ FORCE_TRUST_SERVER_CERT = true [service] REGISTER_EMAIL_CONFIRM = false -ENABLE_NOTIFY_MAIL = true -DISABLE_REGISTRATION = true -ENABLE_CAPTCHA = false -REQUIRE_SIGNIN_VIEW = false -ENABLE_REVERSE_PROXY_AUTHENTICATION = true +ENABLE_NOTIFY_MAIL = true +DISABLE_REGISTRATION = true +ENABLE_CAPTCHA = false +REQUIRE_SIGNIN_VIEW = false +ENABLE_REVERSE_PROXY_AUTHENTICATION = true ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = true [picture] -AVATAR_UPLOAD_PATH = __DATA_PATH__/avatars +AVATAR_UPLOAD_PATH = __DATA_DIR__/data/avatars [attachment] -PATH = __DATA_PATH__/attachments +PATH = __DATA_DIR__/data/attachments [session] PROVIDER = memory [log] -MODE = file -LEVEL = Info +MODE = file +LEVEL = Info ROOT_PATH = /var/log/__APP__ -logger.access.MODE = +logger.access.MODE = logger.router.MODE = router logger.xorm.MODE = xorm @@ -71,6 +72,7 @@ MACARON = file [log.file] FILE_NAME = gitea.log +LEVEL = Warn [log.router] FILE_NAME = router.log @@ -82,6 +84,10 @@ LEVEL = Warn [security] INSTALL_LOCK = true -SECRET_KEY = __KEY__ +SECRET_KEY = __SECRET_KEY__ REVERSE_PROXY_AUTHENTICATION_USER = REMOTE-USER -REVERSE_PROXY_TRUSTED_PROXIES = 127.0.0.0/8,::1/128 +REVERSE_PROXY_TRUSTED_PROXIES = 127.0.0.0/8,::1/128 +INTERNAL_TOKEN = __INTERNAL_TOKEN__ + +[oauth2] +JWT_SECRET = __JWT_SECRET__ diff --git a/conf/gogs_migrations b/conf/gogs_migrations deleted file mode 100644 index 5e7a3c4..0000000 --- a/conf/gogs_migrations +++ /dev/null @@ -1,5 +0,0 @@ -/opt/$app -/home/$app -/var/log/$app -/etc/systemd/system/$app.service -/etc/nginx/conf.d/$domain.d/$app.conf diff --git a/conf/gogs_post_migration.sh b/conf/gogs_post_migration.sh deleted file mode 100644 index e4065ff..0000000 --- a/conf/gogs_post_migration.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/bash - -# Ending the migration process from Gogs to Gitea - -set -u - -#================================================= -# IMPORT GENERIC HELPERS -#================================================= - -source /usr/share/yunohost/helpers - -#================================================= -# SET VARIABLES -#================================================= - -old_app="__OLD_APP__" -new_app="__NEW_APP__" -script_name="$0" - -#================================================= -# DELETE OLD APP'S SETTINGS -#================================================= - -ynh_secure_remove --file="/etc/yunohost/apps/$old_app" -yunohost app ssowatconf - -#================================================= -# DELETE THIS SCRIPT -#================================================= - -echo "rm $script_name" | at now + 1 minutes diff --git a/conf/nginx.conf b/conf/nginx.conf index acafbce..d2214e7 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,6 +1,6 @@ #sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; location __PATH__/ { - proxy_pass http://localhost:__PORT__/; + proxy_pass http://127.0.0.1:__PORT__/; proxy_set_header Host $host; proxy_buffering off; client_max_body_size 200M; diff --git a/conf/source/arm.src b/conf/source/arm.src deleted file mode 100644 index 19cd59a..0000000 --- a/conf/source/arm.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.1/gitea-1.21.1-linux-arm-6 -SOURCE_SUM=a0ba97ba0fe65f5af5210dd173a86821e440188350dc3f7e61a07d1f4a4435a6 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64.src b/conf/source/arm64.src deleted file mode 100644 index 9259ecc..0000000 --- a/conf/source/arm64.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.1/gitea-1.21.1-linux-arm64 -SOURCE_SUM=4aefbf61eee72bdd25d073354a48b1252e351627757d7d8c8a9ba658fa7330ce -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.0.src b/conf/source/arm64_1.0.src deleted file mode 100644 index 3117a5d..0000000 --- a/conf/source/arm64_1.0.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.0.2/gitea-1.0.2-linux-arm64 -SOURCE_SUM=b13562f19c41602d2b4f1601931e9d150de8273682969c081a4a5029622eb8b3 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.1.src b/conf/source/arm64_1.1.src deleted file mode 100644 index dc6b942..0000000 --- a/conf/source/arm64_1.1.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.1.4/gitea-1.1.4-linux-arm64 -SOURCE_SUM=3f7a01669bbad671907942cece744f12390a37771fd8e1142afffeb9ee1f31f7 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.10.src b/conf/source/arm64_1.10.src deleted file mode 100644 index f7f45e4..0000000 --- a/conf/source/arm64_1.10.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.10.3/gitea-1.10.3-linux-arm64 -SOURCE_SUM=3a0b6470a205c6b9f19a8b31469728f29818c58dd17e85a81ac4a928ab9f9512 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.11.src b/conf/source/arm64_1.11.src deleted file mode 100644 index afc1f2f..0000000 --- a/conf/source/arm64_1.11.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.11.7/gitea-1.11.7-linux-arm64 -SOURCE_SUM=71bc3b41955461491ca3b1a1e4abeaf70dc0cbd15e43e59e2178514b8f1ef0f8 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.12.src b/conf/source/arm64_1.12.src deleted file mode 100644 index ce264f0..0000000 --- a/conf/source/arm64_1.12.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.12.6/gitea-1.12.6-linux-arm64 -SOURCE_SUM=b1e4620191d817b6d6975358c35197bf659bce04a5690bea2d1e6511054d0866 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.13.src b/conf/source/arm64_1.13.src deleted file mode 100644 index 2fbd874..0000000 --- a/conf/source/arm64_1.13.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.13.7/gitea-1.13.7-linux-arm64 -SOURCE_SUM=cae7529e75ccfb0e4f3270c197777f9dbdcf66a516d3b4e102d1e208ff9a0224 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.14.src b/conf/source/arm64_1.14.src deleted file mode 100644 index 9bf2c89..0000000 --- a/conf/source/arm64_1.14.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.14.6/gitea-1.14.6-linux-arm64 -SOURCE_SUM=d0e177368445748dcbfc3a082e2f1c68317d1490e11574224fb12ca01e91e15e -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.15.src b/conf/source/arm64_1.15.src deleted file mode 100644 index 13f65f7..0000000 --- a/conf/source/arm64_1.15.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.15.11/gitea-1.15.11-linux-arm64 -SOURCE_SUM=a41a702d24e463c44dbc57a30551938a5e4c9377995065aca07e9dfbb22d5afc -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.16.src b/conf/source/arm64_1.16.src deleted file mode 100644 index f686bfd..0000000 --- a/conf/source/arm64_1.16.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.16.9/gitea-1.16.9-linux-arm64 -SOURCE_SUM=c468cb92fee1fc917923fd2728449fb9da97e5e9e4322d531716b3c6571ceb20 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.17.src b/conf/source/arm64_1.17.src deleted file mode 100644 index d898a69..0000000 --- a/conf/source/arm64_1.17.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.17.4/gitea-1.17.4-linux-arm64 -SOURCE_SUM=f3d430855071ffe771fb2f28ddb47f25e99b5c2b6450d7c0225961a8d7baac71 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.18.src b/conf/source/arm64_1.18.src deleted file mode 100644 index 5963cc4..0000000 --- a/conf/source/arm64_1.18.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.18.5/gitea-1.18.5-linux-arm64 -SOURCE_SUM=0792eec1005588d7ddb3fa0263bfd0dd90aeef1ba9ef9a93be6a3e763328fbaf -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.19.src b/conf/source/arm64_1.19.src deleted file mode 100644 index 1bf1fdd..0000000 --- a/conf/source/arm64_1.19.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.19.4/gitea-1.19.4-linux-arm64 -SOURCE_SUM=db147f43fa523a1ff9c7ae3acee9cde48b1b04ef1ca415a6429c781078ce2568 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.2.src b/conf/source/arm64_1.2.src deleted file mode 100644 index 553ba66..0000000 --- a/conf/source/arm64_1.2.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.2.3/gitea-1.2.3-linux-arm64 -SOURCE_SUM=e779d43f2050c43138509a40540bdd4d16a11e8b76a6f66b447623ead6466fca -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.20.src b/conf/source/arm64_1.20.src deleted file mode 100644 index f71b680..0000000 --- a/conf/source/arm64_1.20.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.20.5/gitea-1.20.5-linux-arm64 -SOURCE_SUM=4ebd424505df2a88c9741e23408bd0329721b1d2539b589950de4f109196a43d -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.3.src b/conf/source/arm64_1.3.src deleted file mode 100644 index a0f3524..0000000 --- a/conf/source/arm64_1.3.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.3.3/gitea-1.3.3-linux-arm64 -SOURCE_SUM=348993e5fd119b6708b96a29067ddc41d8fefe4c0d5abf540d1e89e9886202ce -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.4.src b/conf/source/arm64_1.4.src deleted file mode 100644 index 9d9083e..0000000 --- a/conf/source/arm64_1.4.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.4.3/gitea-1.4.3-linux-arm64 -SOURCE_SUM=af6a55516b94f5bfb7a9744086bd92124e6cba8c3d610935e5fe4c8ba42427ef -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.5.src b/conf/source/arm64_1.5.src deleted file mode 100644 index 5bed656..0000000 --- a/conf/source/arm64_1.5.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.5.3/gitea-1.5.3-linux-arm64 -SOURCE_SUM=cdddf46e1711c7964cfd18b4ae37109d4865996b26426d4badaa78da969cfbae -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.6.src b/conf/source/arm64_1.6.src deleted file mode 100644 index 74a0d32..0000000 --- a/conf/source/arm64_1.6.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.6.4/gitea-1.6.4-linux-arm64 -SOURCE_SUM=30252ca0adf170e84f52499a502195ad762f4fdca941f40ded80292790eaa2d3 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.7.src b/conf/source/arm64_1.7.src deleted file mode 100644 index 31e6f82..0000000 --- a/conf/source/arm64_1.7.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.7.3/gitea-1.7.3-linux-arm64 -SOURCE_SUM=dc34250ddbcdf3096a7355db419fff615d7fd488e0336bec9bc880091f549c23 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.8.src b/conf/source/arm64_1.8.src deleted file mode 100644 index 2737a2e..0000000 --- a/conf/source/arm64_1.8.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.8.3/gitea-1.8.3-linux-arm64 -SOURCE_SUM=e3569745122a793dbf1e86940a00c8843c0c3022513a9d9004593823b9e6abe1 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm64_1.9.src b/conf/source/arm64_1.9.src deleted file mode 100644 index 1563e22..0000000 --- a/conf/source/arm64_1.9.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.9.6/gitea-1.9.6-linux-arm64 -SOURCE_SUM=f11e46fdca921e81255c4b052969e5c6085f24245e6e0da726c9627aaec78252 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.0.src b/conf/source/arm_1.0.src deleted file mode 100644 index fe6aee6..0000000 --- a/conf/source/arm_1.0.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.0.2/gitea-1.0.2-linux-arm-6 -SOURCE_SUM=d8cd551840b4b5620609eba92e810f4963b259d2809a34724e8fae7b1db00d91 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.1.src b/conf/source/arm_1.1.src deleted file mode 100644 index 9b8691d..0000000 --- a/conf/source/arm_1.1.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.1.4/gitea-1.1.4-linux-arm-6 -SOURCE_SUM=f39bce7927b363402d37774484a5d0c893ee55595175e3a4d14a12126bccdd80 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.10.src b/conf/source/arm_1.10.src deleted file mode 100644 index b0f51f2..0000000 --- a/conf/source/arm_1.10.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.10.3/gitea-1.10.3-linux-arm-6 -SOURCE_SUM=54ca0b8ca9f927c91c69c61da134738b66faf0be68e310f140e56c4f14fe7ecf -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.11.src b/conf/source/arm_1.11.src deleted file mode 100644 index 1a7b02d..0000000 --- a/conf/source/arm_1.11.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.11.7/gitea-1.11.7-linux-arm-6 -SOURCE_SUM=f106d1a846da7abfd8a7dbf20a5d9c60502e1ed034a31f5503f460dea4d0c77d -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.12.src b/conf/source/arm_1.12.src deleted file mode 100644 index 5e44f55..0000000 --- a/conf/source/arm_1.12.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.12.6/gitea-1.12.6-linux-arm-6 -SOURCE_SUM=116caba20b596886b03309df0e319a5885ee72e3740e62ac488e4e38f424ca88 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.13.src b/conf/source/arm_1.13.src deleted file mode 100644 index 91fd474..0000000 --- a/conf/source/arm_1.13.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.13.7/gitea-1.13.7-linux-arm-6 -SOURCE_SUM=ed4a0c39e1d68592210d5be78ef90125760f24cf1448fb864081265c93823ef7 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.14.src b/conf/source/arm_1.14.src deleted file mode 100644 index cb57028..0000000 --- a/conf/source/arm_1.14.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.14.6/gitea-1.14.6-linux-arm-6 -SOURCE_SUM=4c075c11ee6b89b6c436c94e47290cf7daeff2006bb7ca1fbe6f22db4482e16f -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.15.src b/conf/source/arm_1.15.src deleted file mode 100644 index 25f4ee1..0000000 --- a/conf/source/arm_1.15.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.15.11/gitea-1.15.11-linux-arm-6 -SOURCE_SUM=c60d364d8cb7e25b341cb7d9988cbc7b3485ff5aa994e021980dc47996a870f9 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.16.src b/conf/source/arm_1.16.src deleted file mode 100644 index 13945b8..0000000 --- a/conf/source/arm_1.16.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.16.9/gitea-1.16.9-linux-arm-6 -SOURCE_SUM=0f0af0169b17927db6e8fe8711ef40c139d366983653034d6601e27761c3aa2b -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.17.src b/conf/source/arm_1.17.src deleted file mode 100644 index f891578..0000000 --- a/conf/source/arm_1.17.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.17.4/gitea-1.17.4-linux-arm-6 -SOURCE_SUM=771abb512809d8ddbc12381c58b42cc9b2e3569101d9a6e42fdf9195c584bfc1 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.18.src b/conf/source/arm_1.18.src deleted file mode 100644 index 12cf10a..0000000 --- a/conf/source/arm_1.18.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.18.5/gitea-1.18.5-linux-arm-6 -SOURCE_SUM=1663a366a7ee2741bec0378c559df33643451d081882ed03ee6a6f0684d5766c -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.19.src b/conf/source/arm_1.19.src deleted file mode 100644 index 92b5a6d..0000000 --- a/conf/source/arm_1.19.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.19.4/gitea-1.19.4-linux-arm-6 -SOURCE_SUM=befb106cf527244fdb2c40e2493d6831d4863bc2d3fe8304b6a96336f4c7e916 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.2.src b/conf/source/arm_1.2.src deleted file mode 100644 index 6b5755d..0000000 --- a/conf/source/arm_1.2.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.2.3/gitea-1.2.3-linux-arm-6 -SOURCE_SUM=06023c75babee8c9d76cee2886890ae9fe82b84a0e723c11ef9fafe3c5ba9539 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.20.src b/conf/source/arm_1.20.src deleted file mode 100644 index 5aeddfc..0000000 --- a/conf/source/arm_1.20.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.20.5/gitea-1.20.5-linux-arm-6 -SOURCE_SUM=9d2312367c8cc06f85dc29d7a5901d32ef2128f182a343a0c30a84a8292781ab -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.3.src b/conf/source/arm_1.3.src deleted file mode 100644 index 22ad6a9..0000000 --- a/conf/source/arm_1.3.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.3.3/gitea-1.3.3-linux-arm-6 -SOURCE_SUM=b1b20d5905cd275b384da2a08d36ed0730801f23fb33df5c45302c9a6ec62dc6 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.4.src b/conf/source/arm_1.4.src deleted file mode 100644 index 2b3c5bd..0000000 --- a/conf/source/arm_1.4.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.4.3/gitea-1.4.3-linux-arm-6 -SOURCE_SUM=d7341bd9536dbc7b1c3935efe3b0b6be953b0c3f0390b9b794e8fd54d58fee5b -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.5.src b/conf/source/arm_1.5.src deleted file mode 100644 index 51d6bf6..0000000 --- a/conf/source/arm_1.5.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.5.3/gitea-1.5.3-linux-arm-6 -SOURCE_SUM=6d16b6bcc3cf804cc9b4e0e9ce3aa42e6699662f99998a06c25c7a43df64b0b6 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.6.src b/conf/source/arm_1.6.src deleted file mode 100644 index 3b74aca..0000000 --- a/conf/source/arm_1.6.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.6.4/gitea-1.6.4-linux-arm-6 -SOURCE_SUM=30bb6220cde6b35522bdaf5ffca0d2daba8a0eebee56e3f11cd40d3e5f8f5669 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.7.src b/conf/source/arm_1.7.src deleted file mode 100644 index 8f37252..0000000 --- a/conf/source/arm_1.7.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.7.3/gitea-1.7.3-linux-arm-6 -SOURCE_SUM=c38394be40634b0e1bd0fac0898474ff50e4535af610c12ee16ec3cabd2d4771 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.8.src b/conf/source/arm_1.8.src deleted file mode 100644 index d5005b9..0000000 --- a/conf/source/arm_1.8.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.8.3/gitea-1.8.3-linux-arm-6 -SOURCE_SUM=920b74ec10be323e5dc684fe3b5c3b157bf6f1d6cca0ee1c4f9693f766d1574d -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/arm_1.9.src b/conf/source/arm_1.9.src deleted file mode 100644 index d37b2e2..0000000 --- a/conf/source/arm_1.9.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.9.6/gitea-1.9.6-linux-arm-6 -SOURCE_SUM=b8f825d701d9205b529acfc9c311fd079af8f0b4ae9267b2dab5c12aee339c57 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7.src b/conf/source/armv7.src deleted file mode 100644 index 50ee11d..0000000 --- a/conf/source/armv7.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.1/gitea-1.21.1-linux-arm-6 -SOURCE_SUM=a0ba97ba0fe65f5af5210dd173a86821e440188350dc3f7e61a07d1f4a4435a6 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.0.src b/conf/source/armv7_1.0.src deleted file mode 100644 index 9d39570..0000000 --- a/conf/source/armv7_1.0.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.0.2/gitea-1.0.2-linux-arm-7 -SOURCE_SUM=1533c4b9142d89e3ac78ac9650a1f1507d24f9ac7afcdbe73c83ae5517c36165 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.1.src b/conf/source/armv7_1.1.src deleted file mode 100644 index 6b83741..0000000 --- a/conf/source/armv7_1.1.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.1.4/gitea-1.1.4-linux-arm-7 -SOURCE_SUM=3b66cbca2f6ad10c8323c3d35280d63d17e192ab5e4aaa7415f5048710c00705 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.10.src b/conf/source/armv7_1.10.src deleted file mode 100644 index 85e75ea..0000000 --- a/conf/source/armv7_1.10.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.10.3/gitea-1.10.3-linux-arm-6 -SOURCE_SUM=54ca0b8ca9f927c91c69c61da134738b66faf0be68e310f140e56c4f14fe7ecf -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.11.src b/conf/source/armv7_1.11.src deleted file mode 100644 index 52fa6b7..0000000 --- a/conf/source/armv7_1.11.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.11.7/gitea-1.11.7-linux-arm-6 -SOURCE_SUM=f106d1a846da7abfd8a7dbf20a5d9c60502e1ed034a31f5503f460dea4d0c77d -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.12.src b/conf/source/armv7_1.12.src deleted file mode 100644 index 00b1c14..0000000 --- a/conf/source/armv7_1.12.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.12.6/gitea-1.12.6-linux-arm-6 -SOURCE_SUM=116caba20b596886b03309df0e319a5885ee72e3740e62ac488e4e38f424ca88 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.13.src b/conf/source/armv7_1.13.src deleted file mode 100644 index dea7e9f..0000000 --- a/conf/source/armv7_1.13.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.13.7/gitea-1.13.7-linux-arm-6 -SOURCE_SUM=ed4a0c39e1d68592210d5be78ef90125760f24cf1448fb864081265c93823ef7 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.14.src b/conf/source/armv7_1.14.src deleted file mode 100644 index bd3cdc1..0000000 --- a/conf/source/armv7_1.14.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.14.6/gitea-1.14.6-linux-arm-6 -SOURCE_SUM=4c075c11ee6b89b6c436c94e47290cf7daeff2006bb7ca1fbe6f22db4482e16f -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.15.src b/conf/source/armv7_1.15.src deleted file mode 100644 index 3c2672e..0000000 --- a/conf/source/armv7_1.15.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.15.11/gitea-1.15.11-linux-arm-6 -SOURCE_SUM=c60d364d8cb7e25b341cb7d9988cbc7b3485ff5aa994e021980dc47996a870f9 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.16.src b/conf/source/armv7_1.16.src deleted file mode 100644 index 440a26a..0000000 --- a/conf/source/armv7_1.16.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.16.9/gitea-1.16.9-linux-arm-6 -SOURCE_SUM=0f0af0169b17927db6e8fe8711ef40c139d366983653034d6601e27761c3aa2b -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.17.src b/conf/source/armv7_1.17.src deleted file mode 100644 index a2a0daa..0000000 --- a/conf/source/armv7_1.17.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.17.4/gitea-1.17.4-linux-arm-6 -SOURCE_SUM=771abb512809d8ddbc12381c58b42cc9b2e3569101d9a6e42fdf9195c584bfc1 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.18.src b/conf/source/armv7_1.18.src deleted file mode 100644 index cfdf794..0000000 --- a/conf/source/armv7_1.18.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.18.5/gitea-1.18.5-linux-arm-6 -SOURCE_SUM=1663a366a7ee2741bec0378c559df33643451d081882ed03ee6a6f0684d5766c -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.19.src b/conf/source/armv7_1.19.src deleted file mode 100644 index b61a10f..0000000 --- a/conf/source/armv7_1.19.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.19.4/gitea-1.19.4-linux-arm-6 -SOURCE_SUM=befb106cf527244fdb2c40e2493d6831d4863bc2d3fe8304b6a96336f4c7e916 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.2.src b/conf/source/armv7_1.2.src deleted file mode 100644 index 63fe266..0000000 --- a/conf/source/armv7_1.2.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.2.3/gitea-1.2.3-linux-arm-7 -SOURCE_SUM=92a1a6fccae6d9382dccee90223457850124a8a9e9505401a04f507b8a90c1dd -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.20.src b/conf/source/armv7_1.20.src deleted file mode 100644 index f107b3f..0000000 --- a/conf/source/armv7_1.20.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.20.5/gitea-1.20.5-linux-arm-6 -SOURCE_SUM=9d2312367c8cc06f85dc29d7a5901d32ef2128f182a343a0c30a84a8292781ab -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.3.src b/conf/source/armv7_1.3.src deleted file mode 100644 index f5dd751..0000000 --- a/conf/source/armv7_1.3.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.3.3/gitea-1.3.3-linux-arm-7 -SOURCE_SUM=1f52cbaf97ca70cf6db5c152f6cff7921e9b066ffbe21ee4015616946c9d4251 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.4.src b/conf/source/armv7_1.4.src deleted file mode 100644 index 7849e95..0000000 --- a/conf/source/armv7_1.4.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.4.3/gitea-1.4.3-linux-arm-7 -SOURCE_SUM=2a93d7a09f0f9b999651f156a4c0c65a1d4da0c75a68a13bdd0b920082d514de -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.5.src b/conf/source/armv7_1.5.src deleted file mode 100644 index 7d7c476..0000000 --- a/conf/source/armv7_1.5.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.5.3/gitea-1.5.3-linux-arm-7 -SOURCE_SUM=eb939edb6cdc46702109410f38e358cc572564307e619c4798b6b8b99d6ec7e5 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.6.src b/conf/source/armv7_1.6.src deleted file mode 100644 index 100a3b3..0000000 --- a/conf/source/armv7_1.6.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.6.4/gitea-1.6.4-linux-arm-7 -SOURCE_SUM=e78d31922e42ccaaf6566f32e249fb6ba4af2876102c6248b3ba32d051e69327 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.7.src b/conf/source/armv7_1.7.src deleted file mode 100644 index 5eb2360..0000000 --- a/conf/source/armv7_1.7.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.7.3/gitea-1.7.3-linux-arm-7 -SOURCE_SUM=fd4ba028a30eb2fac1f8570fd3f6157f0c46c21992a2062dd7a6751cc8a47f2f -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.8.src b/conf/source/armv7_1.8.src deleted file mode 100644 index 918684d..0000000 --- a/conf/source/armv7_1.8.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.8.3/gitea-1.8.3-linux-arm-6 -SOURCE_SUM=920b74ec10be323e5dc684fe3b5c3b157bf6f1d6cca0ee1c4f9693f766d1574d -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/armv7_1.9.src b/conf/source/armv7_1.9.src deleted file mode 100644 index c9117cf..0000000 --- a/conf/source/armv7_1.9.src +++ /dev/null @@ -1,8 +0,0 @@ -# The armv7 build is brocken -# See : https://github.com/go-gitea/gitea/issues/6700 -# Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.9.6/gitea-1.9.6-linux-arm-6 -SOURCE_SUM=b8f825d701d9205b529acfc9c311fd079af8f0b4ae9267b2dab5c12aee339c57 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386.src b/conf/source/i386.src deleted file mode 100644 index 78757fc..0000000 --- a/conf/source/i386.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.1/gitea-1.21.1-linux-386 -SOURCE_SUM=519b905c705a15f4da1fc0f853ff2e9f5b1a469095e3bdaf8236569cad2cd0ba -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.0.src b/conf/source/i386_1.0.src deleted file mode 100644 index 2ca0757..0000000 --- a/conf/source/i386_1.0.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.0.2/gitea-1.0.2-linux-386 -SOURCE_SUM=966840c7b815662332c3785a65685bed08c8eab508b8af0fe41307b5ebce8399 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.1.src b/conf/source/i386_1.1.src deleted file mode 100644 index 80a2235..0000000 --- a/conf/source/i386_1.1.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.1.4/gitea-1.1.4-linux-386 -SOURCE_SUM=d3fc91e4da9282abc2785bb96d1d805c85ae0a253228c2277e21fb332946c0fe -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.10.src b/conf/source/i386_1.10.src deleted file mode 100644 index 8bd8a32..0000000 --- a/conf/source/i386_1.10.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.10.3/gitea-1.10.3-linux-386 -SOURCE_SUM=829946f7ba6fced84d42718039db4be4371e10a3166f44ee22c9bfee35747954 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.11.src b/conf/source/i386_1.11.src deleted file mode 100644 index 5c466c2..0000000 --- a/conf/source/i386_1.11.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.11.7/gitea-1.11.7-linux-386 -SOURCE_SUM=e176c650ab1dd9735014e5a2c29f15585b988ead9d800d02763e0f4adf283496 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.12.src b/conf/source/i386_1.12.src deleted file mode 100644 index 97ff451..0000000 --- a/conf/source/i386_1.12.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.12.6/gitea-1.12.6-linux-386 -SOURCE_SUM=de287e912b32b0617e538f4c9c8d263fc16b5e2ba0b76ea9ab018011e9943316 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.13.src b/conf/source/i386_1.13.src deleted file mode 100644 index a226815..0000000 --- a/conf/source/i386_1.13.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.13.7/gitea-1.13.7-linux-386 -SOURCE_SUM=927710a470af5f5ebab55bb3e4a0994f5832942c1c618e288226b57634232ec4 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.14.src b/conf/source/i386_1.14.src deleted file mode 100644 index b9868bd..0000000 --- a/conf/source/i386_1.14.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.14.6/gitea-1.14.6-linux-386 -SOURCE_SUM=1a3382eb4faf60a5f5c590843f8e7cd1f7d0e78e99fe2511f86368340c0cfe2e -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.15.src b/conf/source/i386_1.15.src deleted file mode 100644 index 53f0004..0000000 --- a/conf/source/i386_1.15.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.15.11/gitea-1.15.11-linux-386 -SOURCE_SUM=bad15648236e8da71de1a09b9fe0f21d955605c3aba92f6bcf7dc1f490791a8d -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.16.src b/conf/source/i386_1.16.src deleted file mode 100644 index ac697d4..0000000 --- a/conf/source/i386_1.16.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.16.9/gitea-1.16.9-linux-386 -SOURCE_SUM=de40bf7cd20fe42f0d32bfc7401480cec7e1496297cb726acc94afd9d190bf9f -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.17.src b/conf/source/i386_1.17.src deleted file mode 100644 index b768e97..0000000 --- a/conf/source/i386_1.17.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.17.4/gitea-1.17.4-linux-386 -SOURCE_SUM=f18ebd43e87de83b681149e1802e0650fa29b6e25c4f6e1625899c6709706db3 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.18.src b/conf/source/i386_1.18.src deleted file mode 100644 index 2f7c738..0000000 --- a/conf/source/i386_1.18.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.18.5/gitea-1.18.5-linux-386 -SOURCE_SUM=0fab5fafa55370593ccaf1be2833cff95834ea006502112189973d229893b50c -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.19.src b/conf/source/i386_1.19.src deleted file mode 100644 index 11a39fe..0000000 --- a/conf/source/i386_1.19.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.19.4/gitea-1.19.4-linux-386 -SOURCE_SUM=70fe6293587d467b8c31d8ab18d8b3abb603bb7a72b7cd90839e84a155cb89b5 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.2.src b/conf/source/i386_1.2.src deleted file mode 100644 index d80179c..0000000 --- a/conf/source/i386_1.2.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.2.3/gitea-1.2.3-linux-386 -SOURCE_SUM=a8593c5e908c7e6c26620d45122d017e38441e915a4ea472543251772dc5a6d9 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.20.src b/conf/source/i386_1.20.src deleted file mode 100644 index e167ee0..0000000 --- a/conf/source/i386_1.20.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.20.5/gitea-1.20.5-linux-386 -SOURCE_SUM=2a0dff4c14d7d08008feb009284cc10599a0c19090b0b6d82d57d8ca87e53f12 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.3.src b/conf/source/i386_1.3.src deleted file mode 100644 index aa33a24..0000000 --- a/conf/source/i386_1.3.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.3.3/gitea-1.3.3-linux-386 -SOURCE_SUM=1b746cccffca446876ccc71efe328699f002622dab1d438e2142c8d7c23a22d7 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.4.src b/conf/source/i386_1.4.src deleted file mode 100644 index 61dd883..0000000 --- a/conf/source/i386_1.4.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.4.3/gitea-1.4.3-linux-386 -SOURCE_SUM=760dda6f1cd76aa705915686a1d18837af3c4d912f731d1399048409a46ed2ea -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.5.src b/conf/source/i386_1.5.src deleted file mode 100644 index a8b9d00..0000000 --- a/conf/source/i386_1.5.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.5.3/gitea-1.5.3-linux-386 -SOURCE_SUM=292ef977c46b15650a68782666710bc3379bb4b22a3ae2cae761724569ca5857 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.6.src b/conf/source/i386_1.6.src deleted file mode 100644 index eabb1f5..0000000 --- a/conf/source/i386_1.6.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.6.4/gitea-1.6.4-linux-386 -SOURCE_SUM=1ccdca624582fbfb8c2b0a819b63b33e7b05a2d355bb4527cc55a6e367d5765d -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.7.src b/conf/source/i386_1.7.src deleted file mode 100644 index 2fcf64e..0000000 --- a/conf/source/i386_1.7.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.7.3/gitea-1.7.3-linux-386 -SOURCE_SUM=a420bccb17e6e1c317c014475ce5a5bf8091da123cc55b0569660ae43ababf44 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.8.src b/conf/source/i386_1.8.src deleted file mode 100644 index 256641b..0000000 --- a/conf/source/i386_1.8.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.8.3/gitea-1.8.3-linux-386 -SOURCE_SUM=e58f4a88b01a4880f97ae32a92e869d978a434a9a876c6a3f4e4a5721e8c4bd6 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/i386_1.9.src b/conf/source/i386_1.9.src deleted file mode 100644 index 1be81ce..0000000 --- a/conf/source/i386_1.9.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.9.6/gitea-1.9.6-linux-386 -SOURCE_SUM=0cd6db19ea9268633ba17d5a6d7d4c6cc01b79b1dc4a39e16fda110b4f5f5569 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64.src b/conf/source/x86-64.src deleted file mode 100644 index 43b77ee..0000000 --- a/conf/source/x86-64.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.1/gitea-1.21.1-linux-amd64 -SOURCE_SUM=586b1b0df6940e847600625850ee7d766f103dc3341c1b4abfc269db57c5d826 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.0.src b/conf/source/x86-64_1.0.src deleted file mode 100644 index 134b97f..0000000 --- a/conf/source/x86-64_1.0.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.0.2/gitea-1.0.2-linux-amd64 -SOURCE_SUM=02ed9a3bb7bcd1c8f3d8888e51a0887b3c0f44b2a80d50c99f9e407e457545ab -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.1.src b/conf/source/x86-64_1.1.src deleted file mode 100644 index 00da3ab..0000000 --- a/conf/source/x86-64_1.1.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.1.4/gitea-1.1.4-linux-amd64 -SOURCE_SUM=1d8804ff7bed26464d61115b9d88ead8a7a7937ceed66fd0bfaceecd4be41274 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.10.src b/conf/source/x86-64_1.10.src deleted file mode 100644 index 1594b3a..0000000 --- a/conf/source/x86-64_1.10.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.10.3/gitea-1.10.3-linux-amd64 -SOURCE_SUM=e4e393da9f3dbcc6b200a58c0ba8c19ef02346ca24d6b273748b8346313053d0 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.11.src b/conf/source/x86-64_1.11.src deleted file mode 100644 index 6e5dee4..0000000 --- a/conf/source/x86-64_1.11.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.11.7/gitea-1.11.7-linux-amd64 -SOURCE_SUM=9261c23b0063132eba61f995561d3a1e76eabfadd7370f8dea2989180c36e2ff -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.12.src b/conf/source/x86-64_1.12.src deleted file mode 100644 index 477a46a..0000000 --- a/conf/source/x86-64_1.12.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.12.6/gitea-1.12.6-linux-amd64 -SOURCE_SUM=74417bc8e950b685de79c3a39655029f28d27c99e94adbe83c0ec22325d8771f -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.13.src b/conf/source/x86-64_1.13.src deleted file mode 100644 index eddcf5a..0000000 --- a/conf/source/x86-64_1.13.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.13.7/gitea-1.13.7-linux-amd64 -SOURCE_SUM=f1c0d3368d49f544183ec799005e7149fa566e3fd6eca1091d67d75b3f89f716 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.14.src b/conf/source/x86-64_1.14.src deleted file mode 100644 index be76bd3..0000000 --- a/conf/source/x86-64_1.14.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.14.6/gitea-1.14.6-linux-amd64 -SOURCE_SUM=20cc0a89421695320b077c9fe4f16996f03aaf9d24f661f8d2255794551c849b -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.15.src b/conf/source/x86-64_1.15.src deleted file mode 100644 index b647844..0000000 --- a/conf/source/x86-64_1.15.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.15.11/gitea-1.15.11-linux-amd64 -SOURCE_SUM=e2f62b67c311116fbf8e52b4c162dbd7684ce9c7f0370642c1d402fece43aa8f -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.16.src b/conf/source/x86-64_1.16.src deleted file mode 100644 index ee599d3..0000000 --- a/conf/source/x86-64_1.16.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.16.9/gitea-1.16.9-linux-amd64 -SOURCE_SUM=821dd30afed9ae42b18e727174b078ea9118a6ccc5106d8246bebf8180fcbef3 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.17.src b/conf/source/x86-64_1.17.src deleted file mode 100644 index 7a35e99..0000000 --- a/conf/source/x86-64_1.17.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.17.4/gitea-1.17.4-linux-amd64 -SOURCE_SUM=a720c1e87748e4fc5e37f4079ad0f8369d3c6d63e274856eb04201857c98ca2b -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.18.src b/conf/source/x86-64_1.18.src deleted file mode 100644 index 682d51a..0000000 --- a/conf/source/x86-64_1.18.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.18.5/gitea-1.18.5-linux-amd64 -SOURCE_SUM=4766ad9310bd39d50676f8199563292ae0bab3a1922b461ece0feb4611e867f2 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.19.src b/conf/source/x86-64_1.19.src deleted file mode 100644 index 21b743f..0000000 --- a/conf/source/x86-64_1.19.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.19.4/gitea-1.19.4-linux-amd64 -SOURCE_SUM=bf68e8e39c70dc54a7876527d463b517f8af51a2d2924511cd047f479cd8aefd -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.2.src b/conf/source/x86-64_1.2.src deleted file mode 100644 index faba5e0..0000000 --- a/conf/source/x86-64_1.2.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.2.3/gitea-1.2.3-linux-amd64 -SOURCE_SUM=bc71b6005617700c9b5654ddf5649aa9ee28dc2344d84254ddeb2678f4d44809 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.20.src b/conf/source/x86-64_1.20.src deleted file mode 100644 index 78b492d..0000000 --- a/conf/source/x86-64_1.20.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.20.5/gitea-1.20.5-linux-amd64 -SOURCE_SUM=ae8d21f36098a62272fcfa67ecbb567d0ba6cf5aecaaab29a6b98a407d435bdf -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.3.src b/conf/source/x86-64_1.3.src deleted file mode 100644 index 3cfdf88..0000000 --- a/conf/source/x86-64_1.3.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.3.3/gitea-1.3.3-linux-amd64 -SOURCE_SUM=4f37b280eb9dcde7820e801e51ca07682faee703c220548da2f8aa9b6adb5231 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.4.src b/conf/source/x86-64_1.4.src deleted file mode 100644 index b493a9e..0000000 --- a/conf/source/x86-64_1.4.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.4.3/gitea-1.4.3-linux-amd64 -SOURCE_SUM=fe60fca294baa24fe4862bbcfe29c92d5a8a883a48aadb80f3a1270cf5de9bd4 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.5.src b/conf/source/x86-64_1.5.src deleted file mode 100644 index 9b20d7b..0000000 --- a/conf/source/x86-64_1.5.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.5.3/gitea-1.5.3-linux-amd64 -SOURCE_SUM=f84eb0b77b47d88b16b1de6ca443dab4a77e940835748d309956052887b9c507 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.6.src b/conf/source/x86-64_1.6.src deleted file mode 100644 index 8ea4b91..0000000 --- a/conf/source/x86-64_1.6.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.6.4/gitea-1.6.4-linux-amd64 -SOURCE_SUM=e9508e04688e9840708c341125b47b43a2c12cad52185be4b7b6cf7a2fb8bb71 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.7.src b/conf/source/x86-64_1.7.src deleted file mode 100644 index ce97cc3..0000000 --- a/conf/source/x86-64_1.7.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.7.3/gitea-1.7.3-linux-amd64 -SOURCE_SUM=49b733a3272dc49cb869c1ba9624a9880168f27b8112197d0c7fa32411dbf625 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.8.src b/conf/source/x86-64_1.8.src deleted file mode 100644 index d5d2530..0000000 --- a/conf/source/x86-64_1.8.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.8.3/gitea-1.8.3-linux-amd64 -SOURCE_SUM=7bb28b21cce4bdf0a24e6f6b21c064afa56d84904052dd55afdf59c419d49988 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/source/x86-64_1.9.src b/conf/source/x86-64_1.9.src deleted file mode 100644 index 18bfb1e..0000000 --- a/conf/source/x86-64_1.9.src +++ /dev/null @@ -1,5 +0,0 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.9.6/gitea-1.9.6-linux-amd64 -SOURCE_SUM=8080c6469fb1dd7e24995bedf927185f6abb57215c043dc8d7fb0cba113c3735 -SOURCE_SUM_PRG=sha256sum -SOURCE_FILENAME=gitea -SOURCE_EXTRACT=false diff --git a/conf/systemd.service b/conf/systemd.service index 3dcae38..df40ea2 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -16,12 +16,12 @@ Type=simple User=__APP__ Group=__APP__ WorkingDirectory=/home/yunohost.app/__APP__ -ExecStart=/opt/__APP__/gitea web +ExecStart=__INSTALL_DIR__/gitea web Restart=always Environment=USER=__APP__ HOME=/home/yunohost.app/__APP__ # Sandboxing options to harden security -# Depending on specificities of your service/app, you may need to tweak these +# Depending on specificities of your service/app, you may need to tweak these # .. but this should be a good baseline # Details for these options: https://www.freedesktop.org/software/systemd/man/systemd.exec.html NoNewPrivileges=yes @@ -48,7 +48,7 @@ CapabilityBoundingSet=~CAP_BLOCK_SUSPEND CAP_WAKE_ALARM CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG CapabilityBoundingSet=~CAP_MAC_ADMIN CAP_MAC_OVERRIDE CapabilityBoundingSet=~CAP_NET_ADMIN CAP_NET_BROADCAST CAP_NET_RAW -CapabilityBoundingSet=~CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_SYSLOG +CapabilityBoundingSet=~CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_SYSLOG [Install] WantedBy=multi-user.target diff --git a/doc/DISCLAIMER.md b/doc/ADMIN.md similarity index 50% rename from doc/DISCLAIMER.md rename to doc/ADMIN.md index 018329f..14f1bed 100644 --- a/doc/DISCLAIMER.md +++ b/doc/ADMIN.md @@ -1,8 +1,14 @@ -## Additional informations +## Git access -### Notes on SSH usage +### Via HTTPS -If you want to use Gitea with SSH and be able to pull/push with your SSH key, your SSH daemon must be properly configured to use private/public keys. Here is a sample configuration `/etc/ssh/sshd_config` that works with Gitea: +If you want to use git repositories with `https` remotes, you need to set this app as **public**. + +### Via SSH + +If you want to use Gitea with SSH and be able to pull/push with your SSH key, your SSH daemon must be properly configured to use private/public keys. + +Here is a sample configuration `/etc/ssh/sshd_config` that works with Gitea: ```bash PubkeyAuthentication yes @@ -17,61 +23,71 @@ You must also add your public key to your Gitea profile. When using SSH on any port other than 22, you need to add these lines to your SSH configuration `~/.ssh/config`: ```bash -Host domain.tld +Host __DOMAIN__ port 2222 # change this with the port you use ``` -### Upgrade +## LFS setup -By default, a backup is performed before upgrading. To avoid this, you have the following options: -- Pass the `NO_BACKUP_UPGRADE` env variable with `1` at each upgrade. For example `NO_BACKUP_UPGRADE=1 yunohost app upgrade gitea`. -- Set `disable_backup_before_upgrade` to `1`. You can set it with this command: - -`yunohost app setting gitea disable_backup_before_upgrade -v 1` - -After that, the settings will be applied for **all** the next updates. - -From command line: - -`yunohost app upgrade gitea` - -### Backup - -This application now uses the core-only feature of the backup. To keep the integrity of the data and to have a better guarantee of the restoration it is recommended to proceed as follows: - -- Stop Gitea service with this command: - -`systemctl stop gitea.service` - -- Launch Gitea backup with this command: - -`yunohost backup create --app gitea` - -- Backup your data with your specific strategy (could be with rsync, borg backup or just cp). The data is generally stored in `/home/yunohost.app/gitea`. -- Restart Gitea service with theses command: - -`systemctl start gitea.service` - -### Remove - -Due of the backup core only feature the data directory in `/home/yunohost.app/gitea` **is not removed**. It must be manually deleted to purge user data from the app. - -### LFS setup -To use a repository with an `LFS` setup, you need to activate it on `/opt/gitea/custom/conf/app.ini` +To use a repository with an `LFS` setup, you need to activate it on `__INSTALL_DIR__/custom/conf/app.ini` ```ini [server] LFS_START_SERVER = true LFS_HTTP_AUTH_EXPIRY = 20m ``` -By default, NGINX is configured with a maximum value for uploading files at 200 MB. It's possible to change this value on `/etc/nginx/conf.d/my.domain.tld.d/gitea.conf`. -``` + +By default, NGINX is configured with a maximum value for uploading files at 200 MB. It's possible to change this value on `/etc/nginx/conf.d/__DOMAIN__.d/__APP__.conf`. + +```nginx client_max_body_size 200M; ``` -Don't forget to restart Gitea `sudo systemctl restart gitea.service`. + +Don't forget to restart Gitea: + +```bash +sudo systemctl restart __APP__.service`. +``` > These settings are restored to the default configuration when updating Gitea. Remember to restore your configuration after all updates. -### Git command access with HTTPS +## Upgrade -If you want to use the Git command (like `git clone`, `git pull`, `git push`), you need to set this app as **public**. +From command line: + +```bash +yunohost app upgrade __APP__ +``` + +If you want to bypass the safety backup before upgrading, run: + +```bash +yunohost app upgrade --no-safety-backup __APP__ +``` + +## Backup + +This application now uses the core-only feature of the backup. To keep the integrity of the data and to have a better guarantee of the restoration it is recommended to proceed as follows: + +- Stop Gitea service: + +```bash +systemctl stop __APP__.service +``` + +- Launch Gitea backup: + +```bash +yunohost backup create --app __APP__ +``` + +- Backup your data with your specific strategy (could be with rsync, borg backup or just cp). The data is generally stored in `/home/yunohost.app/__APP__`. +- Restart Gitea service: + +```bash +systemctl stop __APP__.service +``` + +## Remove + +Due of the backup core only feature the data directory in `/home/yunohost.app/__APP__` **is not removed**. It must be manually deleted to purge user data from the app. diff --git a/manifest.json b/manifest.json deleted file mode 100644 index 3cfa290..0000000 --- a/manifest.json +++ /dev/null @@ -1,60 +0,0 @@ -{ - "name": "Gitea", - "id": "gitea", - "packaging_format": 1, - "description": { - "en": "Lightweight Git forge", - "fr": "Forge Git légère" - }, - "upstream": { - "license": "MIT", - "website": "https://gitea.io/", - "admindoc": "https://docs.gitea.io/", - "code": "https://github.com/go-gitea/gitea" - }, - "url": "http://gitea.io", - "license": "MIT", - "version": "1.21.1~ynh1", - "maintainer": { - "name": "Josué Tille", - "email": "josue@tille.ch" - }, - "previous_maintainers": { - "name": "rafi59", - "email": "rafi59_dev@srvmaison.fr.nf" - }, - "multi_instance": true, - "services": [ - "nginx", - "mysql" - ], - "requirements": { - "yunohost": ">= 11.2.0" - }, - "arguments": { - "install" : [ - { - "name": "domain", - "type": "domain" - }, - { - "name": "path", - "type": "path", - "default": "/gitea" - }, - { - "name": "admin", - "type": "user" - }, - { - "name": "is_public", - "type": "boolean", - "help": { - "en": "A public server means that everybody is able to access to the main page of the forge, on the public profile of the user and on the public repository. But you still can limit the access to each repository if you set it as private. Note that to be able to use the remote Git command (clone, pull, push) with HTTP and to use the API by (by example with a smartphone), you need to set this application as public.", - "fr": "Un serveur public signifie que tout le monde peut accéder à la page principale de la forge, au profil public des utilisateurs et aux dépôts publics. Vous pouvez également définir les dépôts comme étant privés. Notez que pour pouvoir utiliser les commandes Git distantes (clone, pull, push) avec HTTP et pour pouvoir utiliser l'API (par exemple avec un smartphone), vous devez paramétrer cette application comme étant publique." - }, - "default": true - } - ] - } -} diff --git a/manifest.toml b/manifest.toml new file mode 100644 index 0000000..8fc9d3b --- /dev/null +++ b/manifest.toml @@ -0,0 +1,96 @@ +#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/manifest.v2.schema.json + +packaging_format = 2 + +id = "gitea" +name = "Gitea" +description.en = "Lightweight Git forge" +description.fr = "Forge Git légère" + +version = "1.21.1~ynh1" + +maintainers = ["Josué Tille"] +# previous_maintainers = [ +# "rafi59" +# ] + +[upstream] +license = "MIT" +website = "https://gitea.io/" +admindoc = "https://docs.gitea.io/" +code = "https://github.com/go-gitea/gitea" +cpe = "cpe:2.3:a:gitea:gitea" +fund = "https://opencollective.com/gitea" + +[integration] +yunohost = ">= 11.2" +architectures = [ + "amd64", + "i386", + "armhf", + "arm64" +] +multi_instance = true +ldap = true +sso = false +disk = "120M" +ram.build = "100M" +ram.runtime = "100M" + +[install] + [install.domain] + type = "domain" + + [install.path] + type = "path" + default = "/gitea" + + [install.admin] + type = "user" + + [install.init_main_permission] + help.en = "Gitea should be visible by visitors to use git via HTTP and to use the API. You can still set repositories as private individually." + help.fr = "Gitea doit être visible par les visiteurs pour utiliser git via HTTP et utiliser l'API. Vous pouvez toujours rendre les dépôts privés individuellement." + type = "group" + default = "visitors" + +[resources] + + [resources.sources] + [resources.sources.main] + format = "whatever" + extract = false + rename = "gitea" + + armhf.url = "https://github.com/go-gitea/gitea/releases/download/v1.21.1/gitea-1.21.1-linux-arm-6" + armhf.sha256 = "a0ba97ba0fe65f5af5210dd173a86821e440188350dc3f7e61a07d1f4a4435a6" + arm64.url = "https://github.com/go-gitea/gitea/releases/download/v1.21.1/gitea-1.21.1-linux-arm64" + arm64.sha256 = "4aefbf61eee72bdd25d073354a48b1252e351627757d7d8c8a9ba658fa7330ce" + i386.url = "https://github.com/go-gitea/gitea/releases/download/v1.21.1/gitea-1.21.1-linux-386" + i386.sha256 = "519b905c705a15f4da1fc0f853ff2e9f5b1a469095e3bdaf8236569cad2cd0ba" + amd64.url = "https://github.com/go-gitea/gitea/releases/download/v1.21.1/gitea-1.21.1-linux-amd64" + amd64.sha256 = "586b1b0df6940e847600625850ee7d766f103dc3341c1b4abfc269db57c5d826" + + [resources.system_user] + # Hard-coded... + home = "/home/yunohost.app/__APP__" + allow_ssh = true + allow_email = true + + [resources.install_dir] + + [resources.data_dir] + + [resources.permissions] + main.url = "/" + + [resources.ports] + main.default = 6000 + + [resources.apt] + packages = [ + "mariadb-server" + ] + + [resources.database] + type = "mysql" diff --git a/scripts/_common.sh b/scripts/_common.sh index 45b115d..74b131b 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -1,70 +1,63 @@ -#================================================= -# SET ALL CONSTANTS -#================================================= - -app=$YNH_APP_INSTANCE_NAME -dbname=$app -db_user=$app -final_path="/opt/$app" -datadir="/home/yunohost.app/$app" -repos_path="$datadir/repositories" -data_path="$datadir/data" -ssh_path="$datadir/.ssh" - -# Detect the system architecture to download the right tarball -# NOTE: `uname -m` is more accurate and universal than `arch` -# See https://en.wikipedia.org/wiki/Uname -if [ -n "$(uname -m | grep arm64)" ] || [ -n "$(uname -m | grep aarch64)" ]; then - architecture="arm64" -elif [ -n "$(uname -m | grep 64)" ]; then - architecture="x86-64" -elif [ -n "$(uname -m | grep 86)" ]; then - architecture="i386" -elif [ -n "$(uname -m | grep armv7)" ]; then - architecture="armv7" -elif [ -n "$(uname -m | grep arm)" ]; then - architecture="arm" -else - ynh_die --message "Unable to detect your achitecture, please open a bug describing \ - your hardware and the result of the command \"uname -m\"." 1 -fi +#!/bin/bash #================================================= # DEFINE ALL COMMON FONCTIONS #================================================= -create_dir() { - mkdir -p "$final_path/data" - mkdir -p "$final_path/custom/conf" - mkdir -p "$ssh_path" - mkdir -p "$repos_path" - mkdir -p "$data_path/avatars" - mkdir -p "$data_path/attachments" +_gitea_mkdirs() { + mkdir -p "$install_dir/data" + mkdir -p "$install_dir/custom/conf" + _gitea_permissions_install_dir + + mkdir -p "$data_dir/.ssh" + mkdir -p "$data_dir/repositories" + mkdir -p "$data_dir/data/avatars" + mkdir -p "$data_dir/data/attachments" + chown -R "$app:$app" "$data_dir" + chmod -R u=rwX,g=rX,o= "$data_dir" + chmod -R u=rwx,g=,o= "$data_dir/.ssh" + mkdir -p "/var/log/$app" + touch "/var/log/$app/gitea.log" + chown -R "$app:$app" "/var/log/$app" + chmod -R u=rwX,g=rX,o= "/var/log/$app" } -config_nginx() { - if [ "$path_url" != "/" ] - then - ynh_replace_string --match_string "^#sub_path_only" --replace_string "" --target_file "../conf/nginx.conf" +_gitea_permissions_install_dir() { + chown -R "$app:$app" "$install_dir" + chmod -R u=rwX,g=rX,o= "$install_dir" +} + +_gitea_set_secrets() { + if [[ -z "${internal_token:-}" ]]; then + internal_token=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret INTERNAL_TOKEN) + ynh_app_setting_set --app "$app" --key internal_token --value="$internal_token" + fi + + if [[ -z "${secret_key:-}" ]]; then + secret_key=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret SECRET_KEY) + ynh_app_setting_set --app "$app" --key secret_key --value="$secret_key" + fi + + if [[ -z "${jwt_secret:-}" ]]; then + jwt_secret=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET) + ynh_app_setting_set --app "$app" --key jwt_secret --value="$jwt_secret" + fi + + if [[ -n "${lfs_key:-}" ]]; then + # Migration + lfs_jwt_secret="$lfs_key" + ynh_app_setting_delete --app "$app" --key lfs_key + ynh_app_setting_set --app "$app" --key lfs_jwt_secret --value="$lfs_jwt_secret" + fi + + if [[ -z "${lfs_jwt_secret:-}" ]]; then + lfs_jwt_secret=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET) + ynh_app_setting_set --app "$app" --key lfs_jwt_secret --value="$lfs_jwt_secret" fi - ynh_add_nginx_config } -config_gitea() { +_gitea_add_config() { ssh_port=$(grep -P "Port\s+\d+" /etc/ssh/sshd_config | grep -P -o "\d+") - ynh_add_config --template="app.ini" --destination="$final_path/custom/conf/app.ini" -} - -set_permission() { - chown -R $app:$app "$final_path" - chown -R $app:$app "$datadir" - chown -R $app:$app "/var/log/$app" - - chmod u=rwX,g=rX,o= "$final_path" - chmod u=rwx,g=rx,o= "$final_path/gitea" - chmod u=rwx,g=rx,o= "$final_path/custom/conf/app.ini" - chmod u=rwX,g=rX,o= "$datadir" - chmod u=rwX,g=rX,o= "/var/log/$app" - chmod u=rwx,g=,o= "$ssh_path" + ynh_add_config --template="app.ini" --destination="$install_dir/custom/conf/app.ini" } diff --git a/scripts/backup b/scripts/backup index a311d22..8fff18d 100644 --- a/scripts/backup +++ b/scripts/backup @@ -5,47 +5,44 @@ #================================================= # Load common variables and helpers -source ../settings/scripts/experimental_helper.sh source ../settings/scripts/_common.sh - -# IMPORT GENERIC HELPERS source /usr/share/yunohost/helpers -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -# Retrieve app settings -ynh_print_info --message="Loading installation settings..." -domain=$(ynh_app_setting_get --app $app --key domain) if [[ ! "$(systemctl status $app.service)" =~ "Active: inactive (dead)" ]]; then ynh_print_warn --message="It's hightly recommended to make your backup when the service is stopped. Please stop $app service and with this command before to run the backup 'systemctl stop $app.service'" fi #================================================= -# STANDARD BACKUP STEPS +# DECLARE DATA AND CONF FILES TO BACKUP #================================================= +ynh_print_info --message="Declaring files to be backed up..." # Copy the app source files -ynh_print_info --message="Backing up code..." -ynh_backup --src_path "$final_path" +ynh_backup --src_path "$install_dir" # Copy the data files -ynh_print_info --message="Backing up user data..." -ynh_backup --src_path "$datadir" --is_big=1 - -ynh_print_info --message="Backing up configuration..." +ynh_backup --src_path "$data_dir" --is_big=1 # Copy the conf files -ynh_backup --src_path "/etc/nginx/conf.d/${domain}.d/${app}.conf" -ynh_backup --src_path "/etc/systemd/system/${app}.service" +ynh_backup --src_path "/etc/nginx/conf.d/$domain.d/$app.conf" + +ynh_backup --src_path="/etc/fail2ban/jail.d/$app.conf" +ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf" + +ynh_backup --src_path="/etc/logrotate.d/$app" + +ynh_backup --src_path "/etc/systemd/system/$app.service" # Backup logs -ynh_print_info --message="Backing up logs..." ynh_backup --src_path "/var/log/$app" # Dump the database -ynh_print_info --message="Backing up database" -ynh_mysql_dump_db "$dbname" > ./db.sql +ynh_print_info --message="Backing up the MySQL database" +ynh_mysql_dump_db "$db_name" > ./db.sql + +#================================================= +# END OF SCRIPT +#================================================= ynh_print_info --message="Backup script completed for $app. (YunoHost will then actually copy those files to the archive)." diff --git a/scripts/change_url b/scripts/change_url index 46a03f3..1543ea5 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -1,66 +1,51 @@ #!/bin/bash #================================================= -# GENERIC START +# GENERIC STARTING +#================================================= +# IMPORT GENERIC HELPERS #================================================= -# Import common cmd -source ./experimental_helper.sh -source ./_common.sh - -# IMPORT GENERIC HELPERS +source _common.sh source /usr/share/yunohost/helpers -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -ynh_script_progression --message="Loading installation settings..." - -# RETRIEVE ARGUMENTS -old_domain=$YNH_APP_OLD_DOMAIN -domain=$YNH_APP_NEW_DOMAIN -path_url=$(ynh_normalize_url_path --path_url ${YNH_APP_NEW_PATH:-'/'}) -app=$YNH_APP_INSTANCE_NAME - -db_password=$(ynh_app_setting_get --app $app --key mysqlpwd) -admin=$(ynh_app_setting_get --app $app --key adminusername) -key=$(ynh_app_setting_get --app $app --key secret_key) -lfs_key=$(ynh_app_setting_get --app $app --key lfs_key) -port=$(ynh_app_setting_get --app $app --key web_port) -upstream_version=$(ynh_app_setting_get $app upstream_version) - #================================================= # STANDARD MODIFICATIONS #================================================= +# STOP SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Stopping a systemd service..." --weight=1 -ynh_script_progression --message="Updating nginx configuration..." +ynh_systemd_action --service_name="$app" --action="stop" +#================================================= # MODIFY URL IN NGINX CONF -nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf +#================================================= +ynh_script_progression --message="Updating NGINX web server configuration..." --weight=1 -# Change the domain for nginx -# Change the domain for nginx -if [[ "$old_domain" != "$domain" ]]; then - # Delete file checksum for the old conf file location - ynh_delete_file_checksum --file "$nginx_conf_path" - mv $nginx_conf_path /etc/nginx/conf.d/$domain.d/$app.conf - # Store file checksum for the new config file location - ynh_store_file_checksum --file "/etc/nginx/conf.d/$domain.d/$app.conf" -fi +ynh_change_url_nginx_config -config_nginx - -# Update gitea config +#================================================= +# SPECIFIC MODIFICATIONS +#================================================= +# Setup gitea.ini +#================================================= ynh_script_progression --message="Updating gitea configuration..." -config_gitea -# RELOAD services -ynh_script_progression --message="Starting services..." -ynh_systemd_action -l "Starting new Web server: tcp:127.0.0.1:" -p "/var/log/$app/gitea.log" -t 10 -a restart -sleep 1 +_gitea_add_config +_gitea_permissions_install_dir -# Store the checksum with the 'INTERNAL_TOKEN' value. -# Should be removed when the issue https://github.com/go-gitea/gitea/issues/3246 is fixed -ynh_store_file_checksum --file "$final_path/custom/conf/app.ini" +#================================================= +# GENERIC FINALISATION +#================================================= +# START SYSTEMD SERVICE +#================================================= +ynh_script_progression --message="Starting gitea services..." --weight=3 + +ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" + +#================================================= +# END OF SCRIPT +#================================================= ynh_script_progression --message="Change of URL completed for $app" --last diff --git a/scripts/experimental_helper.sh b/scripts/experimental_helper.sh deleted file mode 100644 index 8757149..0000000 --- a/scripts/experimental_helper.sh +++ /dev/null @@ -1,257 +0,0 @@ -# Execute a command as another user -# usage: exec_as USER COMMAND [ARG ...] -exec_as() { - local USER=$1 - shift 1 - - if [[ $USER = $(whoami) ]]; then - eval "$@" - else - sudo -u "$USER" "$@" - fi -} - -# Need also the helper https://github.com/YunoHost-Apps/Experimental_helpers/blob/master/ynh_handle_getopts_args/ynh_handle_getopts_args - -# Make the main steps to migrate an app to its fork. -# -# This helper has to be used for an app which needs to migrate to a new name or a new fork -# (like owncloud to nextcloud or zerobin to privatebin). -# -# This helper will move the files of an app to its new name -# or recreate the things it can't move. -# -# To specify which files it has to move, you have to create a "migration file", stored in ../conf -# This file is a simple list of each file it has to move, -# except that file names must reference the $app variable instead of the real name of the app, -# and every instance-specific variables (like $domain). -# $app is especially important because it's this variable which will be used to identify the old place and the new one for each file. -# -# If a database exists for this app, it will be dumped and then imported in a newly created database, with a new name and new user. -# Don't forget you have to then apply these changes to application-specific settings (depends on the packaged application) -# -# Same things for an existing user, a new one will be created. -# But the old one can't be removed unless it's not used. See below. -# -# If you have some dependencies for your app, it's possible to change the fake debian package which manages them. -# You have to fill the $pkg_dependencies variable, and then a new fake package will be created and installed, -# and the old one will be removed. -# If you don't have a $pkg_dependencies variable, the helper can't know what the app dependencies are. -# -# The app settings.yml will be modified as follows: -# - finalpath will be changed according to the new name (but only if the existing $final_path contains the old app name) -# - The checksums of php-fpm and nginx config files will be updated too. -# - If there is a $db_name value, it will be changed. -# - And, of course, the ID will be changed to the new name too. -# -# Finally, the $app variable will take the value of the new name. -# The helper will set the $migration_process variable to 1 if a migration has been successfully handled. -# -# You have to handle by yourself all the migrations not done by this helper, like configuration or special values in settings.yml -# Also, at the end of the upgrade script, you have to add a post_migration script to handle all the things the helper can't do during YunoHost upgrade (mostly for permission reasons), -# especially remove the old user, move some hooks and remove the old configuration directory -# To launch this script, you have to move it elsewhere and start it after the upgrade script. -# `cp ../conf/$script_post_migration /tmp` -# `(cd /tmp; echo "/tmp/$script_post_migration" | at now + 2 minutes)` -# -# usage: ynh_handle_app_migration migration_id migration_list -# | arg: -i, --migration_id= - ID from which to migrate -# | arg: -l, --migration_list= - File specifying every file to move (one file per line) -ynh_handle_app_migration () { - # Need for end of install - ynh_package_install at - - #================================================= - # LOAD SETTINGS - #================================================= - - old_app=$YNH_APP_INSTANCE_NAME - local old_app_id=$YNH_APP_ID - local old_app_number=$YNH_APP_INSTANCE_NUMBER - - # Declare an array to define the options of this helper. - declare -Ar args_array=( [i]=migration_id= [l]=migration_list= ) - # Get the id from which to migrate - local migration_id - # And the file with the paths to move - local migration_list - # Manage arguments with getopts - ynh_handle_getopts_args "$@" - - # Get the new app id in the manifest - local new_app_id=$(grep \"id\": ../manifest.json | cut -d\" -f4) - if [ $old_app_number -eq 1 ]; then - local new_app=$new_app_id - else - local new_app=${new_app_id}__${old_app_number} - fi - - #================================================= - # CHECK IF IT HAS TO MIGRATE - #================================================= - - migration_process=0 - - if [ "$old_app_id" == "$new_app_id" ] - then - # If the 2 id are the same - # No migration to do. - echo 0 - return 0 - else - if [ "$old_app_id" != "$migration_id" ] - then - # If the new app is not the authorized id, fail. - ynh_die --message "Incompatible application for migration from $old_app_id to $new_app_id" - fi - - echo "Migrate from $old_app_id to $new_app_id" >&2 - - #================================================= - # CHECK IF THE MIGRATION CAN BE DONE - #================================================= - - # TODO Handle multi instance apps... - # Check that there is not already an app installed for this id. - (yunohost app list --installed -f "$new_app" | grep -q id) \ - && ynh_die "$new_app is already installed" - - #================================================= - # CHECK THE LIST OF FILES TO MOVE - #================================================= - - local temp_migration_list="$(tempfile)" - - # Build the list by removing blank lines and comment lines - sed '/^#.*\|^$/d' "../conf/$migration_list" > "$temp_migration_list" - - # Check if there is no file in the destination - local file_to_move="" - while read file_to_move - do - # Replace all occurences of $app by $new_app in each file to move. - local move_to_destination="${file_to_move//\$app/$new_app}" - test -e "$move_to_destination" && ynh_die "A file named $move_to_destination already exists." - done < "$temp_migration_list" - - #================================================= - # COPY YUNOHOST SETTINGS FOR THIS APP - #================================================= - - local settings_dir="/etc/yunohost/apps" - cp -a "$settings_dir/$old_app" "$settings_dir/$new_app" - cp -a ../{scripts,conf} "$settings_dir/$new_app" - - # Replace the old id by the new one - ynh_replace_string "\(^id: .*\)$old_app" "\1$new_app" "$settings_dir/$new_app/settings.yml" - # INFO: There a special behavior with yunohost app setting: - # if the id given in argument does not match with the id - # stored in the config file, the config file will be purged. - # That's why we use sed instead of app setting here. - # https://github.com/YunoHost/yunohost/blob/c6b5284be8da39cf2da4e1036a730eb5e0515096/src/yunohost/app.py#L1316-L1321 - - # Change the label if it's simply the name of the app - old_label=$(ynh_app_setting_get $new_app label) - if [ "${old_label,,}" == "$old_app_id" ] - then - # Build the new label from the id of the app. With the first character as upper case - new_label=$(echo $new_app_id | cut -c1 | tr [:lower:] [:upper:])$(echo $new_app_id | cut -c2-) - ynh_app_setting_set $new_app label $new_label - fi - - yunohost tools shell -c "from yunohost.permission import permission_delete; permission_delete('$old_app.main', force=True, sync_perm=False)" - yunohost tools shell -c "from yunohost.permission import permission_create; permission_create('$new_app.main', url='/' , sync_perm=True)" - - #================================================= - # MOVE FILES TO THE NEW DESTINATION - #================================================= - - while read file_to_move - do - # Replace all occurence of $app by $new_app in each file to move. - move_to_destination="$(eval echo "${file_to_move//\$app/$new_app}")" - local real_file_to_move="$(eval echo "${file_to_move//\$app/$old_app}")" - echo "Move file $real_file_to_move to $move_to_destination" >&2 - mv "$real_file_to_move" "$move_to_destination" - done < "$temp_migration_list" - - #================================================= - # UPDATE SETTINGS KNOWN ENTRIES - #================================================= - - # Replace nginx checksum - ynh_replace_string "\(^checksum__etc_nginx.*\)_$old_app" "\1_$new_app/" "$settings_dir/$new_app/settings.yml" - - # Replace php5-fpm checksums - ynh_replace_string "\(^checksum__etc_php5.*[-_]\)$old_app" "\1$new_app/" "$settings_dir/$new_app/settings.yml" - - # Replace final_path - ynh_replace_string "\(^final_path: .*\)$old_app" "\1$new_app" "$settings_dir/$new_app/settings.yml" - - #================================================= - # MOVE THE DATABASE - #================================================= - - db_pwd=$(ynh_app_setting_get $old_app mysqlpwd) - db_name=$dbname - - # Check if a database exists before trying to move it - local mysql_root_password=$(cat $MYSQL_ROOT_PWD_FILE) - if [ -n "$db_name" ] && mysqlshow -u root -p$mysql_root_password | grep -q "^| $db_name" - then - new_db_name=$(ynh_sanitize_dbid $new_app) - echo "Rename the database $db_name to $new_db_name" >&2 - - local sql_dump="/tmp/${db_name}-$(date '+%s').sql" - - # Dump the old database - ynh_mysql_dump_db "$db_name" > "$sql_dump" - - # Create a new database - ynh_mysql_setup_db $new_db_name $new_db_name $db_pwd - # Then restore the old one into the new one - ynh_mysql_connect_as $new_db_name $db_pwd $new_db_name < "$sql_dump" - - # Remove the old database - ynh_mysql_remove_db $db_name $db_name - # And the dump - ynh_secure_remove --file="$sql_dump" - - # Update the value of $db_name - db_name=$new_db_name - ynh_app_setting_set $new_app db_name $db_name - fi - - #================================================= - # CHANGE THE FAKE DEPENDENCIES PACKAGE - #================================================= - - # Check if a variable $pkg_dependencies exists - # If this variable doesn't exist, this part shall be managed in the upgrade script. - if [ -n "${pkg_dependencies:-}" ] - then - # Define the name of the package - local old_package_name="${old_app//_/-}-ynh-deps" - local new_package_name="${new_app//_/-}-ynh-deps" - - if ynh_package_is_installed "$old_package_name" - then - # Install a new fake package - app=$new_app - ynh_install_app_dependencies $pkg_dependencies - # Then remove the old one - app=$old_app - ynh_remove_app_dependencies - fi - fi - - #================================================= - # UPDATE THE ID OF THE APP - #================================================= - - app=$new_app - - # Set migration_process to 1 to inform that an upgrade has been made - migration_process=1 - fi -} diff --git a/scripts/install b/scripts/install index bc590ae..05244a5 100644 --- a/scripts/install +++ b/scripts/install @@ -3,149 +3,80 @@ #================================================= # GENERIC START #================================================= - -# Load common variables and helpers -source ./experimental_helper.sh -source ./_common.sh - # IMPORT GENERIC HELPERS +#================================================= + +source _common.sh source /usr/share/yunohost/helpers -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -ynh_script_progression --message="Validating installation parameters..." - -# Retrieve arguments -domain=$YNH_APP_ARG_DOMAIN -path_url=$YNH_APP_ARG_PATH -admin=$YNH_APP_ARG_ADMIN -is_public=$YNH_APP_ARG_IS_PUBLIC -upstream_version=$(ynh_app_upstream_version) - -# Register (book) web path -ynh_webpath_register --app $app --domain $domain --path_url $path_url - -# Check user parameter -ynh_user_exists "$admin" \ - || ynh_die --message "The chosen admin user does not exist." - -# Check Final Path availability -test ! -e "$final_path" || ynh_die --message "This path already contains a folder" - -if [ -e "$datadir" ]; then - old_data_dir_path="$datadir$(date '+%Y%m%d.%H%M%S')" - ynh_print_warn "A data directory already exist. Data was renamed to $old_data_dir_path" - mv "$datadir" "$old_data_dir_path" -fi - -# Generate random password and key -ynh_script_progression --message="Defining db password and key..." -db_password=$(ynh_string_random) -key=$(ynh_string_random) -lfs_key=$(ynh_string_random) - -# Find available ports -port=$(ynh_find_port --port 6000) - -# Store Settings -ynh_script_progression --message="Storing installation settings..." -ynh_app_setting_set --app $app --key mysqlpwd --value $db_password -ynh_app_setting_set --app $app --key adminusername --value $admin -ynh_app_setting_set --app $app --key secret_key --value $key -ynh_app_setting_set --app $app --key lfs_key --value $lfs_key -ynh_app_setting_set --app $app --key web_port --value $port - #================================================= -# STANDARD MODIFICATIONS +# APP "BUILD" (DEPLOYING SOURCES, VENV, COMPILING ETC) #================================================= +# DOWNLOAD, CHECK AND UNPACK SOURCE +#================================================= +ynh_script_progression --message="Installing sources files and data directories..." --weight=10 -# Initialize database and store mysql password for upgrade -ynh_script_progression --message="Configuring MySQL database..." -ynh_mysql_create_db "$dbname" "$db_user" "$db_password" -# Add users -ynh_script_progression --message="Configuring system user..." -ynh_system_user_create --username=$app --home_dir=$datadir --use_shell -# Add ssh permission for gitea user -adduser $app ssh.app +ynh_setup_source --dest_dir="$install_dir" +chmod +x "$install_dir/gitea" # create needed directories -create_dir +_gitea_mkdirs -# Configure init script -ynh_script_progression --message="Configuring a systemd service..." --weight=2 +ynh_script_progression --message="Configuring application, step 1/2..." + +_gitea_set_secrets +_gitea_add_config +_gitea_permissions_install_dir + +#================================================= +# SYSTEM CONFIGURATION +#================================================= +ynh_script_progression --message="Adding system configurations related to $app..." --weight=1 + +# Create a dedicated NGINX config using the conf/nginx.conf template +ynh_add_nginx_config + +# Create a dedicated systemd config ynh_add_systemd_config -# Modify Nginx configuration file and copy it to Nginx conf directory -ynh_script_progression --message="Configuring nginx..." --weight=1 -config_nginx +# Add gitea to YunoHost's monitored services +yunohost service add "$app" --log="/var/log/$app/gitea.log" -# Configure gitea with app.ini file -ynh_script_progression --message="Configuring application, step 1/2..." -config_gitea +# Configure logrotate +ynh_use_logrotate --logfile "/var/log/$app" -ynh_script_progression --message="Installing sources files..." --weight=10 +# Create a dedicated Fail2Ban config +ynh_add_fail2ban_config --logpath "/var/log/$app/gitea.log" --failregex ".*Failed authentication attempt for .* from " --max_retry 5 -# Install gitea -ynh_setup_source $final_path source/$architecture - -# Set permissions -ynh_script_progression --message="Protecting directory" -set_permission +#================================================= +# APP INITIAL CONFIGURATION +#================================================= +# ADD A CONFIGURATION +#================================================= ynh_script_progression --message="Configuring application, step 2/2..." # Start gitea for building mysql tables -systemctl start "$app".service - -# Wait untill login_source mysql table is created -while ! $(ynh_mysql_connect_as "$db_user" "$db_password" "$dbname" <<< "SELECT * FROM login_source;" &>/dev/null) -do - sleep 2 -done +ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" # Add ldap config ynh_replace_string --match_string "__APP__" --replace_string "$app" --target_file ../conf/login_source.sql -ynh_mysql_connect_as "$db_user" "$db_password" "$dbname" < ../conf/login_source.sql +ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ../conf/login_source.sql -# SETUP FAIL2BAN -ynh_script_progression --message="Configuring fail2ban..." -ynh_add_fail2ban_config --logpath "/var/log/$app/gitea.log" --failregex ".*Failed authentication attempt for .* from " --max_retry 5 +# Stop the service to restart it just afterwards +ynh_systemd_action --service_name="$app" --action="stop" --log_path="/var/log/$app/gitea.log" #================================================= # GENERIC FINALIZATION #================================================= - -# Unprotect root from SSO if public -ynh_script_progression --message="Configuring permissions..." -if [ "$is_public" == '1' ]; -then - ynh_permission_update --permission "main" --add "visitors" -fi - -# Create permission -ynh_script_progression --message="Configuring permissions" -ynh_permission_create --permission="admin" --allowed=$admin - -# Add gitea to YunoHost's monitored services -ynh_script_progression --message="Register Gitea service..." -yunohost service add "$app" --log="/var/log/$app/gitea.log" - -# Configure logrotate -ynh_script_progression --message="Configuring log rotation..." -ynh_use_logrotate --logfile "/var/log/$app" - -# Save Version -ynh_app_setting_set --app $app --key upstream_version --value $(ynh_app_upstream_version) - -# Reload services +# START SYSTEMD SERVICE +#================================================= ynh_script_progression --message="Starting gitea services..." --weight=3 -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" - -# Store the checksum with the 'INTERNAL_TOKEN' value. -# Should be removed when the issue https://github.com/go-gitea/gitea/issues/3246 is fixed -ynh_store_file_checksum --file "$final_path/custom/conf/app.ini" +ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" +#================================================= +# END OF SCRIPT +#================================================= ynh_script_progression --message="Installation of $app completed" --last diff --git a/scripts/remove b/scripts/remove index ebfab83..dc78a80 100644 --- a/scripts/remove +++ b/scripts/remove @@ -4,61 +4,33 @@ # GENERIC START #================================================= -# Load common variables and helpers -source ./experimental_helper.sh -source ./_common.sh - -# IMPORT GENERIC HELPERS +source _common.sh source /usr/share/yunohost/helpers -ynh_script_progression --message="Loading installation settings..." - -# Retrieve domain from app settings -domain=$(ynh_app_setting_get --app $app --key domain) - #================================================= -# STANDARD REMOVE +# REMOVE SYSTEM CONFIGURATIONS #================================================= +ynh_script_progression --message="Removing system configurations related to $app..." --weight=1 -# Stop gitea -ynh_script_progression --message="Stoping services..." -systemctl stop "$app".service +if ynh_exec_warn_less yunohost service status "$app" >/dev/null +then + ynh_script_progression --message="Removing $app service integration..." --weight=1 + yunohost service remove "$app" +fi -# Drop MySQL database and user -ynh_script_progression --message="Removing databases..." -ynh_mysql_drop_db "$dbname" 2>/dev/null -ynh_mysql_drop_user "$db_user" 2>/dev/null +ynh_remove_systemd_config + +ynh_remove_nginx_config + +ynh_remove_logrotate + +ynh_remove_fail2ban_config -# Delete app directory and configurations -ynh_script_progression --message="Removing code..." -ynh_secure_remove --file="$final_path" ynh_script_progression --message="Removing logs..." ynh_secure_remove --file="/var/log/$app" -# Remove the app-specific logrotate config -ynh_remove_logrotate - -# Remove nginx config -ynh_script_progression --message="Removing nginx configuration..." -ynh_remove_nginx_config - -# Remove gitea user and data -ynh_script_progression --message="Removing the dedicated system user..." -ynh_system_user_delete $app - -# Remove init script -ynh_script_progression --message="Removing systemd units..." -ynh_remove_systemd_config - -# Remove monitor -ynh_script_progression --message="Removing gitea service..." -yunohost service remove "$app" - -# Remove fail2ban config -ynh_script_progression --message="Removing fail2ban configuration..." -ynh_remove_fail2ban_config - -ynh_print_info --message="Due of the backup core only feature the data directory in '$datadir' was not removed. It need to be removed manually to purge app user data." +#================================================= +# END OF SCRIPT +#================================================= ynh_script_progression --message="Removal of $app completed" --last -sleep 1 diff --git a/scripts/restore b/scripts/restore index a7ae980..c5fc584 100644 --- a/scripts/restore +++ b/scripts/restore @@ -5,53 +5,35 @@ #================================================= # Load common variables and helpers -source ../settings/scripts/experimental_helper.sh source ../settings/scripts/_common.sh - -# IMPORT GENERIC HELPERS source /usr/share/yunohost/helpers -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - -ynh_script_progression --message="Loading settings..." - -# Retrieve old app settings -domain=$(ynh_app_setting_get --app $app --key domain) -path_url=$(ynh_app_setting_get --app $app --key path) -db_password=$(ynh_app_setting_get --app $app --key mysqlpwd) -admin=$(ynh_app_setting_get --app $app --key adminusername) -port=$(ynh_app_setting_get --app $app --key web_port) -upstream_version=$(ynh_app_setting_get $app upstream_version) - -# Check user parameter -ynh_user_exists "$admin" \ - || ynh_die --message "The chosen admin user does not exist." - -# Check Final Path availability -test ! -e "$final_path" || ynh_die --message "This path already contains a folder" - #================================================= -# STANDARD RESTORATION STEPS +# RESTORE THE APP MAIN DIR #================================================= - -# Add users -ynh_script_progression --message="Configuring system user..." -ynh_system_user_create --username=$app --home_dir=$datadir --use_shell - -# Restore all files -ynh_script_progression --message="Restoring files..." --weight=10 +ynh_script_progression --message="Restoring the app files..." --weight=1 ynh_restore -# Create and restore the database -ynh_script_progression --message="Restoring database..." --weight=3 -ynh_mysql_create_db "$dbname" "$db_user" "$db_password" -ynh_mysql_connect_as "$db_user" "$db_password" "$dbname" < ./db.sql +# Also sets the permissions +_gitea_mkdirs + +#================================================= +# RESTORE THE MYSQL DATABASE +#================================================= +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 +#================================================= +ynh_script_progression --message="Restoring system configurations related to $app..." --weight=1 -# Restore systemd files systemctl daemon-reload systemctl enable "$app".service --quiet +yunohost service add "$app" --log="/var/log/$app/gitea.log" + # SETUP FAIL2BAN ynh_script_progression --message="Configuring fail2ban..." ynh_add_fail2ban_config --logpath "/var/log/$app/gitea.log" --failregex ".*Failed authentication attempt for .* from " --max_retry 5 @@ -59,23 +41,17 @@ ynh_add_fail2ban_config --logpath "/var/log/$app/gitea.log" --failregex ".*Faile #================================================= # GENERIC FINALIZATION #================================================= +# RELOAD NGINX AND PHP-FPM OR THE APP SERVICE +#================================================= +ynh_script_progression --message="Reloading NGINX web server and $app's service..." --weight=1 -# Set permissions -ynh_script_progression --message="Protecting directory..." -set_permission +# Typically you only have either $app or php-fpm but not both at the same time... +ynh_systemd_action -l "Starting new Web server: tcp:127.0.0.1:" -t 10 -# Configure logrotate -ynh_script_progression --message="Configuring log rotation..." -ynh_use_logrotate --logfile "/var/log/$app" +ynh_systemd_action --service_name=nginx --action=reload -# Add gitea to YunoHost's monitored services -ynh_script_progression --message="Register Gitea service..." -yunohost service add "$app" --log=/var/log/$app/gitea.log - -# Reload services -ynh_script_progression --message="Reloading services..." -systemctl reload nginx.service -ynh_systemd_action -l "Starting new Web server: tcp:127.0.0.1:" -p "/var/log/$app/gitea.log" -t 10 -sleep 1 +#================================================= +# END OF SCRIPT +#================================================= ynh_script_progression --message="Restoration completed for $app" --last diff --git a/scripts/upgrade b/scripts/upgrade index bcd1d13..fd00201 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -3,318 +3,137 @@ #================================================= # GENERIC START #================================================= - -# Load common variables and helpers -source ./experimental_helper.sh -source ./_common.sh - # IMPORT GENERIC HELPERS +#================================================= + +source _common.sh source /usr/share/yunohost/helpers -#================================================= -# LOAD SETTINGS -#================================================= -ynh_script_progression --message="Loading installation settings..." - -domain=$(ynh_app_setting_get --app=$app --key=domain) -path_url=$(ynh_normalize_url_path --path_url $(ynh_app_setting_get --app $app --key path)) -db_password=$(ynh_app_setting_get --app=$app --key=mysqlpwd) -admin=$(ynh_app_setting_get --app=$app --key=adminusername) -key=$(ynh_app_setting_get --app=$app --key=secret_key) -lfs_key=$(ynh_app_setting_get --app=$app --key=lfs_key) -port=$(ynh_app_setting_get --app=$app --key=web_port) -upstream_version=$(ynh_app_setting_get --app=$app --key=upstream_version) +upgrade_type=$(ynh_check_app_version_changed) #================================================= -# STOP SYSTEMD SERVICE -#================================================= -ynh_script_progression --message="Stopping a systemd service..." --weight=1 - -# We stop the service before to set ynh_clean_setup -ynh_systemd_action --service_name=$app --action="stop" - -#================================================= -# BACKUP BEFORE UPGRADE THEN ACTIVE TRAP -#================================================= -ynh_script_progression --message="Backing up the app before upgrading (may take a while)..." - -if [ "0$(ynh_app_setting_get --app=$app --key=disable_backup_before_upgrade)" -ne 1 ] -then - ynh_backup_before_upgrade - ynh_clean_setup () { - # Clean installation remainings that are not handled by the remove script. - ynh_clean_check_starting - ynh_restore_upgradebackup - } -fi - -# Exit if an error occurs during the execution of the script -ynh_abort_if_errors - +# STANDARD UPGRADE STEPS #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 # If lfs_key doesn't exist, create it -if [ -z "$lfs_key" ]; then +if [ -z "${lfs_key:-}" ]; then lfs_key=$(ynh_string_random) - ynh_app_setting_set --app=$app --key=lfs_key --value=$lfs_key + ynh_app_setting_set --app="$app" --key=lfs_key --value="$lfs_key" fi -#================================================= -# MIGRATION FROM GOGS -#================================================= - -[[ $YNH_APP_ID == "gogs" ]] \ - && [[ "$(cat "/opt/$app/templates/.VERSION")" != 0.11.79.1211 ]] \ - && ynh_die --message "It look like that you have an old Gogs install. You need first upgrade Gogs instance (id: $gogs_migrate_id) and after migrate to Gitea." -ynh_handle_app_migration --migration_id=gogs --migration_list=gogs_migrations - -if [[ $migration_process -eq 1 ]]; then - # Reload variables - dbname=$app - db_user=$app - final_path="/opt/$app" - datadir="/home/""$app" - repos_path="$datadir/repositories" - data_path="$datadir/data" - - # Replace the user - ynh_system_user_delete $old_app - test getent passwd "$app" &>/dev/null || \ - useradd -d "$datadir" --system --user-group "$app" --shell /bin/bash || \ - ynh_die --message "Unable to create $app system account" - - # Clean old binary - ynh_secure_remove --file=$final_path/gogs - ynh_secure_remove --file=$final_path/custom/conf/auth.d - - # Restore authentication from SQL database - ynh_replace_string --match_string __APP__ --replace_string "$app" --target_file ../conf/login_source.sql - ynh_mysql_connect_as "$db_user" "$db_password" "$dbname" < ../conf/login_source.sql - - # Fix hooks - if [[ -e $repos_path ]];then - ls $repos_path/*/*.git/hooks/pre-receive | while read p; do - ynh_secure_remove --file=$p - done - ls $repos_path/*/*.git/hooks/post-receive | while read p; do - ynh_secure_remove --file=$p - done - fi - - upstream_version="0.0.1" +# This is not handled by the core because the previous package did not define final_path... +if [ -d "/opt/$app" ]; then + # This is the package version of the manifestv2 + rsync -a "/opt/$app/" "$install_dir" + ynh_secure_remove "/opt/$app" fi # Move data directory -if [ -e "/home/""$app" ] && [ ! -e $datadir ]; then - mv "/home/""$app" "$datadir" +if [ -d "/home/$app" ]; then + rsync -a "/home/$app/" "$data_dir" + ynh_secure_remove "/home/$app" fi -# Ensuring the user has the right home dir -if [ ~$app != "$datadir" ]; then - usermod -d "$datadir" $app +# Ensure the user has the correct home dir +if [ ~"$app" != "$data_dir" ]; then + usermod --home "$data_dir" "$app" fi +# Ensure secrets are defined +# Some workaround around `gitea secret generate` not available in old versions +mv "$install_dir/gitea" "$install_dir/gitea_orig" +ynh_setup_source --dest_dir="$install_dir" --source_id=main +chmod +x "$install_dir/gitea" +_gitea_set_secrets +ynh_secure_remove "$install_dir/gitea" +mv "$install_dir/gitea_orig" "$install_dir/gitea" + +# Ensure directories are created +_gitea_mkdirs + #================================================= -# STANDARD UPGRADE STEPS +# STOP SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Configuring application..." +ynh_script_progression --message="Stopping a systemd service..." --weight=1 -# Clean template to fix issue : https://github.com/gogits/gogs/issues/4585 -ynh_secure_remove --file="/opt/$app/templates" +ynh_systemd_action --service_name="$app" --action="stop" -# Configure gitea with app.ini file -config_gitea +#================================================= +# REAPPLY SYSTEM CONFIGURATIONS +#================================================= +ynh_script_progression --message="Upgrading system configurations related to $app..." --weight=1 + +ynh_add_nginx_config -# Configure init script -ynh_script_progression --message="Updating systemd units..." ynh_add_systemd_config -# Modify Nginx configuration file and copy it to NGINX conf directory -ynh_script_progression --message="Configuring NGINX..." --weight=1 -config_nginx +yunohost service add "$app" --log="/var/log/$app/gitea.log" + +ynh_use_logrotate --non-append + +ynh_add_fail2ban_config --logpath="/var/log/$app/gitea.log" --failregex=".*Failed authentication attempt for .* from " --max_retry 5 + +#================================================= +# RECONFIGURE THE APP (UPDATE CONF, APPLY MIGRATIONS...) +#================================================= +# UPDATE A CONFIG FILE +#================================================= +ynh_script_progression --message="Updating configuration files..." --weight=1 + +# Clean template to fix issue : https://github.com/gogits/gogs/issues/4585 +ynh_secure_remove --file="$install_dir/templates" + +# Configure gitea with app.ini file +_gitea_add_config +_gitea_permissions_install_dir #================================================= # DB migration #================================================= ynh_script_progression --message="Upgrading database and sources..." --weight=6 -# Before the version 1.7 the upstream version was not stored -# The way to find the version for the install < 1.7 is to parse the binary file to find which version is installed -if [ -z ${upstream_version:-} ]; then - for version in "0.0." "1.0." "1.1." "1.2." "1.3." "1.4." "1.5." "1.6." "1.7."; do - if strings $final_path/gitea | grep -P "^${version//./\\.}\d"; then - upstream_version="${version}0" - break - fi - done +if ynh_compare_current_package_version --comparison lt --version "1.6.4~ynh1"; then + message="Upgrade from $YNH_APP_CURRENT_VERSION was dropped. You need to run this, then upgrade to the latest version: +sudo yunohost app upgrade $app -u https://github.com/YunoHost-Apps/gitea_ynh/commit/a9ceb157032ae2290e944c1d0a255451ff2d133d" + ynh_print_info "$message" + ynh_die --message="$message" --ret_code 1 fi -restart_gitea() { - # Set permissions - set_permission - ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" - # Leave the time to update the database schema - sleep 5 - systemctl stop $app -} +ynh_setup_source --dest_dir="$install_dir" +chmod +x "$install_dir/gitea" +_gitea_permissions_install_dir +ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" +# FIXME: Leave the time to update the database schema +sleep 5 +systemctl stop "$app" -case $upstream_version in -"0.0."* ) - ynh_setup_source $final_path source/${architecture}_1.0 - set_permission - systemctl start $app - sleep 20 - systemctl stop $app -;& -"1.0."* ) - ynh_setup_source $final_path source/${architecture}_1.1 - restart_gitea -;& -"1.1."* ) - ynh_setup_source $final_path source/${architecture}_1.2 - restart_gitea -;& -"1.2."* ) - ynh_setup_source $final_path source/${architecture}_1.3 - restart_gitea -;& -"1.3."* ) - ynh_setup_source $final_path source/${architecture}_1.4 - restart_gitea -;& -"1.4."* ) - ynh_setup_source $final_path source/${architecture}_1.5 - restart_gitea -;& -"1.5."* ) - ynh_setup_source $final_path source/${architecture}_1.6 - restart_gitea -;& -"1.6."* ) - ynh_setup_source $final_path source/${architecture}_1.7 - restart_gitea -;& -"1.7."* ) - ynh_setup_source $final_path source/${architecture}_1.8 - restart_gitea -;& -"1.8."* ) - ynh_setup_source $final_path source/${architecture}_1.9 - restart_gitea -;& -"1.9."* ) - ynh_setup_source $final_path source/${architecture}_1.10 - restart_gitea -;& -"1.10."* ) - ynh_setup_source $final_path source/${architecture}_1.11 - restart_gitea -;& -"1.11."* ) - ynh_setup_source $final_path source/${architecture}_1.12 - restart_gitea -;& -"1.12."* ) - ynh_setup_source $final_path source/${architecture}_1.13 - restart_gitea -;& -"1.13."* ) - ynh_setup_source $final_path source/${architecture}_1.14 - restart_gitea -;& -"1.14."* ) - ynh_setup_source $final_path source/${architecture}_1.15 - restart_gitea -;& -"1.15."* ) - ynh_setup_source $final_path source/${architecture}_1.16 - restart_gitea -;& -"1.16."* ) - ynh_setup_source $final_path source/${architecture}_1.17 - restart_gitea -;& -"1.17."* ) - ynh_setup_source $final_path source/${architecture}_1.18 - restart_gitea -;& -"1.18."* ) - ynh_setup_source $final_path source/${architecture}_1.19 - restart_gitea -;& -"1.19."* ) - ynh_setup_source $final_path source/${architecture}_1.20 - restart_gitea -;& -esac - -# Install gitea source -ynh_setup_source $final_path source/$architecture -restart_gitea - -# SETUP FAIL2BAN -ynh_script_progression --message="Configuring Fail2Ban..." -ynh_add_fail2ban_config --logpath="/var/log/$app/gitea.log" --failregex=".*Failed authentication attempt for .* from " --max_retry 5 #================================================= -# GENERIC FINALIZATION +# RECONFIGURE THE APP (UPDATE CONF, APPLY MIGRATIONS...) #================================================= - -# Set all permissions -ynh_script_progression --message="Update permission..." +# UPDATE A CONFIG FILE +#================================================= +ynh_script_progression --message="Updating LDAP configuration..." --weight=1 +# Should be done after DB migration I guess if ! ynh_permission_exists --permission admin; then - ynh_app_setting_delete --app $app --key unprotected_uris - ynh_permission_create --permission="admin" --allowed="$admin" # Update ldap config ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="../conf/login_source.sql" - ynh_mysql_connect_as "$db_user" "$db_password" "$dbname" < ../conf/login_source.sql + ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ../conf/login_source.sql fi -# Add gitea to YunoHost's monitored services -ynh_script_progression --message="Register Gitea service..." -yunohost service add "$app" --log="/var/log/$app/gitea.log" - -# Add ssh permission for gitea user -adduser $app ssh.app - -# Set permissions -ynh_script_progression --message="Protecting directory" -set_permission - -# Save Version -ynh_app_setting_set --app=$app --key=upstream_version --value=$(ynh_app_upstream_version) - -# Reload services -ynh_script_progression --message="Starting Gitea services..." --weight=3 -#ynh_systemd_action -l "Starting new Web server: tcp:127.0.0.1:" -p "/var/log/$app/gitea.log" -t 10 -#sleep 1 -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" - -# Store the checksum with the 'INTERNAL_TOKEN' value. -# Should be removed when the issue https://github.com/go-gitea/gitea/issues/3246 is fixed -ynh_store_file_checksum --file="$final_path/custom/conf/app.ini" #================================================= -# FINISH MIGRATION PROCESS +# START SYSTEMD SERVICE #================================================= +ynh_script_progression --message="Starting a systemd service..." --weight=1 -if [[ $migration_process -eq 1 ]]; then - echo "Gogs has been successfully migrated to Gitea! \ -A last scheduled operation will run in a couple of minutes to finish the \ -migration in YunoHost side. Do not proceed any application operation while \ -you don't see Gogs as installed." >&2 +ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" - # Execute a post migration script after the end of this upgrade. - # Mainly for some cleaning - script_post_migration=gogs_post_migration.sh - ynh_replace_string --match_string __OLD_APP__ --replace_string "$old_app" --target_file ../conf/$script_post_migration - ynh_replace_string --match_string __NEW_APP__ --replace_string "$app" --target_file ../conf/$script_post_migration - cp ../conf/$script_post_migration /tmp - chmod +x /tmp/$script_post_migration - (cd /tmp; echo "/tmp/$script_post_migration > /tmp/$script_post_migration.log 2>&1" | at now + 2 minutes) -fi +#================================================= +# END OF SCRIPT +#================================================= ynh_script_progression --message="Upgrade of $app completed" --last diff --git a/tests.toml b/tests.toml new file mode 100644 index 0000000..5bd2c03 --- /dev/null +++ b/tests.toml @@ -0,0 +1,8 @@ +#:schema https://raw.githubusercontent.com/YunoHost/apps/master/schemas/tests.v1.schema.json + +test_format = 1.0 + +[default] + + test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.name = "1.17.0" + test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.name = "1.20.0" From bc7f0005ad569a764af437f6b5dc6e48fa406c2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=C3=A9lix=20Pi=C3=A9dallu?= Date: Thu, 9 Nov 2023 12:07:09 +0100 Subject: [PATCH 02/42] Fix app.ini: Add authentication for email sending --- conf/app.ini | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/conf/app.ini b/conf/app.ini index 681234f..49a0264 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -38,7 +38,10 @@ LFS_JWT_SECRET = __LFS_JWT_SECRET__ ENABLED = true SMTP_ADDR = 127.0.0.1 SMTP_PORT = 25 -FROM = "Gitea" +FROM = "Gitea" <__APP__-noreply@__DOMAIN__> +USER = __APP__ +PASSWD = __MAIL_PWD__ +SKIP_VERIFY = true FORCE_TRUST_SERVER_CERT = true [service] From c3d72d5bc68a4a72ea1d30d96e89df7b9d59ef16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 29 Nov 2023 09:29:17 +0100 Subject: [PATCH 03/42] Fix mail config --- conf/app.ini | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/conf/app.ini b/conf/app.ini index 49a0264..8350deb 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -36,8 +36,9 @@ LFS_JWT_SECRET = __LFS_JWT_SECRET__ [mailer] ENABLED = true -SMTP_ADDR = 127.0.0.1 -SMTP_PORT = 25 +SMTP_ADDR = __DOMAIN__ +SMTP_PORT = 587 +PROTOCOL = smtps FROM = "Gitea" <__APP__-noreply@__DOMAIN__> USER = __APP__ PASSWD = __MAIL_PWD__ From 238dec4aaffdbc873194ac41c348d9bff361bde1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 29 Nov 2023 09:29:54 +0100 Subject: [PATCH 04/42] SSO is supported --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index 8fc9d3b..e3dc544 100644 --- a/manifest.toml +++ b/manifest.toml @@ -32,7 +32,7 @@ architectures = [ ] multi_instance = true ldap = true -sso = false +sso = true disk = "120M" ram.build = "100M" ram.runtime = "100M" From 5e22a74cd7b5fe4b4c8a25c92099ffdb7fa08c15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 29 Nov 2023 09:30:35 +0100 Subject: [PATCH 05/42] We don't need ram to build app --- manifest.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.toml b/manifest.toml index e3dc544..66697e9 100644 --- a/manifest.toml +++ b/manifest.toml @@ -34,7 +34,7 @@ multi_instance = true ldap = true sso = true disk = "120M" -ram.build = "100M" +ram.build = "0M" ram.runtime = "100M" [install] From 18696acb10d78d98839315c016ce3f8b417e1a82 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 29 Nov 2023 09:37:20 +0100 Subject: [PATCH 06/42] Fix manifest --- manifest.toml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/manifest.toml b/manifest.toml index 66697e9..ac748d4 100644 --- a/manifest.toml +++ b/manifest.toml @@ -56,7 +56,6 @@ ram.runtime = "100M" [resources] - [resources.sources] [resources.sources.main] format = "whatever" extract = false @@ -72,12 +71,12 @@ ram.runtime = "100M" amd64.sha256 = "586b1b0df6940e847600625850ee7d766f103dc3341c1b4abfc269db57c5d826" [resources.system_user] - # Hard-coded... home = "/home/yunohost.app/__APP__" allow_ssh = true allow_email = true [resources.install_dir] + dir = "/opt/yunohost/__APP__" [resources.data_dir] From 479e4d7b2df899f3156805f97821b2edd51571e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 29 Nov 2023 10:57:12 +0100 Subject: [PATCH 07/42] cleanup app.ini --- conf/app.ini | 4 ---- 1 file changed, 4 deletions(-) diff --git a/conf/app.ini b/conf/app.ini index 8350deb..a3bdadd 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -14,7 +14,6 @@ NAME = __DB_NAME__ USER = __DB_USER__ PASSWD = __DB_PWD__ SSL_MODE = disable -PATH = data/gitea.db LOG_SQL = false [repository] @@ -92,6 +91,3 @@ SECRET_KEY = __SECRET_KEY__ REVERSE_PROXY_AUTHENTICATION_USER = REMOTE-USER REVERSE_PROXY_TRUSTED_PROXIES = 127.0.0.0/8,::1/128 INTERNAL_TOKEN = __INTERNAL_TOKEN__ - -[oauth2] -JWT_SECRET = __JWT_SECRET__ From d5f508aa85a7f634244dc23835730e19e1109dbb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 29 Nov 2023 10:57:32 +0100 Subject: [PATCH 08/42] fix init permissions --- manifest.toml | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/manifest.toml b/manifest.toml index ac748d4..1733c75 100644 --- a/manifest.toml +++ b/manifest.toml @@ -45,19 +45,20 @@ ram.runtime = "100M" type = "path" default = "/gitea" - [install.admin] - type = "user" - [install.init_main_permission] help.en = "Gitea should be visible by visitors to use git via HTTP and to use the API. You can still set repositories as private individually." help.fr = "Gitea doit être visible par les visiteurs pour utiliser git via HTTP et utiliser l'API. Vous pouvez toujours rendre les dépôts privés individuellement." type = "group" default = "visitors" + + [install.init_admin_permission] + type = "group" + default = "admins" + [resources] [resources.sources.main] - format = "whatever" extract = false rename = "gitea" @@ -83,6 +84,8 @@ ram.runtime = "100M" [resources.permissions] main.url = "/" + admin.label = "Admins" + [resources.ports] main.default = 6000 From e73acdd808f2b6f33a2b38cc35474cf34cd5a1a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 29 Nov 2023 10:58:11 +0100 Subject: [PATCH 09/42] cleanup all scripts --- scripts/_common.sh | 51 +++++++----------- scripts/backup | 4 +- scripts/change_url | 8 +-- scripts/install | 54 +++++++++++++------ scripts/remove | 2 +- scripts/restore | 6 +-- scripts/upgrade | 127 ++++++++++++++++++++------------------------- 7 files changed, 122 insertions(+), 130 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 74b131b..fa6e370 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -1,31 +1,29 @@ -#!/bin/bash +#================================================= +# SET ALL CONSTANTS +#================================================= + +systemd_match_start_line='Starting new Web server: tcp:127.0.0.1:' +ssh_port=$(grep -P "Port\s+\d+" /etc/ssh/sshd_config | grep -P -o "\d+") #================================================= # DEFINE ALL COMMON FONCTIONS #================================================= -_gitea_mkdirs() { - mkdir -p "$install_dir/data" - mkdir -p "$install_dir/custom/conf" - _gitea_permissions_install_dir - - mkdir -p "$data_dir/.ssh" - mkdir -p "$data_dir/repositories" - mkdir -p "$data_dir/data/avatars" - mkdir -p "$data_dir/data/attachments" - chown -R "$app:$app" "$data_dir" - chmod -R u=rwX,g=rX,o= "$data_dir" - chmod -R u=rwx,g=,o= "$data_dir/.ssh" - - mkdir -p "/var/log/$app" - touch "/var/log/$app/gitea.log" - chown -R "$app:$app" "/var/log/$app" - chmod -R u=rwX,g=rX,o= "/var/log/$app" -} - -_gitea_permissions_install_dir() { +_set_permissions() { chown -R "$app:$app" "$install_dir" chmod -R u=rwX,g=rX,o= "$install_dir" + chmod +x "$install_dir/gitea" + + chown -R "$app:$app" "$data_dir" + find $data_dir \( \! -perm u=rwX,g=rX,-o= \ + -o \! -user $YNH_APP_ID \ + -o \! -group $YNH_APP_ID \) \ + -exec chown $YNH_APP_ID:$YNH_APP_ID {} \; \ + -exec chmod u=rwX,g=rX,o= {} \; + chmod -R u=rwX,g=,o= "$data_dir/.ssh" + + chown -R "$app:$app" "/var/log/$app" + chmod -R u=rwX,g=rX,o= "/var/log/$app" } _gitea_set_secrets() { @@ -39,13 +37,7 @@ _gitea_set_secrets() { ynh_app_setting_set --app "$app" --key secret_key --value="$secret_key" fi - if [[ -z "${jwt_secret:-}" ]]; then - jwt_secret=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET) - ynh_app_setting_set --app "$app" --key jwt_secret --value="$jwt_secret" - fi - if [[ -n "${lfs_key:-}" ]]; then - # Migration lfs_jwt_secret="$lfs_key" ynh_app_setting_delete --app "$app" --key lfs_key ynh_app_setting_set --app "$app" --key lfs_jwt_secret --value="$lfs_jwt_secret" @@ -56,8 +48,3 @@ _gitea_set_secrets() { ynh_app_setting_set --app "$app" --key lfs_jwt_secret --value="$lfs_jwt_secret" fi } - -_gitea_add_config() { - ssh_port=$(grep -P "Port\s+\d+" /etc/ssh/sshd_config | grep -P -o "\d+") - ynh_add_config --template="app.ini" --destination="$install_dir/custom/conf/app.ini" -} diff --git a/scripts/backup b/scripts/backup index 8fff18d..fe6b8ca 100644 --- a/scripts/backup +++ b/scripts/backup @@ -9,14 +9,14 @@ source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers -if [[ ! "$(systemctl status $app.service)" =~ "Active: inactive (dead)" ]]; then +if [[ ! "$(systemctl status $app.service)" =~ 'Active: inactive (dead)' ]]; then ynh_print_warn --message="It's hightly recommended to make your backup when the service is stopped. Please stop $app service and with this command before to run the backup 'systemctl stop $app.service'" fi #================================================= # DECLARE DATA AND CONF FILES TO BACKUP #================================================= -ynh_print_info --message="Declaring files to be backed up..." +ynh_print_info --message='Declaring files to be backed up...' # Copy the app source files ynh_backup --src_path "$install_dir" diff --git a/scripts/change_url b/scripts/change_url index 1543ea5..ba0d493 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -16,7 +16,7 @@ source /usr/share/yunohost/helpers #================================================= ynh_script_progression --message="Stopping a systemd service..." --weight=1 -ynh_systemd_action --service_name="$app" --action="stop" +ynh_systemd_action --service_name="$app" --action=stop #================================================= # MODIFY URL IN NGINX CONF @@ -32,8 +32,8 @@ ynh_change_url_nginx_config #================================================= ynh_script_progression --message="Updating gitea configuration..." -_gitea_add_config -_gitea_permissions_install_dir +ynh_add_config --template="app.ini" --destination="$install_dir/custom/conf/app.ini" +_set_permissions #================================================= # GENERIC FINALISATION @@ -42,7 +42,7 @@ _gitea_permissions_install_dir #================================================= ynh_script_progression --message="Starting gitea services..." --weight=3 -ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" +ynh_systemd_action --service_name="$app" --action=start --log_path="/var/log/$app/gitea.log" --line_match="$systemd_match_start_line" #================================================= # END OF SCRIPT diff --git a/scripts/install b/scripts/install index 05244a5..f48b969 100644 --- a/scripts/install +++ b/scripts/install @@ -14,20 +14,43 @@ source /usr/share/yunohost/helpers #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= -ynh_script_progression --message="Installing sources files and data directories..." --weight=10 +ynh_script_progression --message='Creating base directory...' +if [ -n "$(ls -A $data_dir)" ]; then + old_data_dir_path="${data_dir}_$(date '+%Y%m%d.%H%M%S')" + ynh_print_warn "Data directory was not empty. Data was moved to $old_data_dir_path" + mkdir -p $old_data_dir_path + mv -t "$old_data_dir_path" "$data_dir"/* +fi + +# base directories +mkdir -p "$install_dir/data" +mkdir -p "$install_dir/custom/conf" +mkdir -p "/var/log/$app" + +mkdir -p "$data_dir/.ssh" +mkdir -p "$data_dir/repositories" +mkdir -p "$data_dir/data/avatars" +mkdir -p "$data_dir/data/attachments" + +ynh_script_progression --message='Installing sources files and data directories...' --weight=10 + +# Setup source ynh_setup_source --dest_dir="$install_dir" -chmod +x "$install_dir/gitea" - -# create needed directories -_gitea_mkdirs +_set_permissions ynh_script_progression --message="Configuring application, step 1/2..." -_gitea_set_secrets -_gitea_add_config -_gitea_permissions_install_dir +internal_token=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret INTERNAL_TOKEN) +secret_key=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret SECRET_KEY) +lfs_jwt_secret=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET) + +ynh_app_setting_set --app="$app" --key=internal_token --value="$internal_token" +ynh_app_setting_set --app="$app" --key=secret_key --value="$secret_key" +ynh_app_setting_set --app="$app" --key=lfs_jwt_secret --value="$lfs_jwt_secret" + +ynh_add_config --template='app.ini' --destination="$install_dir/custom/conf/app.ini" #================================================= # SYSTEM CONFIGURATION @@ -47,7 +70,7 @@ yunohost service add "$app" --log="/var/log/$app/gitea.log" ynh_use_logrotate --logfile "/var/log/$app" # Create a dedicated Fail2Ban config -ynh_add_fail2ban_config --logpath "/var/log/$app/gitea.log" --failregex ".*Failed authentication attempt for .* from " --max_retry 5 +ynh_add_fail2ban_config --logpath="/var/log/$app/gitea.log" --failregex='.*Failed authentication attempt for .* from ' --max_retry=5 #================================================= # APP INITIAL CONFIGURATION @@ -55,26 +78,27 @@ ynh_add_fail2ban_config --logpath "/var/log/$app/gitea.log" --failregex ".*Faile # ADD A CONFIGURATION #================================================= -ynh_script_progression --message="Configuring application, step 2/2..." +ynh_script_progression --message='Configuring application, step 2/2...' +_set_permissions # Start gitea for building mysql tables -ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" +ynh_systemd_action --service_name="$app" --action=start --log_path="/var/log/$app/gitea.log" --line_match="$systemd_match_start_line" # Add ldap config -ynh_replace_string --match_string "__APP__" --replace_string "$app" --target_file ../conf/login_source.sql +ynh_replace_string --match_string=__APP__ --replace_string="$app" --target_file=../conf/login_source.sql ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ../conf/login_source.sql # Stop the service to restart it just afterwards -ynh_systemd_action --service_name="$app" --action="stop" --log_path="/var/log/$app/gitea.log" +ynh_systemd_action --service_name="$app" --action='stop' --log_path="/var/log/$app/gitea.log" #================================================= # GENERIC FINALIZATION #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting gitea services..." --weight=3 +ynh_script_progression --message='Starting gitea services...' --weight=3 -ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" +ynh_systemd_action --service_name="$app" --action=start --log_path="/var/log/$app/gitea.log" --line_match="$systemd_match_start_line" #================================================= # END OF SCRIPT diff --git a/scripts/remove b/scripts/remove index dc78a80..1d0608e 100644 --- a/scripts/remove +++ b/scripts/remove @@ -26,7 +26,7 @@ ynh_remove_logrotate ynh_remove_fail2ban_config -ynh_script_progression --message="Removing logs..." +ynh_script_progression --message='Removing logs...' ynh_secure_remove --file="/var/log/$app" #================================================= diff --git a/scripts/restore b/scripts/restore index c5fc584..1fd0b31 100644 --- a/scripts/restore +++ b/scripts/restore @@ -13,9 +13,7 @@ source /usr/share/yunohost/helpers #================================================= ynh_script_progression --message="Restoring the app files..." --weight=1 ynh_restore - -# Also sets the permissions -_gitea_mkdirs +_set_permissions #================================================= # RESTORE THE MYSQL DATABASE @@ -46,7 +44,7 @@ ynh_add_fail2ban_config --logpath "/var/log/$app/gitea.log" --failregex ".*Faile ynh_script_progression --message="Reloading NGINX web server and $app's service..." --weight=1 # Typically you only have either $app or php-fpm but not both at the same time... -ynh_systemd_action -l "Starting new Web server: tcp:127.0.0.1:" -t 10 +ynh_systemd_action --service_name="$app" --action=start --log_path="/var/log/$app/gitea.log" --line_match="$systemd_match_start_line" ynh_systemd_action --service_name=nginx --action=reload diff --git a/scripts/upgrade b/scripts/upgrade index fd00201..f6bb022 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -16,25 +16,35 @@ upgrade_type=$(ynh_check_app_version_changed) #================================================= # ENSURE DOWNWARD COMPATIBILITY #================================================= -ynh_script_progression --message="Ensuring downward compatibility..." --weight=1 +ynh_script_progression --message='Ensuring downward compatibility...' --weight=1 -# If lfs_key doesn't exist, create it -if [ -z "${lfs_key:-}" ]; then - lfs_key=$(ynh_string_random) - ynh_app_setting_set --app="$app" --key=lfs_key --value="$lfs_key" +if ynh_compare_current_package_version --comparison lt --version "1.6.4~ynh1"; then + message="Upgrade from $YNH_APP_CURRENT_VERSION was dropped. You need to run this, then upgrade to the latest version: +sudo yunohost app upgrade $app -u https://github.com/YunoHost-Apps/gitea_ynh/commit/a9ceb157032ae2290e944c1d0a255451ff2d133d" + ynh_print_info "$message" + ynh_die --message="$message" --ret_code 1 fi +#================================================= +# STOP SYSTEMD SERVICE +#================================================= +ynh_script_progression --message='Stopping a systemd service...' --weight=1 + +ynh_systemd_action --service_name="$app" --action=stop + +#================================================= +# MIGRATION STEP 1 (migrate path from packagin v1) +#================================================= + # This is not handled by the core because the previous package did not define final_path... if [ -d "/opt/$app" ]; then # This is the package version of the manifestv2 - rsync -a "/opt/$app/" "$install_dir" - ynh_secure_remove "/opt/$app" + mv "/opt/$app/" "$install_dir" fi # Move data directory if [ -d "/home/$app" ]; then - rsync -a "/home/$app/" "$data_dir" - ynh_secure_remove "/home/$app" + mv "/home/$app/" "$data_dir" fi # Ensure the user has the correct home dir @@ -43,23 +53,45 @@ if [ ~"$app" != "$data_dir" ]; then fi # Ensure secrets are defined -# Some workaround around `gitea secret generate` not available in old versions -mv "$install_dir/gitea" "$install_dir/gitea_orig" ynh_setup_source --dest_dir="$install_dir" --source_id=main -chmod +x "$install_dir/gitea" -_gitea_set_secrets -ynh_secure_remove "$install_dir/gitea" -mv "$install_dir/gitea_orig" "$install_dir/gitea" - -# Ensure directories are created -_gitea_mkdirs +_set_permissions #================================================= -# STOP SYSTEMD SERVICE +# MIGRATION STEP 2 (Set undefined Vars) #================================================= -ynh_script_progression --message="Stopping a systemd service..." --weight=1 -ynh_systemd_action --service_name="$app" --action="stop" +if [[ -z "${internal_token:-}" ]]; then + internal_token=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret INTERNAL_TOKEN) + ynh_app_setting_set --app "$app" --key internal_token --value="$internal_token" +fi + +if [[ -z "${secret_key:-}" ]]; then + secret_key=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret SECRET_KEY) + ynh_app_setting_set --app "$app" --key secret_key --value="$secret_key" +fi + +if [[ -n "${lfs_key:-}" ]]; then + lfs_jwt_secret="$lfs_key" + ynh_app_setting_delete --app "$app" --key lfs_key + ynh_app_setting_set --app "$app" --key lfs_jwt_secret --value="$lfs_jwt_secret" +fi + +if [[ -z "${lfs_jwt_secret:-}" ]]; then + lfs_jwt_secret=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET) + ynh_app_setting_set --app "$app" --key lfs_jwt_secret --value="$lfs_jwt_secret" +fi + +#================================================= +# UPDATE A CONFIG FILE +#================================================= +ynh_script_progression --message='Updating configuration files...' --weight=1 + +# Clean template to fix issue : https://github.com/gogits/gogs/issues/4585 +ynh_secure_remove --file="$install_dir/templates" + +# Configure gitea with app.ini file +ynh_add_config --template=app.ini --destination="$install_dir/custom/conf/app.ini" +_set_permissions #================================================= # REAPPLY SYSTEM CONFIGURATIONS @@ -76,61 +108,12 @@ ynh_use_logrotate --non-append ynh_add_fail2ban_config --logpath="/var/log/$app/gitea.log" --failregex=".*Failed authentication attempt for .* from " --max_retry 5 -#================================================= -# RECONFIGURE THE APP (UPDATE CONF, APPLY MIGRATIONS...) -#================================================= -# UPDATE A CONFIG FILE -#================================================= -ynh_script_progression --message="Updating configuration files..." --weight=1 - -# Clean template to fix issue : https://github.com/gogits/gogs/issues/4585 -ynh_secure_remove --file="$install_dir/templates" - -# Configure gitea with app.ini file -_gitea_add_config -_gitea_permissions_install_dir - -#================================================= -# DB migration -#================================================= -ynh_script_progression --message="Upgrading database and sources..." --weight=6 - -if ynh_compare_current_package_version --comparison lt --version "1.6.4~ynh1"; then - message="Upgrade from $YNH_APP_CURRENT_VERSION was dropped. You need to run this, then upgrade to the latest version: -sudo yunohost app upgrade $app -u https://github.com/YunoHost-Apps/gitea_ynh/commit/a9ceb157032ae2290e944c1d0a255451ff2d133d" - ynh_print_info "$message" - ynh_die --message="$message" --ret_code 1 -fi - -ynh_setup_source --dest_dir="$install_dir" -chmod +x "$install_dir/gitea" -_gitea_permissions_install_dir -ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" -# FIXME: Leave the time to update the database schema -sleep 5 -systemctl stop "$app" - - -#================================================= -# RECONFIGURE THE APP (UPDATE CONF, APPLY MIGRATIONS...) -#================================================= -# UPDATE A CONFIG FILE -#================================================= -ynh_script_progression --message="Updating LDAP configuration..." --weight=1 -# Should be done after DB migration I guess -if ! ynh_permission_exists --permission admin; then - # Update ldap config - ynh_replace_string --match_string="__APP__" --replace_string="$app" --target_file="../conf/login_source.sql" - ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ../conf/login_source.sql -fi - - #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting a systemd service..." --weight=1 +ynh_script_progression --message='Starting a systemd service...' --weight=1 -ynh_systemd_action --service_name="$app" --action="start" --log_path="/var/log/$app/gitea.log" --line_match="Starting new Web server: tcp:127.0.0.1:" +ynh_systemd_action --service_name="$app" --action=start --log_path="/var/log/$app/gitea.log" --line_match="$systemd_match_start_line" #================================================= # END OF SCRIPT From 361d0bb6520c4c6d6e7c45a6012b024d499b1323 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 29 Nov 2023 14:52:09 +0100 Subject: [PATCH 10/42] Fix email stack config --- conf/app.ini | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/conf/app.ini b/conf/app.ini index a3bdadd..1bb15a2 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -37,13 +37,22 @@ LFS_JWT_SECRET = __LFS_JWT_SECRET__ ENABLED = true SMTP_ADDR = __DOMAIN__ SMTP_PORT = 587 -PROTOCOL = smtps +PROTOCOL = smtps+starttls FROM = "Gitea" <__APP__-noreply@__DOMAIN__> USER = __APP__ PASSWD = __MAIL_PWD__ SKIP_VERIFY = true FORCE_TRUST_SERVER_CERT = true +[email.incoming] +ENABLED = true +REPLY_TO_ADDRESS = __APP__+%{token}@__DOMAIN__ +HOST = __DOMAIN__ +PORT = 993 +USE_TLS = true +USERNAME = __APP__ +PASSWORD = __MAIL_PWD__ + [service] REGISTER_EMAIL_CONFIRM = false ENABLE_NOTIFY_MAIL = true From b91b7e2464599b3dbaf5cb87e46ae66f90f0c887 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 29 Nov 2023 14:52:14 +0100 Subject: [PATCH 11/42] Remove limit on data in nginx --- conf/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index d2214e7..aa4ab8d 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -3,7 +3,7 @@ location __PATH__/ { proxy_pass http://127.0.0.1:__PORT__/; proxy_set_header Host $host; proxy_buffering off; - client_max_body_size 200M; + client_max_body_size 0; proxy_set_header X-Real-IP $remote_addr; # Include SSOWAT user panel. From 7e2809de421cf710e8c990dc8a5965d6b20f9b6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Thu, 30 Nov 2023 14:19:42 +0100 Subject: [PATCH 12/42] Remove skype verify as it's obsolete Deprecated config option `[mailer]` `SKIP_VERIFY` present. Use `[mailer]` `FORCE_TRUST_SERVER_CERT` instead. This fallback will be/has been removed in v1.19.0 --- conf/app.ini | 1 - 1 file changed, 1 deletion(-) diff --git a/conf/app.ini b/conf/app.ini index 1bb15a2..cf11950 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -41,7 +41,6 @@ PROTOCOL = smtps+starttls FROM = "Gitea" <__APP__-noreply@__DOMAIN__> USER = __APP__ PASSWD = __MAIL_PWD__ -SKIP_VERIFY = true FORCE_TRUST_SERVER_CERT = true [email.incoming] From a315e283096442ce9e3f42b986a74524e17d8c02 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Thu, 30 Nov 2023 14:24:43 +0100 Subject: [PATCH 13/42] Use smtp with starttls (not smtps) When we use smtps+starttls we have this error : gomail: could not send email 1: SMTP server does not support AUTH, but credentials provided --- conf/app.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/app.ini b/conf/app.ini index cf11950..0cb1462 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -37,7 +37,7 @@ LFS_JWT_SECRET = __LFS_JWT_SECRET__ ENABLED = true SMTP_ADDR = __DOMAIN__ SMTP_PORT = 587 -PROTOCOL = smtps+starttls +PROTOCOL = smtp+starttls FROM = "Gitea" <__APP__-noreply@__DOMAIN__> USER = __APP__ PASSWD = __MAIL_PWD__ From 396f0d4aaaf8aa277d36d5bded9d450fc79049e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Thu, 30 Nov 2023 14:26:08 +0100 Subject: [PATCH 14/42] Use correct email to reply when we use other user for email than gitea we have this error: gomail: could not send email 1: failed to issue RCPT command: 553 5.7.1 : Sender address rejected: not owned by user gitea --- conf/app.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/app.ini b/conf/app.ini index 0cb1462..fb400e5 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -38,7 +38,7 @@ ENABLED = true SMTP_ADDR = __DOMAIN__ SMTP_PORT = 587 PROTOCOL = smtp+starttls -FROM = "Gitea" <__APP__-noreply@__DOMAIN__> +FROM = "Gitea" <__APP__@__DOMAIN__> USER = __APP__ PASSWD = __MAIL_PWD__ FORCE_TRUST_SERVER_CERT = true From 1a620afa864727aec835fbef88ef4bb7b78e3bd4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Thu, 30 Nov 2023 14:49:11 +0100 Subject: [PATCH 15/42] Fix log configuration Fix warning: Failed to load writer mode "router" for logger router: invalid log writer type (mode): router, maybe it needs something like 'MODE=file' in [log.router] section Failed to load writer mode "xorm" for logger xorm: invalid log writer type (mode): xorm, maybe it needs something like 'MODE=file' in [log.xorm] section Fix log level in file because: - warning level break startup service detection (with ynh_systemd_action) - warning level break fail2ban --- conf/app.ini | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/conf/app.ini b/conf/app.ini index fb400e5..71f59de 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -83,13 +83,15 @@ MACARON = file [log.file] FILE_NAME = gitea.log -LEVEL = Warn +LEVEL = Info [log.router] +MODE = file FILE_NAME = router.log LEVEL = Warn [log.xorm] +MODE = file FILE_NAME = xorm.log LEVEL = Warn From 676d283d14718d7b49f06e18d38c31a0e7c0d0ed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 13 Dec 2023 10:10:44 +0100 Subject: [PATCH 16/42] Use localhost instead of domain for mail server address --- conf/app.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/conf/app.ini b/conf/app.ini index 71f59de..0cd9439 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -35,7 +35,7 @@ LFS_JWT_SECRET = __LFS_JWT_SECRET__ [mailer] ENABLED = true -SMTP_ADDR = __DOMAIN__ +SMTP_ADDR = localhost SMTP_PORT = 587 PROTOCOL = smtp+starttls FROM = "Gitea" <__APP__@__DOMAIN__> @@ -46,7 +46,7 @@ FORCE_TRUST_SERVER_CERT = true [email.incoming] ENABLED = true REPLY_TO_ADDRESS = __APP__+%{token}@__DOMAIN__ -HOST = __DOMAIN__ +HOST = localhost PORT = 993 USE_TLS = true USERNAME = __APP__ From b7b73bbf895d4fad85b5bb3898f58d99026c1551 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 13 Dec 2023 10:38:10 +0100 Subject: [PATCH 17/42] Add jwt secret because gitea edit config if not present --- conf/app.ini | 9 ++++++--- scripts/install | 2 ++ scripts/upgrade | 5 +++++ 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/conf/app.ini b/conf/app.ini index 0cd9439..9136e24 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -2,7 +2,7 @@ APP_NAME = Gitea RUN_USER = __APP__ RUN_MODE = prod -WORK_PATH =__INSTALL_DIR__ +WORK_PATH = __INSTALL_DIR__ [actions] ENABLED = false @@ -78,8 +78,8 @@ logger.access.MODE = logger.router.MODE = router logger.xorm.MODE = xorm -REDIRECT_MACARON_LOG= true -MACARON = file +REDIRECT_MACARON_LOG = true +MACARON = file [log.file] FILE_NAME = gitea.log @@ -101,3 +101,6 @@ SECRET_KEY = __SECRET_KEY__ REVERSE_PROXY_AUTHENTICATION_USER = REMOTE-USER REVERSE_PROXY_TRUSTED_PROXIES = 127.0.0.0/8,::1/128 INTERNAL_TOKEN = __INTERNAL_TOKEN__ + +[oauth2] +JWT_SECRET = __JWT_SECRET__ diff --git a/scripts/install b/scripts/install index f48b969..b5954c5 100644 --- a/scripts/install +++ b/scripts/install @@ -45,10 +45,12 @@ ynh_script_progression --message="Configuring application, step 1/2..." internal_token=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret INTERNAL_TOKEN) secret_key=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret SECRET_KEY) lfs_jwt_secret=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET) +jwt_secret=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET) ynh_app_setting_set --app="$app" --key=internal_token --value="$internal_token" ynh_app_setting_set --app="$app" --key=secret_key --value="$secret_key" ynh_app_setting_set --app="$app" --key=lfs_jwt_secret --value="$lfs_jwt_secret" +ynh_app_setting_set --app "$app" --key jwt_secret --value="$jwt_secret" ynh_add_config --template='app.ini' --destination="$install_dir/custom/conf/app.ini" diff --git a/scripts/upgrade b/scripts/upgrade index f6bb022..dd8a354 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -81,6 +81,11 @@ if [[ -z "${lfs_jwt_secret:-}" ]]; then ynh_app_setting_set --app "$app" --key lfs_jwt_secret --value="$lfs_jwt_secret" fi +if [[ -z "${jwt_secret:-}" ]]; then + jwt_secret=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET) + ynh_app_setting_set --app "$app" --key jwt_secret --value="$jwt_secret" +fi + #================================================= # UPDATE A CONFIG FILE #================================================= From cd38b3eae1c2fbb17cd9b35b007cde7946d07306 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 6 Dec 2023 11:56:38 +0100 Subject: [PATCH 18/42] Fix linter --- manifest.toml | 4 ++++ scripts/upgrade | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/manifest.toml b/manifest.toml index 1733c75..d645120 100644 --- a/manifest.toml +++ b/manifest.toml @@ -53,6 +53,10 @@ ram.runtime = "100M" [install.init_admin_permission] + ask.en = "Which group will have access to Gitea admin page" + ask.fr = "Quel groupe aura accès à l'administration de Gitea" + help.en = "Users of this group should have access to Gitea admin page" + help.fr = "Les utilisateurs de ce groupe devrait avoir accès à la page d'administration de Gitea" type = "group" default = "admins" diff --git a/scripts/upgrade b/scripts/upgrade index dd8a354..33f25e4 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -43,8 +43,8 @@ if [ -d "/opt/$app" ]; then fi # Move data directory -if [ -d "/home/$app" ]; then - mv "/home/$app/" "$data_dir" +if [ -d /home"/$app" ]; then + mv /home"/$app/" "$data_dir" fi # Ensure the user has the correct home dir From 0747739c76dd24fca300956359bb277744660ecd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Mon, 18 Dec 2023 14:35:06 +0100 Subject: [PATCH 19/42] Use $app instead of $YNH_APP_ID --- scripts/_common.sh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index fa6e370..baf9356 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -16,9 +16,9 @@ _set_permissions() { chown -R "$app:$app" "$data_dir" find $data_dir \( \! -perm u=rwX,g=rX,-o= \ - -o \! -user $YNH_APP_ID \ - -o \! -group $YNH_APP_ID \) \ - -exec chown $YNH_APP_ID:$YNH_APP_ID {} \; \ + -o \! -user $app \ + -o \! -group $app \) \ + -exec chown $app:$app {} \; \ -exec chmod u=rwX,g=rX,o= {} \; chmod -R u=rwX,g=,o= "$data_dir/.ssh" From b0e2306674749662b3fdf0b27b2d2266244b017d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 24 Jan 2024 22:44:50 +0100 Subject: [PATCH 20/42] Force LDAP sync at first start --- conf/app.ini | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/conf/app.ini b/conf/app.ini index 9136e24..0bb74d9 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -104,3 +104,7 @@ INTERNAL_TOKEN = __INTERNAL_TOKEN__ [oauth2] JWT_SECRET = __JWT_SECRET__ + +[cron.sync_external_users] +ENABLED = true +RUN_AT_START = false From b402f9038df29697cd33c5e248be39caa25ecf37 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 20 Dec 2023 23:35:34 +0100 Subject: [PATCH 21/42] Improve permission config --- manifest.toml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/manifest.toml b/manifest.toml index d645120..c8a5c92 100644 --- a/manifest.toml +++ b/manifest.toml @@ -88,6 +88,8 @@ ram.runtime = "100M" [resources.permissions] main.url = "/" + admin.show_tile = false + admin.auth_header = false admin.label = "Admins" [resources.ports] From 0dbe2ed538f18f6da42ef54155abe7f8cda0807b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 24 Jan 2024 22:57:48 +0100 Subject: [PATCH 22/42] Fix email retriving With the previous config we have this error: Error while processing incoming emails: could not connect to server 'localhost:993': tls: failed to verify certificate: x509: certificate is valid for domain.tld, not localhost --- conf/app.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conf/app.ini b/conf/app.ini index 0bb74d9..6eae587 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -46,7 +46,7 @@ FORCE_TRUST_SERVER_CERT = true [email.incoming] ENABLED = true REPLY_TO_ADDRESS = __APP__+%{token}@__DOMAIN__ -HOST = localhost +HOST = __DOMAIN__ PORT = 993 USE_TLS = true USERNAME = __APP__ From 39be9a3b28bbe6ce6a649015e960219568766ef0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 24 Jan 2024 22:58:29 +0100 Subject: [PATCH 23/42] Update ldap config also on update --- scripts/upgrade | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/scripts/upgrade b/scripts/upgrade index 33f25e4..dafa757 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -98,6 +98,10 @@ ynh_secure_remove --file="$install_dir/templates" ynh_add_config --template=app.ini --destination="$install_dir/custom/conf/app.ini" _set_permissions +# Update ldap config +ynh_replace_string --match_string=__APP__ --replace_string="$app" --target_file=../conf/login_source.sql +ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ../conf/login_source.sql + #================================================= # REAPPLY SYSTEM CONFIGURATIONS #================================================= From 77c36786f44eee829988e469b7a0d839edad435e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Thu, 25 Jan 2024 00:16:19 +0100 Subject: [PATCH 24/42] Disable reverse proxy authentication temporately --- conf/app.ini | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/conf/app.ini b/conf/app.ini index 6eae587..af5ccc6 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -58,8 +58,10 @@ ENABLE_NOTIFY_MAIL = true DISABLE_REGISTRATION = true ENABLE_CAPTCHA = false REQUIRE_SIGNIN_VIEW = false -ENABLE_REVERSE_PROXY_AUTHENTICATION = true -ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = true +# reverse proxy authentication disabled until https://github.com/go-gitea/gitea/pull/18452 is merged +# as it broke completely the LDAP sync +ENABLE_REVERSE_PROXY_AUTHENTICATION = false +ENABLE_REVERSE_PROXY_AUTO_REGISTRATION = false [picture] AVATAR_UPLOAD_PATH = __DATA_DIR__/data/avatars From 01f092458dc14f8fad20482a8a424bf5b91cdb55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Thu, 25 Jan 2024 00:21:50 +0100 Subject: [PATCH 25/42] Update login source config and add group support --- conf/login_source.sql | 71 ++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 67 insertions(+), 4 deletions(-) diff --git a/conf/login_source.sql b/conf/login_source.sql index 72eb3b0..e7f9703 100644 --- a/conf/login_source.sql +++ b/conf/login_source.sql @@ -1,6 +1,69 @@ -INSERT INTO `__APP__`.`login_source` +INSERT INTO `__APP__`.`login_source` (`id`, `type`, `name`, `is_active`, `cfg`, `created_unix`, `updated_unix`) VALUES -('1', '2', 'YunoHost LDAP', '1', '{"Name":"Yunohost LDAP","Host":"localhost","Port":389,"UseSSL":false,"BindDN":"","BindPassword":"","UserBase":"ou=users,dc=yunohost,dc=org","AttributeName":"givenName","AttributeSurname":"sn","AttributeMail":"mail","Filter":"(&(uid=%s)(objectClass=posixAccount)(permission=cn=__APP__.main,ou=permission,dc=yunohost,dc=org))","AdminFilter":"(permission=cn=__APP__.admin,ou=permission,dc=yunohost,dc=org)","Enabled":true}', '1464014433', '1464015955') -ON DUPLICATE KEY -UPDATE cfg='{"Name":"YunoHost LDAP","Host":"localhost","Port":389,"UseSSL":false,"BindDN":"","BindPassword":"","UserBase":"ou=users,dc=yunohost,dc=org","AttributeName":"givenName","AttributeSurname":"sn","AttributeMail":"mail","Filter":"(&(uid=%s)(objectClass=posixAccount)(permission=cn=__APP__.main,ou=permission,dc=yunohost,dc=org))","AdminFilter":"(permission=cn=__APP__.admin,ou=permission,dc=yunohost,dc=org)","Enabled":true}'; +('1', '2', 'YunoHost LDAP', '1', + '{ + "Name": "YunoHost LDAP", + "Host": "localhost", + "Port": 389, + "SecurityProtocol": 0, + "SkipVerify": false, + "BindDN": "", + "BindPassword": "", + "UserBase": "ou=users,dc=yunohost,dc=org", + "UserDN": "", + "AttributeUsername": "uid", + "AttributeName": "givenName", + "AttributeSurname": "sn", + "AttributeMail": "mail", + "AttributesInBind": false, + "AttributeSSHPublicKey": "", + "AttributeAvatar": "", + "SearchPageSize": 0, + "Filter": "(&(uid=%s)(objectClass=posixAccount)(permission=cn=__APP__.main,ou=permission,dc=yunohost,dc=org))", + "AdminFilter": "(permission=cn=__APP__.admin,ou=permission,dc=yunohost,dc=org)", + "RestrictedFilter": "", + "Enabled": true, + "AllowDeactivateAll": false, + "GroupsEnabled": true, + "GroupDN": "ou=groups,dc=yunohost,dc=org", + "GroupFilter": "", + "GroupMemberUID": "memberUid", + "GroupTeamMap": "", + "GroupTeamMapRemoval": true, + "UserUID": "uid" + }', UNIX_TIMESTAMP(NOW()), UNIX_TIMESTAMP(NOW())) +ON DUPLICATE KEY +UPDATE + updated_unix=UNIX_TIMESTAMP(NOW()), + cfg='{ + "Name": "YunoHost LDAP", + "Host": "localhost", + "Port": 389, + "SecurityProtocol": 0, + "SkipVerify": false, + "BindDN": "", + "BindPassword": "", + "UserBase": "ou=users,dc=yunohost,dc=org", + "UserDN": "", + "AttributeUsername": "uid", + "AttributeName": "givenName", + "AttributeSurname": "sn", + "AttributeMail": "mail", + "AttributesInBind": false, + "AttributeSSHPublicKey": "", + "AttributeAvatar": "", + "SearchPageSize": 0, + "Filter": "(&(uid=%s)(objectClass=posixAccount)(permission=cn=__APP__.main,ou=permission,dc=yunohost,dc=org))", + "AdminFilter": "(permission=cn=__APP__.admin,ou=permission,dc=yunohost,dc=org)", + "RestrictedFilter": "", + "Enabled": true, + "AllowDeactivateAll": false, + "GroupsEnabled": true, + "GroupDN": "ou=groups,dc=yunohost,dc=org", + "GroupFilter": "", + "GroupMemberUID": "memberUid", + "GroupTeamMap": "", + "GroupTeamMapRemoval": true, + "UserUID": "uid" + }'; From 094fe33aa75290df79487b72b949cda1d3230186 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Thu, 1 Feb 2024 22:03:16 +0100 Subject: [PATCH 26/42] Upgrade gitea to 1.21.5 --- conf/source/arm.src | 4 ++-- conf/source/arm64.src | 4 ++-- conf/source/armv7.src | 4 ++-- conf/source/i386.src | 4 ++-- conf/source/x86-64.src | 4 ++-- manifest.json | 2 +- 6 files changed, 11 insertions(+), 11 deletions(-) diff --git a/conf/source/arm.src b/conf/source/arm.src index 0076133..bd9315b 100644 --- a/conf/source/arm.src +++ b/conf/source/arm.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.4/gitea-1.21.4-linux-arm-6 -SOURCE_SUM=fdeb093830fd95ae91213856e9cb803c3ee5c346b215f95adc2e9558bf32d769 +SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.5/gitea-1.21.5-linux-arm-6 +SOURCE_SUM=a531726f695aeb6bed4d69827e56e78e22fd0e4134b02b08edbc31c50c7e8735 SOURCE_SUM_PRG=sha256sum SOURCE_FILENAME=gitea SOURCE_EXTRACT=false diff --git a/conf/source/arm64.src b/conf/source/arm64.src index 9443431..cc8e479 100644 --- a/conf/source/arm64.src +++ b/conf/source/arm64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.4/gitea-1.21.4-linux-arm64 -SOURCE_SUM=473e6bbe50faa35fbeac4afedc2631577304e76513df8a753aba8d67ddb12128 +SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.5/gitea-1.21.5-linux-arm64 +SOURCE_SUM=55d132cfb7016984773029abc8d1d8e9d844138f5e4c8ff8df273b55aa2190f3 SOURCE_SUM_PRG=sha256sum SOURCE_FILENAME=gitea SOURCE_EXTRACT=false diff --git a/conf/source/armv7.src b/conf/source/armv7.src index 60e9170..81558c1 100644 --- a/conf/source/armv7.src +++ b/conf/source/armv7.src @@ -1,8 +1,8 @@ # The armv7 build is brocken # See : https://github.com/go-gitea/gitea/issues/6700 # Use temporary the armv6 binary -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.4/gitea-1.21.4-linux-arm-6 -SOURCE_SUM=fdeb093830fd95ae91213856e9cb803c3ee5c346b215f95adc2e9558bf32d769 +SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.5/gitea-1.21.5-linux-arm-6 +SOURCE_SUM=a531726f695aeb6bed4d69827e56e78e22fd0e4134b02b08edbc31c50c7e8735 SOURCE_SUM_PRG=sha256sum SOURCE_FILENAME=gitea SOURCE_EXTRACT=false diff --git a/conf/source/i386.src b/conf/source/i386.src index 500fc35..a7276a3 100644 --- a/conf/source/i386.src +++ b/conf/source/i386.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.4/gitea-1.21.4-linux-386 -SOURCE_SUM=4fb2f8957ce195530b5fea3e77b037821281bc90380e4540be4da434c316a570 +SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.5/gitea-1.21.5-linux-386 +SOURCE_SUM=fbfde0506c100cc5e86a42c4eb73907d37be417df493a9b57400a0df55cafb14 SOURCE_SUM_PRG=sha256sum SOURCE_FILENAME=gitea SOURCE_EXTRACT=false diff --git a/conf/source/x86-64.src b/conf/source/x86-64.src index f21e99b..bb47465 100644 --- a/conf/source/x86-64.src +++ b/conf/source/x86-64.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.4/gitea-1.21.4-linux-amd64 -SOURCE_SUM=4dfe6b3800135b6cfc7ef804542d2ab94d956fe1f8f88163cd5f1489dcfa5f83 +SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.21.5/gitea-1.21.5-linux-amd64 +SOURCE_SUM=7a521914203b07c7a0613ae30d8ab229111b149a2fa219423e643cd9a039256e SOURCE_SUM_PRG=sha256sum SOURCE_FILENAME=gitea SOURCE_EXTRACT=false diff --git a/manifest.json b/manifest.json index 093b9b2..1de86a3 100644 --- a/manifest.json +++ b/manifest.json @@ -14,7 +14,7 @@ }, "url": "http://gitea.io", "license": "MIT", - "version": "1.21.4~ynh1", + "version": "1.21.5~ynh1", "maintainer": { "name": "Josué Tille", "email": "josue@tille.ch" From b9d4c6b40fc4f882e4157f627108664271b6d457 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Fri, 2 Feb 2024 15:23:28 +0100 Subject: [PATCH 27/42] Cleanup unused code --- scripts/_common.sh | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index baf9356..84557c4 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -25,26 +25,3 @@ _set_permissions() { chown -R "$app:$app" "/var/log/$app" chmod -R u=rwX,g=rX,o= "/var/log/$app" } - -_gitea_set_secrets() { - if [[ -z "${internal_token:-}" ]]; then - internal_token=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret INTERNAL_TOKEN) - ynh_app_setting_set --app "$app" --key internal_token --value="$internal_token" - fi - - if [[ -z "${secret_key:-}" ]]; then - secret_key=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret SECRET_KEY) - ynh_app_setting_set --app "$app" --key secret_key --value="$secret_key" - fi - - if [[ -n "${lfs_key:-}" ]]; then - lfs_jwt_secret="$lfs_key" - ynh_app_setting_delete --app "$app" --key lfs_key - ynh_app_setting_set --app "$app" --key lfs_jwt_secret --value="$lfs_jwt_secret" - fi - - if [[ -z "${lfs_jwt_secret:-}" ]]; then - lfs_jwt_secret=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret JWT_SECRET) - ynh_app_setting_set --app "$app" --key lfs_jwt_secret --value="$lfs_jwt_secret" - fi -} From 82853f20619284ff8736a5c6fb4da5b900c81152 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Fri, 2 Feb 2024 15:29:47 +0100 Subject: [PATCH 28/42] Fix upgrade --- scripts/upgrade | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index dafa757..6ec65c4 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -39,7 +39,8 @@ ynh_systemd_action --service_name="$app" --action=stop # This is not handled by the core because the previous package did not define final_path... if [ -d "/opt/$app" ]; then # This is the package version of the manifestv2 - mv "/opt/$app/" "$install_dir" + mv -t "$install_dir/" "/opt/$app/"* + ynh_secure_remove --file="/opt/$app" fi # Move data directory From 57740d8b4c743a33826769a23fb009d844622382 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Mon, 5 Feb 2024 19:12:10 +0100 Subject: [PATCH 29/42] Move all script in script folder --- scripts/install | 4 ++-- {conf => scripts}/login_source.sql | 0 scripts/upgrade | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) rename {conf => scripts}/login_source.sql (100%) diff --git a/scripts/install b/scripts/install index b5954c5..3bf2ce3 100644 --- a/scripts/install +++ b/scripts/install @@ -87,8 +87,8 @@ _set_permissions ynh_systemd_action --service_name="$app" --action=start --log_path="/var/log/$app/gitea.log" --line_match="$systemd_match_start_line" # Add ldap config -ynh_replace_string --match_string=__APP__ --replace_string="$app" --target_file=../conf/login_source.sql -ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ../conf/login_source.sql +ynh_replace_string --match_string=__APP__ --replace_string="$app" --target_file=./login_source.sql +ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ./login_source.sql # Stop the service to restart it just afterwards ynh_systemd_action --service_name="$app" --action='stop' --log_path="/var/log/$app/gitea.log" diff --git a/conf/login_source.sql b/scripts/login_source.sql similarity index 100% rename from conf/login_source.sql rename to scripts/login_source.sql diff --git a/scripts/upgrade b/scripts/upgrade index 6ec65c4..c0bc9e5 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -100,8 +100,8 @@ ynh_add_config --template=app.ini --destination="$install_dir/custom/conf/app.in _set_permissions # Update ldap config -ynh_replace_string --match_string=__APP__ --replace_string="$app" --target_file=../conf/login_source.sql -ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ../conf/login_source.sql +ynh_replace_string --match_string=__APP__ --replace_string="$app" --target_file=./login_source.sql +ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ./login_source.sql #================================================= # REAPPLY SYSTEM CONFIGURATIONS From bee1ad0a93afe0cb7954c6558c1749314025c448 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Mon, 5 Feb 2024 19:12:58 +0100 Subject: [PATCH 30/42] Fix account created by remote user header --- scripts/fix_user_db_for_local_users.sql | 3 +++ scripts/upgrade | 9 +++++++++ 2 files changed, 12 insertions(+) create mode 100644 scripts/fix_user_db_for_local_users.sql diff --git a/scripts/fix_user_db_for_local_users.sql b/scripts/fix_user_db_for_local_users.sql new file mode 100644 index 0000000..4873846 --- /dev/null +++ b/scripts/fix_user_db_for_local_users.sql @@ -0,0 +1,3 @@ +UPDATE `__APP__`.`user` +SET `login_type` = 2, `login_source` = 1, `login_name` = `name` +WHERE `user`.`name` in __USER_LIST__ ; diff --git a/scripts/upgrade b/scripts/upgrade index c0bc9e5..7719d42 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -87,6 +87,15 @@ if [[ -z "${jwt_secret:-}" ]]; then ynh_app_setting_set --app "$app" --key jwt_secret --value="$jwt_secret" fi +#================================================= +# MIGRATION STEP Fix regression linked to 77c3678 and #76 +#================================================= + +list_param_sql=$(yunohost user list --output-as json | jq -c '.users | keys' | sed 's|\[|\(|' | sed 's|\]|\)|') +ynh_replace_string --match_string=__APP__ --replace_string="$app" --target_file=./fix_user_db_for_local_users.sql +ynh_replace_string --match_string=__USER_LIST__ --replace_string="$list_param_sql" --target_file=./fix_user_db_for_local_users.sql +ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ./fix_user_db_for_local_users.sql + #================================================= # UPDATE A CONFIG FILE #================================================= From 8fb1399ab292282d78eda90fc5672507cd7b03f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Mon, 5 Feb 2024 19:38:59 +0100 Subject: [PATCH 31/42] Update LDAP config --- scripts/login_source.sql | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/scripts/login_source.sql b/scripts/login_source.sql index e7f9703..4afde52 100644 --- a/scripts/login_source.sql +++ b/scripts/login_source.sql @@ -1,7 +1,12 @@ INSERT INTO `__APP__`.`login_source` -(`id`, `type`, `name`, `is_active`, `cfg`, `created_unix`, `updated_unix`) +(`id`, `type`, `name`, `is_active`, `is_sync_enabled`, `cfg`, `created_unix`, `updated_unix`) VALUES -('1', '2', 'YunoHost LDAP', '1', +( + 1, + 2, + 'YunoHost LDAP', + 1, + 1, '{ "Name": "YunoHost LDAP", "Host": "localhost", @@ -32,10 +37,15 @@ VALUES "GroupTeamMap": "", "GroupTeamMapRemoval": true, "UserUID": "uid" - }', UNIX_TIMESTAMP(NOW()), UNIX_TIMESTAMP(NOW())) + }', + UNIX_TIMESTAMP(NOW()), + UNIX_TIMESTAMP(NOW())) ON DUPLICATE KEY UPDATE - updated_unix=UNIX_TIMESTAMP(NOW()), + type=2, + name='YunoHost LDAP', + is_active=1, + is_sync_enabled=1, cfg='{ "Name": "YunoHost LDAP", "Host": "localhost", @@ -66,4 +76,5 @@ UPDATE "GroupTeamMap": "", "GroupTeamMapRemoval": true, "UserUID": "uid" - }'; + }', + updated_unix=UNIX_TIMESTAMP(NOW()); From 5f7b5352378a5d554cf24ce1d2c7f717b4fe6a1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Mon, 5 Feb 2024 22:45:24 +0100 Subject: [PATCH 32/42] Add support to sync yunohost group to organisation teams --- doc/ADMIN.md | 16 +++++++++++++++- scripts/install | 1 + scripts/login_source.sql | 4 ++-- scripts/upgrade | 6 ++++++ 4 files changed, 24 insertions(+), 3 deletions(-) diff --git a/doc/ADMIN.md b/doc/ADMIN.md index 14f1bed..13ad761 100644 --- a/doc/ADMIN.md +++ b/doc/ADMIN.md @@ -46,7 +46,7 @@ client_max_body_size 200M; Don't forget to restart Gitea: ```bash -sudo systemctl restart __APP__.service`. +sudo systemctl restart __APP__.service. ``` > These settings are restored to the default configuration when updating Gitea. Remember to restore your configuration after all updates. @@ -65,6 +65,20 @@ If you want to bypass the safety backup before upgrading, run: yunohost app upgrade --no-safety-backup __APP__ ``` +## Group management + +Gitea support Yunohost group sync with Gitea Organisation Team. +As the organisation link to the group depends of the instance this should be configured by the admin on the gitea configuration interface in `DOMAIN/GITEA_PATH/admin/auths/1`. +Normally the admin just need to set the correct value of the `LDAP Group Team Map` parameter with something like this: +```json +{"cn=GROUPE_A_YNH,ou=groups,dc=yunohost,dc=org": {"gitea_organisation": ["gitea_team_A"]}, + "cn=GROUPE_B_YNH,ou=groups,dc=yunohost,dc=org": {"gitea_organisation": ["gitea_team_B"]}} +``` + +By this all members of the Yunohost groupe `GROUPE_A_YNH` will be member of the gitea team `gitea_team_A` of the organisation `gitea_organisation`. + +**Note all others parameter are managed by the Yunohost package and should not be changed.** + ## Backup This application now uses the core-only feature of the backup. To keep the integrity of the data and to have a better guarantee of the restoration it is recommended to proceed as follows: diff --git a/scripts/install b/scripts/install index 3bf2ce3..8ed9a0d 100644 --- a/scripts/install +++ b/scripts/install @@ -88,6 +88,7 @@ ynh_systemd_action --service_name="$app" --action=start --log_path="/var/log/$ap # Add ldap config ynh_replace_string --match_string=__APP__ --replace_string="$app" --target_file=./login_source.sql +ynh_replace_string --match_string=__GROUP_TEAM_MAP__ --replace_string='""' --target_file=./login_source.sql ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ./login_source.sql # Stop the service to restart it just afterwards diff --git a/scripts/login_source.sql b/scripts/login_source.sql index 4afde52..25c71eb 100644 --- a/scripts/login_source.sql +++ b/scripts/login_source.sql @@ -34,7 +34,7 @@ VALUES "GroupDN": "ou=groups,dc=yunohost,dc=org", "GroupFilter": "", "GroupMemberUID": "memberUid", - "GroupTeamMap": "", + "GroupTeamMap": __GROUP_TEAM_MAP__, "GroupTeamMapRemoval": true, "UserUID": "uid" }', @@ -73,7 +73,7 @@ UPDATE "GroupDN": "ou=groups,dc=yunohost,dc=org", "GroupFilter": "", "GroupMemberUID": "memberUid", - "GroupTeamMap": "", + "GroupTeamMap": __GROUP_TEAM_MAP__, "GroupTeamMapRemoval": true, "UserUID": "uid" }', diff --git a/scripts/upgrade b/scripts/upgrade index 7719d42..4512cc2 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -109,6 +109,12 @@ ynh_add_config --template=app.ini --destination="$install_dir/custom/conf/app.in _set_permissions # Update ldap config + +# Note that the 'GroupTeamMap' depends of the user need so we can't apply a generic values for all instances +# So to avoid to override the value after each update we retrive and apply the user value +group_team_map_config=$(mysql --user="$db_user" --password="$db_pwd" --batch --raw "$db_name" <<< 'SELECT `cfg` FROM `'$app'`.`login_source` WHERE `id`=1;' \ + | tail -n+2 | jq '.GroupTeamMap') +sed -i 's|__GROUP_TEAM_MAP__|'"${group_team_map_config//\\/\\\\\\\\}"'|g' ./login_source.sql ynh_replace_string --match_string=__APP__ --replace_string="$app" --target_file=./login_source.sql ynh_mysql_connect_as "$db_user" "$db_pwd" "$db_name" < ./login_source.sql From 7064c0c7a475485f84224d1a3f598f96776f87f2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Tue, 6 Feb 2024 00:59:40 +0100 Subject: [PATCH 33/42] Fix imap mail config --- conf/app.ini | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/conf/app.ini b/conf/app.ini index af5ccc6..24a2065 100644 --- a/conf/app.ini +++ b/conf/app.ini @@ -46,9 +46,10 @@ FORCE_TRUST_SERVER_CERT = true [email.incoming] ENABLED = true REPLY_TO_ADDRESS = __APP__+%{token}@__DOMAIN__ -HOST = __DOMAIN__ +HOST = localhost PORT = 993 USE_TLS = true +SKIP_TLS_VERIFY = true USERNAME = __APP__ PASSWORD = __MAIL_PWD__ From 1b1c132d53216355df18daf7836909a68ecdc42a Mon Sep 17 00:00:00 2001 From: yunohost-bot Date: Tue, 6 Feb 2024 00:01:43 +0000 Subject: [PATCH 34/42] Auto-update README --- README.md | 82 +--------------------------------------------------- README_fr.md | 82 +--------------------------------------------------- 2 files changed, 2 insertions(+), 162 deletions(-) diff --git a/README.md b/README.md index b2cb160..9239465 100644 --- a/README.md +++ b/README.md @@ -19,92 +19,12 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Gitea is a fork of Gogs a self-hosted Git service written in Go. Alternative to GitHub. -**Shipped version:** 1.21.4~ynh1 +**Shipped version:** 1.21.5~ynh1 ## Screenshots ![Screenshot of Gitea](./doc/screenshots/screenshot.png) -## Disclaimers / important information - -## Additional informations - -### Notes on SSH usage - -If you want to use Gitea with SSH and be able to pull/push with your SSH key, your SSH daemon must be properly configured to use private/public keys. Here is a sample configuration `/etc/ssh/sshd_config` that works with Gitea: - -```bash -PubkeyAuthentication yes -AuthorizedKeysFile /home/yunohost.app/%u/.ssh/authorized_keys -ChallengeResponseAuthentication no -PasswordAuthentication no -UsePAM no -``` - -You must also add your public key to your Gitea profile. - -When using SSH on any port other than 22, you need to add these lines to your SSH configuration `~/.ssh/config`: - -```bash -Host domain.tld - port 2222 # change this with the port you use -``` - -### Upgrade - -By default, a backup is performed before upgrading. To avoid this, you have the following options: -- Pass the `NO_BACKUP_UPGRADE` env variable with `1` at each upgrade. For example `NO_BACKUP_UPGRADE=1 yunohost app upgrade gitea`. -- Set `disable_backup_before_upgrade` to `1`. You can set it with this command: - -`yunohost app setting gitea disable_backup_before_upgrade -v 1` - -After that, the settings will be applied for **all** the next updates. - -From command line: - -`yunohost app upgrade gitea` - -### Backup - -This application now uses the core-only feature of the backup. To keep the integrity of the data and to have a better guarantee of the restoration it is recommended to proceed as follows: - -- Stop Gitea service with this command: - -`systemctl stop gitea.service` - -- Launch Gitea backup with this command: - -`yunohost backup create --app gitea` - -- Backup your data with your specific strategy (could be with rsync, borg backup or just cp). The data is generally stored in `/home/yunohost.app/gitea`. -- Restart Gitea service with theses command: - -`systemctl start gitea.service` - -### Remove - -Due of the backup core only feature the data directory in `/home/yunohost.app/gitea` **is not removed**. It must be manually deleted to purge user data from the app. - -### LFS setup -To use a repository with an `LFS` setup, you need to activate it on `/opt/gitea/custom/conf/app.ini` - -```ini -[server] -LFS_START_SERVER = true -LFS_HTTP_AUTH_EXPIRY = 20m -``` -By default, NGINX is configured with a maximum value for uploading files at 200 MB. It's possible to change this value on `/etc/nginx/conf.d/my.domain.tld.d/gitea.conf`. -``` -client_max_body_size 200M; -``` -Don't forget to restart Gitea `sudo systemctl restart gitea.service`. - -> These settings are restored to the default configuration when updating Gitea. Remember to restore your configuration after all updates. - -### Git command access with HTTPS - -If you want to use the Git command (like `git clone`, `git pull`, `git push`), you need to set this app as **public**. - ## Documentation and resources * Official app website: diff --git a/README_fr.md b/README_fr.md index ee5d79d..7b9af28 100644 --- a/README_fr.md +++ b/README_fr.md @@ -19,92 +19,12 @@ Si vous n’avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) po Gitea is a fork of Gogs a self-hosted Git service written in Go. Alternative to GitHub. -**Version incluse :** 1.21.4~ynh1 +**Version incluse :** 1.21.5~ynh1 ## Captures d’écran ![Capture d’écran de Gitea](./doc/screenshots/screenshot.png) -## Avertissements / informations importantes - -## Additional informations - -### Notes on SSH usage - -If you want to use Gitea with SSH and be able to pull/push with your SSH key, your SSH daemon must be properly configured to use private/public keys. Here is a sample configuration `/etc/ssh/sshd_config` that works with Gitea: - -```bash -PubkeyAuthentication yes -AuthorizedKeysFile /home/yunohost.app/%u/.ssh/authorized_keys -ChallengeResponseAuthentication no -PasswordAuthentication no -UsePAM no -``` - -You must also add your public key to your Gitea profile. - -When using SSH on any port other than 22, you need to add these lines to your SSH configuration `~/.ssh/config`: - -```bash -Host domain.tld - port 2222 # change this with the port you use -``` - -### Upgrade - -By default, a backup is performed before upgrading. To avoid this, you have the following options: -- Pass the `NO_BACKUP_UPGRADE` env variable with `1` at each upgrade. For example `NO_BACKUP_UPGRADE=1 yunohost app upgrade gitea`. -- Set `disable_backup_before_upgrade` to `1`. You can set it with this command: - -`yunohost app setting gitea disable_backup_before_upgrade -v 1` - -After that, the settings will be applied for **all** the next updates. - -From command line: - -`yunohost app upgrade gitea` - -### Backup - -This application now uses the core-only feature of the backup. To keep the integrity of the data and to have a better guarantee of the restoration it is recommended to proceed as follows: - -- Stop Gitea service with this command: - -`systemctl stop gitea.service` - -- Launch Gitea backup with this command: - -`yunohost backup create --app gitea` - -- Backup your data with your specific strategy (could be with rsync, borg backup or just cp). The data is generally stored in `/home/yunohost.app/gitea`. -- Restart Gitea service with theses command: - -`systemctl start gitea.service` - -### Remove - -Due of the backup core only feature the data directory in `/home/yunohost.app/gitea` **is not removed**. It must be manually deleted to purge user data from the app. - -### LFS setup -To use a repository with an `LFS` setup, you need to activate it on `/opt/gitea/custom/conf/app.ini` - -```ini -[server] -LFS_START_SERVER = true -LFS_HTTP_AUTH_EXPIRY = 20m -``` -By default, NGINX is configured with a maximum value for uploading files at 200 MB. It's possible to change this value on `/etc/nginx/conf.d/my.domain.tld.d/gitea.conf`. -``` -client_max_body_size 200M; -``` -Don't forget to restart Gitea `sudo systemctl restart gitea.service`. - -> These settings are restored to the default configuration when updating Gitea. Remember to restore your configuration after all updates. - -### Git command access with HTTPS - -If you want to use the Git command (like `git clone`, `git pull`, `git push`), you need to set this app as **public**. - ## Documentations et ressources * Site officiel de l’app : From d7f1129845c53f3efd1c06c3eb884f1823901be0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Tue, 6 Feb 2024 08:40:40 +0100 Subject: [PATCH 35/42] Add test update from last package v1 version --- tests.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/tests.toml b/tests.toml index 5bd2c03..12efaf5 100644 --- a/tests.toml +++ b/tests.toml @@ -6,3 +6,4 @@ test_format = 1.0 test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.name = "1.17.0" test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.name = "1.20.0" + test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.name = "1.21.5" From 919ad789894ba4a19b47495cbd28187a68c28458 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Tue, 6 Feb 2024 09:08:02 +0100 Subject: [PATCH 36/42] Fix missing parameter for user admin on tests --- tests.toml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/tests.toml b/tests.toml index 12efaf5..a6565d8 100644 --- a/tests.toml +++ b/tests.toml @@ -5,5 +5,10 @@ test_format = 1.0 [default] test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.name = "1.17.0" + test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.args.foo = "package_checker" + test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.name = "1.20.0" + test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.args.foo = "package_checker" + test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.name = "1.21.5" + test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.args.foo = "package_checker" From 37efab8ee328f22fbe36112619e39ea74c6e7bd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Tue, 6 Feb 2024 12:05:06 +0100 Subject: [PATCH 37/42] Fix tests config --- tests.toml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/tests.toml b/tests.toml index a6565d8..9ae6600 100644 --- a/tests.toml +++ b/tests.toml @@ -5,10 +5,13 @@ test_format = 1.0 [default] test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.name = "1.17.0" - test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.args.foo = "package_checker" + test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.args.admin = "package_checker" + test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.args.domain = "domain.tld" test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.name = "1.20.0" test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.args.foo = "package_checker" + test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.args.domain = "domain.tld" test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.name = "1.21.5" test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.args.foo = "package_checker" + test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.args.domain = "domain.tld" From d527673224c2091b7e4297bc33b71059dacc74e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Tue, 6 Feb 2024 18:05:05 +0100 Subject: [PATCH 38/42] Fix test config --- tests.toml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tests.toml b/tests.toml index 9ae6600..2ef45da 100644 --- a/tests.toml +++ b/tests.toml @@ -6,12 +6,12 @@ test_format = 1.0 test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.name = "1.17.0" test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.args.admin = "package_checker" - test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.args.domain = "domain.tld" + test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.args.path = "/" test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.name = "1.20.0" - test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.args.foo = "package_checker" - test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.args.domain = "domain.tld" + test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.args.admin = "package_checker" + test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.args.path = "/" test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.name = "1.21.5" - test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.args.foo = "package_checker" - test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.args.domain = "domain.tld" + test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.args.admin = "package_checker" + test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.args.path = "/" From 0fd3ddd81621caad145cac0e7baf6ed152173a68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Tue, 6 Feb 2024 20:08:36 +0100 Subject: [PATCH 39/42] Try fix test.toml --- tests.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests.toml b/tests.toml index 2ef45da..be8538d 100644 --- a/tests.toml +++ b/tests.toml @@ -7,11 +7,14 @@ test_format = 1.0 test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.name = "1.17.0" test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.args.admin = "package_checker" test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.args.path = "/" + test_upgrade_from.6c7d27760137d27ea88c843390c4dbefd7fadb74.args.domain = "domain.tld" test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.name = "1.20.0" test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.args.admin = "package_checker" test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.args.path = "/" + test_upgrade_from.b327ccd30230ea963a5eef1a566faba76688ac84.args.domain = "domain.tld" test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.name = "1.21.5" test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.args.admin = "package_checker" test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.args.path = "/" + test_upgrade_from.67d5bc5dc57d8f8793551d7e07c10e8b9d4fe038.args.domain = "domain.tld" From e096dda8145e41c99717dc9b9d280dc58c45db95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 7 Feb 2024 12:06:16 +0100 Subject: [PATCH 40/42] Fix typo --- scripts/backup | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/backup b/scripts/backup index fe6b8ca..294d4ca 100644 --- a/scripts/backup +++ b/scripts/backup @@ -10,7 +10,7 @@ source /usr/share/yunohost/helpers if [[ ! "$(systemctl status $app.service)" =~ 'Active: inactive (dead)' ]]; then - ynh_print_warn --message="It's hightly recommended to make your backup when the service is stopped. Please stop $app service and with this command before to run the backup 'systemctl stop $app.service'" + ynh_print_warn --message="It's hightly recommended to make your backup when the service is stopped. Please stop $app service with this command before to run the backup 'systemctl stop $app.service'" fi #================================================= From d836db84d111c0cd6e9a92dee54b2f02a97b73e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 7 Feb 2024 12:06:46 +0100 Subject: [PATCH 41/42] Optimize upgrade: avoid to set premission on data dir to just call gitea command to generated keys --- scripts/upgrade | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/scripts/upgrade b/scripts/upgrade index 4512cc2..3200a9b 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -55,12 +55,18 @@ fi # Ensure secrets are defined ynh_setup_source --dest_dir="$install_dir" --source_id=main -_set_permissions #================================================= # MIGRATION STEP 2 (Set undefined Vars) #================================================= +ynh_script_progression --message='Migrating missing settings...' + +# Must set permission before to call gitea command +chown -R "$app:$app" "$install_dir" +chmod -R u=rwX,g=rX,o= "$install_dir" +chmod +x "$install_dir/gitea" + if [[ -z "${internal_token:-}" ]]; then internal_token=$(ynh_exec_as "$app" "$install_dir/gitea" generate secret INTERNAL_TOKEN) ynh_app_setting_set --app "$app" --key internal_token --value="$internal_token" @@ -106,6 +112,8 @@ ynh_secure_remove --file="$install_dir/templates" # Configure gitea with app.ini file ynh_add_config --template=app.ini --destination="$install_dir/custom/conf/app.ini" + +ynh_script_progression --message='Setting permissions...' _set_permissions # Update ldap config From 311a4196fbbea9f8557c85b2924c8c236c72eb6e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Josu=C3=A9=20Tille?= Date: Wed, 7 Feb 2024 12:08:03 +0100 Subject: [PATCH 42/42] Simpify permission set and avoid to set all perms each time --- scripts/_common.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/_common.sh b/scripts/_common.sh index 84557c4..8702cf6 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -15,7 +15,7 @@ _set_permissions() { chmod +x "$install_dir/gitea" chown -R "$app:$app" "$data_dir" - find $data_dir \( \! -perm u=rwX,g=rX,-o= \ + find $data_dir \( \! -perm -o= \ -o \! -user $app \ -o \! -group $app \) \ -exec chown $app:$app {} \; \