mirror of
https://github.com/flatcar/scripts.git
synced 2025-08-11 06:56:58 +02:00
Merge pull request #371 from Cygnus-Labs/auto-symlink-repo-configs
Auto symlink repo configs
This commit is contained in:
commit
0c00bca4fc
@ -87,6 +87,40 @@ location = ${COREOS_OVERLAY}
|
|||||||
location = ${PORTAGE_STABLE_OVERLAY}
|
location = ${PORTAGE_STABLE_OVERLAY}
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
|
# Automatically symlink any provided portage repo configurations into
|
||||||
|
# the appropriate destination directory from "config/portage/repos".
|
||||||
|
# CAUTON: Any repo configuration files with the same name, will be silently
|
||||||
|
# relinked to the last file found.
|
||||||
|
# Automatic file renaming to avoid this is challenging as it has to deal with
|
||||||
|
# the case where we actually do want the files overwritten and so is outside
|
||||||
|
# the scope of this function for now.
|
||||||
|
# If your taking advantage of this functionality in the build toolchain
|
||||||
|
# you probably found out about it from these code comments so we can assume
|
||||||
|
# for now at least, that you have been somewhat warned.
|
||||||
|
|
||||||
|
# If any directories match config/portage/repos/*/repos.conf
|
||||||
|
if [[ -n $(sudo find /mnt/host/source/config/portage/repos \
|
||||||
|
-maxdepth 2 -mindepth 2 -type d -name "repos.conf") ]]; then
|
||||||
|
# If any files match config/portage/repos/*/repos.conf/*
|
||||||
|
if [[ -n $(sudo find /mnt/host/source/config/portage/repos \
|
||||||
|
-maxdepth 3 -mindepth 3 -path "*/repos.conf/*" -type f) ]]; then
|
||||||
|
info "Symlinking portage repo configuration files into repos.conf dir..."
|
||||||
|
# Do not name any of your repo configs "coreos.conf" bad things will happen.
|
||||||
|
# We abort if any file matches config/portage/repos/*/repos.conf/coreos.conf
|
||||||
|
if [[ -n $(sudo find /mnt/host/source/config/portage/repos \
|
||||||
|
-maxdepth 3 -mindepth 3 -path "*/repos.conf/*" -name "coreos.conf") ]]; then
|
||||||
|
die_notrace "One of the portage repo configuration files to be symlinked is " \
|
||||||
|
"named \"coreos.conf\" which will conflict with the main configuation file " \
|
||||||
|
"called \"coreos.conf\" which is created during the chroot build process."
|
||||||
|
fi
|
||||||
|
# We run through all the other files matching config/portage/repos/*/repos.conf/*
|
||||||
|
# and symlink them to the right place for portage.
|
||||||
|
sudo find /mnt/host/source/config/portage/repos \
|
||||||
|
-maxdepth 3 -mindepth 3 -path "*/repos.conf/*" -type f \
|
||||||
|
-exec bash -c 'ln -sf {} /etc/portage/repos.conf/$(basename {})' \;
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
sudo eselect profile set --force "$(get_sdk_profile)"
|
sudo eselect profile set --force "$(get_sdk_profile)"
|
||||||
|
|
||||||
# Create crossdev repo_name and metadata
|
# Create crossdev repo_name and metadata
|
||||||
|
Loading…
Reference in New Issue
Block a user