mirror of
https://github.com/KDE/kde-linux.git
synced 2025-12-24 00:18:23 -05:00
this is a bit dangerous but necessary for more efficient delta updates. we must be very careful to avoid a bug in systemd caused by putting foo.erofs.caibx into the sha256sums. so instead we have foo.caibx that gets installed with the correct name by sysupdate we still have the foo.erofs.caibx on the server for backwards compat, but continue to not put it into the sha256sums
45 lines
1.9 KiB
Bash
Executable File
45 lines
1.9 KiB
Bash
Executable File
#!/bin/sh
|
|
# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
|
|
# SPDX-FileCopyrightText: 2024 Harald Sitter <sitter@kde.org>
|
|
|
|
set -eux
|
|
|
|
# For the vacuum helper and this script
|
|
export SSH_IDENTITY="$PWD/.secure_files/ssh.key"
|
|
export SSH_USER=kdeos
|
|
export SSH_HOST=origin.files.kde.org
|
|
export SSH_ROOT_PATH=/home/kdeos/kde-linux/
|
|
export SSH_PATH=$SSH_ROOT_PATH/sysupdate/v2/
|
|
export SSH_REALLY_DELETE=1
|
|
|
|
chmod 600 "$SSH_IDENTITY"
|
|
|
|
go -C ./upload-vacuum/ build -o upload-vacuum .
|
|
./upload-vacuum/upload-vacuum
|
|
|
|
# The following variables are for this script only. Not shared with the vacuum helper.
|
|
sudo chown -Rvf "$(id -u):$(id -g)" "$PWD/.secure_files" # Make sure we have access
|
|
export GNUPGHOME="$PWD/.secure_files/gpg"
|
|
gpg --verbose --no-options --homedir="$GNUPGHOME" --import "$PWD/.secure_files/gpg.private.key"
|
|
REMOTE_ROOT=$SSH_USER@$SSH_HOST:$SSH_ROOT_PATH
|
|
REMOTE_PATH=$SSH_USER@$SSH_HOST:$SSH_PATH
|
|
# You can use `ssh-keyscan origin.files.kde.org` to get the host key
|
|
echo "origin.files.kde.org ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAILUjdH4S7otYIdLUkOZK+owIiByjNQPzGi7GQ5HOWjO6" >> ~/.ssh/known_hosts
|
|
|
|
# The initial SHA256SUMS file is created by the vacuum script based on what is left on the server. We append to it.
|
|
|
|
# We need shell globs here! More readable this way. Ignore shellcheck.
|
|
# shellcheck disable=SC2129
|
|
sha256sum -- *.efi >> SHA256SUMS
|
|
sha256sum -- *.tar.zst >> SHA256SUMS
|
|
sha256sum -- *.erofs >> SHA256SUMS
|
|
# Don't put .erofs.caibx into the SHA256SUMS, it will break file matching.
|
|
# https://github.com/systemd/systemd/issues/38605
|
|
sha256sum -- *-x86-64.caibx >> SHA256SUMS
|
|
|
|
gpg --homedir="$GNUPGHOME" --output SHA256SUMS.gpg --detach-sign SHA256SUMS
|
|
|
|
scp -i "$SSH_IDENTITY" ./*.raw ./*.torrent "$REMOTE_ROOT"
|
|
scp -i "$SSH_IDENTITY" ./*.efi ./*.tar.zst ./*.erofs ./*.caibx "$REMOTE_PATH"
|
|
scp -i "$SSH_IDENTITY" SHA256SUMS SHA256SUMS.gpg "$REMOTE_PATH" # upload as last artifact to finalize the upload
|