58 lines
2.1 KiB
Bash
Executable File
58 lines
2.1 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
CHECKOPTS=0
|
|
if [ "$1" == "--checkopts" ]; then
|
|
CHECKOPTS=1
|
|
fi
|
|
|
|
PROJECT_NAME=${PROJECT_NAME:-cinder}
|
|
CFGFILE_NAME=${PROJECT_NAME}.conf.sample
|
|
|
|
if [ $CHECKOPTS -eq 1 ]; then
|
|
if [ ! -e cinder/opts.py ]; then
|
|
echo -en "\n\n#################################################"
|
|
echo -en "\nERROR: cinder/opts.py file is missing."
|
|
echo -en "\n#################################################\n"
|
|
exit 1
|
|
else
|
|
mv cinder/opts.py cinder/opts.py.orig
|
|
tox -e genopts &> /dev/null
|
|
if [ $? -ne 0 ]; then
|
|
echo -en "\n\n#################################################"
|
|
echo -en "\nERROR: Non-zero exit from generate_cinder_opts.py."
|
|
echo -en "\n See output above for details.\n"
|
|
echo -en "#################################################\n"
|
|
mv cinder/opts.py.orig cinder/opts.py
|
|
exit 1
|
|
else
|
|
diff cinder/opts.py.orig cinder/opts.py
|
|
if [ $? -ne 0 ]; then
|
|
echo -en "\n\n########################################################"
|
|
echo -en "\nERROR: Configuration options change detected."
|
|
echo -en "\n A new cinder/opts.py file must be generated."
|
|
echo -en "\n Run 'tox -e genopts' from the base directory"
|
|
echo -en "\n and add the result to your commit."
|
|
echo -en "\n########################################################\n\n"
|
|
rm cinder/opts.py
|
|
mv cinder/opts.py.orig cinder/opts.py
|
|
exit 1
|
|
else
|
|
rm cinder/opts.py.orig
|
|
fi
|
|
fi
|
|
fi
|
|
else
|
|
|
|
tox -e genconfig &> /dev/null
|
|
|
|
if [ -e etc/${PROJECT_NAME}/${CFGFILE_NAME} ]; then
|
|
CFGFILE=etc/${PROJECT_NAME}/${CFGFILE_NAME}
|
|
rm -f $CFGFILE
|
|
else
|
|
echo -en "\n\n####################################################"
|
|
echo -en "\n${0##*/}: Can't find config file."
|
|
echo -en "\n####################################################\n\n"
|
|
exit 1
|
|
fi
|
|
fi
|