- Fixed Batou Local Bits - fixed case insensitivyt bug - added oracle server bit - added the loader stub
		
			
				
	
	
		
			76 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			76 lines
		
	
	
	
		
			2.1 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						|
export IFS=$'\n'
 | 
						|
 | 
						|
BASHRC_D="$HOME/.bashrc.d"
 | 
						|
COMPILED_SRC="$BASHRC_D/1-compiled"
 | 
						|
 | 
						|
################################################################################
 | 
						|
# Setup the default build functions
 | 
						|
export __BUILDER__WORKING_DIR="$BASHRC_D"
 | 
						|
function __builder_prebuild { :; }
 | 
						|
function __builder_postbuild { :; }
 | 
						|
 | 
						|
__builder_prebuild_exec() {
 | 
						|
	pushd $__BUILDER__WORKING_DIR >/dev/null; printf '\e[34m'; 
 | 
						|
	( __builder_prebuild; )
 | 
						|
	printf '\e[0m'; popd >/dev/null
 | 
						|
}
 | 
						|
 | 
						|
__builder_postbuild_exec() {
 | 
						|
	pushd $__BUILDER__WORKING_DIR >/dev/null; printf '\e[34m'
 | 
						|
	( __builder_postbuild; )
 | 
						|
	printf '\e[0m'; popd >/dev/null
 | 
						|
}
 | 
						|
 | 
						|
################################################################################
 | 
						|
echo "Rebuilding $COMPILED_SRC"
 | 
						|
 | 
						|
echo """#!/bin/bash
 | 
						|
# COMPILED AUTOMAGICALLY AT """$(date -I)"""
 | 
						|
 | 
						|
""" > $COMPILED_SRC
 | 
						|
 | 
						|
__HOSTNAME=$(hostname)
 | 
						|
__HOSTNAME=${__HOSTNAME,,} # make it lowercase
 | 
						|
HOST_SPECIFIC_META_SRC="$BASHRC_D/hostname/${__HOSTNAME}.meta.sh"
 | 
						|
if [[ -e $HOST_SPECIFIC_META_SRC ]]; then
 | 
						|
	echo "Executing host specific config file $HOST_SPECIFIC_META_SRC"
 | 
						|
	source "$HOST_SPECIFIC_META_SRC"
 | 
						|
else
 | 
						|
	echo "No host specific file found at $HOST_SPECIFIC_META_SRC"
 | 
						|
fi
 | 
						|
 | 
						|
__builder_prebuild_exec
 | 
						|
 | 
						|
SELF_SRC=$(readlink -f $0)
 | 
						|
for F in $(find $BASHRC_D -maxdepth 1 -iname "*.sh"); do
 | 
						|
	echo "  Building in $F"
 | 
						|
	echo "##################" >> $COMPILED_SRC
 | 
						|
	echo "# $(basename $F)" >> $COMPILED_SRC
 | 
						|
	echo "##################" >> $COMPILED_SRC
 | 
						|
	cat $F >> $COMPILED_SRC
 | 
						|
	echo "" >> $COMPILED_SRC
 | 
						|
done
 | 
						|
 | 
						|
HOST_SPECIFIC_SRC="$BASHRC_D/hostname/${__HOSTNAME}.sh"
 | 
						|
if [[ -e $HOST_SPECIFIC_SRC ]]; then
 | 
						|
	echo "Adding host specific file $HOST_SPECIFIC_SRC"
 | 
						|
	echo "##################" >> $COMPILED_SRC
 | 
						|
	echo "# $(basename $HOST_SPECIFIC_SRC)" >> $COMPILED_SRC
 | 
						|
	echo "##################" >> $COMPILED_SRC
 | 
						|
	cat $HOST_SPECIFIC_SRC >> $COMPILED_SRC
 | 
						|
	echo "" >> $COMPILED_SRC
 | 
						|
else
 | 
						|
	echo "No host specific file found at $HOST_SPECIFIC_SRC"
 | 
						|
fi
 | 
						|
 | 
						|
 | 
						|
echo "##################" >> $COMPILED_SRC
 | 
						|
echo "# Reloader Script" >> $COMPILED_SRC
 | 
						|
echo """##################
 | 
						|
function __rebuild_bashrcd() {
 | 
						|
	bash """$SELF_SRC"""
 | 
						|
}
 | 
						|
""" >> $COMPILED_SRC
 | 
						|
 | 
						|
__builder_postbuild_exec
 |