commit 12ed4b68cd2bc4bb81585a67fbe059c286ef7cb4 Author: Emmanuel Averty Date: Thu Jan 5 14:48:22 2023 +0100 initial commit copy from gitea_ynh diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..81522a9 --- /dev/null +++ b/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 mbugeia + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/README.md b/README.md new file mode 100644 index 0000000..c6b293c --- /dev/null +++ b/README.md @@ -0,0 +1,127 @@ + + +# Gitea for YunoHost + +[![Integration level](https://dash.yunohost.org/integration/gitea.svg)](https://dash.yunohost.org/appci/app/gitea) ![Working status](https://ci-apps.yunohost.org/ci/badges/gitea.status.svg) ![Maintenance status](https://ci-apps.yunohost.org/ci/badges/gitea.maintain.svg) +[![Install Gitea with YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=gitea) + +*[Lire ce readme en français.](./README_fr.md)* + +> *This package allows you to install Gitea quickly and simply on a YunoHost server. +If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* + +## Overview + +Gitea is a fork of Gogs a self-hosted Git service written in Go. Alternative to GitHub. + + +**Shipped version:** 1.17.2~ynh2 + +## 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: +* Official admin documentation: +* Upstream app code repository: +* YunoHost documentation for this app: +* Report a bug: + +## Developer info + +Please send your pull request to the [testing branch](https://github.com/YunoHost-Apps/gitea_ynh/tree/testing). + +To try the testing branch, please proceed like that. + +``` bash +sudo yunohost app install https://github.com/YunoHost-Apps/gitea_ynh/tree/testing --debug +or +sudo yunohost app upgrade gitea -u https://github.com/YunoHost-Apps/gitea_ynh/tree/testing --debug +``` + +**More info regarding app packaging:** diff --git a/README_fr.md b/README_fr.md new file mode 100644 index 0000000..4cc8a05 --- /dev/null +++ b/README_fr.md @@ -0,0 +1,127 @@ + + +# Gitea pour YunoHost + +[![Niveau d'intégration](https://dash.yunohost.org/integration/gitea.svg)](https://dash.yunohost.org/appci/app/gitea) ![Statut du fonctionnement](https://ci-apps.yunohost.org/ci/badges/gitea.status.svg) ![Statut de maintenance](https://ci-apps.yunohost.org/ci/badges/gitea.maintain.svg) +[![Installer Gitea avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=gitea) + +*[Read this readme in english.](./README.md)* + +> *Ce package vous permet d'installer Gitea rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* + +## Vue d'ensemble + +Gitea is a fork of Gogs a self-hosted Git service written in Go. Alternative to GitHub. + + +**Version incluse :** 1.17.2~ynh2 + +## 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 : +* Documentation officielle de l'admin : +* Dépôt de code officiel de l'app : +* Documentation YunoHost pour cette app : +* Signaler un bug : + +## Informations pour les développeurs + +Merci de faire vos pull request sur la [branche testing](https://github.com/YunoHost-Apps/gitea_ynh/tree/testing). + +Pour essayer la branche testing, procédez comme suit. + +``` bash +sudo yunohost app install https://github.com/YunoHost-Apps/gitea_ynh/tree/testing --debug +ou +sudo yunohost app upgrade gitea -u https://github.com/YunoHost-Apps/gitea_ynh/tree/testing --debug +``` + +**Plus d'infos sur le packaging d'applications :** diff --git a/check_process b/check_process new file mode 100644 index 0000000..1acdd87 --- /dev/null +++ b/check_process @@ -0,0 +1,30 @@ +;; 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 + upgrade=1 from_commit=4e078e91129725c8b09ba551ab2a04e0328a45b3 + 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 + ; commit=4e078e91129725c8b09ba551ab2a04e0328a45b3 + name=Gogs code, check migration from gogs diff --git a/conf/app.ini b/conf/app.ini new file mode 100644 index 0000000..c954f1d --- /dev/null +++ b/conf/app.ini @@ -0,0 +1,78 @@ +;https://github.com/gogits/gogs/blob/master/conf/app.ini +APP_NAME = Gitea +RUN_USER = __APP__ +RUN_MODE = prod + +[database] +DB_TYPE = mysql +HOST = 127.0.0.1:3306 +NAME = __DB_USER__ +USER = __DB_USER__ +PASSWD = __DB_PASSWORD__ +SSL_MODE = disable +PATH = data/gitea.db +LOG_SQL = false + +[repository] +ROOT = __REPOS_PATH__ +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__ +OFFLINE_MODE = false +APP_DATA_PATH = __DATA_PATH__ +LANDING_PAGE = explore +LFS_START_SERVER = true +LFS_JWT_SECRET = __LFS_KEY__ + +[mailer] +ENABLED = true +HOST = 127.0.0.1:25 +FROM = "Gitea" +SKIP_VERIFY = 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_REVERSE_PROXY_AUTO_REGISTRATION = true + +[picture] +AVATAR_UPLOAD_PATH = __DATA_PATH__/avatars + +[attachment] +PATH = __DATA_PATH__/attachments + +[session] +PROVIDER = memory + +[log] +MODE = file +LEVEL = Info +ROOT_PATH = /var/log/__APP__ + +REDIRECT_MACARON_LOG= true +MACARON = file + +ROUTER_LOG_LEVEL = Warn +ROUTER = file + +ENABLE_ACCESS_LOG = Warn +ACCESS = file + +ENABLE_XORM_LOG = Warn +XORM = file + +[security] +INSTALL_LOCK = true +SECRET_KEY = __KEY__ +REVERSE_PROXY_AUTHENTICATION_USER = REMOTE-USER +REVERSE_PROXY_TRUSTED_PROXIES = 127.0.0.0/8,::1/128 diff --git a/conf/gogs_migrations b/conf/gogs_migrations new file mode 100644 index 0000000..5e7a3c4 --- /dev/null +++ b/conf/gogs_migrations @@ -0,0 +1,5 @@ +/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 new file mode 100644 index 0000000..e4065ff --- /dev/null +++ b/conf/gogs_post_migration.sh @@ -0,0 +1,32 @@ +#!/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/login_source.sql b/conf/login_source.sql new file mode 100644 index 0000000..72eb3b0 --- /dev/null +++ b/conf/login_source.sql @@ -0,0 +1,6 @@ +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}'; diff --git a/conf/nginx.conf b/conf/nginx.conf new file mode 100644 index 0000000..acafbce --- /dev/null +++ b/conf/nginx.conf @@ -0,0 +1,11 @@ +#sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; +location __PATH__/ { + proxy_pass http://localhost:__PORT__/; + proxy_set_header Host $host; + proxy_buffering off; + client_max_body_size 200M; + proxy_set_header X-Real-IP $remote_addr; + + # Include SSOWAT user panel. + include conf.d/yunohost_panel.conf.inc; +} diff --git a/conf/source/arm.src b/conf/source/arm.src new file mode 100644 index 0000000..40ff57e --- /dev/null +++ b/conf/source/arm.src @@ -0,0 +1,5 @@ +SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.17.2/gitea-1.17.2-linux-arm-6 +SOURCE_SUM=c8302d6c55a3471640e546fa2f6d619117af6e06fcf55017bd586854ffb93e7c +SOURCE_SUM_PRG=sha256sum +SOURCE_FILENAME=gitea +SOURCE_EXTRACT=false diff --git a/conf/source/arm64.src b/conf/source/arm64.src new file mode 100644 index 0000000..1bd78c7 --- /dev/null +++ b/conf/source/arm64.src @@ -0,0 +1,5 @@ +SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.17.2/gitea-1.17.2-linux-arm64 +SOURCE_SUM=3ab5ac9400d8b28a38ecd173c5e181c2521c381a65ac00043b2d579a449efa27 +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 new file mode 100644 index 0000000..3117a5d --- /dev/null +++ b/conf/source/arm64_1.0.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..dc6b942 --- /dev/null +++ b/conf/source/arm64_1.1.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..f7f45e4 --- /dev/null +++ b/conf/source/arm64_1.10.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..afc1f2f --- /dev/null +++ b/conf/source/arm64_1.11.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..ce264f0 --- /dev/null +++ b/conf/source/arm64_1.12.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..2fbd874 --- /dev/null +++ b/conf/source/arm64_1.13.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..9bf2c89 --- /dev/null +++ b/conf/source/arm64_1.14.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..13f65f7 --- /dev/null +++ b/conf/source/arm64_1.15.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..f686bfd --- /dev/null +++ b/conf/source/arm64_1.16.src @@ -0,0 +1,5 @@ +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.2.src b/conf/source/arm64_1.2.src new file mode 100644 index 0000000..553ba66 --- /dev/null +++ b/conf/source/arm64_1.2.src @@ -0,0 +1,5 @@ +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.3.src b/conf/source/arm64_1.3.src new file mode 100644 index 0000000..a0f3524 --- /dev/null +++ b/conf/source/arm64_1.3.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..9d9083e --- /dev/null +++ b/conf/source/arm64_1.4.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..5bed656 --- /dev/null +++ b/conf/source/arm64_1.5.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..74a0d32 --- /dev/null +++ b/conf/source/arm64_1.6.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..31e6f82 --- /dev/null +++ b/conf/source/arm64_1.7.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..2737a2e --- /dev/null +++ b/conf/source/arm64_1.8.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..1563e22 --- /dev/null +++ b/conf/source/arm64_1.9.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..fe6aee6 --- /dev/null +++ b/conf/source/arm_1.0.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..9b8691d --- /dev/null +++ b/conf/source/arm_1.1.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..b0f51f2 --- /dev/null +++ b/conf/source/arm_1.10.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..1a7b02d --- /dev/null +++ b/conf/source/arm_1.11.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..5e44f55 --- /dev/null +++ b/conf/source/arm_1.12.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..91fd474 --- /dev/null +++ b/conf/source/arm_1.13.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..cb57028 --- /dev/null +++ b/conf/source/arm_1.14.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..25f4ee1 --- /dev/null +++ b/conf/source/arm_1.15.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..13945b8 --- /dev/null +++ b/conf/source/arm_1.16.src @@ -0,0 +1,5 @@ +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.2.src b/conf/source/arm_1.2.src new file mode 100644 index 0000000..6b5755d --- /dev/null +++ b/conf/source/arm_1.2.src @@ -0,0 +1,5 @@ +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.3.src b/conf/source/arm_1.3.src new file mode 100644 index 0000000..22ad6a9 --- /dev/null +++ b/conf/source/arm_1.3.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..2b3c5bd --- /dev/null +++ b/conf/source/arm_1.4.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..51d6bf6 --- /dev/null +++ b/conf/source/arm_1.5.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..3b74aca --- /dev/null +++ b/conf/source/arm_1.6.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..8f37252 --- /dev/null +++ b/conf/source/arm_1.7.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..d5005b9 --- /dev/null +++ b/conf/source/arm_1.8.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..d37b2e2 --- /dev/null +++ b/conf/source/arm_1.9.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..6c964c7 --- /dev/null +++ b/conf/source/armv7.src @@ -0,0 +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.17.2/gitea-1.17.2-linux-arm-6 +SOURCE_SUM=c8302d6c55a3471640e546fa2f6d619117af6e06fcf55017bd586854ffb93e7c +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 new file mode 100644 index 0000000..9d39570 --- /dev/null +++ b/conf/source/armv7_1.0.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..6b83741 --- /dev/null +++ b/conf/source/armv7_1.1.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..85e75ea --- /dev/null +++ b/conf/source/armv7_1.10.src @@ -0,0 +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.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 new file mode 100644 index 0000000..52fa6b7 --- /dev/null +++ b/conf/source/armv7_1.11.src @@ -0,0 +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.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 new file mode 100644 index 0000000..00b1c14 --- /dev/null +++ b/conf/source/armv7_1.12.src @@ -0,0 +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.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 new file mode 100644 index 0000000..dea7e9f --- /dev/null +++ b/conf/source/armv7_1.13.src @@ -0,0 +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.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 new file mode 100644 index 0000000..bd3cdc1 --- /dev/null +++ b/conf/source/armv7_1.14.src @@ -0,0 +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.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 new file mode 100644 index 0000000..3c2672e --- /dev/null +++ b/conf/source/armv7_1.15.src @@ -0,0 +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.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 new file mode 100644 index 0000000..440a26a --- /dev/null +++ b/conf/source/armv7_1.16.src @@ -0,0 +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.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.2.src b/conf/source/armv7_1.2.src new file mode 100644 index 0000000..63fe266 --- /dev/null +++ b/conf/source/armv7_1.2.src @@ -0,0 +1,5 @@ +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.3.src b/conf/source/armv7_1.3.src new file mode 100644 index 0000000..f5dd751 --- /dev/null +++ b/conf/source/armv7_1.3.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..7849e95 --- /dev/null +++ b/conf/source/armv7_1.4.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..7d7c476 --- /dev/null +++ b/conf/source/armv7_1.5.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..100a3b3 --- /dev/null +++ b/conf/source/armv7_1.6.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..5eb2360 --- /dev/null +++ b/conf/source/armv7_1.7.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..918684d --- /dev/null +++ b/conf/source/armv7_1.8.src @@ -0,0 +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.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 new file mode 100644 index 0000000..c9117cf --- /dev/null +++ b/conf/source/armv7_1.9.src @@ -0,0 +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.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 new file mode 100644 index 0000000..7c6c652 --- /dev/null +++ b/conf/source/i386.src @@ -0,0 +1,5 @@ +SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.17.2/gitea-1.17.2-linux-386 +SOURCE_SUM=6717d9589b7a671b8dabd772f36495256438942d038d0a898334616a9becdd43 +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 new file mode 100644 index 0000000..2ca0757 --- /dev/null +++ b/conf/source/i386_1.0.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..80a2235 --- /dev/null +++ b/conf/source/i386_1.1.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..8bd8a32 --- /dev/null +++ b/conf/source/i386_1.10.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..5c466c2 --- /dev/null +++ b/conf/source/i386_1.11.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..97ff451 --- /dev/null +++ b/conf/source/i386_1.12.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..a226815 --- /dev/null +++ b/conf/source/i386_1.13.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..b9868bd --- /dev/null +++ b/conf/source/i386_1.14.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..53f0004 --- /dev/null +++ b/conf/source/i386_1.15.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..ac697d4 --- /dev/null +++ b/conf/source/i386_1.16.src @@ -0,0 +1,5 @@ +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.2.src b/conf/source/i386_1.2.src new file mode 100644 index 0000000..d80179c --- /dev/null +++ b/conf/source/i386_1.2.src @@ -0,0 +1,5 @@ +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.3.src b/conf/source/i386_1.3.src new file mode 100644 index 0000000..aa33a24 --- /dev/null +++ b/conf/source/i386_1.3.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..61dd883 --- /dev/null +++ b/conf/source/i386_1.4.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..a8b9d00 --- /dev/null +++ b/conf/source/i386_1.5.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..eabb1f5 --- /dev/null +++ b/conf/source/i386_1.6.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..2fcf64e --- /dev/null +++ b/conf/source/i386_1.7.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..256641b --- /dev/null +++ b/conf/source/i386_1.8.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..1be81ce --- /dev/null +++ b/conf/source/i386_1.9.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..a5c0369 --- /dev/null +++ b/conf/source/x86-64.src @@ -0,0 +1,5 @@ +SOURCE_URL=https://github.com/go-gitea/gitea/releases/download/v1.17.2/gitea-1.17.2-linux-amd64 +SOURCE_SUM=d0e903671ae04007c5956beb65985825795c1d9b24c9f354b48008fd44db1b57 +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 new file mode 100644 index 0000000..134b97f --- /dev/null +++ b/conf/source/x86-64_1.0.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..00da3ab --- /dev/null +++ b/conf/source/x86-64_1.1.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..1594b3a --- /dev/null +++ b/conf/source/x86-64_1.10.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..6e5dee4 --- /dev/null +++ b/conf/source/x86-64_1.11.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..477a46a --- /dev/null +++ b/conf/source/x86-64_1.12.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..eddcf5a --- /dev/null +++ b/conf/source/x86-64_1.13.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..be76bd3 --- /dev/null +++ b/conf/source/x86-64_1.14.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..b647844 --- /dev/null +++ b/conf/source/x86-64_1.15.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..ee599d3 --- /dev/null +++ b/conf/source/x86-64_1.16.src @@ -0,0 +1,5 @@ +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.2.src b/conf/source/x86-64_1.2.src new file mode 100644 index 0000000..faba5e0 --- /dev/null +++ b/conf/source/x86-64_1.2.src @@ -0,0 +1,5 @@ +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.3.src b/conf/source/x86-64_1.3.src new file mode 100644 index 0000000..3cfdf88 --- /dev/null +++ b/conf/source/x86-64_1.3.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..b493a9e --- /dev/null +++ b/conf/source/x86-64_1.4.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..9b20d7b --- /dev/null +++ b/conf/source/x86-64_1.5.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..8ea4b91 --- /dev/null +++ b/conf/source/x86-64_1.6.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..ce97cc3 --- /dev/null +++ b/conf/source/x86-64_1.7.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..d5d2530 --- /dev/null +++ b/conf/source/x86-64_1.8.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..18bfb1e --- /dev/null +++ b/conf/source/x86-64_1.9.src @@ -0,0 +1,5 @@ +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 new file mode 100644 index 0000000..3dcae38 --- /dev/null +++ b/conf/systemd.service @@ -0,0 +1,54 @@ +[Unit] +Description=Gitea +After=syslog.target +After=network.target +After=mysql.service +After=slapd.service + +[Service] +# Modify these two values and uncomment them if you have +# repos with lots of files and get an HTTP error 500 because +# of that +### +#LimitMEMLOCK=infinity +#LimitNOFILE=65535 +Type=simple +User=__APP__ +Group=__APP__ +WorkingDirectory=/home/yunohost.app/__APP__ +ExecStart=/opt/__APP__/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 +# .. but this should be a good baseline +# Details for these options: https://www.freedesktop.org/software/systemd/man/systemd.exec.html +NoNewPrivileges=yes +PrivateTmp=yes +PrivateDevices=yes +RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 +RestrictNamespaces=yes +RestrictRealtime=yes +DevicePolicy=closed +ProtectSystem=full +ProtectControlGroups=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +LockPersonality=yes +SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap + +# Denying access to capabilities that should not be relevant for webapps +# Doc: https://man7.org/linux/man-pages/man7/capabilities.7.html +CapabilityBoundingSet=~CAP_RAWIO CAP_MKNOD +CapabilityBoundingSet=~CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_AUDIT_WRITE +CapabilityBoundingSet=~CAP_SYS_BOOT CAP_SYS_TIME CAP_SYS_MODULE CAP_SYS_PACCT +CapabilityBoundingSet=~CAP_LEASE CAP_LINUX_IMMUTABLE CAP_IPC_LOCK +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 + +[Install] +WantedBy=multi-user.target diff --git a/doc/DESCRIPTION.md b/doc/DESCRIPTION.md new file mode 100644 index 0000000..c85e154 --- /dev/null +++ b/doc/DESCRIPTION.md @@ -0,0 +1 @@ +Gitea is a fork of Gogs a self-hosted Git service written in Go. Alternative to GitHub. diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md new file mode 100644 index 0000000..018329f --- /dev/null +++ b/doc/DISCLAIMER.md @@ -0,0 +1,77 @@ +## 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**. diff --git a/doc/screenshots/screenshot.png b/doc/screenshots/screenshot.png new file mode 100644 index 0000000..4e0350b Binary files /dev/null and b/doc/screenshots/screenshot.png differ diff --git a/manifest.json b/manifest.json new file mode 100644 index 0000000..361d461 --- /dev/null +++ b/manifest.json @@ -0,0 +1,60 @@ +{ + "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.17.2~ynh2", + "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": ">= 4.2.6.1" + }, + "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/scripts/_common.sh b/scripts/_common.sh new file mode 100644 index 0000000..45b115d --- /dev/null +++ b/scripts/_common.sh @@ -0,0 +1,70 @@ +#================================================= +# 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 + +#================================================= +# 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" + mkdir -p "/var/log/$app" +} + +config_nginx() { + if [ "$path_url" != "/" ] + then + ynh_replace_string --match_string "^#sub_path_only" --replace_string "" --target_file "../conf/nginx.conf" + fi + ynh_add_nginx_config +} + +config_gitea() { + 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" +} diff --git a/scripts/backup b/scripts/backup new file mode 100644 index 0000000..a311d22 --- /dev/null +++ b/scripts/backup @@ -0,0 +1,51 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= + +# 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 +#================================================= + +# Copy the app source files +ynh_print_info --message="Backing up code..." +ynh_backup --src_path "$final_path" + +# 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..." + +# 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" + +# 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="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 new file mode 100644 index 0000000..46a03f3 --- /dev/null +++ b/scripts/change_url @@ -0,0 +1,66 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= + +# Import common cmd +source ./experimental_helper.sh +source ./_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 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 +#================================================= + +ynh_script_progression --message="Updating nginx configuration..." + +# MODIFY URL IN NGINX CONF +nginx_conf_path=/etc/nginx/conf.d/$old_domain.d/$app.conf + +# 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 + +config_nginx + +# Update gitea config +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 + +# 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_script_progression --message="Change of URL completed for $app" --last diff --git a/scripts/experimental_helper.sh b/scripts/experimental_helper.sh new file mode 100644 index 0000000..8757149 --- /dev/null +++ b/scripts/experimental_helper.sh @@ -0,0 +1,257 @@ +# 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 new file mode 100644 index 0000000..bc590ae --- /dev/null +++ b/scripts/install @@ -0,0 +1,151 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= + +# Load common variables and helpers +source ./experimental_helper.sh +source ./_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="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 +#================================================= + +# 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 + +# create needed directories +create_dir + +# Configure init script +ynh_script_progression --message="Configuring a systemd service..." --weight=2 +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 + +# Configure gitea with app.ini file +ynh_script_progression --message="Configuring application, step 1/2..." +config_gitea + +ynh_script_progression --message="Installing sources files..." --weight=10 + +# Install gitea +ynh_setup_source $final_path source/$architecture + +# Set permissions +ynh_script_progression --message="Protecting directory" +set_permission + +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 + +# 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 + +# 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 +#================================================= + +# 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 +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_script_progression --message="Installation of $app completed" --last diff --git a/scripts/remove b/scripts/remove new file mode 100644 index 0000000..ebfab83 --- /dev/null +++ b/scripts/remove @@ -0,0 +1,64 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= + +# Load common variables and helpers +source ./experimental_helper.sh +source ./_common.sh + +# IMPORT GENERIC HELPERS +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 +#================================================= + +# Stop gitea +ynh_script_progression --message="Stoping services..." +systemctl stop "$app".service + +# 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 + +# 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." + +ynh_script_progression --message="Removal of $app completed" --last +sleep 1 diff --git a/scripts/restore b/scripts/restore new file mode 100644 index 0000000..a7ae980 --- /dev/null +++ b/scripts/restore @@ -0,0 +1,81 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= + +# 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 +#================================================= + +# 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_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 + +# Restore systemd files +systemctl daemon-reload +systemctl enable "$app".service --quiet + +# 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 +#================================================= + +# Set permissions +ynh_script_progression --message="Protecting directory..." +set_permission + +# Configure logrotate +ynh_script_progression --message="Configuring log rotation..." +ynh_use_logrotate --logfile "/var/log/$app" + +# 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 + +ynh_script_progression --message="Restoration completed for $app" --last diff --git a/scripts/upgrade b/scripts/upgrade new file mode 100644 index 0000000..e6ffa01 --- /dev/null +++ b/scripts/upgrade @@ -0,0 +1,308 @@ +#!/bin/bash + +#================================================= +# GENERIC START +#================================================= + +# Load common variables and helpers +source ./experimental_helper.sh +source ./_common.sh + +# IMPORT GENERIC HELPERS +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) + +#================================================= +# 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 + +#================================================= +# 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 + lfs_key=$(ynh_string_random) + 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" +fi + +# Move data directory +if [ -e "/home/""$app" ] && [ ! -e $datadir ]; then + mv "/home/""$app" "$datadir" +fi + +# Ensuring the user has the right home dir +if [ ~$app != "$datadir" ]; then + usermod -d "$datadir" $app +fi + +#================================================= +# STANDARD UPGRADE STEPS +#================================================= +ynh_script_progression --message="Configuring application..." + +# Clean template to fix issue : https://github.com/gogits/gogs/issues/4585 +ynh_secure_remove --file="/opt/$app/templates" + +# Configure gitea with app.ini file +config_gitea + +# 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 + +#================================================= +# 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 +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 +} + +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.16 + 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 +#================================================= + +# Set all permissions +ynh_script_progression --message="Update permission..." +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 +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 +#================================================= + +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 + + # 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 + +ynh_script_progression --message="Upgrade of $app completed" --last