Merge branch 'update_poetry'
- Update poetry - Fix OSX and Ubuntu installation - Latest version wkhtmltopdf - More documentation
This commit is contained in:
commit
e96a83f036
20 changed files with 637 additions and 366 deletions
|
|
@ -34,6 +34,7 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|||
- Script search class model can output into json format and support field information
|
||||
- Improve Docker minimal installation docs in README for Ubuntu, test with Debian (https://github.com/ERPLibre/ERPLibre/issues/73)
|
||||
- Statistic script to show evolution module into ERPLibre support Odoo 17 and Odoo 18
|
||||
- Latest version wkhtmltopdf 0.12.6.1-3
|
||||
|
||||
### Fixed
|
||||
|
||||
|
|
@ -41,6 +42,7 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|||
- Improve python code writer efficience
|
||||
- Config generator supporting space into ERPLibre directory
|
||||
- Script to update Poetry support @ URL
|
||||
- OSX and recent Ubuntu installation
|
||||
|
||||
## [1.5.0] - 2023-07-07
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
ERPLibre is a CRM/ERP platform including automated installation, maintenance, and development of open source modules of
|
||||
the Odoo community version. It is a "soft-fork" of the Odoo Community Edition (OCE), meaning it aims at contributing back
|
||||
upstream.
|
||||
upstream.
|
||||
It is based on a set of production-ready modules, supported by the Odoo Community Association (OCA) and an
|
||||
ecosystem of specialized companies. This solution ensures digital sovereignty in a local environment while integrating
|
||||
pre-trained Generative Transformers (GPT), bringing an additional dimension to data management and automation.
|
||||
|
|
@ -17,7 +17,7 @@ Select a guide to install your environment.
|
|||
|
||||
This has been tested in Debian 12 and Ubuntu 24.04 LTS.
|
||||
|
||||
**Note** : This is meant for a test environment, on a local network or similar environment not directly exposed to the Internet.
|
||||
**Note** : This is meant for a test environment, on a local network or similar environment not directly exposed to the Internet.
|
||||
|
||||
1. Make sure Docker and nginx web server are installed:<BR>
|
||||
```sudo apt install docker docker-compose nginx```
|
||||
|
|
@ -59,6 +59,7 @@ cd ERPLibre
|
|||
Support Ubuntu 20.04, 22.04, 24.04 and OSX. The installation duration is more than 30 minutes.
|
||||
|
||||
```bash
|
||||
make install_os
|
||||
make install_odoo_16
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -286,3 +286,10 @@ Use [prettier](https://github.com/prettier/prettier)
|
|||
```bash
|
||||
./script/maintenance/prettier.sh --tab-width 4 ./addons/TechnoLibre_odoo-code-generator
|
||||
```
|
||||
|
||||
# Pre-commit
|
||||
|
||||
You can install pre-commit to auto-format and check lint with OCA configuration. This
|
||||
will run before commit with git.
|
||||
|
||||
Check https://github.com/OCA/maintainer-tools/wiki/Install-pre-commit
|
||||
|
|
|
|||
|
|
@ -117,7 +117,7 @@
|
|||
<project name="product-pack.git" path="addons.odoo14.0/OCA_product-pack" remote="OCA" groups="addons"/>
|
||||
<project name="product-variant.git" path="addons.odoo14.0/OCA_product-variant" remote="OCA" groups="addons"/>
|
||||
<project name="project-reporting.git" path="addons.odoo14.0/OCA_project-reporting" remote="OCA" groups="addons"/>
|
||||
<project name="project-agile.git" path="addons.odoo14.0/OCA_project-agile" remote="OCA" groups="addons"/>
|
||||
<project name="project-agile.git" path="addons.odoo14.0/OCA_project-agile" remote="ERPLibre" revision="14.0_dev" groups="addons"/>
|
||||
<project name="project.git" path="addons.odoo14.0/OCA_project" remote="OCA" groups="addons"/>
|
||||
<project name="purchase-workflow.git" path="addons.odoo14.0/OCA_purchase-workflow" remote="OCA" groups="addons"/>
|
||||
<project name="queue.git" path="addons.odoo14.0/OCA_queue" remote="OCA" groups="addons"/>
|
||||
|
|
@ -133,6 +133,7 @@
|
|||
<project name="server-tools.git" path="addons.odoo14.0/OCA_server-tools" remote="ERPLibre" revision="14.0_dev" groups="addons"/>
|
||||
<project name="server-ux.git" path="addons.odoo14.0/OCA_server-ux" remote="OCA" groups="addons"/>
|
||||
<project name="social.git" path="addons.odoo14.0/OCA_social" remote="ERPLibre" revision="14.0_dev" groups="addons"/>
|
||||
<project name="survey.git" path="addons.odoo14.0/OCA_survey" remote="OCA" groups="addons"/>
|
||||
<project name="stock-logistics-warehouse.git" path="addons.odoo14.0/OCA_stock-logistics-warehouse" remote="OCA" groups="addons"/>
|
||||
<project name="storage.git" path="addons.odoo14.0/OCA_storage" remote="OCA" groups="addons"/>
|
||||
<project name="timesheet.git" path="addons.odoo14.0/OCA_timesheet" remote="OCA" groups="addons"/>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
<manifest>
|
||||
<remote name="CybroOdoo" fetch="https://github.com/CybroOdoo/"/>
|
||||
<remote name="ERPLibre" fetch="https://github.com/ERPLibre/"/>
|
||||
<remote name="MathBenTech" fetch="https://github.com/MathBenTech/"/>
|
||||
<remote name="MathBenTech" fetch="https://github.com/ERPLibre/"/>
|
||||
<remote name="Numigi" fetch="https://github.com/Numigi/"/>
|
||||
<remote name="OCA" fetch="https://github.com/OCA/"/>
|
||||
<remote name="OmniaGit" fetch="https://github.com/OmniaGit/"/>
|
||||
|
|
@ -82,6 +82,7 @@
|
|||
<project name="mis-builder.git" path="addons.odoo16.0/OCA_mis-builder" remote="OCA" groups="addons"/>
|
||||
<project name="multi-company.git" path="addons.odoo16.0/OCA_multi-company" remote="OCA" groups="addons"/>
|
||||
<project name="muk_web.git" path="addons.odoo16.0/muk-it_muk_web" remote="muk-it" groups="addons"/>
|
||||
<project name="odoo-business-spending-management-quebec-canada.git" path="addons.odoo16.0/MathBenTech_odoo-business-spending-management-quebec-canada" remote="MathBenTech" groups="addons,base"/>
|
||||
<project name="odoo-cloud-platform.git" path="addons.odoo16.0/camptocamp_odoo-cloud-platform" remote="camptocamp" groups="addons"/>
|
||||
<project name="odoo-formio.git" path="addons.odoo16.0/novacode-nl_odoo-formio" remote="novacode-nl" groups="addons"/>
|
||||
<project name="odoo-module-migrator.git" path="script/OCA_odoo-module-migrator" remote="OCA" revision="master" groups="odoo"/>
|
||||
|
|
@ -114,7 +115,7 @@
|
|||
<project name="server-tools.git" path="addons.odoo16.0/OCA_server-tools" remote="ERPLibre" revision="ERPLibre/16.0" groups="addons"/>
|
||||
<project name="server-ux.git" path="addons.odoo16.0/OCA_server-ux" remote="OCA" groups="addons"/>
|
||||
<project name="social.git" path="addons.odoo16.0/OCA_social" remote="OCA" groups="addons"/>
|
||||
<project name="survey.git" path="addons.odoo16.0/OCA_survey" remote="ERPLibre" revision="16.0_survey_odoo_debranding" groups="addons"/>
|
||||
<project name="survey.git" path="addons.odoo16.0/OCA_survey" remote="ERPLibre" revision="16.0_dev" groups="addons"/>
|
||||
<project name="stock-logistics-warehouse.git" path="addons.odoo16.0/OCA_stock-logistics-warehouse" remote="OCA" groups="addons"/>
|
||||
<project name="storage.git" path="addons.odoo16.0/OCA_storage" remote="OCA" groups="addons"/>
|
||||
<project name="timesheet.git" path="addons.odoo16.0/OCA_timesheet" remote="OCA" groups="addons"/>
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -24,7 +24,7 @@ argcomplete = "^3.5.1"
|
|||
asana = "^5.0.10"
|
||||
asn1crypto = "^1.5.1"
|
||||
astor = "^0.8.1"
|
||||
avalara = "^24.10.0"
|
||||
avalara = "^24.11.2"
|
||||
azure-identity = "1.13.0"
|
||||
azure-storage-blob = "12.16.0"
|
||||
babel = "2.9.1"
|
||||
|
|
@ -38,7 +38,7 @@ cairosvg = "^2.7.1"
|
|||
chardet = "4.0.0"
|
||||
clicksend-client = "^5.0.78"
|
||||
cloudflare = "^3.1.0"
|
||||
cmake = "^3.30.5"
|
||||
cmake = "^3.31.1"
|
||||
colorama = "^0.4.6"
|
||||
countryinfo = "^0.1.2"
|
||||
cryptography = "3.4.8"
|
||||
|
|
@ -52,7 +52,7 @@ dropbox = "^12.0.2"
|
|||
ebaysdk = "2.1.5"
|
||||
email-validator = "^2.2.0"
|
||||
endesive = "^2.17.3"
|
||||
extract-msg = "^0.51.1"
|
||||
extract-msg = "^0.52.0"
|
||||
ezdxf = "^1.3.4"
|
||||
face-recognition = "^1.3.0"
|
||||
factur-x = "^3.1"
|
||||
|
|
@ -69,9 +69,9 @@ gitpython = "3.1.30"
|
|||
giturlparse = "^0.12.0"
|
||||
googletrans-py = "4.0.0"
|
||||
greenlet = "1.1.2"
|
||||
gst = "^0.1.0"
|
||||
gst = "^0.1.2"
|
||||
httpagentparser = "1.8.1"
|
||||
hubspot-api-client = "^10.0.0"
|
||||
hubspot-api-client = "10.0.0"
|
||||
idna = "2.10"
|
||||
iscompatible = "^0.1.1"
|
||||
jinja2 = "2.11.3"
|
||||
|
|
@ -80,25 +80,25 @@ libsass = "0.20.1"
|
|||
linkedin = "^0.1.5"
|
||||
lottie = "^0.7.1"
|
||||
lxml = "4.6.5"
|
||||
lxml-html-clean = "^0.3.1"
|
||||
mako = "^1.3.5"
|
||||
lxml-html-clean = "^0.4.1"
|
||||
mako = "^1.3.6"
|
||||
markupsafe = "1.1.1"
|
||||
matplotlib = "^3.9.2"
|
||||
mechanize = "^0.4.10"
|
||||
messagebird = "^2.2.0"
|
||||
mock = "^5.1.0"
|
||||
mpld3 = "0.5.9"
|
||||
mysqlclient = "^2.2.5"
|
||||
mysqlclient = "^2.2.6"
|
||||
nextcloud-api-wrapper = "^0.2.3"
|
||||
num2words = "0.5.13"
|
||||
numpy = ">=1.15"
|
||||
numpy-financial = "<=1.0.0"
|
||||
numpy-stl = "^3.1.2"
|
||||
numpy-stl = "^3.2.0"
|
||||
odoo-test-helper = "^2.1.1"
|
||||
odoorpc = "^0.10.1"
|
||||
ofxparse = "0.21"
|
||||
ofxtools = "^0.9.5"
|
||||
openai = "^1.52.0"
|
||||
openai = "^1.55.2"
|
||||
opencv-python = "^4.10.0.84"
|
||||
openpyxl = "^3.1.5"
|
||||
pandas = ">=0.25.3"
|
||||
|
|
@ -107,10 +107,12 @@ passlib = "1.7.4"
|
|||
pathspec = "^0.12.1"
|
||||
pay-ccavenue = "^1.0.0"
|
||||
pdf2image = "^1.17.0"
|
||||
phonenumbers = "^8.13.47"
|
||||
pdfminer = "^20191125"
|
||||
phonenumbers = "^8.13.50"
|
||||
pillow = "9.0.1"
|
||||
plotly = "5.13.1"
|
||||
polib = "1.1.0"
|
||||
pre-commit = "^4.0.1"
|
||||
premailer = "^3.10.0"
|
||||
printnodeapi = "^0.2.0"
|
||||
prometheus-client = "0.15.0"
|
||||
|
|
@ -122,12 +124,12 @@ py3o-formats = "^0.3"
|
|||
py3o-template = "^0.10.0"
|
||||
pyaudio = "^0.2.14"
|
||||
pycountry = "^24.6.1"
|
||||
pydifact = "^0.1.7"
|
||||
pydifact = "^0.1.8"
|
||||
pydot = "1.4.2"
|
||||
pyfcm = "^2.0.7"
|
||||
pygithub = "^2.4.0"
|
||||
pygithub = "^2.5.0"
|
||||
pygobject = "3.44.1"
|
||||
pyjwt = "^2.9.0"
|
||||
pyjwt = "^2.10.1"
|
||||
pymssql = "<=2.2.5"
|
||||
pyncclient = "^0.7"
|
||||
pyopenssl = "20.0.1"
|
||||
|
|
@ -148,7 +150,7 @@ python-resize-image = "^1.1.20"
|
|||
python-slugify = "^8.0.4"
|
||||
python-stdnum = "1.16"
|
||||
python-swiftclient = "4.1.0"
|
||||
python-telegram-bot = "^21.6"
|
||||
python-telegram-bot = "^21.7"
|
||||
pytz = "^2024.2"
|
||||
pyusb = "1.0.2"
|
||||
pyyaml = "6.0"
|
||||
|
|
@ -164,7 +166,7 @@ retrying = "^1.3.4"
|
|||
rl-renderpm = "4.0.3"
|
||||
roulier = "^1.1.1"
|
||||
schwifty = "2024.4.0"
|
||||
selenium = "^4.25.0"
|
||||
selenium = "^4.27.1"
|
||||
sentry-sdk = "<=1.9.0"
|
||||
shapely = "^2.0.6"
|
||||
simplejson = "^3.19.3"
|
||||
|
|
@ -172,21 +174,22 @@ spacy = "^3.8.2"
|
|||
speechrecognition = "3.10.0"
|
||||
sqlalchemy = "^2.0.36"
|
||||
statsd = "4.0.1"
|
||||
telesign = "^2.2.3"
|
||||
telesign = "^2.2.5"
|
||||
telnyx = "^2.1.3"
|
||||
todoist-python = "^8.1.4"
|
||||
toml = "^0.10.2"
|
||||
tweepy = "^4.14.0"
|
||||
twilio = "^9.3.4"
|
||||
twilio = "^9.3.7"
|
||||
unidecode = "^1.3.8"
|
||||
unidiff = "^0.7.5"
|
||||
urllib3 = "1.26.5"
|
||||
uvloop = "^0.21.0"
|
||||
validate-email = "^1.3"
|
||||
vobject = "0.9.6.1"
|
||||
vonage = "^3.17.1"
|
||||
vonage = "^4.0.0"
|
||||
vonage-verify-v2 = "1.1.4"
|
||||
werkzeug = "2.0.2"
|
||||
wheel = "^0.44.0"
|
||||
wheel = "^0.45.1"
|
||||
xlrd = "1.2.0"
|
||||
xlsxwriter = "1.4.5"
|
||||
xlwt = "1.3.0"
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ cloudflare
|
|||
selenium
|
||||
# mmg # depend on weasyprint 59.0 and depend on old version pillow 9.0.1
|
||||
uvloop
|
||||
python-randomword-fr
|
||||
|
||||
# For OSX
|
||||
cython
|
||||
|
|
@ -45,6 +46,7 @@ PyPDF2
|
|||
|
||||
# For logical test and quality
|
||||
git+https://github.com/psf/black.git@24.8.0
|
||||
pre-commit
|
||||
|
||||
# For python 3.10 from odoo/requirements.txt, poetry_update.py cannot support python_version
|
||||
cryptography==3.4.8
|
||||
|
|
@ -72,3 +74,12 @@ xlrd==1.2.0
|
|||
# Force python 3.10 over odoo/requirements.txt to remove warning
|
||||
num2words==0.5.13
|
||||
xlsxwriter==1.4.5
|
||||
|
||||
# Fix vonage package depend on vonage-verify-v2 1.1.3, but not exist into pip
|
||||
vonage-verify-v2==1.1.4
|
||||
|
||||
# Fix poetry
|
||||
hubspot-api-client==10.0.0
|
||||
|
||||
# Optional Odoo
|
||||
pdfminer
|
||||
|
|
|
|||
|
|
@ -119,9 +119,7 @@ def search_and_replace(
|
|||
# new_file_content = (
|
||||
# f'{f_lines[:t_index_second_quote]}"{models_name}"{f_lines[t_index_third_quote + len(second_char):]}'
|
||||
# )
|
||||
new_file_content = (
|
||||
f'{f_lines[:t_index_second_quote]}"{models_name}"{f_lines[t_index_third_quote + len(second_char):]}'
|
||||
)
|
||||
new_file_content = f'{f_lines[:t_index_second_quote]}"{models_name}"{f_lines[t_index_third_quote + len(second_char):]}'
|
||||
return new_file_content
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -240,7 +240,10 @@ def main():
|
|||
|
||||
# not finish to empty the queue
|
||||
if dct_depend_image:
|
||||
_logger.info("Missing dependencies, auto-run all image generation for last execution")
|
||||
_logger.info(
|
||||
"Missing dependencies, auto-run all image generation for last"
|
||||
" execution"
|
||||
)
|
||||
for depend_image, lst_module in dct_depend_image.items():
|
||||
lst_queue_parallel.append(lst_module)
|
||||
# print command to execute
|
||||
|
|
|
|||
28
script/deployment/copy_all_addons.sh
Executable file
28
script/deployment/copy_all_addons.sh
Executable file
|
|
@ -0,0 +1,28 @@
|
|||
#!/bin/bash
|
||||
# © 2021-2024 TechnoLibre (http://www.technolibre.ca)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
|
||||
|
||||
datetime=$(date +%Y-%m-%d_%H-%M-%S)
|
||||
backup_dir="backup_$datetime"
|
||||
mkdir -p "$backup_dir"
|
||||
|
||||
for dir in */; do
|
||||
if [ -d "$dir/addons/addons" ]; then
|
||||
mkdir -p "$backup_dir/$dir"
|
||||
|
||||
# Support when addons is a symlink, copy the target directory
|
||||
if [ -L "$dir/addons/addons" ]; then
|
||||
source_dir=$(readlink -f "$dir/addons/addons")
|
||||
else
|
||||
source_dir="$dir/addons/addons"
|
||||
fi
|
||||
|
||||
echo $source_dir
|
||||
|
||||
# Copy directory of addons
|
||||
cp -r "$source_dir" "$backup_dir/$dir/addons"
|
||||
|
||||
# Copy docker-compose.yml
|
||||
cp "$dir/docker-compose.yml" "$backup_dir/$dir/"
|
||||
fi
|
||||
done
|
||||
11
script/deployment/show_all_addons.sh
Executable file
11
script/deployment/show_all_addons.sh
Executable file
|
|
@ -0,0 +1,11 @@
|
|||
#!/bin/bash
|
||||
# © 2021-2024 TechnoLibre (http://www.technolibre.ca)
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl)
|
||||
|
||||
for dir in */; do
|
||||
if [ -d "$dir/addons/addons" ]; then
|
||||
echo "Directory : $dir"
|
||||
|
||||
find "$dir/addons/addons" -type f -print
|
||||
fi
|
||||
done
|
||||
|
|
@ -28,6 +28,16 @@ def get_config():
|
|||
When auto_sync is enable:
|
||||
Check zone and name on cloudflare and compare with public ip, update all old ip with new ip if different.
|
||||
You need your profile in file ~/.cloudflare/cloudflare.cfg
|
||||
Example:
|
||||
[profil_name]
|
||||
email=email@email.com
|
||||
token=TOKEN
|
||||
|
||||
Configure locally a crontab and adapt it, crontab -e, specify an existing DNS
|
||||
Example each 5 minutes:
|
||||
*/5 * * * * USERNAME cd /home/USERNAME/ERPLibre && ./script/deployment/update_dns_cloudflare.py --profile profil_name --zone_name example.com --dns_name example.com --auto_sync
|
||||
Example each minute:
|
||||
* * * * * USERNAME cd /home/USERNAME/ERPLibre && ./script/deployment/update_dns_cloudflare.py --profile profil_name --zone_name example.com --dns_name example.com --auto_sync
|
||||
""",
|
||||
epilog="""\
|
||||
""",
|
||||
|
|
|
|||
|
|
@ -91,9 +91,9 @@ def edit_text(config):
|
|||
if is_find:
|
||||
key = "image:"
|
||||
value = lst_docker_info[i]
|
||||
lst_docker_info[
|
||||
i
|
||||
] = f"{value[:value.find(key) + len(key)]} {config.prod_version}\n"
|
||||
lst_docker_info[i] = (
|
||||
f"{value[:value.find(key) + len(key)]} {config.prod_version}\n"
|
||||
)
|
||||
break
|
||||
if "ERPLibre" in docker_info:
|
||||
is_find = True
|
||||
|
|
|
|||
|
|
@ -13,9 +13,13 @@ EL_USER=${USER}
|
|||
# Install PostgreSQL Server
|
||||
#--------------------------------------------------
|
||||
echo "\n---- Install PostgreSQL Server ----"
|
||||
brew install postgresql@15
|
||||
brew install postgis
|
||||
brew services start postgresql@15
|
||||
if which psql >/dev/null 2>&1; then
|
||||
echo "postgresql is already installed, skipping"
|
||||
else
|
||||
brew install postgresql@15
|
||||
brew install postgis
|
||||
brew services start postgresql@15
|
||||
fi
|
||||
|
||||
echo "\n---- Creating the ERPLibre PostgreSQL User ----"
|
||||
sudo su - postgres -c "createuser -s ${EL_USER}" 2> /dev/null || true
|
||||
|
|
@ -25,6 +29,7 @@ sudo su - postgres -c "CREATE EXTENSION postgis;\nCREATE EXTENSION postgis_topol
|
|||
# Install Dependencies
|
||||
#--------------------------------------------------
|
||||
echo "\n--- Installing Python 3 + pip3 --"
|
||||
#TODO is python@3.7 line here still usefull?? Should we get rid of it?
|
||||
brew install git python@3.7 wget parallel mariadb
|
||||
brew link git
|
||||
brew link wget
|
||||
|
|
|
|||
|
|
@ -12,18 +12,23 @@ EL_USER=${USER}
|
|||
## https://github.com/odoo/odoo/wiki/Wkhtmltopdf ):
|
||||
# Ubuntu 20.04
|
||||
UBUNTU_VERSION=$(lsb_release -rs)
|
||||
DEBIAN_VERSION=$(lsb_release -cs)
|
||||
OS=$(lsb_release -si)
|
||||
if [ "20.04" == "${UBUNTU_VERSION}" ]; then
|
||||
if [ "24.04" == "${UBUNTU_VERSION}" ] || [ "24.10" == "${UBUNTU_VERSION}" ] || [ "23.10" == "${UBUNTU_VERSION}" ] || [ "23.04" == "${UBUNTU_VERSION}" ] || [ "22.10" == "${UBUNTU_VERSION}" ] || [ "22.04" == "${UBUNTU_VERSION}" ]; then
|
||||
WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb
|
||||
elif [ "20.04" == "${UBUNTU_VERSION}" ]; then
|
||||
WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.focal_amd64.deb
|
||||
elif [ "22.04" == "${UBUNTU_VERSION}" ]; then
|
||||
WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
|
||||
elif [ "18.04" == "${UBUNTU_VERSION}" ]; then
|
||||
WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox_0.12.6-1.bionic_amd64.deb
|
||||
elif [[ "${OS}" == "Debian" ]]; then
|
||||
WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.bullseye_amd64.deb
|
||||
if [ "bookworm" == "${DEBIAN_VERSION}" ]; then
|
||||
WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bookworm_amd64.deb
|
||||
else
|
||||
WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.bullseye_amd64.deb
|
||||
fi
|
||||
elif [[ "${OS}" == *"Ubuntu"* ]]; then
|
||||
echo "Your version of Ubuntu is not supported, only support 18.04, 20.04 and 22.04"
|
||||
WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-2/wkhtmltox_0.12.6.1-2.jammy_amd64.deb
|
||||
WKHTMLTOX_X64=https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6.1-3/wkhtmltox_0.12.6.1-3.jammy_amd64.deb
|
||||
else
|
||||
echo "Your version of Ubuntu is not supported, only support 18.04, 20.04 and 22.04"
|
||||
exit 1
|
||||
|
|
|
|||
|
|
@ -106,7 +106,10 @@ if [[ ! -f ${VENV_REPO_PATH} ]]; then
|
|||
fi
|
||||
|
||||
# Make .venv active
|
||||
|
||||
if [[ "${OSTYPE}" == "darwin"* ]]; then
|
||||
echo -e "=======>source .venv/bin/activate here!!! <==============="
|
||||
source .venv/bin/activate
|
||||
fi
|
||||
echo -e "\n---- Installing poetry dependency ----"
|
||||
${VENV_PATH}/bin/pip install --upgrade pip
|
||||
# Force python instead of changing env
|
||||
|
|
|
|||
|
|
@ -67,6 +67,7 @@ def get_lst_requirements_txt():
|
|||
def get_lst_manifest_py():
|
||||
return get_file_from_glob("__manifest__.py")
|
||||
|
||||
|
||||
def get_file_from_glob(glob_txt):
|
||||
with open(".odoo-version") as txt:
|
||||
odoo_version = txt.read()
|
||||
|
|
@ -77,7 +78,9 @@ def get_file_from_glob(glob_txt):
|
|||
a_dirname = os.path.dirname(a)
|
||||
if a_dirname.startswith(".repo/") or a_dirname.startswith(".venv"):
|
||||
continue
|
||||
if a_dirname.startswith("addons") and not a_dirname.startswith(f"addons.odoo{odoo_version}"):
|
||||
if a_dirname.startswith("addons") and not a_dirname.startswith(
|
||||
f"addons.odoo{odoo_version}"
|
||||
):
|
||||
continue
|
||||
lst_v.append(a)
|
||||
return lst_v
|
||||
|
|
|
|||
|
|
@ -38,13 +38,13 @@ def run(config, selenium_tool):
|
|||
try:
|
||||
connexion_button = selenium_tool.driver.find_element(
|
||||
By.XPATH,
|
||||
"/html/body/div/div/div/form/div[3]/button"
|
||||
"/html/body/div/div/div/form/div[3]/button",
|
||||
# '//button[contains(text(), "Log in")]'
|
||||
)
|
||||
except Exception:
|
||||
connexion_button = selenium_tool.driver.find_element(
|
||||
By.XPATH,
|
||||
"/html/body/div/main/div/form/div[3]/button"
|
||||
"/html/body/div/main/div/form/div[3]/button",
|
||||
# '//button[contains(text(), "Connexion")]'
|
||||
)
|
||||
|
||||
|
|
|
|||
|
|
@ -423,18 +423,16 @@ class Update:
|
|||
os.rename(addons_path, addons_path + "TEMP")
|
||||
|
||||
# TODO need to be force if installation path is all good, return True
|
||||
if self.config.is_in_installation:
|
||||
if self.config.install_dev:
|
||||
_logger.info("Installation.")
|
||||
status = self.install_erplibre(
|
||||
install_system=self.config.install,
|
||||
install_dev=self.config.install_dev,
|
||||
)
|
||||
status = self.install_erplibre()
|
||||
|
||||
# Re-update if launch installation
|
||||
self._update_directory_to_link(
|
||||
VENV_FILE, self.expected_venv_name
|
||||
)
|
||||
# self._update_directory_to_link(ADDONS_PATH, self.expected_addons_name)
|
||||
if self.config.install_dev:
|
||||
self._update_directory_to_link(
|
||||
VENV_FILE, self.expected_venv_name
|
||||
)
|
||||
# self._update_directory_to_link(ADDONS_PATH, self.expected_addons_name)
|
||||
elif self.config.is_in_switch:
|
||||
_logger.info("Switch")
|
||||
self.execute_log.append(f"System update")
|
||||
|
|
@ -485,17 +483,18 @@ class Update:
|
|||
pycharm_is_installed = os.path.exists(".idea")
|
||||
if not pycharm_is_installed or not self.execute_log:
|
||||
return
|
||||
os.system("./.venv/bin/python ./script/ide/pycharm_configuration.py --init")
|
||||
os.system(
|
||||
"./.venv/bin/python ./script/ide/pycharm_configuration.py --init"
|
||||
)
|
||||
|
||||
def install_erplibre(self, install_system=False, install_dev=False):
|
||||
status = 0
|
||||
def install_erplibre(self):
|
||||
self.execute_log.append(f"Dev installation")
|
||||
status = os.system("./script/install/install_locally_dev.sh")
|
||||
return status
|
||||
|
||||
if install_system:
|
||||
self.execute_log.append(f"System installation")
|
||||
status = os.system("./script/install/install_dev.sh")
|
||||
if install_dev and not status:
|
||||
self.execute_log.append(f"Dev installation")
|
||||
status = os.system("./script/install/install_locally_dev.sh")
|
||||
def install_system(self):
|
||||
self.execute_log.append(f"System installation")
|
||||
status = os.system("./script/install/install_dev.sh")
|
||||
return status
|
||||
|
||||
def update_link_file(
|
||||
|
|
@ -688,12 +687,20 @@ def main():
|
|||
update.validate_version()
|
||||
|
||||
_logger.info("Validate environment")
|
||||
status = update.validate_environment()
|
||||
if update.config.force_install or not status:
|
||||
status = 0
|
||||
if update.config.install_dev or update.config.is_in_switch:
|
||||
status = update.validate_environment()
|
||||
if update.config.install:
|
||||
status = update.install_system()
|
||||
if (
|
||||
update.config.force_install
|
||||
or update.config.install_dev
|
||||
or update.config.is_in_switch
|
||||
) and not status:
|
||||
update.update_environment()
|
||||
update.print_log()
|
||||
|
||||
if update.config.is_in_installation:
|
||||
if update.config.install_dev:
|
||||
# Update pycharm configuration
|
||||
update.pycharm_update()
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue