diskimage-builder/diskimage_builder/elements/gentoo/pre-install.d/02-gentoo-02-flags
Matthew Thode 4d5ba1497c
simplify updating python versions in gentoo
portage now generates /etc/python-exec/python-exec.conf based on the
order of PYTHON_TARGETS in /etc/portage/make.conf

fixes an issue where ARCH was being detected as amd64 not x86_64
fixes kernel installs (virtual/dist-kernel)

standardizes simple if statements (note, the 'shorthand' method will
pass the exit code back to shell but the 'longhand' does not).

Change-Id: I74041c232bc6ab4d6e67a4ecfaa759aa4a5feb6c
Signed-off-by: Matthew Thode <mthode@mthode.org>
2021-01-27 11:34:09 -06:00

44 lines
1.8 KiB
Bash
Executable File

#!/bin/bash
if [ ${DIB_DEBUG_TRACE:-0} -gt 0 ]; then
set -x
fi
set -eu
set -o pipefail
# get the directories in order
mkdir -p /etc/portage/profile
mkdir -p /etc/portage/package.accept_keywords
if [[ -f /etc/portage/package.keywords ]]; then
mv /etc/portage/package.keywords /etc/portage/package.accept_keywords/prebuilt-1
fi
mkdir -p /etc/portage/package.mask
mkdir -p /etc/portage/package.unmask
mkdir -p /etc/portage/package.use
# needed in order to install pip packages as root
echo 'dev-python/pip vanilla' >> /etc/portage/package.use/pip
# needed to create disk images
echo 'sys-fs/lvm2 -thin' >> /etc/portage/package.use/grub
echo 'sys-boot/grub device-mapper' >> /etc/portage/package.use/grub
echo 'sys-boot/grub grub_platforms_efi-64' >> /etc/portage/package.use/grub # always enable efi-64
if [[ 'amd64' == "${ARCH}" ]]; then
echo 'sys-boot/grub grub_platforms_pc' >> /etc/portage/package.use/grub # bios support for bios systems
fi
# tool for setting python versions
echo "~dev-lang/python-exec-2.4.6 ~${ARCH}" >> /etc/portage/package.accept_keywords/python-exec-conf
echo "dev-lang/python-exec-conf ~${ARCH}" >> /etc/portage/package.accept_keywords/python-exec-conf
# needed to install static kernel
echo "sys-kernel/gentoo-kernel-bin ~${ARCH}" >> /etc/portage/package.accept_keywords/kernel
echo "virtual/dist-kernel ~${ARCH}" >> /etc/portage/package.accept_keywords/kernel
# musl only valid for amd64 for now
if [[ "${GENTOO_PROFILE}" == *"musl"* ]]; then
echo "dev-vcs/git -gpg" >> /etc/portage/package.use/musl # gpg doesn't build on musl profiles
echo "sys-libs/pam cracklib" >> /etc/portage/package.use/musl
echo "~sys-block/open-iscsi-2.1.1 ~${ARCH}" >> /etc/portage/package.accept_keywords/musl
echo "~sys-block/open-isns-0.100 ~${ARCH}" >> /etc/portage/package.accept_keywords/musl
fi