2021-10-09 11:41:18 +02:00
|
|
|
#! /bin/bash
|
|
|
|
DIRECTORY="$(date +%Y.%m)"
|
2022-01-07 23:05:06 +01:00
|
|
|
ARCH="x86_64"
|
2022-01-12 17:24:05 +01:00
|
|
|
BUILDDIR="/home/tobias/Arch/iso/${ARCH}"
|
2021-10-09 11:41:18 +02:00
|
|
|
PACMAN_MIRROR="/etc/pacman.d/mirrorlist"
|
|
|
|
PACMAN_CONF="/etc/pacman.conf"
|
2022-01-12 17:24:05 +01:00
|
|
|
SERVER="pkgbuild.com"
|
2021-10-09 11:41:18 +02:00
|
|
|
HOME="/home/tpowa/"
|
2022-01-11 22:46:49 +01:00
|
|
|
SERVER_DIR="/home/tpowa/public_html/archboot-images"
|
2021-10-09 11:41:18 +02:00
|
|
|
USER="tobias"
|
|
|
|
GROUP="users"
|
2021-10-20 08:27:50 +02:00
|
|
|
GPG="--detach-sign --batch --passphrase-file /etc/archboot/gpg.passphrase --pinentry-mode loopback -u 7EDF681F"
|
2021-10-09 11:41:18 +02:00
|
|
|
|
|
|
|
### check for root
|
|
|
|
if ! [[ ${UID} -eq 0 ]]; then
|
|
|
|
echo "ERROR: Please run as root user!"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2021-12-02 09:29:49 +01:00
|
|
|
### check for tpowa's build server
|
2021-12-02 09:28:58 +01:00
|
|
|
if [[ ! "$(cat /etc/hostname)" == "T-POWA-LX" ]]; then
|
|
|
|
echo "This script should only be run on tpowa's build server. Aborting..."
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
2021-10-11 07:19:23 +02:00
|
|
|
# use pacman.conf with disabled [testing] repository
|
2021-10-09 11:41:18 +02:00
|
|
|
cp "${PACMAN_CONF}" "${PACMAN_CONF}".old
|
|
|
|
cp "${PACMAN_CONF}".archboot "${PACMAN_CONF}"
|
2021-10-11 07:19:23 +02:00
|
|
|
# use mirrorlist with enabled rackspace mirror
|
2021-10-09 11:41:18 +02:00
|
|
|
cp "${PACMAN_MIRROR}" "${PACMAN_MIRROR}".old
|
|
|
|
cp "${PACMAN_MIRROR}".archboot "${PACMAN_MIRROR}"
|
2021-10-11 07:19:23 +02:00
|
|
|
# create release in "${BUILDDIR}"
|
2021-10-09 11:41:18 +02:00
|
|
|
cd "${BUILDDIR}"
|
|
|
|
[[ -e "${DIRECTORY}" ]] && rm -r "${DIRECTORY}"
|
2022-01-07 23:05:06 +01:00
|
|
|
archboot-"${ARCH}"-release.sh "${DIRECTORY}"
|
2021-10-20 09:04:18 +02:00
|
|
|
# set user rights on files
|
|
|
|
chown -R "${USER}" "${DIRECTORY}"
|
|
|
|
chgrp -R "${GROUP}" "${DIRECTORY}"
|
2021-10-10 18:53:39 +02:00
|
|
|
cd "${DIRECTORY}"
|
2021-10-11 07:19:23 +02:00
|
|
|
# remove sha256sum
|
2021-10-10 18:53:39 +02:00
|
|
|
rm sha256sum.txt
|
2021-10-11 07:19:23 +02:00
|
|
|
# sign files and create new sha256sum.txt
|
2021-10-10 10:58:01 +02:00
|
|
|
for i in *; do
|
2021-10-20 08:54:31 +02:00
|
|
|
[[ -f "${i}" ]] && sudo -u "${USER}" gpg ${GPG} "${i}"
|
2021-10-10 18:53:39 +02:00
|
|
|
[[ -f "${i}" ]] && cksum -a sha256 "${i}" >> sha256sum.txt
|
|
|
|
[[ -f "${i}.sig" ]] && cksum -a sha256 "${i}.sig" >> sha256sum.txt
|
2021-10-10 10:58:01 +02:00
|
|
|
done
|
|
|
|
for i in boot/*; do
|
2021-10-20 08:54:31 +02:00
|
|
|
[[ -f "${i}" ]] && sudo -u "${USER}" gpg ${GPG} "${i}"
|
2021-10-10 10:58:01 +02:00
|
|
|
[[ -f "${i}" ]] && cksum -a sha256 "${i}" >> sha256sum.txt
|
2021-10-10 18:53:39 +02:00
|
|
|
[[ -f "${i}.sig" ]] && cksum -a sha256 "${i}.sig" >> sha256sum.txt
|
2021-10-10 10:58:01 +02:00
|
|
|
done
|
2021-10-10 18:53:39 +02:00
|
|
|
cd ..
|
2021-10-11 07:19:23 +02:00
|
|
|
# restore pacman.conf and mirrorlist
|
2021-10-09 11:41:18 +02:00
|
|
|
cp "${PACMAN_MIRROR}".old "${PACMAN_MIRROR}"
|
|
|
|
cp "${PACMAN_CONF}".old "${PACMAN_CONF}"
|
2021-10-11 07:19:23 +02:00
|
|
|
# copy files to server
|
2021-10-09 11:41:18 +02:00
|
|
|
sudo -u "${USER}" scp -r "${DIRECTORY}" "${SERVER}":"${HOME}"
|
2021-10-11 07:19:23 +02:00
|
|
|
# move files on server, create symlink and remove 3 month old release
|
2021-10-09 11:41:18 +02:00
|
|
|
sudo -u "${USER}" ssh "${SERVER}" <<EOF
|
2022-01-07 23:05:06 +01:00
|
|
|
rm -r "${SERVER_DIR}"/"${ARCH}"/"${DIRECTORY}"
|
|
|
|
rm -r "${SERVER_DIR}"/"${ARCH}"/"$(date -d "$(date +) - 3 month" +%Y.%m)"
|
|
|
|
mv "${DIRECTORY}" "${SERVER_DIR}"/"${ARCH}"
|
|
|
|
cd "${SERVER_DIR}"/"${ARCH}"
|
2021-10-09 11:41:18 +02:00
|
|
|
rm latest
|
|
|
|
ln -s "${DIRECTORY}" latest
|
|
|
|
EOF
|