mirror of
https://github.com/flatcar/scripts.git
synced 2026-03-27 00:01:55 +01:00
Copy some Portage configuration from overlays to /etc/portage
Portage configuration can package mask per repo, but profiles cannot. Signed-off-by: James Le Cuirot <jlecuirot@microsoft.com>
This commit is contained in:
parent
d154e3ed27
commit
0832382db8
4
sdk_container/src/third_party/coreos-overlay/coreos/config/portage/README.md
vendored
Normal file
4
sdk_container/src/third_party/coreos-overlay/coreos/config/portage/README.md
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
This directory is for Portage configuration that cannot be applied using
|
||||
profiles. Files here are automatically symlinked to /etc/portage. For example,
|
||||
package.mask can include repository references like `::coreos-overlay` when
|
||||
placed under /etc/portage but not when part of a profile.
|
||||
13
setup_board
13
setup_board
@ -166,8 +166,6 @@ fi
|
||||
get_board_and_variant $FLAGS_board $FLAGS_variant
|
||||
|
||||
# Locations we will need
|
||||
COREOS_OVERLAY="${REPO_ROOT}/src/third_party/coreos-overlay"
|
||||
COREOS_CONFIG="${COREOS_OVERLAY}/coreos/config"
|
||||
BOARD_ROOT="/build/${BOARD_VARIANT}"
|
||||
BOARD_ETC="${BOARD_ROOT}/etc"
|
||||
BOARD_ARCH=$(get_board_arch "$BOARD")
|
||||
@ -248,6 +246,17 @@ sudo mkdir -p "${BOARD_ETC}/portage/"{profile,repos.conf}
|
||||
sudo ln -sfT "$(portageq get_repo_path / coreos-overlay)/coreos/user-patches" \
|
||||
"${BOARD_ETC}/portage/patches"
|
||||
sudo cp /etc/portage/repos.conf/* "${BOARD_ETC}"/portage/repos.conf/
|
||||
|
||||
for REPO_NAME in $(cat "${REPO_ROOT}"/src/third_party/*/profiles/repo_name); do
|
||||
[[ ${REPO_NAME} == prefix ]] && continue # Ignore for now.
|
||||
|
||||
for CONF in "${REPO_ROOT}/src/third_party/${REPO_NAME}"/coreos/config/portage/*; do
|
||||
[[ ${CONF} == *.md || ! -e ${CONF} ]] && continue
|
||||
sudo mkdir -p "${BOARD_ETC}/portage/${CONF##*/}"
|
||||
sudo ln -snf "${CONF}" "${BOARD_ETC}/portage/${CONF##*/}/${REPO_NAME}.conf"
|
||||
done
|
||||
done
|
||||
|
||||
# set PORTAGE_CONFIGROOT to tell eselect to modify the profile inside
|
||||
# /build/<arch>-usr, but set ROOT to /, so eselect will actually find
|
||||
# the profile which is outside /build/<arch>-usr, set SYSROOT to / as
|
||||
|
||||
@ -61,10 +61,7 @@ if [[ -n "${FLAGS_dev_builds_sdk}" ]]; then
|
||||
FLATCAR_DEV_BUILDS_SDK="${FLAGS_dev_builds_sdk}"
|
||||
fi
|
||||
|
||||
PORTAGE_STABLE_OVERLAY="${REPO_ROOT}/src/third_party/portage-stable"
|
||||
CROSSDEV_OVERLAY="/usr/local/portage/crossdev"
|
||||
COREOS_OVERLAY="${REPO_ROOT}/src/third_party/coreos-overlay"
|
||||
COREOS_CONFIG="${COREOS_OVERLAY}/coreos/config"
|
||||
PORTAGE_BINHOST="$FLAGS_binhost $(get_sdk_binhost)"
|
||||
|
||||
# PORTAGE_USERNAME may already be in the env but set just to be safe.
|
||||
@ -103,17 +100,24 @@ EMERGE_DEFAULT_OPTS="--verbose --oneshot"
|
||||
source "/etc/portage/make.conf.user"
|
||||
EOF
|
||||
|
||||
sudo_clobber "/etc/portage/repos.conf/portage-stable.conf" <<EOF
|
||||
for REPO_NAME in $(cat "${REPO_ROOT}"/src/third_party/*/profiles/repo_name); do
|
||||
[[ ${REPO_NAME} == prefix ]] && continue # Ignore for now.
|
||||
|
||||
for CONF in "${REPO_ROOT}/src/third_party/${REPO_NAME}"/coreos/config/portage/*; do
|
||||
[[ ${CONF} == *.md || ! -e ${CONF} ]] && continue
|
||||
sudo mkdir -p "/etc/portage/${CONF##*/}"
|
||||
sudo ln -snf "${CONF}" "/etc/portage/${CONF##*/}/${REPO_NAME}.conf"
|
||||
done
|
||||
|
||||
sudo_clobber "/etc/portage/repos.conf/${REPO_NAME}.conf" <<EOF
|
||||
[${REPO_NAME}]
|
||||
location = ${REPO_ROOT}/src/third_party/${REPO_NAME}
|
||||
EOF
|
||||
done
|
||||
|
||||
sudo_append "/etc/portage/repos.conf/portage-stable.conf" <<EOF
|
||||
[DEFAULT]
|
||||
main-repo = portage-stable
|
||||
|
||||
[portage-stable]
|
||||
location = ${PORTAGE_STABLE_OVERLAY}
|
||||
EOF
|
||||
|
||||
sudo_clobber "/etc/portage/repos.conf/coreos-overlay.conf" <<EOF
|
||||
[coreos-overlay]
|
||||
location = ${COREOS_OVERLAY}
|
||||
EOF
|
||||
|
||||
# Automatically symlink any provided portage repo configurations into
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user