Merge "use stage3 instead of stage4 for gentoo builds"
This commit is contained in:
commit
d71284ccbd
@ -1,2 +1,3 @@
|
|||||||
sys-fs/dosfstools:
|
|
||||||
app-admin/sudo:
|
app-admin/sudo:
|
||||||
|
sys-fs/dosfstools:
|
||||||
|
sys-kernel/gentoo-kernel-bin:
|
||||||
|
@ -8,3 +8,12 @@ set -o pipefail
|
|||||||
|
|
||||||
# set profile symlink to the hardcoded PORDIR
|
# set profile symlink to the hardcoded PORDIR
|
||||||
ln -sf ../.."${PORTDIR}/profiles/${GENTOO_PROFILE}" /etc/portage/make.profile
|
ln -sf ../.."${PORTDIR}/profiles/${GENTOO_PROFILE}" /etc/portage/make.profile
|
||||||
|
|
||||||
|
# Set timezone
|
||||||
|
echo 'UTC' > /etc/timezone
|
||||||
|
|
||||||
|
# Set locale
|
||||||
|
echo 'en_US.UTF-8 UTF-8' >> /etc/locale.gen
|
||||||
|
echo 'en_US ISO-8859-1' >> /etc/locale.gen
|
||||||
|
locale-gen -q
|
||||||
|
eselect locale set en_US.utf8
|
||||||
|
@ -8,15 +8,10 @@ set -o pipefail
|
|||||||
|
|
||||||
# get the directories in order
|
# get the directories in order
|
||||||
mkdir -p /etc/portage/profile
|
mkdir -p /etc/portage/profile
|
||||||
|
mkdir -p /etc/portage/package.accept_keywords
|
||||||
if [ -f /etc/portage/package.keywords ]; then
|
if [ -f /etc/portage/package.keywords ]; then
|
||||||
mv /etc/portage/package.keywords /etc/portage/package.keywords.bak
|
mv /etc/portage/package.keywords /etc/portage/package.accept_keywords/prebuilt-1
|
||||||
mkdir -p /etc/portage/package.keywords
|
|
||||||
mv /etc/portage/package.keywords.bak /etc/portage/package.keywords/prebuilt-1
|
|
||||||
else
|
|
||||||
mkdir -p /etc/portage/package.keywords
|
|
||||||
fi
|
fi
|
||||||
[ -d /etc/portage/package.accept_keywords ] && mv /etc/portage/package.accept_keywords/* /etc/portage/package.keywords/ && rmdir /etc/portage/package.accept_keywords
|
|
||||||
[ -f /etc/portage/package.accept_keywords ] && mv /etc/portage/package.accept_keywords /etc/portage/package.keywords/prebuilt-2
|
|
||||||
mkdir -p /etc/portage/package.mask
|
mkdir -p /etc/portage/package.mask
|
||||||
mkdir -p /etc/portage/package.unmask
|
mkdir -p /etc/portage/package.unmask
|
||||||
mkdir -p /etc/portage/package.use
|
mkdir -p /etc/portage/package.use
|
||||||
@ -28,16 +23,23 @@ 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 device-mapper' >> /etc/portage/package.use/grub
|
||||||
|
|
||||||
# needed in order to install pip packages as root
|
# needed in order to install pip packages as root
|
||||||
echo '=dev-python/pip-9.0.1-r2 ~amd64' >> /etc/portage/package.keywords/pip
|
echo '=dev-python/pip-9.0.1-r2 ~amd64' >> /etc/portage/package.accept_keywords/pip
|
||||||
|
# needed to install static kernel
|
||||||
|
echo '~sys-apps/debianutils-4.9.1 ~amd64' >> /etc/portage/package.accept_keywords/kernel
|
||||||
|
echo 'sys-kernel/installkernel-gentoo ~amd64' >> /etc/portage/package.accept_keywords/kernel
|
||||||
|
echo 'sys-kernel/gentoo-kernel-bin ~amd64' >> /etc/portage/package.accept_keywords/kernel
|
||||||
|
|
||||||
|
# needed for sfdisk to work
|
||||||
|
echo '~sys-apps/util-linux-2.35.2 ~amd64 # sfdisk growpart fix' >> /etc/portage/package.accept_keywords/util-linux
|
||||||
|
|
||||||
if [[ "${GENTOO_PROFILE}" == *"systemd"* ]]; then
|
if [[ "${GENTOO_PROFILE}" == *"systemd"* ]]; then
|
||||||
# systemd import-tar is broken, use a more recent (fixed) version
|
# systemd import-tar is broken, use a more recent (fixed) version
|
||||||
echo '~sys-apps/systemd-241 ~amd64' >> /etc/portage/package.keywords/systemd
|
echo '~sys-apps/systemd-241 ~amd64' >> /etc/portage/package.accept_keywords/systemd
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${GENTOO_PROFILE}" == *"musl"* ]]; then
|
if [[ "${GENTOO_PROFILE}" == *"musl"* ]]; then
|
||||||
echo "dev-vcs/git -gpg" >> /etc/portage/package.use/musl # gpg doesn't build on musl profiles
|
echo "dev-vcs/git -gpg" >> /etc/portage/package.use/musl # gpg doesn't build on musl profiles
|
||||||
echo "=sys-block/open-iscsi-2.0.874-r1 ~amd64" >> /etc/portage/package.keywords/musl
|
echo "=sys-block/open-iscsi-2.0.874-r1 ~amd64" >> /etc/portage/package.accept_keywords/musl
|
||||||
echo "=sys-block/open-isns-0.97 ~amd64" >> /etc/portage/package.keywords/musl
|
echo "=sys-block/open-isns-0.97 ~amd64" >> /etc/portage/package.accept_keywords/musl
|
||||||
echo "sys-libs/pam cracklib" >> /etc/portage/package.use/musl
|
echo "sys-libs/pam cracklib" >> /etc/portage/package.use/musl
|
||||||
fi
|
fi
|
||||||
|
@ -21,7 +21,7 @@ if [[ ${GENTOO_OVERLAYS} != '' ]]; then
|
|||||||
|
|
||||||
# upstream has problems with supporting other libcs still
|
# upstream has problems with supporting other libcs still
|
||||||
if [[ "${GENTOO_PROFILE}" == *"musl"* ]]; then
|
if [[ "${GENTOO_PROFILE}" == *"musl"* ]]; then
|
||||||
echo '=sys-block/open-iscsi-2.0.877' >> /etc/portage/package.keywords/open-iscsi
|
echo '=sys-block/open-iscsi-2.0.877' >> /etc/portage/package.accept_keywords/open-iscsi
|
||||||
fi
|
fi
|
||||||
emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --oneshot openssl openssh
|
emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --oneshot openssl openssh
|
||||||
# install layman
|
# install layman
|
||||||
|
@ -30,6 +30,8 @@ PYTHON_PACKAGES="dev-python/six dev-python/packaging dev-python/appdirs dev-pyth
|
|||||||
for PACKAGE in ${PYTHON_PACKAGES}; do
|
for PACKAGE in ${PYTHON_PACKAGES}; do
|
||||||
emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --oneshot --update --newuse --deep --nodeps "${PACKAGE}"
|
emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --oneshot --update --newuse --deep --nodeps "${PACKAGE}"
|
||||||
done
|
done
|
||||||
|
# install portage first due to bug in env vars not being passed when portage installs itself and re-inits
|
||||||
|
emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --oneshot sys-apps/portage
|
||||||
emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --oneshot --update --newuse --deep --complete-graph=y sys-apps/portage dev-python/pyxattr
|
emerge ${GENTOO_EMERGE_DEFAULT_OPTS} --oneshot --update --newuse --deep --complete-graph=y sys-apps/portage dev-python/pyxattr
|
||||||
# set the active python version
|
# set the active python version
|
||||||
eselect python set ${GENTOO_PYTHON_ACTIVE_VERSION}
|
eselect python set ${GENTOO_PYTHON_ACTIVE_VERSION}
|
||||||
|
@ -40,20 +40,20 @@ fi
|
|||||||
# hardened/linux/amd64/no-multilib
|
# hardened/linux/amd64/no-multilib
|
||||||
GENTOO_PROFILE=${GENTOO_PROFILE:-'default/linux/amd64/17.1'}
|
GENTOO_PROFILE=${GENTOO_PROFILE:-'default/linux/amd64/17.1'}
|
||||||
if [[ "${GENTOO_PROFILE}" == "default/linux/amd64/17.1" ]]; then
|
if [[ "${GENTOO_PROFILE}" == "default/linux/amd64/17.1" ]]; then
|
||||||
FILENAME_BASE='gentoo-stage4'
|
FILENAME_BASE='gentoo-stage3'
|
||||||
SIGNED_SOURCE_SUFFIX='minimal'
|
SIGNED_SOURCE_SUFFIX=''
|
||||||
elif [[ "${GENTOO_PROFILE}" == "default/linux/amd64/17.1/no-multilib" ]]; then
|
elif [[ "${GENTOO_PROFILE}" == "default/linux/amd64/17.1/no-multilib" ]]; then
|
||||||
FILENAME_BASE='gentoo-stage4-nomultilib'
|
FILENAME_BASE='gentoo-stage3-nomultilib'
|
||||||
SIGNED_SOURCE_SUFFIX='minimal-nomultilib'
|
SIGNED_SOURCE_SUFFIX='-nomultilib'
|
||||||
elif [[ "${GENTOO_PROFILE}" == "default/linux/amd64/17.1/hardened" ]]; then
|
elif [[ "${GENTOO_PROFILE}" == "default/linux/amd64/17.1/hardened" ]]; then
|
||||||
FILENAME_BASE='gentoo-stage4-hardened'
|
FILENAME_BASE='gentoo-stage3-hardened'
|
||||||
SIGNED_SOURCE_SUFFIX='hardened+minimal'
|
SIGNED_SOURCE_SUFFIX='-hardened'
|
||||||
elif [[ "${GENTOO_PROFILE}" == "default/linux/amd64/17.1/no-multilib/hardened" ]]; then
|
elif [[ "${GENTOO_PROFILE}" == "default/linux/amd64/17.1/no-multilib/hardened" ]]; then
|
||||||
FILENAME_BASE='gentoo-stage4-hardened-nomultilib'
|
FILENAME_BASE='gentoo-stage3-hardened-nomultilib'
|
||||||
SIGNED_SOURCE_SUFFIX='hardened+minimal-nomultilib'
|
SIGNED_SOURCE_SUFFIX='-hardened+nomultilib'
|
||||||
elif [[ "${GENTOO_PROFILE}" == "default/linux/amd64/17.1/systemd" ]]; then
|
elif [[ "${GENTOO_PROFILE}" == "default/linux/amd64/17.1/systemd" ]]; then
|
||||||
FILENAME_BASE='gentoo-stage4-systemd'
|
FILENAME_BASE='gentoo-stage3-systemd'
|
||||||
SIGNED_SOURCE_SUFFIX='systemd'
|
SIGNED_SOURCE_SUFFIX='-systemd'
|
||||||
else
|
else
|
||||||
echo 'invalid profile, please select from the following profiles'
|
echo 'invalid profile, please select from the following profiles'
|
||||||
echo 'default/linux/amd64/17.1'
|
echo 'default/linux/amd64/17.1'
|
||||||
@ -64,7 +64,7 @@ else
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
DIB_CLOUD_SOURCE=${DIB_CLOUD_SOURCE:-"http://distfiles.gentoo.org/releases/amd64/autobuilds/latest-stage4-amd64-${SIGNED_SOURCE_SUFFIX}.txt"}
|
DIB_CLOUD_SOURCE=${DIB_CLOUD_SOURCE:-"http://distfiles.gentoo.org/releases/amd64/autobuilds/latest-stage3-amd64${SIGNED_SOURCE_SUFFIX}.txt"}
|
||||||
BASE_IMAGE_FILE=${BASE_IMAGE_FILE:-"http://distfiles.gentoo.org/releases/amd64/autobuilds/$(curl ${DIB_CLOUD_SOURCE} -s -f | tail -n 1 | cut -d\ -f 1)"}
|
BASE_IMAGE_FILE=${BASE_IMAGE_FILE:-"http://distfiles.gentoo.org/releases/amd64/autobuilds/$(curl ${DIB_CLOUD_SOURCE} -s -f | tail -n 1 | cut -d\ -f 1)"}
|
||||||
BASE_IMAGE_FILE_SUFFIX=${BASE_IMAGE_FILE_SUFFIX:-"$(basename ${BASE_IMAGE_FILE} | cut -d. -f 2,3)"}
|
BASE_IMAGE_FILE_SUFFIX=${BASE_IMAGE_FILE_SUFFIX:-"$(basename ${BASE_IMAGE_FILE} | cut -d. -f 2,3)"}
|
||||||
SIGNATURE_FILE="${SIGNATURE_FILE:-${BASE_IMAGE_FILE}.DIGESTS.asc}"
|
SIGNATURE_FILE="${SIGNATURE_FILE:-${BASE_IMAGE_FILE}.DIGESTS.asc}"
|
||||||
@ -106,3 +106,11 @@ fi
|
|||||||
# Extract the base image (use --numeric-owner to avoid UID/GID mismatch between
|
# Extract the base image (use --numeric-owner to avoid UID/GID mismatch between
|
||||||
# image tarball and host OS)
|
# image tarball and host OS)
|
||||||
sudo tar -C "${TARGET_ROOT}" --numeric-owner --xattrs -xf "${CACHED_FILE}"
|
sudo tar -C "${TARGET_ROOT}" --numeric-owner --xattrs -xf "${CACHED_FILE}"
|
||||||
|
|
||||||
|
# Put in a dummy /etc/resolv.conf over the temporary one we used
|
||||||
|
# to bootstrap. systemd has a bug/feature [1] that it will assume
|
||||||
|
# you want systemd-networkd as the network manager and create a
|
||||||
|
# broken symlink to /run/... if the base image doesn't have one.
|
||||||
|
# This broken link confuses things like dhclient.
|
||||||
|
# [1] https://bugzilla.redhat.com/show_bug.cgi?id=1197204
|
||||||
|
echo -e "# This file intentionally left blank\n" | sudo tee "${TARGET_ROOT}"/etc/resolv.conf
|
||||||
|
Loading…
Reference in New Issue
Block a user