summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorcrystal <crystal@noreply.codeberg.org>2024-11-18 08:24:37 -0700
committercrystal <crystal@noreply.codeberg.org>2024-11-18 08:24:37 -0700
commitf7823ae44f8c4072ab22ff7acc8a7bfb99dcd944 (patch)
tree46ab6d619dcb6f958a2fce528b64938459848a6d
parente4efacb827c49f91bbe500ba7afd2c39949355f6 (diff)
[squash] fix upgrade failurev7.0.11
-rwxr-xr-x.ci-make.sh30
-rw-r--r--.forgejo/workflows/forgejo-deb.yml17
-rw-r--r--deb/debian/changelog8
-rw-r--r--deb/debian/control3
-rw-r--r--test-res/app.ini.modified6
5 files changed, 63 insertions, 1 deletions
diff --git a/.ci-make.sh b/.ci-make.sh
index a1dfce0..e4d37f9 100755
--- a/.ci-make.sh
+++ b/.ci-make.sh
@@ -31,6 +31,9 @@ case "$1" in
"installtest")
APREP_APT_EXTRAS="sudo"
;;
+ "complextest")
+ APREP_APT_EXTRAS="sudo wget"
+ ;;
"")
APREP_APT_EXTRAS=
;;
@@ -274,5 +277,32 @@ case "$1" in
go download
go version
;;
+ "complex-test")
+ shift
+ case "$1" in
+ "split-deb-upgrade")
+ shift
+ rm forgejo-deb-repo_0-0_all.deb
+ wget --content-disposition https://code.forgejo.org/forgejo-contrib/-/packages/debian/forgejo-deb-repo/0-0/files/2890
+ export DEBIAN_FRONTEND=noninteractive
+ apt install -y ./forgejo-deb-repo_0-0_all.deb
+ apt update -qq
+ apt upgrade -y
+ apt install forgejo$1
+ cp test-res/app.ini.modified /etc/forgejo/app.ini
+ apt install ./forgejo$1_*_amd64.deb ./forgejo-common_*_all.deb
+ cat /etc/forgejo/app.ini
+ ;;
+ esac
+ ;;
+ "full-instance-clean")
+ export DEBIAN_FRONTEND=noninteractive
+ apt purge -y forgejo forgejo-sqlite forgejo-common forgejo-bin
+ rm -rf /var/lib/forgejo
+ rm -rf /etc/forgejo /etc/default/forgejo /etc/systemd/system/forgejo.service.d
+ sudo deluser forgejo
+ apt purge -y forgejo-deb-repo forgejo-deb-repokey
+ exit 0
+ ;;
esac
diff --git a/.forgejo/workflows/forgejo-deb.yml b/.forgejo/workflows/forgejo-deb.yml
index 1031a38..156595f 100644
--- a/.forgejo/workflows/forgejo-deb.yml
+++ b/.forgejo/workflows/forgejo-deb.yml
@@ -186,6 +186,23 @@ jobs:
- run: ./.ci-make.sh install-run-test ./forgejo-bin_*_amd64.deb
+ complextest-split-deb-upgrade:
+ runs-on: bookworm
+ steps:
+ - uses: actions/checkout@v4
+
+ - name: "actions prep: installtest"
+ id: ciprep
+ run: ./.ci-make.sh actions-prep installtest
+
+ - uses: actions/download-artifact@v3
+ with:
+ name: forgejo-deb-${{ steps.ciprep.outputs.artifactlabel }}
+
+ - run: ./.ci-make.sh complex-test split-deb-upgrade -sqlite
+ - run: ./.ci-make.sh full-instance-clean
+ - run: ./.ci-make.sh complex-test split-deb-upgrade
+
publish-release-repo:
runs-on: bookworm
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/') && github.repository == 'forgejo-contrib/forgejo-deb'
diff --git a/deb/debian/changelog b/deb/debian/changelog
index e735460..05f40b4 100644
--- a/deb/debian/changelog
+++ b/deb/debian/changelog
@@ -1,3 +1,11 @@
+forgejo (7.0.11-2) unstable; urgency=medium
+
+ * Forgejo version 7.0.11
+ * See https://codeberg.org/forgejo/forgejo/src/branch/forgejo/RELEASE-NOTES.md#7-0-11
+ * Fixed an issue when upgrading from non-split packages
+
+ -- crystal <crystal@noreply.codeberg.org> Mon, 18 Nov 2024 15:22:00 +0000
+
forgejo (7.0.11-1) unstable; urgency=medium
* Forgejo version 7.0.11
diff --git a/deb/debian/control b/deb/debian/control
index ae16460..4dd44a1 100644
--- a/deb/debian/control
+++ b/deb/debian/control
@@ -25,7 +25,8 @@ Description: Forgejo: Beyond Coding. We Forge. (SQLite)
Package: forgejo-common
Architecture: all
Priority: optional
-Depends: forgejo | forgejo-sqlite (= ${source:Version})
+Depends: forgejo (= ${source:Version}) | forgejo-sqlite (= ${source:Version})
+Replaces: forgejo
Conflicts: forgejo-bin
Description: Common files for Forgejo
Common data used for all Forgejo packages and architectures.
diff --git a/test-res/app.ini.modified b/test-res/app.ini.modified
new file mode 100644
index 0000000..fa7fce4
--- /dev/null
+++ b/test-res/app.ini.modified
@@ -0,0 +1,6 @@
+# Empty default config file for forgejo-deb
+# Forgejo's installer will populate this file with appropriate defaults.
+# See also: https://forgejo.org/docs/latest/admin/config-cheat-sheet
+
+# This is an example used to demonstrate proper functionality in a test!
+