129 lines
3.2 KiB
Bash
Executable File
129 lines
3.2 KiB
Bash
Executable File
#!/bin/bash
|
|
#
|
|
# Installs selected content from the downloaded repos into a production folder
|
|
#
|
|
|
|
if [ $UID != 0 ]; then
|
|
echo "You need administration privileges to run this script."
|
|
exit 1
|
|
fi
|
|
|
|
DESTDIR=/opt/odoo
|
|
OPTIONS="-av --exclude-from=common_exclude_patterns.txt --chown odoo:odoo"
|
|
|
|
Help ()
|
|
{
|
|
echo "Usage: $0 [-h] -o={all|core|vendor|community|custom}"
|
|
echo
|
|
echo "Options:"
|
|
echo "-h Help (display this text)"
|
|
echo "-o Modules to be installed (one of 'all', 'core', 'vendor', 'community',"
|
|
echo " 'custom'). Required."
|
|
echo
|
|
}
|
|
|
|
cp_core ()
|
|
{
|
|
REPO="Odoo 14.0 core"
|
|
SRC=./odoo/
|
|
DEST=$DESTDIR/core/
|
|
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
|
echo "Install $REPO into production directory structure"
|
|
echo " …from $SRC to $DEST"
|
|
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
|
rsync $OPTIONS $SRC $DEST
|
|
}
|
|
|
|
cp_vendor ()
|
|
{
|
|
REPO="Avancys v14 for Agofer"
|
|
SRC=./v14_avancys_agofer/
|
|
DEST=$DESTDIR/vendor/
|
|
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
|
echo "Install $REPO into production directory structure"
|
|
echo "(selected modules)"
|
|
echo " …from $SRC to $DEST"
|
|
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
|
rsync $OPTIONS --exclude-from=rejected_proprietary_modules.txt \
|
|
$SRC $DEST
|
|
}
|
|
|
|
cp_custom ()
|
|
{
|
|
REPO="Custom in-house modules "
|
|
SRC=./Extended/
|
|
DEST=$DESTDIR/custom/
|
|
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
|
echo "Install $REPO into production directory structure"
|
|
echo " …from $SRC to $DEST"
|
|
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
|
rsync $OPTIONS $SRC $DEST
|
|
}
|
|
|
|
cp_community ()
|
|
{
|
|
REPO="Modules by Odoo Community Association"
|
|
SRC=./Community/oca
|
|
DEST=$DESTDIR/community/
|
|
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
|
echo "Install $REPO into production directory structure"
|
|
echo "(selected modules)"
|
|
echo " …from $SRC to $DEST"
|
|
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
|
for i in $(cat selected_oca_modules.txt)
|
|
do rsync $OPTIONS $SRC/${i%/} $DEST
|
|
done
|
|
}
|
|
|
|
cp_all ()
|
|
{
|
|
cp_core # Install Odoo core
|
|
cp_vendor # Install Avancys modules
|
|
cp_custom # Install Custom modules
|
|
cp_community # Install OCA modules
|
|
}
|
|
|
|
if (($# == 0))
|
|
then
|
|
Help
|
|
exit
|
|
fi
|
|
|
|
while getopts ":ho:" option; do
|
|
case $option in
|
|
h) # display Help
|
|
Help
|
|
exit;;
|
|
o) # Enter a name
|
|
Modules=$OPTARG;;
|
|
*) # Invalid option
|
|
echo "Error: Invalid option"
|
|
echo
|
|
Help
|
|
exit;;
|
|
esac
|
|
done
|
|
|
|
case $Modules in
|
|
'all') # Install all modules
|
|
cp_all
|
|
exit;;
|
|
'core') # Install Odoo core
|
|
cp_core
|
|
exit;;
|
|
'vendor') # Install Avancys modules
|
|
cp_vendor
|
|
exit;;
|
|
'community') # Install Custom modules
|
|
cp_community
|
|
exit;;
|
|
'custom') # Install OCA modules
|
|
cp_custom
|
|
exit;;
|
|
*) # Invalid option
|
|
echo "Error: Invalid module"
|
|
echo
|
|
Help
|
|
exit;;
|
|
esac
|