archboot/usr/bin/archboot-server-release.sh

61 lines
2 KiB
Bash
Raw Normal View History

2021-10-09 11:41:18 +02:00
#! /bin/bash
DIRECTORY="$(date +%Y.%m)"
BUILDDIR="/home/tobias/Arch/iso"
PACMAN_MIRROR="/etc/pacman.d/mirrorlist"
PACMAN_CONF="/etc/pacman.conf"
SERVER="repos.archlinux.org"
HOME="/home/tpowa/"
SERVER_DIR="/srv/ftp/iso/archboot"
USER="tobias"
GROUP="users"
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-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}"
archboot-x86_64-release.sh "${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
for i in *; do
[[ -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
done
for i in boot/*; do
[[ -f "${i}" ]] && sudo -u "${USER}" gpg "${GPG}" "${i}"
[[ -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
done
2021-10-10 18:53:39 +02:00
cd ..
2021-10-11 07:19:23 +02:00
# set user rights on files
2021-10-09 11:41:18 +02:00
chown -R "${USER}" "${DIRECTORY}"
chgrp -R "${GROUP}" "${DIRECTORY}"
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
rm -r "${SERVER_DIR}"/"${DIRECTORY}"
rm -r "${SERVER_DIR}"/"$(date -d "$(date +) - 3 month" +%Y.%m")"
2021-10-09 11:41:18 +02:00
mv "${DIRECTORY}" "${SERVER_DIR}"/
cd "${SERVER_DIR}"
rm latest
ln -s "${DIRECTORY}" latest
EOF