forgejo/contrib/upgrade.sh

136 lines
4.7 KiB
Bash
Raw Permalink Normal View History

#!/usr/bin/env bash
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
# This is an update script for forgejo installed via the binary distribution
# from codeberg.org/forgejo/forgejo on linux as systemd service. It
# performs a backup and updates Forgejo in place.
# NOTE: This adds the GPG Signing Key of the Forgejo maintainers to the keyring.
# Depends on: bash, curl, xz, sha256sum. optionally jq, gpg
# See section below for available environment vars.
# When no version is specified, updates to the latest release.
# Examples:
# upgrade.sh 1.15.10
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
# forgejohome=/opt/forgejo forgejoconf=$forgejohome/app.ini upgrade.sh
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
# Check if forgejo service is running
if ! pidof forgejo &> /dev/null; then
echo "Error: forgejo is not running."
exit 1
fi
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
# Continue with rest of the script if forgejo is running
echo "Forgejo is running. Continuing with rest of script..."
# apply variables from environment
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
: "${forgejobin:="/usr/local/bin/forgejo"}"
: "${forgejohome:="/var/lib/forgejo"}"
: "${forgejoconf:="/etc/forgejo/app.ini"}"
: "${forgejouser:="git"}"
: "${sudocmd:="sudo"}"
: "${arch:="linux-amd64"}"
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
: "${service_start:="$sudocmd systemctl start forgejo"}"
: "${service_stop:="$sudocmd systemctl stop forgejo"}"
: "${service_status:="$sudocmd systemctl status forgejo"}"
: "${backupopts:=""}" # see `forgejo dump --help` for available options
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
function forgejocmd {
if [[ $sudocmd = "su" ]]; then
# `-c` only accept one string as argument.
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
"$sudocmd" - "$forgejouser" -c "$(printf "%q " "$forgejobin" "--config" "$forgejoconf" "--work-path" "$forgejohome" "$@")"
else
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
"$sudocmd" --user "$forgejouser" "$forgejobin" --config "$forgejoconf" --work-path "$forgejohome" "$@"
fi
}
function require {
for exe in "$@"; do
command -v "$exe" &>/dev/null || (echo "missing dependency '$exe'"; exit 1)
done
}
# parse command line arguments
while true; do
case "$1" in
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
-v | --version ) forgejoversion="$2"; shift 2 ;;
-y | --yes ) no_confirm="yes"; shift ;;
--ignore-gpg) ignore_gpg="yes"; shift ;;
"" | -- ) shift; break ;;
* ) echo "Usage: [<environment vars>] upgrade.sh [-v <version>] [-y] [--ignore-gpg]"; exit 1;;
esac
done
# exit once any command fails. this means that each step should be idempotent!
set -euo pipefail
if [[ -f /etc/os-release ]]; then
os_release=$(cat /etc/os-release)
if [[ "$os_release" =~ "OpenWrt" ]]; then
sudocmd="su"
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
service_start="/etc/init.d/forgejo start"
service_stop="/etc/init.d/forgejo stop"
service_status="/etc/init.d/forgejo status"
else
require systemctl
fi
fi
require curl xz sha256sum "$sudocmd"
# select version to install
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
if [[ -z "${forgejoversion:-}" ]]; then
require jq
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
forgejoversion=$(curl --connect-timeout 10 -sL 'https://codeberg.org/api/v1/repos/forgejo/forgejo/releases?draft=false&pre-release=false&limit=1' -H 'accept: application/json' | jq -r '.[0].tag_name | sub("v"; "")')
echo "Latest available version is $forgejoversion"
fi
# confirm update
echo "Checking currently installed version..."
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
current=$(forgejocmd --version | cut -d ' ' -f 3)
[[ "$current" == "$forgejoversion" ]] && echo "$current is already installed, stopping." && exit 1
if [[ -z "${no_confirm:-}" ]]; then
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
echo "Make sure to read the changelog first: https://codeberg.org/forgejo/forgejo/src/branch/forgejo/CHANGELOG.md"
echo "Are you ready to update forgejo from ${current} to ${forgejoversion}? (y/N)"
read -r confirm
[[ "$confirm" == "y" ]] || [[ "$confirm" == "Y" ]] || exit 1
fi
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
echo "Upgrading forgejo from $current to $forgejoversion ..."
pushd "$(pwd)" &>/dev/null
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
cd "$forgejohome" # needed for forgejo dump later
# download new binary
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
binname="forgejo-${forgejoversion}-${arch}"
binurl="https://codeberg.org/forgejo/forgejo/releases/download/v${forgejoversion}/${binname}.xz"
echo "Downloading $binurl..."
curl --connect-timeout 10 --silent --show-error --fail --location -O "$binurl{,.sha256,.asc}"
# validate checksum & gpg signature
sha256sum -c "${binname}.xz.sha256"
if [[ -z "${ignore_gpg:-}" ]]; then
require gpg
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
gpg --keyserver keys.openpgp.org --recv EB114F5E6C0DC2BCDD183550A4B61A2DC5923710
gpg --verify "${binname}.xz.asc" "${binname}.xz" || { echo 'Signature does not match'; exit 1; }
fi
rm "${binname}".xz.{sha256,asc}
# unpack binary + make executable
xz --decompress --force "${binname}.xz"
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
chown "$forgejouser" "$binname"
chmod +x "$binname"
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
# stop forgejo, create backup, replace binary, restart forgejo
echo "Flushing forgejo queues at $(date)"
forgejocmd manager flush-queues
echo "Stopping forgejo at $(date)"
$service_stop
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
echo "Creating backup in $forgejohome"
forgejocmd dump $backupopts
echo "Updating binary at $forgejobin"
cp -f "$forgejobin" "$forgejobin.bak" && mv -f "$binname" "$forgejobin"
$service_start
$service_status
[BRANDING] adapt forgejo/contrib/upgrade.sh Reviewed at: https://codeberg.org/forgejo/forgejo/pulls/605 (cherry picked from commit ab986185d08a30e0172c4fcd7870803c31f843bd) (cherry picked from commit 6068aed2a7f413e3196dd4cf704bc2cf63b36329) (cherry picked from commit 0cbd599c0c418f9a53a039fd06d9861ac58dcc68) (cherry picked from commit c3ef13588230e8eba9c42ddfddf966a20ab3f745) (cherry picked from commit 0ba7194fa1cb709b40a6699a8bda29292999277b) (cherry picked from commit 572a2a51252075c5e0e64b91c5a09c5b34353f71) (cherry picked from commit dd0a7265e12abec694828381aaa4e1f1c4c634e7) (cherry picked from commit 06bd195f4e9a963fead7295d9ca76ed185176675) (cherry picked from commit 7f6100ab6ba2e0671cc2450f65d7b0933afec936) (cherry picked from commit 58af04560a00b0f09ee8ba6ef3aa75cdf577edc2) (cherry picked from commit 67a951f726dee99d7c035bf781c9c7253eba228f) (cherry picked from commit 46e68309adf44ef2c6795d9de673a9327803cf7e) (cherry picked from commit 9002654915ec16f1962f8408c39d5360dfd7dad5) (cherry picked from commit 3f1a3a13113f186993856c77e784abb9f5917c7c) (cherry picked from commit df1716deb446bd021c7ee4bd610fb0f06706613a) (cherry picked from commit 8ace62b4135a944921d3ba1465bf89cb702b74b9) (cherry picked from commit 30ab21f2642e29833eba9fbe75f9e7bd8b6ec3da) (cherry picked from commit 7ec99bfc0da0b3c70c8ff9e5bc770c3e8a4dd495) (cherry picked from commit 47a554c9b41db0bfe4e612838a5e30e234d067cd) (cherry picked from commit c5aaf49d88c14f11b733ec6fb23f85f633a48196) (cherry picked from commit 7fb42a78a41f1d3522a50d8193cb61e4df282acd) (cherry picked from commit 336fd64a1f1fc70a9ebe3f238c591128abbfbb16) (cherry picked from commit a7d590f7d71c2cdb37088f6f84ca3e493189583a) (cherry picked from commit b6aa4a40e4eb4de1615c13a1aa5a511d668be967) (cherry picked from commit fc195b0349d8c23d00ec070f6ca0448a4ae36903) (cherry picked from commit 3c6799ad041ee5b749099b0852a1fa3f92847c40) (cherry picked from commit 86830ae32be2fd31ac1287552d00cba0d11155b0) (cherry picked from commit e70eb6a27781045d16c86920501658894cf3ae29) (cherry picked from commit b18596eb91fdd2a3bce57b1031e70359ed3fe815) (cherry picked from commit 4a54f7f8601754c583a3810c597529a46344ffa6) (cherry picked from commit a3a98852499e97915103876eac3566c704acff46) (cherry picked from commit ec8bbabf34a3d1a65b63e11234e7c62e4b3c23e5) (cherry picked from commit 5b239033b613515e0495e1a2ed1c309cb638561e) (cherry picked from commit b1fa48e260873a3bf80d54c836c49d3aa384a74c) (cherry picked from commit 148f366431e79eea9aa99f61c8f1dbe895515f77) (cherry picked from commit 79e10923c1fe42ac95e71e07764592c533be5b01) (cherry picked from commit 7aa72a9b4f646a59e4940153109968ee1ee10734) (cherry picked from commit 5be4a1da1b328a7af90e8cecaa622a1e3bb41048) (cherry picked from commit 2297cfcca9be37977b9adca317d1066c75c68f83) (cherry picked from commit 111f5c104403cecb591aecc1acd984709793e67f) (cherry picked from commit baa9877bfe43f59ff7d7e063ae91f91102d3b287) (cherry picked from commit 085050da1fc525add9f03942141df30e9165de0e)
2023-03-29 08:21:43 +00:00
echo "Upgrade to $forgejoversion successful!"
popd