Fix Post-Installation Script & Add Stalwart-CLI To The Deb Package

This commit is contained in:
Cantibra
2026-01-27 14:10:24 +01:00
parent 6691607a80
commit d9b4bf5e0f
4 changed files with 110 additions and 32 deletions

View File

@@ -30,9 +30,12 @@ jobs:
DEB="${PACKAGE}_${VERSION}_${CODENAME}_${ARCHITECTURE}.deb"
/usr/bin/echo "DEB=${DEB}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'DEB' to '${DEB}'"
URL="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-aarch64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL=${URL}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL' to '${URL}'"
URL0="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-aarch64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL0=${URL0}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL0' to '${URL0}'"
URL1="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-cli-aarch64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL1=${URL1}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL1' to '${URL1}'"
- name: SSH Private Key [Prepare]
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
@@ -41,10 +44,18 @@ jobs:
/usr/bin/chmod --quiet '0400' './id_ed25519'
- name: Stalwart [Download & Extract]
env:
URL: ${{ steps.environment.outputs.url }}
URL0: ${{ steps.environment.outputs.url0 }}
URL1: ${{ steps.environment.outputs.url1 }}
run: |
/usr/bin/install --directory --verbose './sources'
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL}"
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL0}"
/usr/bin/tar --extract --gzip --verbose --file='./sources.tar.gz' --directory='./sources'
- name: Stalwart-CLI [Download & Extract]
env:
URL0: ${{ steps.environment.outputs.url0 }}
URL1: ${{ steps.environment.outputs.url1 }}
run: |
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL1}"
/usr/bin/tar --extract --gzip --verbose --file='./sources.tar.gz' --directory='./sources'
- name: Debian Package [Prepare]
env:
@@ -53,12 +64,14 @@ jobs:
/usr/bin/sed --in-place --expression="s/Architecture:.*/Architecture: ${ARCHITECTURE}/" './root/DEBIAN/control'
/usr/bin/install --directory --verbose './root/usr/sbin'
/usr/bin/mv --verbose './sources/stalwart' './root/usr/sbin'
/usr/bin/mv --verbose './sources/stalwart-cli' './root/usr/bin'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/postinst'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/postrm'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/preinst'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/prerm'
/usr/bin/chmod --verbose '0755' './root/etc/init.d/stalwart'
/usr/bin/chmod --verbose '0640' './root/etc/stalwart.toml'
/usr/bin/chmod --verbose '0755' './root/usr/bin/stalwart-cli'
/usr/bin/chmod --verbose '0755' './root/usr/sbin/stalwart'
- name: Debian Package [Generate]
env:
@@ -106,9 +119,12 @@ jobs:
DEB="${PACKAGE}_${VERSION}_${CODENAME}_${ARCHITECTURE}.deb"
/usr/bin/echo "DEB=${DEB}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'DEB' to '${DEB}'"
URL="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-x86_64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL=${URL}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL' to '${URL}'"
URL0="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-x86_64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL0=${URL0}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL0' to '${URL0}'"
URL1="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-x86_64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL1=${URL1}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL1' to '${URL1}'"
- name: SSH Private Key [Prepare]
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
@@ -117,10 +133,18 @@ jobs:
/usr/bin/chmod --quiet '0400' './id_ed25519'
- name: Stalwart [Download & Extract]
env:
URL: ${{ steps.environment.outputs.url }}
URL0: ${{ steps.environment.outputs.url0 }}
URL1: ${{ steps.environment.outputs.url1 }}
run: |
/usr/bin/install --directory --verbose './sources'
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL}"
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL0}"
/usr/bin/tar --extract --gzip --verbose --file='./sources.tar.gz' --directory='./sources'
- name: Stalwart-CLI [Download & Extract]
env:
URL0: ${{ steps.environment.outputs.url0 }}
URL1: ${{ steps.environment.outputs.url1 }}
run: |
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL1}"
/usr/bin/tar --extract --gzip --verbose --file='./sources.tar.gz' --directory='./sources'
- name: Debian Package [Prepare]
env:
@@ -129,12 +153,14 @@ jobs:
/usr/bin/sed --in-place --expression="s/Architecture:.*/Architecture: ${ARCHITECTURE}/" './root/DEBIAN/control'
/usr/bin/install --directory --verbose './root/usr/sbin'
/usr/bin/mv --verbose './sources/stalwart' './root/usr/sbin'
/usr/bin/mv --verbose './sources/stalwart-cli' './root/usr/bin'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/postinst'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/postrm'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/preinst'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/prerm'
/usr/bin/chmod --verbose '0755' './root/etc/init.d/stalwart'
/usr/bin/chmod --verbose '0640' './root/etc/stalwart.toml'
/usr/bin/chmod --verbose '0755' './root/usr/bin/stalwart-cli'
/usr/bin/chmod --verbose '0755' './root/usr/sbin/stalwart'
- name: Debian Package [Generate]
env:

View File

@@ -30,9 +30,12 @@ jobs:
DEB="${PACKAGE}_${VERSION}_${CODENAME}_${ARCHITECTURE}.deb"
/usr/bin/echo "DEB=${DEB}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'DEB' to '${DEB}'"
URL="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-aarch64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL=${URL}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL' to '${URL}'"
URL0="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-aarch64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL0=${URL0}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL0' to '${URL0}'"
URL1="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-cli-aarch64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL1=${URL1}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL1' to '${URL1}'"
- name: SSH Private Key [Prepare]
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
@@ -41,10 +44,18 @@ jobs:
/usr/bin/chmod --quiet '0400' './id_ed25519'
- name: Stalwart [Download & Extract]
env:
URL: ${{ steps.environment.outputs.url }}
URL0: ${{ steps.environment.outputs.url0 }}
URL1: ${{ steps.environment.outputs.url1 }}
run: |
/usr/bin/install --directory --verbose './sources'
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL}"
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL0}"
/usr/bin/tar --extract --gzip --verbose --file='./sources.tar.gz' --directory='./sources'
- name: Stalwart-CLI [Download & Extract]
env:
URL0: ${{ steps.environment.outputs.url0 }}
URL1: ${{ steps.environment.outputs.url1 }}
run: |
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL1}"
/usr/bin/tar --extract --gzip --verbose --file='./sources.tar.gz' --directory='./sources'
- name: Debian Package [Prepare]
env:
@@ -53,12 +64,14 @@ jobs:
/usr/bin/sed --in-place --expression="s/Architecture:.*/Architecture: ${ARCHITECTURE}/" './root/DEBIAN/control'
/usr/bin/install --directory --verbose './root/usr/sbin'
/usr/bin/mv --verbose './sources/stalwart' './root/usr/sbin'
/usr/bin/mv --verbose './sources/stalwart-cli' './root/usr/bin'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/postinst'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/postrm'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/preinst'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/prerm'
/usr/bin/chmod --verbose '0755' './root/etc/init.d/stalwart'
/usr/bin/chmod --verbose '0640' './root/etc/stalwart.toml'
/usr/bin/chmod --verbose '0755' './root/usr/bin/stalwart-cli'
/usr/bin/chmod --verbose '0755' './root/usr/sbin/stalwart'
- name: Debian Package [Generate]
env:
@@ -106,9 +119,12 @@ jobs:
DEB="${PACKAGE}_${VERSION}_${CODENAME}_${ARCHITECTURE}.deb"
/usr/bin/echo "DEB=${DEB}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'DEB' to '${DEB}'"
URL="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-x86_64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL=${URL}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL' to '${URL}'"
URL0="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-x86_64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL0=${URL0}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL0' to '${URL0}'"
URL1="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-x86_64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL1=${URL1}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL1' to '${URL1}'"
- name: SSH Private Key [Prepare]
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
@@ -117,10 +133,18 @@ jobs:
/usr/bin/chmod --quiet '0400' './id_ed25519'
- name: Stalwart [Download & Extract]
env:
URL: ${{ steps.environment.outputs.url }}
URL0: ${{ steps.environment.outputs.url0 }}
URL1: ${{ steps.environment.outputs.url1 }}
run: |
/usr/bin/install --directory --verbose './sources'
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL}"
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL0}"
/usr/bin/tar --extract --gzip --verbose --file='./sources.tar.gz' --directory='./sources'
- name: Stalwart-CLI [Download & Extract]
env:
URL0: ${{ steps.environment.outputs.url0 }}
URL1: ${{ steps.environment.outputs.url1 }}
run: |
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL1}"
/usr/bin/tar --extract --gzip --verbose --file='./sources.tar.gz' --directory='./sources'
- name: Debian Package [Prepare]
env:
@@ -129,12 +153,14 @@ jobs:
/usr/bin/sed --in-place --expression="s/Architecture:.*/Architecture: ${ARCHITECTURE}/" './root/DEBIAN/control'
/usr/bin/install --directory --verbose './root/usr/sbin'
/usr/bin/mv --verbose './sources/stalwart' './root/usr/sbin'
/usr/bin/mv --verbose './sources/stalwart-cli' './root/usr/bin'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/postinst'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/postrm'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/preinst'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/prerm'
/usr/bin/chmod --verbose '0755' './root/etc/init.d/stalwart'
/usr/bin/chmod --verbose '0640' './root/etc/stalwart.toml'
/usr/bin/chmod --verbose '0755' './root/usr/bin/stalwart-cli'
/usr/bin/chmod --verbose '0755' './root/usr/sbin/stalwart'
- name: Debian Package [Generate]
env:

View File

@@ -30,9 +30,12 @@ jobs:
DEB="${PACKAGE}_${VERSION}_${CODENAME}_${ARCHITECTURE}.deb"
/usr/bin/echo "DEB=${DEB}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'DEB' to '${DEB}'"
URL="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-aarch64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL=${URL}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL' to '${URL}'"
URL0="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-aarch64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL0=${URL0}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL0' to '${URL0}'"
URL1="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-cli-aarch64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL1=${URL1}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL1' to '${URL1}'"
- name: SSH Private Key [Prepare]
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
@@ -41,10 +44,18 @@ jobs:
/usr/bin/chmod --quiet '0400' './id_ed25519'
- name: Stalwart [Download & Extract]
env:
URL: ${{ steps.environment.outputs.url }}
URL0: ${{ steps.environment.outputs.url0 }}
URL1: ${{ steps.environment.outputs.url1 }}
run: |
/usr/bin/install --directory --verbose './sources'
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL}"
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL0}"
/usr/bin/tar --extract --gzip --verbose --file='./sources.tar.gz' --directory='./sources'
- name: Stalwart-CLI [Download & Extract]
env:
URL0: ${{ steps.environment.outputs.url0 }}
URL1: ${{ steps.environment.outputs.url1 }}
run: |
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL1}"
/usr/bin/tar --extract --gzip --verbose --file='./sources.tar.gz' --directory='./sources'
- name: Debian Package [Prepare]
env:
@@ -53,12 +64,14 @@ jobs:
/usr/bin/sed --in-place --expression="s/Architecture:.*/Architecture: ${ARCHITECTURE}/" './root/DEBIAN/control'
/usr/bin/install --directory --verbose './root/usr/sbin'
/usr/bin/mv --verbose './sources/stalwart' './root/usr/sbin'
/usr/bin/mv --verbose './sources/stalwart-cli' './root/usr/bin'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/postinst'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/postrm'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/preinst'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/prerm'
/usr/bin/chmod --verbose '0755' './root/etc/init.d/stalwart'
/usr/bin/chmod --verbose '0640' './root/etc/stalwart.toml'
/usr/bin/chmod --verbose '0755' './root/usr/bin/stalwart-cli'
/usr/bin/chmod --verbose '0755' './root/usr/sbin/stalwart'
- name: Debian Package [Generate]
env:
@@ -106,9 +119,12 @@ jobs:
DEB="${PACKAGE}_${VERSION}_${CODENAME}_${ARCHITECTURE}.deb"
/usr/bin/echo "DEB=${DEB}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'DEB' to '${DEB}'"
URL="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-x86_64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL=${URL}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL' to '${URL}'"
URL0="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-x86_64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL0=${URL0}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL0' to '${URL0}'"
URL1="https://github.com/stalwartlabs/stalwart/releases/download/v${VERSION}/stalwart-x86_64-unknown-linux-gnu.tar.gz"
/usr/bin/echo "URL1=${URL1}" >> "${GITHUB_OUTPUT}"
/usr/bin/echo "Set Variable 'URL1' to '${URL1}'"
- name: SSH Private Key [Prepare]
env:
SSH_PRIVATE_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
@@ -117,10 +133,18 @@ jobs:
/usr/bin/chmod --quiet '0400' './id_ed25519'
- name: Stalwart [Download & Extract]
env:
URL: ${{ steps.environment.outputs.url }}
URL0: ${{ steps.environment.outputs.url0 }}
URL1: ${{ steps.environment.outputs.url1 }}
run: |
/usr/bin/install --directory --verbose './sources'
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL}"
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL0}"
/usr/bin/tar --extract --gzip --verbose --file='./sources.tar.gz' --directory='./sources'
- name: Stalwart-CLI [Download & Extract]
env:
URL0: ${{ steps.environment.outputs.url0 }}
URL1: ${{ steps.environment.outputs.url1 }}
run: |
/usr/bin/wget --verbose --output-document='./sources.tar.gz' "${URL1}"
/usr/bin/tar --extract --gzip --verbose --file='./sources.tar.gz' --directory='./sources'
- name: Debian Package [Prepare]
env:
@@ -129,12 +153,14 @@ jobs:
/usr/bin/sed --in-place --expression="s/Architecture:.*/Architecture: ${ARCHITECTURE}/" './root/DEBIAN/control'
/usr/bin/install --directory --verbose './root/usr/sbin'
/usr/bin/mv --verbose './sources/stalwart' './root/usr/sbin'
/usr/bin/mv --verbose './sources/stalwart-cli' './root/usr/bin'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/postinst'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/postrm'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/preinst'
/usr/bin/chmod --verbose '0755' './root/DEBIAN/prerm'
/usr/bin/chmod --verbose '0755' './root/etc/init.d/stalwart'
/usr/bin/chmod --verbose '0640' './root/etc/stalwart.toml'
/usr/bin/chmod --verbose '0755' './root/usr/bin/stalwart-cli'
/usr/bin/chmod --verbose '0755' './root/usr/sbin/stalwart'
- name: Debian Package [Generate]
env:

View File

@@ -31,8 +31,8 @@ case "${1}" in
if ! /usr/bin/grep --quiet "secret =" '/etc/stalwart.toml'; then
PASSWORD=$(/usr/bin/openssl rand -base64 '18')
PASSWORD_SHA512=$(/usr/bin/echo "${PASSWORD}" | /usr/bin/openssl passwd -noverify -stdin -quiet -6)
/usr/bin/echo "secret = \"${PASSWORD_SHA512}\"" > '/etc/stalwart.toml'
/ust/bin/chown 'stalwart' '/etc/stalwart.toml'
/usr/bin/echo "secret = \"${PASSWORD_SHA512}\"" >> '/etc/stalwart.toml'
/usr/bin/chown 'stalwart' '/etc/stalwart.toml'
/usr/bin/echo '##'
/usr/bin/echo '##'
/usr/bin/echo '## User: root '