From 885f1929c8650f7846f3c661a77db6c1d2cf23a6 Mon Sep 17 00:00:00 2001 From: "Jorge E. Gomez" Date: Tue, 8 Jun 2021 19:56:56 -0500 Subject: [PATCH] [ADD] Allows to apply patches only to parts of code --- apply_patches.sh | 106 +++++++++++++++++++++++++++++++++++-------- install_odoo_code.sh | 45 +++++++++--------- 2 files changed, 111 insertions(+), 40 deletions(-) diff --git a/apply_patches.sh b/apply_patches.sh index 67d26e3..23d06e8 100755 --- a/apply_patches.sh +++ b/apply_patches.sh @@ -10,30 +10,100 @@ fi DESTDIR=/opt/odoo -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo " Patch OCA modules" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" +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 +} -DEST=$DESTDIR/community/auth_oauth_multi_token/ -OPTIONS="--directory=$DEST --strip=1" +pt_core () +{ + echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + echo " Patch core Odoo modules" + echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -patch $OPTIONS < patches/20210420_auth-oauth-multi-token_error-in-login.patch + DEST=$DESTDIR/core/addons/auth_oauth/ + OPTIONS="--directory=$DEST --strip=1" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo " Patch core Odoo modules" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + patch $OPTIONS < patches/20210603_auth-oauth_redirect-to-root.patch +} -DEST=$DESTDIR/core/addons/auth_oauth/ -OPTIONS="--directory=$DEST --strip=1" +pt_vendor () +{ + echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + echo " Patch vendor modules" + echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -patch $OPTIONS < patches/20210603_auth-oauth_redirect-to-root.patch + DEST=$DESTDIR/vendor/electronic_invoice_dian/ + OPTIONS="--directory=$DEST --strip=1" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -echo " Patch vendor modules" -echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + # Legalized in remote repo: + #patch $OPTIONS < patches/20210607_electronic-invoice-dian_remove-enterprise-module.patch +} -DEST=$DESTDIR/vendor/electronic_invoice_dian/ -OPTIONS="--directory=$DEST --strip=1" +pt_community () +{ + echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" + echo " Patch OCA modules" + echo "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~" -patch $OPTIONS < patches/20210607_electronic-invoice-dian_remove-enterprise-module.patch + DEST=$DESTDIR/community/auth_oauth_multi_token/ + OPTIONS="--directory=$DEST --strip=1" + + patch $OPTIONS < patches/20210420_auth-oauth-multi-token_error-in-login.patch + +} + +pt_all () +{ + pt_core # Apply patches to Odoo core + pt_vendor # Apply patches to Avancys modules + pt_community # Apply patches to 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') # Apply patches to all modules + pt_all + 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 diff --git a/install_odoo_code.sh b/install_odoo_code.sh index 41de86d..8d13406 100755 --- a/install_odoo_code.sh +++ b/install_odoo_code.sh @@ -13,11 +13,11 @@ OPTIONS="-av --exclude-from=common_exclude_patterns.txt --chown odoo:odoo" Help () { - echo "Usage: $0 [-h] -o={all|core|vendor|community|custom}" + echo "Usage: $0 [-h] -o={all|core|community|vendor|custom}" echo echo "Options:" 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 } @@ -34,6 +34,21 @@ cp_core () 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 () { REPO="Avancys v14 for Agofer" @@ -60,27 +75,12 @@ cp_custom () 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_community # Install OCA modules cp_vendor # Install Avancys modules cp_custom # Install Custom modules - cp_community # Install OCA modules } if (($# == 0)) @@ -111,13 +111,13 @@ case $Modules in 'core') # Install Odoo core cp_core exit;; + 'community') # Install OCA modules + cp_community + exit;; 'vendor') # Install Avancys modules cp_vendor exit;; - 'community') # Install Custom modules - cp_community - exit;; - 'custom') # Install OCA modules + 'custom') # Install Custom modules developed in-house cp_custom exit;; *) # Invalid option @@ -126,3 +126,4 @@ case $Modules in Help exit;; esac +