fix buildchain

This commit is contained in:
Tobias Powalowski 2022-02-19 13:40:50 +01:00
parent 75dd4d704d
commit 7e6d1aaf72
5 changed files with 29 additions and 25 deletions

View file

@ -5,24 +5,24 @@ source /usr/lib/archboot/container_functions
source /usr/lib/archboot/repository_functions source /usr/lib/archboot/repository_functions
_ARCHBOOT="archboot-arm" _ARCHBOOT="archboot-arm"
[[ -d "${1}" ]] || (echo "Create directory ${1} ..."; mkdir "${1}") [[ -d "${1}" ]] || (echo "Create directory ${1} ..."; mkdir "${1}")
_DIR="$(mktemp -d ${1}/repository.XXX)" _REPODIR="$(mktemp -d ${1}/repository.XXX)"
_CACHEDIR="${_DIR}/var/cache/pacman/pkg" _CACHEDIR="${_REPODIR}/var/cache/pacman/pkg"
[[ -z "${1}" ]] && _usage [[ -z "${1}" ]] && _usage
_root_check _root_check
_buildserver_check _buildserver_check
_cachedir_check _cachedir_check
echo "Starting repository creation ..." echo "Starting repository creation ..."
if [[ "${_RUNNING_ARCH}" == "aarch64" ]]; then if [[ "${_RUNNING_ARCH}" == "aarch64" ]]; then
_prepare_pacman "${_DIR}" || exit 1 _prepare_pacman "${_REPODIR}" || exit 1
_download_packages "${_DIR}" || exit 1 _download_packages "${_REPODIR}" || exit 1
_umount_special "${_DIR}" || exit 1 _umount_special "${_REPODIR}" || exit 1
fi fi
if [[ "${_RUNNING_ARCH}" == "x86_64" ]]; then if [[ "${_RUNNING_ARCH}" == "x86_64" ]]; then
_aarch64_pacman_chroot "${_DIR}" || exit 1 _aarch64_pacman_chroot "${_REPODIR}" || exit 1
_aarch64_download_packages "${_DIR}" || exit 1 _aarch64_download_packages "${_REPODIR}" || exit 1
fi fi
_move_packages "${_DIR}" "${1}" || exit 1 _move_packages "${_REPODIR}" "${1}" || exit 1
_cleanup_repodir "${_DIR}" || exit 1 _cleanup_repodir "${_REPODIR}" || exit 1
_create_archboot_db "${1}" || exit 1 _create_archboot_db "${1}" || exit 1
echo "Finished repository creation in ${_DIR} ." echo "Finished repository creation in ${_REPODIR} ."

View file

@ -5,8 +5,8 @@ source /usr/lib/archboot/container_functions
source /usr/lib/archboot/repository_functions source /usr/lib/archboot/repository_functions
_ARCHBOOT="archboot" _ARCHBOOT="archboot"
[[ -d "${1}" ]] || (echo "Create directory ${1} ..."; mkdir "${1}") [[ -d "${1}" ]] || (echo "Create directory ${1} ..."; mkdir "${1}")
_DIR="$(mktemp -d ${1}/repository.XXX)" _REPODIR="$(mktemp -d ${1}/repository.XXX)"
_CACHEDIR="${_DIR}/var/cache/pacman/pkg" _CACHEDIR="${_REPODIR}/var/cache/pacman/pkg"
[[ -z "${1}" ]] && _usage [[ -z "${1}" ]] && _usage
_root_check _root_check
_buildserver_check _buildserver_check
@ -14,12 +14,12 @@ _x86_64_pacman_use_default || exit 1
_cachedir_check _cachedir_check
_x86_64_check _x86_64_check
echo "Starting repository creation ..." echo "Starting repository creation ..."
_prepare_pacman "${_DIR}" || exit 1 _prepare_pacman "${_REPODIR}" || exit 1
_download_packages "${_DIR}" || exit 1 _download_packages "${_REPODIR}" || exit 1
_x86_64_pacman_restore || exit 1 _x86_64_pacman_restore || exit 1
_umount_special "${_DIR}" || exit 1 _umount_special "${_REPODIR}" || exit 1
_move_packages "${_DIR}" "${1}" || exit 1 _move_packages "${_REPODIR}" "${1}" || exit 1
_cleanup_repodir "${_DIR}" || exit 1 _cleanup_repodir "${_REPODIR}" || exit 1
_create_archboot_db "${1}" || exit 1 _create_archboot_db "${1}" || exit 1
echo "Finished repository creation in ${_DIR} ." echo "Finished repository creation in ${_REPODIR} ."

View file

@ -3,7 +3,7 @@
_CLEANUP_CACHE="" _CLEANUP_CACHE=""
_CLEANUP_CONTAINER="" _CLEANUP_CONTAINER=""
_LINUX_FIRMWARE="linux-firmware" _LINUX_FIRMWARE="linux-firmware"
_PACMAN_AARCH64_CHROOT_SERVER="https://pkgbuild.com/~tpowa/archboot-helper/pacman-chroot-aarch64" _PACMAN_AARCH64_CHROOT_SERVER="https://pkgbuild.com/~tpowa/archboot-helper/pacman-aarch64-chroot"
_PACMAN_AARCH64_CHROOT="pacman-aarch64-chroot-latest.tar.zst" _PACMAN_AARCH64_CHROOT="pacman-aarch64-chroot-latest.tar.zst"
_usage () { _usage () {

View file

@ -1,5 +1,6 @@
#!/bin/bash #!/bin/bash
# created by Tobias Powalowski <tpowa@archlinux.org> # created by Tobias Powalowski <tpowa@archlinux.org>
_usage () { _usage () {
echo "CREATE ARCHBOOT REPOSITORY" echo "CREATE ARCHBOOT REPOSITORY"
echo "-----------------------------" echo "-----------------------------"
@ -26,7 +27,7 @@ _aarch64_download_packages() {
} }
_move_packages() { _move_packages() {
echo "Mpving packages to ${2} ..." echo "Moving packages to ${2} ..."
mv "${1}"/var/cache/pacman/pkg/./* "${2}" mv "${1}"/var/cache/pacman/pkg/./* "${2}"
} }
@ -37,5 +38,5 @@ _cleanup_repodir() {
_create_archboot_db() { _create_archboot_db() {
echo "Creating archboot repository db ..." echo "Creating archboot repository db ..."
repo-add "${1}"/archboot.db.tar.gz "${1}"/./*.{zst,xz} >/dev/null 2>&1 repo-add -q "${1}"/archboot.db.tar.gz $(find "${1}"/ -type f ! -name '*.sig')
} }

View file

@ -23,7 +23,7 @@ _GPG="--detach-sign --no-armor --batch --passphrase-file /etc/archboot/gpg.passp
_update_aarch64_pacman_chroot() { _update_aarch64_pacman_chroot() {
# update aarch64 pacman chroot # update aarch64 pacman chroot
cd "${_ISO_HOME}" || exit 1 cd "${_ISO_HOME}" || exit 1
mkdir "${_PACMAN_AARCH64}" [[ -d "${_PACMAN_AARCH64}" ]] || mkdir "${_PACMAN_AARCH64}"
echo "Downloading archlinuxarm pacman aarch64 chroot..." echo "Downloading archlinuxarm pacman aarch64 chroot..."
[[ -f pacman-aarch64-chroot-latest.tar.zst ]] && rm pacman-aarch64-chroot-latest.tar.zst{,.sig} [[ -f pacman-aarch64-chroot-latest.tar.zst ]] && rm pacman-aarch64-chroot-latest.tar.zst{,.sig}
wget ${_PACMAN_AARCH64_CHROOT_PUBLIC}/${_PACMAN_AARCH64_CHROOT}{,.sig} >/dev/null 2>&1 wget ${_PACMAN_AARCH64_CHROOT_PUBLIC}/${_PACMAN_AARCH64_CHROOT}{,.sig} >/dev/null 2>&1
@ -54,7 +54,8 @@ _update_aarch64_pacman_chroot() {
#shellcheck disable=SC2086 #shellcheck disable=SC2086
sudo -u "${_USER}" gpg ${_GPG} "${_PACMAN_AARCH64_CHROOT}" sudo -u "${_USER}" gpg ${_GPG} "${_PACMAN_AARCH64_CHROOT}"
chown "${_USER}:${_GROUP}" ${_PACMAN_AARCH64_CHROOT}{,.sig} chown "${_USER}:${_GROUP}" ${_PACMAN_AARCH64_CHROOT}{,.sig}
sudo -u "${_USER}" scp ${_PACMAN_AARCH64_CHROOT}{,.sig} ${_SERVER}:${_PACMAN_AARCH64_SERVER} || exit 1 echo "Uploading files to ${_SERVER}:${_PACMAN_AARCH64_SERVER} ..."
sudo -u "${_USER}" scp -q ${_PACMAN_AARCH64_CHROOT}{,.sig} ${_SERVER}:${_PACMAN_AARCH64_SERVER} || exit 1
} }
_update_source() { _update_source() {
@ -66,7 +67,8 @@ _update_source() {
fi fi
echo "Creating ${_ARCH} archboot repository ..." echo "Creating ${_ARCH} archboot repository ..."
"archboot-${_ARCH}-create-repository.sh" "${_ISO_HOME_SOURCE}" || exit 1 "archboot-${_ARCH}-create-repository.sh" "${_ISO_HOME_SOURCE}" || exit 1
sudo -u "${_USER}" scp -r "${_ISO_HOME_SOURCE}" "${_SERVER}":"${_SERVER_HOME}/" || exit 1 echo "Uploading files to ${_SERVER}:${_SERVER_HOME} ..."
sudo -u "${_USER}" scp -q -r "${_ISO_HOME_SOURCE}" "${_SERVER}":"${_SERVER_HOME}"/ || exit 1
sudo -u "${_USER}" ssh "${_SERVER}" <<EOF sudo -u "${_USER}" ssh "${_SERVER}" <<EOF
rm -r "${_SERVER_SOURCE_DIR}/${_ARCH}/${_DIR}" rm -r "${_SERVER_SOURCE_DIR}/${_ARCH}/${_DIR}"
rm -r "${_SERVER_SOURCE_DIR}/${_ARCH}/$(date -d "$(date +) - 3 month" +%Y.%m)" rm -r "${_SERVER_SOURCE_DIR}/${_ARCH}/$(date -d "$(date +) - 3 month" +%Y.%m)"
@ -107,7 +109,8 @@ _server_release() {
[[ -d "${_DIR}" ]] && mv "${_DIR}" archive/ [[ -d "${_DIR}" ]] && mv "${_DIR}" archive/
mv "${_ISO_BUILD_DIR}" "${_DIR}" mv "${_ISO_BUILD_DIR}" "${_DIR}"
# copy files to server # copy files to server
sudo -u "${_USER}" scp -r "${_DIR}" "${_SERVER}":"${_SERVER_HOME}/" || exit 1 echo "Uploading files to ${_SERVER}:${_SERVER_HOME} ..."
sudo -u "${_USER}" scp -q -r "${_DIR}" "${_SERVER}":"${_SERVER_HOME}/" || exit 1
# move files on server, create symlink and remove 3 month old release # move files on server, create symlink and remove 3 month old release
sudo -u "${_USER}" ssh "${_SERVER}" <<EOF sudo -u "${_USER}" ssh "${_SERVER}" <<EOF
rm -r "${_SERVER_IMAGE_DIR}"/"${_ARCH}"/"${_DIR}" rm -r "${_SERVER_IMAGE_DIR}"/"${_ARCH}"/"${_DIR}"