54 lines
1012 B
Bash
Executable File
54 lines
1012 B
Bash
Executable File
#!/bin/bash -e
|
|
|
|
module_loading=$(cat <<\MODULE
|
|
current_dir=$(pwd)
|
|
cd modules/kickstart
|
|
source install.sh
|
|
cd "$current_dir"
|
|
|
|
for module in modules/*; do
|
|
if [ ! "$module" = module/kickstart ]; then
|
|
cd "$module"
|
|
source install.sh
|
|
cd "$current_dir"
|
|
fi
|
|
done
|
|
MODULE
|
|
)
|
|
|
|
clean_up_compile_folder() {
|
|
[ -d compile ] && rm -rf compile
|
|
mkdir -p compile
|
|
}
|
|
|
|
link_folder() {
|
|
[[ -h compile/"$1" ]] || ln -s ../"$1" compile/"$1"
|
|
}
|
|
|
|
link_modules() {
|
|
mkdir -p compile/modules
|
|
|
|
ln -s "$(kickstart root-dir)"/kickstart compile/modules/kickstart
|
|
|
|
if [ -d modules ]; then
|
|
for module in modules/*; do
|
|
ln -s "$(pwd)"/"$module" compile/"$module"
|
|
done
|
|
fi
|
|
}
|
|
|
|
compile_install() {
|
|
cat <( echo -e "$module_loading" ) install.sh > compile/install.sh
|
|
for role in "$@"; do
|
|
echo "source roles/${role}.sh" >> compile/install.sh
|
|
done
|
|
}
|
|
|
|
clean_up_compile_folder
|
|
link_folder files
|
|
link_folder recipes
|
|
link_folder roles
|
|
link_modules
|
|
compile_install "$@"
|
|
echo -e "\necho Done" >> compile/install.sh
|