From 4af08c2b073272c6de0ae9551a994b88d647c42e Mon Sep 17 00:00:00 2001 From: Ginger Date: Mon, 8 Sep 2025 13:01:40 -0400 Subject: [PATCH 1/6] fix: Rename `debian_version` for consistency --- .forgejo/workflows/build-debian.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/build-debian.yml b/.forgejo/workflows/build-debian.yml index d94b282e..f53452f1 100644 --- a/.forgejo/workflows/build-debian.yml +++ b/.forgejo/workflows/build-debian.yml @@ -24,7 +24,7 @@ jobs: steps: - name: Get Debian version - id: debian_version + id: debian-version run: | VERSION=$(cat /etc/debian_version) DISTRIBUTION=$(lsb_release -sc 2>/dev/null) @@ -43,9 +43,9 @@ jobs: path: | ~/.cargo/registry ~/.cargo/git - key: cargo-debian${{ steps.debian_version.outputs.version }}-${{ hashFiles('**/Cargo.lock') }} + key: cargo-debian${{ steps.debian-version.outputs.version }}-${{ hashFiles('**/Cargo.lock') }} restore-keys: | - cargo-debian${{ steps.debian_version.outputs.version }}- + cargo-debian${{ steps.debian-version.outputs.version }}- - name: Setup sccache uses: https://git.tomfos.tr/tom/sccache-action@v1 @@ -142,7 +142,7 @@ jobs: if: ${{ forge.event_name == 'push' || forge.event_name == 'workflow_dispatch' }} run: | OWNER="continuwuation" - DISTRIBUTION=${{ steps.debian_version.outputs.distribution }} + DISTRIBUTION=${{ steps.debian-version.outputs.distribution }} COMPONENT=${{ steps.package-meta.outputs.component }} DEB=${{ steps.cargo-deb.outputs.path }} From e7a79b1e030b5ec7defc3b80835b73abf8d60641 Mon Sep 17 00:00:00 2001 From: Ginger Date: Mon, 8 Sep 2025 13:11:04 -0400 Subject: [PATCH 2/6] docs: Update Debian installation guide --- pkg/debian/README.md | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/pkg/debian/README.md b/pkg/debian/README.md index b605b198..dc174e5b 100644 --- a/pkg/debian/README.md +++ b/pkg/debian/README.md @@ -1,12 +1,26 @@ # Continuwuity for Debian -This document provides information about downloading and deploying the Debian package. You can also use this guide for other `apt`-based distributions such as Ubuntu. +This document provides information about downloading and deploying the Debian package. You can also use this guide for other deb-based distributions such as Ubuntu. ### Installation -See the [generic deployment guide](../deploying/generic.md) for additional information about using the Debian package. +To add the Continuwuation apt repository: +```bash +# Import the Continuwuation signing key +sudo curl https://forgejo.ellis.link/api/packages/continuwuation/debian/repository.key -o /etc/apt/keyrings/forgejo-continuwuation.asc +# Add a new apt source list pointing to the repository +echo "deb [signed-by=/etc/apt/keyrings/forgejo-continuwuation.asc] https://forgejo.ellis.link/api/packages/continuwuation/debian $(lsb_release -sc) stable" | sudo tee -a /etc/apt/sources.list.d/continuwuation.list +# Update remote package lists +sudo apt update +``` -No `apt` repository is currently available. This feature is in development. +To install continuwuity: +```bash +sudo apt install continuwuity +``` +The `continuwuity` package conflicts with the old `conduwuit` package and will remove it automatically when installed. + +See the [generic deployment guide](../deploying/generic.md) for additional information about using the Debian package. ### Configuration @@ -16,7 +30,7 @@ You can customize additional settings by uncommenting and modifying the configur ### Running -The package uses the [`conduwuit.service`](../configuration/examples.md#example-systemd-unit-file) systemd unit file to start and stop Continuwuity. The binary installs at `/usr/sbin/conduwuit`. +The package uses the [`conduwuit.service`](../configuration/examples.md#example-systemd-unit-file) systemd unit file to start and stop Continuwuity. The binary installs at `/usr/bin/conduwuit`. By default, this package assumes that Continuwuity runs behind a reverse proxy. The default configuration options apply (listening on `localhost` and TCP port `6167`). Matrix federation requires a valid domain name and TLS. To federate properly, you must set up TLS certificates and certificate renewal. From 863239f34131fc1ef467f74ff7dfc46ad7f827fb Mon Sep 17 00:00:00 2001 From: Ginger Date: Mon, 8 Sep 2025 13:13:47 -0400 Subject: [PATCH 3/6] fix: Minor component and version format fixes --- .forgejo/workflows/build-debian.yml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/.forgejo/workflows/build-debian.yml b/.forgejo/workflows/build-debian.yml index f53452f1..c7a9d561 100644 --- a/.forgejo/workflows/build-debian.yml +++ b/.forgejo/workflows/build-debian.yml @@ -72,18 +72,21 @@ jobs: # VERSION is the package version, COMPONENT is used in # apt's repository config like a git repo branch if [[ "${{ forge.ref }}" == "refs/tags/"* ]]; then + # Use the "stable" component for tagged releases COMPONENT="stable" VERSION=$BASE_VERSION else + # Use the "dev" component for development builds SHA=$(echo "${{ forge.sha }}" | cut -c1-7) DATE=$(date +%Y%m%d) if [ "${{ forge.ref_name }}" = "main" ]; then COMPONENT="dev" else - # Use sanitized ref name for the component - COMPONENT=$(echo "${{ forge.ref_name }}" | sed 's/[^a-zA-Z0-9.+]/~/g' | tr '[:upper:]' '[:lower:]' | cut -c1-30) + # Use the sanitized ref name as the component for feature branches + COMPONENT="dev/$(echo "${{ forge.ref_name }}" | sed 's/[^a-zA-Z0-9.+/]/-/g' | tr '[:upper:]' '[:lower:]' | cut -c1-30)"" fi - VERSION="$BASE_VERSION~git$DATE.$SHA-$COMPONENT" + CLEAN_COMPONENT=$(echo $COMPONENT | sed 's/[^a-zA-Z0-9.+]/~/g') + VERSION="$BASE_VERSION~git$DATE.$SHA-$CLEAN_COMPONENT" fi echo "component=$COMPONENT" >> $GITHUB_OUTPUT echo "version=$VERSION" >> $GITHUB_OUTPUT From 696e29d0871bafc9a6a48c304f6e84cb6755d849 Mon Sep 17 00:00:00 2001 From: Ginger Date: Mon, 8 Sep 2025 13:16:37 -0400 Subject: [PATCH 4/6] fix: Fix incorrect quoting --- .forgejo/workflows/build-debian.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build-debian.yml b/.forgejo/workflows/build-debian.yml index c7a9d561..1dc4ab93 100644 --- a/.forgejo/workflows/build-debian.yml +++ b/.forgejo/workflows/build-debian.yml @@ -83,7 +83,7 @@ jobs: COMPONENT="dev" else # Use the sanitized ref name as the component for feature branches - COMPONENT="dev/$(echo "${{ forge.ref_name }}" | sed 's/[^a-zA-Z0-9.+/]/-/g' | tr '[:upper:]' '[:lower:]' | cut -c1-30)"" + COMPONENT="dev/$(echo '${{ forge.ref_name }}'' | sed 's/[^a-zA-Z0-9.+/]/-/g' | tr '[:upper:]' '[:lower:]' | cut -c1-30)" fi CLEAN_COMPONENT=$(echo $COMPONENT | sed 's/[^a-zA-Z0-9.+]/~/g') VERSION="$BASE_VERSION~git$DATE.$SHA-$CLEAN_COMPONENT" From 6c800a293c671d80241e5b010976e143bd8aa7e0 Mon Sep 17 00:00:00 2001 From: Ginger Date: Mon, 8 Sep 2025 13:18:36 -0400 Subject: [PATCH 5/6] fix: Fix incorrect quoting, again --- .forgejo/workflows/build-debian.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build-debian.yml b/.forgejo/workflows/build-debian.yml index 1dc4ab93..e998c05f 100644 --- a/.forgejo/workflows/build-debian.yml +++ b/.forgejo/workflows/build-debian.yml @@ -83,7 +83,7 @@ jobs: COMPONENT="dev" else # Use the sanitized ref name as the component for feature branches - COMPONENT="dev/$(echo '${{ forge.ref_name }}'' | sed 's/[^a-zA-Z0-9.+/]/-/g' | tr '[:upper:]' '[:lower:]' | cut -c1-30)" + COMPONENT="dev/$(echo '${{ forge.ref_name }}' | sed 's/[^a-zA-Z0-9.+/]/-/g' | tr '[:upper:]' '[:lower:]' | cut -c1-30)" fi CLEAN_COMPONENT=$(echo $COMPONENT | sed 's/[^a-zA-Z0-9.+]/~/g') VERSION="$BASE_VERSION~git$DATE.$SHA-$CLEAN_COMPONENT" From 3509c5a65a3910dd5f2357302fe7da377aa9c6b8 Mon Sep 17 00:00:00 2001 From: Ginger Date: Mon, 8 Sep 2025 13:33:56 -0400 Subject: [PATCH 6/6] fix: No slashes in components I guess --- .forgejo/workflows/build-debian.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.forgejo/workflows/build-debian.yml b/.forgejo/workflows/build-debian.yml index e998c05f..bfad4e07 100644 --- a/.forgejo/workflows/build-debian.yml +++ b/.forgejo/workflows/build-debian.yml @@ -83,7 +83,7 @@ jobs: COMPONENT="dev" else # Use the sanitized ref name as the component for feature branches - COMPONENT="dev/$(echo '${{ forge.ref_name }}' | sed 's/[^a-zA-Z0-9.+/]/-/g' | tr '[:upper:]' '[:lower:]' | cut -c1-30)" + COMPONENT="dev-$(echo '${{ forge.ref_name }}' | sed 's/[^a-zA-Z0-9.+]/-/g' | tr '[:upper:]' '[:lower:]' | cut -c1-30)" fi CLEAN_COMPONENT=$(echo $COMPONENT | sed 's/[^a-zA-Z0-9.+]/~/g') VERSION="$BASE_VERSION~git$DATE.$SHA-$CLEAN_COMPONENT"