[ADD] Allows to apply patches only to parts of code

This commit is contained in:
Jorge Enrique Gómez Gómez 2021-06-08 19:56:56 -05:00
parent 9acc217c74
commit 885f1929c8
2 changed files with 111 additions and 40 deletions

View File

@ -10,6 +10,44 @@ fi
DESTDIR=/opt/odoo DESTDIR=/opt/odoo
Help ()
{
echo "Usage: $0 [-h] -o={all|core|vendor|community}"
echo
echo "Options:"
echo "-h Help (display this text)"
echo "-o Modules to be patched (one of 'all', 'core', 'vendor',"
echo " 'community'). Required."
echo
}
pt_core ()
{
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo " Patch core Odoo modules"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
DEST=$DESTDIR/core/addons/auth_oauth/
OPTIONS="--directory=$DEST --strip=1"
patch $OPTIONS < patches/20210603_auth-oauth_redirect-to-root.patch
}
pt_vendor ()
{
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo " Patch vendor modules"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
DEST=$DESTDIR/vendor/electronic_invoice_dian/
OPTIONS="--directory=$DEST --strip=1"
# Legalized in remote repo:
#patch $OPTIONS < patches/20210607_electronic-invoice-dian_remove-enterprise-module.patch
}
pt_community ()
{
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
echo " Patch OCA modules" echo " Patch OCA modules"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
@ -19,21 +57,53 @@ OPTIONS="--directory=$DEST --strip=1"
patch $OPTIONS < patches/20210420_auth-oauth-multi-token_error-in-login.patch patch $OPTIONS < patches/20210420_auth-oauth-multi-token_error-in-login.patch
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" }
echo " Patch core Odoo modules"
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
DEST=$DESTDIR/core/addons/auth_oauth/ pt_all ()
OPTIONS="--directory=$DEST --strip=1" {
pt_core # Apply patches to Odoo core
pt_vendor # Apply patches to Avancys modules
pt_community # Apply patches to OCA modules
}
patch $OPTIONS < patches/20210603_auth-oauth_redirect-to-root.patch if (($# == 0))
then
Help
exit
fi
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" while getopts ":ho:" option; do
echo " Patch vendor modules" case $option in
echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" h) # display Help
Help
exit;;
o) # Enter a name
Modules=$OPTARG;;
*) # Invalid option
echo "Error: Invalid option"
echo
Help
exit;;
esac
done
DEST=$DESTDIR/vendor/electronic_invoice_dian/ case $Modules in
OPTIONS="--directory=$DEST --strip=1" 'all') # Apply patches to all modules
pt_all
patch $OPTIONS < patches/20210607_electronic-invoice-dian_remove-enterprise-module.patch exit;;
'core') # Apply patches to Odoo core
pt_core
exit;;
'vendor') # Apply patches to Avancys modules
pt_vendor
exit;;
'community') # Apply patches to OCA modules
pt_community
exit;;
*) # Invalid option
echo "Error: Invalid module"
echo
Help
exit;;
esac

View File

@ -13,11 +13,11 @@ OPTIONS="-av --exclude-from=common_exclude_patterns.txt --chown odoo:odoo"
Help () Help ()
{ {
echo "Usage: $0 [-h] -o={all|core|vendor|community|custom}" echo "Usage: $0 [-h] -o={all|core|community|vendor|custom}"
echo echo
echo "Options:" echo "Options:"
echo "-h Help (display this text)" echo "-h Help (display this text)"
echo "-o Modules to be installed (one of 'all', 'core', 'vendor', 'community'," echo "-o Modules to be installed (one of 'all', 'core', 'community', 'vendor',"
echo " 'custom'). Required." echo " 'custom'). Required."
echo echo
} }
@ -34,6 +34,21 @@ cp_core ()
rsync $OPTIONS $SRC $DEST 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_vendor () cp_vendor ()
{ {
REPO="Avancys v14 for Agofer" REPO="Avancys v14 for Agofer"
@ -60,27 +75,12 @@ cp_custom ()
rsync $OPTIONS $SRC $DEST 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_all ()
{ {
cp_core # Install Odoo core cp_core # Install Odoo core
cp_community # Install OCA modules
cp_vendor # Install Avancys modules cp_vendor # Install Avancys modules
cp_custom # Install Custom modules cp_custom # Install Custom modules
cp_community # Install OCA modules
} }
if (($# == 0)) if (($# == 0))
@ -111,13 +111,13 @@ case $Modules in
'core') # Install Odoo core 'core') # Install Odoo core
cp_core cp_core
exit;; exit;;
'community') # Install OCA modules
cp_community
exit;;
'vendor') # Install Avancys modules 'vendor') # Install Avancys modules
cp_vendor cp_vendor
exit;; exit;;
'community') # Install Custom modules 'custom') # Install Custom modules developed in-house
cp_community
exit;;
'custom') # Install OCA modules
cp_custom cp_custom
exit;; exit;;
*) # Invalid option *) # Invalid option
@ -126,3 +126,4 @@ case $Modules in
Help Help
exit;; exit;;
esac esac