kickstart/lib/kickstart-compile
2015-05-20 17:16:16 -03:00

54 lines
1016 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