mirror of
https://gitlab.archlinux.org/tpowa/archboot.git
synced 2024-09-19 19:40:37 +02:00
fix buildchain
This commit is contained in:
parent
52dec0288e
commit
2aef84ac5d
5 changed files with 34 additions and 13 deletions
|
@ -11,6 +11,7 @@ _root_check
|
|||
_x86_64_check
|
||||
echo "Starting container creation ..."
|
||||
[[ -d "${1}" ]] || (echo "Create directory ${1} ..."; mkdir "${1}")
|
||||
_create_pacman_conf "${1}"
|
||||
_prepare_pacman "${1}" || exit 1
|
||||
_install_base_packages "${1}" || exit 1
|
||||
_clean_mkinitcpio "${1}" || exit 1
|
||||
|
|
|
@ -14,6 +14,7 @@ _usage () {
|
|||
echo " Options:"
|
||||
echo " -cc Cleanup container eg. remove manpages, includes ..."
|
||||
echo " -cp Cleanup container package cache"
|
||||
echo " -install-source=Server add package server with archboot repository"
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
@ -22,6 +23,7 @@ _parameters() {
|
|||
case ${1} in
|
||||
-cc|--cc) _CLEANUP_CONTAINER="1" ;;
|
||||
-cp|--cp) _CLEANUP_CACHE="1" ;;
|
||||
-install-source=*|--install-source=*) _INSTALL_SOURCE="$(echo "${1}" | awk -F= '{print $2;}')" ;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
@ -94,6 +96,23 @@ _prepare_pacman() {
|
|||
mount shm "${1}/dev/shm" -t tmpfs -o mode=1777,nosuid,nodev
|
||||
}
|
||||
|
||||
_create_pacman_conf() {
|
||||
if [[ -z "${_INSTALL_SOURCE}" ]]; then
|
||||
echo "Use default pacman.conf ..."
|
||||
_PACMAN_CONF="/etc/pacman.conf"
|
||||
else
|
||||
echo "Use custom pacman.conf ..."
|
||||
_PACMAN_CONF="$(mktemp ${1}/pacman.conf.XXX)"
|
||||
echo "[options]" >> "${_PACMAN_CONF}"
|
||||
echo "Architecture = auto" >> "${_PACMAN_CONF}"
|
||||
echo "SigLevel = Required DatabaseOptional" >> "${_PACMAN_CONF}"
|
||||
echo "LocalFileSigLevel = Optional" >> "${_PACMAN_CONF}"
|
||||
echo "ParallelDownloads = 5" >> "${_PACMAN_CONF}"
|
||||
echo "[archboot]" >> "${_PACMAN_CONF}"
|
||||
echo "Server = ${_INSTALL_SOURCE}" >> "${_PACMAN_CONF}"
|
||||
fi
|
||||
}
|
||||
|
||||
_change_pacman_conf() {
|
||||
# enable parallel downloads
|
||||
sed -i -e 's:^#ParallelDownloads:ParallelDownloads:g' "${1}"/etc/pacman.conf
|
||||
|
@ -111,22 +130,22 @@ _umount_special() {
|
|||
|
||||
_install_base_packages() {
|
||||
echo "Installing packages base linux and ${_LINUX_FIRMWARE} to ${1} ..."
|
||||
pacman --root "${1}" -Sy base linux "${_LINUX_FIRMWARE}" --ignore systemd-resolvconf --noconfirm --cachedir "${_PWD}"/"${_CACHEDIR}" >/dev/null 2>&1
|
||||
pacman --root "${1}" -Sy base linux "${_LINUX_FIRMWARE}" --config "${_PACMAN_CONF}" --ignore systemd-resolvconf --noconfirm --cachedir "${_PWD}"/"${_CACHEDIR}" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
_install_archboot() {
|
||||
echo "Installing ${_ARCHBOOT} to ${1} ..."
|
||||
pacman --root "${1}" -Sy "${_ARCHBOOT}" --ignore systemd-resolvconf --noconfirm >/dev/null 2>&1
|
||||
pacman --root "${1}" -Sy "${_ARCHBOOT}" --config "${_PACMAN_CONF}" --ignore systemd-resolvconf --noconfirm >/dev/null 2>&1
|
||||
}
|
||||
|
||||
_aarch64_install_base_packages() {
|
||||
echo "Installing packages base linux and ${_LINUX_FIRMWARE} to ${1} ..."
|
||||
systemd-nspawn -q -D "${1}" /bin/bash -c "pacman -Sy base linux ${_LINUX_FIRMWARE} --ignore systemd-resolvconf --noconfirm" >/dev/null 2>&1
|
||||
systemd-nspawn -q -D "${1}" /bin/bash -c "pacman -Sy base linux ${_LINUX_FIRMWARE} --config "$(if [[ -e "$(basenme ${_PACMAN_CONF})" ]]; then $(basenme ${_PACMAN_CONF}); else ${_PACMAN_CONF};fi)" --ignore systemd-resolvconf --noconfirm" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
_aarch64_install_archboot() {
|
||||
echo "Installing ${_ARCHBOOT} to ${1} ..."
|
||||
systemd-nspawn -q -D "${1}" /bin/bash -c "pacman -Sy ${_ARCHBOOT} --ignore systemd-resolvconf --noconfirm" >/dev/null 2>&1
|
||||
systemd-nspawn -q -D "${1}" /bin/bash -c "pacman -Sy ${_ARCHBOOT} --config "$(if [[ -e "$(basenme ${_PACMAN_CONF})" ]]; then $(basenme ${_PACMAN_CONF}); else ${_PACMAN_CONF};fi)" --ignore systemd-resolvconf --noconfirm" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
_download_packages() {
|
||||
|
|
|
@ -43,16 +43,16 @@ _buildserver_check() {
|
|||
# generate locales
|
||||
_generate_locales() {
|
||||
echo "Generate locales in container ..."
|
||||
echo 'en_US ISO-8859-1' >> "${_DIR}/etc/locale.gen"
|
||||
echo 'en_US.UTF-8 UTF-8' >> "${_DIR}/etc/locale.gen"
|
||||
systemd-nspawn -q -D "${_DIR}" locale-gen >/dev/null 2>&1
|
||||
echo 'en_US ISO-8859-1' >> "${1}/etc/locale.gen"
|
||||
echo 'en_US.UTF-8 UTF-8' >> "${1}/etc/locale.gen"
|
||||
systemd-nspawn -q -D "${1}" locale-gen >/dev/null 2>&1
|
||||
}
|
||||
|
||||
_generate_keyring() {
|
||||
# generate pacman keyring
|
||||
echo "Generate pacman keyring in container ..."
|
||||
systemd-nspawn -q -D "${_DIR}" pacman-key --init >/dev/null 2>&1
|
||||
systemd-nspawn -q -D "${_DIR}" pacman-key --populate "${_KEYRING}" >/dev/null 2>&1
|
||||
systemd-nspawn -q -D "${1}" pacman-key --init >/dev/null 2>&1
|
||||
systemd-nspawn -q -D "${1}" pacman-key --populate "${_KEYRING}" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
_x86_64_pacman_use_default() {
|
||||
|
|
|
@ -12,8 +12,9 @@ _W_DIR="$(mktemp -u archboot-release.XXX)"
|
|||
_usage () {
|
||||
echo "CREATE ARCHBOOT RELEASE IMAGE"
|
||||
echo "-----------------------------"
|
||||
echo "Usage: ${_BASENAME} <directory>"
|
||||
echo "Usage: ${_BASENAME} <directory> <server>"
|
||||
echo "This will create an archboot release image in <directory>."
|
||||
echo "You can specify a certain <server> with an archboot repository."
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
@ -21,7 +22,7 @@ _create_iso() {
|
|||
mkdir -p "${1}"
|
||||
cd "${1}" || exit 1
|
||||
# create container
|
||||
archboot-"${_ARCH}"-create-container.sh "${_W_DIR}" -cc -cp || exit 1
|
||||
archboot-"${_ARCH}"-create-container.sh "${_W_DIR}" -cc -cp --install-source="${2}" || exit 1
|
||||
# generate tarball in container, umount tmp it's a tmpfs and weird things could happen then
|
||||
echo "Generate ISO ..."
|
||||
# generate iso in container
|
||||
|
|
|
@ -14,7 +14,7 @@ _PACMAN_AARCH_SERVERDIR="/home/tpowa/public_html/archboot-helper/pacman-chroot-a
|
|||
_PACMAN_AARCH64="pacman-aarch64-chroot"
|
||||
_PACMAN_AARCH64_CHROOT_SERVER="https://pkgbuild.com/~tpowa/archboot-helper/pacman-chroot-aarch64"
|
||||
_PACMAN_AARCH64_CHROOT="pacman-aarch64-chroot-latest.tar.zst"
|
||||
|
||||
_ARCHBOOT_SOURCE="https://pkgbuild.com/~tpowa/archboot-sources/${_ARCH}/${_DIRECTORY}"
|
||||
|
||||
_update_aarch64_pacman_chroot() {
|
||||
# update aarch64 pacman chroot
|
||||
|
@ -56,7 +56,7 @@ _update_aarch64_pacman_chroot() {
|
|||
_server_release() {
|
||||
# create release in "${_ISOHOME}"
|
||||
cd "${_ISOHOME}" || exit 1
|
||||
"archboot-${_ARCH}-release.sh" "${_BUILDDIR}" || rm -r "${_BUILDDIR}"
|
||||
"archboot-${_ARCH}-release.sh" "${_BUILDDIR}" "${_ARCHBOOT_SOURCE}" || rm -r "${_BUILDDIR}"
|
||||
# set user rights on files
|
||||
[[ -d "${_BUILDDIR}" ]] || exit 1
|
||||
chmod 755 "${_BUILDDIR}"
|
||||
|
|
Loading…
Reference in a new issue