1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/libreerp_ynh.git synced 2024-09-03 19:36:13 +02:00

Merge pull request #32 from YunoHost-Apps/testing

Upgrade to 15.0~ynh1
This commit is contained in:
yalh76 2022-06-23 13:07:41 +02:00 committed by GitHub
commit c82770776c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
18 changed files with 353 additions and 292 deletions

View file

@ -22,7 +22,7 @@ The main LibreERP Apps include an Open Source CRM, Website Builder, eCommerce, P
LibreERP Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
**Shipped version:** 12.0~ynh6
**Shipped version:** 15.0~ynh1
**Demo:** https://www.odoo.com/trial
## Disclaimers / important information

View file

@ -22,7 +22,7 @@ The main LibreERP Apps include an Open Source CRM, Website Builder, eCommerce, P
LibreERP Apps can be used as stand-alone applications, but they also integrate seamlessly so you get a full-featured Open Source ERP when you install several Apps.
**Version incluse :** 12.0~ynh6
**Version incluse :** 15.0~ynh1
**Démo :** https://www.odoo.com/trial
## Avertissements / informations importantes

View file

@ -1,12 +1,37 @@
;; Test complet sans multisite
;; Test complet sans multisite v14
auto_remove=1
; Manifest
domain="domain.tld"
version="14"
oca=0
admin_password="testpassw0rD"
version="14"
oca=0
lang="en_US"
tz="Etc/GMT"
tz="Etc/GMT"
admin="john"
password="1Strong-Password"
; Checks
pkg_linter=1
setup_sub_dir=0
setup_root=1
setup_nourl=0
setup_private=0
setup_public=1
upgrade=1
# 12.0~ynh6
upgrade=1 from_commit=54f28204591c902ebe4a3a6b662e88e8fa598fde
backup_restore=1
multi_instance=1
port_already_use=0
change_url=0
;; Test complet sans multisite v15
auto_remove=1
; Manifest
domain="domain.tld"
version="15"
oca=0
lang="en_US"
tz="Etc/GMT"
admin="john"
password="1Strong-Password"
; Checks
pkg_linter=1
setup_sub_dir=0
@ -15,8 +40,6 @@
setup_private=0
setup_public=1
upgrade=1
# 12.0-6
# upgrade=1 from_commit=2cfdbc229faa8700873e681a01f823c32475cca8
backup_restore=1
multi_instance=1
port_already_use=0

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/odoo/odoo/archive/f69c004795e0a7f32d5c6243cc3d4915cf010bbe.tar.gz
SOURCE_SUM=79bfb272bc48509390386de357413e34bbb10fceee0662ca89e9e18383ed522f
SOURCE_URL=https://github.com/odoo/odoo/archive/28c3f51c4878fbcd79b2e819948465fcf2160ebc.tar.gz
SOURCE_SUM=880be8b9e5a57e67d6645a527efd83224319d8fc645cbd72f24e7e50a75ff31d
SOURCE_FILENAME=odoo-10.tar.gz
SOURCE_FORMAT=tar.gz
SOURCE_SUM_PRG=sha256sum

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/odoo/odoo/archive/d129b0220eb0c76c8677c6ee0f60306f57cf2c8f.tar.gz
SOURCE_SUM=2e209236c56b78bb410639f3f0c102479c37fdb293cb51d3f6fdd6ad20fa610f
SOURCE_URL=https://github.com/odoo/odoo/archive/43200e9dcc1d91cfd5c1e5e939b27e713d20cc7c.tar.gz
SOURCE_SUM=71418fc5536242de72baa2d17b38a439252956fbbb1ebc3e2294c858674c4659
SOURCE_FILENAME=odoo-11.tar.gz
SOURCE_FORMAT=tar.gz
SOURCE_SUM_PRG=sha256sum

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/odoo/odoo/archive/336c9aab3619abb5bfbeb07f87ae014facdefb0b.tar.gz
SOURCE_SUM=3d37bc31383bfad827c3fdbab4daa3914ad036fd70fe1f20925ed18d2b9e1f87
SOURCE_URL=https://github.com/odoo/odoo/archive/04e37773d1bf9b885be674d85bdf0ec069926958.tar.gz
SOURCE_SUM=023afbaada2182cd6e54c0717915f7585e6899e2c23ad54d9f2372e88bcf35ec
SOURCE_FILENAME=odoo-12.tar.gz
SOURCE_FORMAT=tar.gz
SOURCE_SUM_PRG=sha256sum

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/odoo/odoo/archive/d8322e64c6d999ffc72093b2ef2db91532138c89.tar.gz
SOURCE_SUM=40cbbc93ab594f614499ccdd04922590c420bfadeaf2f889853a5d58073e5fef
SOURCE_URL=https://github.com/odoo/odoo/archive/5a8690b35a2fa9c5ed81d858ac0d170beaabaaf9.tar.gz
SOURCE_SUM=b52829b5f01f39d8e9bd6977eb1b9c23053e92c7574ec26e5b3d218522fccf3a
SOURCE_FILENAME=odoo-14.tar.gz
SOURCE_FORMAT=tar.gz
SOURCE_SUM_PRG=sha256sum

5
conf/15.src Normal file
View file

@ -0,0 +1,5 @@
SOURCE_URL=https://github.com/odoo/odoo/archive/2354fade236b2853835761a129ef2c4ea450d728.tar.gz
SOURCE_SUM=566c7df9d4967fdca65060f78dc0202febc72ef2691ef72ae256892fc838ea48
SOURCE_FILENAME=odoo-15.tar.gz
SOURCE_FORMAT=tar.gz
SOURCE_SUM_PRG=sha256sum

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/odoo/odoo/archive/a25432cd357124242cc6e8ead19b09d58ba530ae.tar.gz
SOURCE_SUM=2e85eaaeb2609223ddda38877715aca5afb7fb8f794bef85e147e7e18e285e05
SOURCE_URL=https://github.com/odoo/odoo/archive/7132a15c38a3b5e5ec232404d21aacfa2ac5874e.tar.gz
SOURCE_SUM=f4c522da29201835435b01c651032d07c2d0c0e8a14b30f9a784cb531c5ba250
SOURCE_FILENAME=odoo-9.tar.gz
SOURCE_FORMAT=tar.gz
SOURCE_SUM_PRG=sha256sum

View file

@ -1,51 +1,51 @@
location / {
if ($scheme = http) {
rewrite ^ https://$server_name$request_uri? permanent;
}
try_files $uri @__APP__;
try_files $uri @__APP__;
}
location @__APP__ {
proxy_pass http://127.0.0.1:__PORT__;
proxy_pass http://127.0.0.1:__PORT__;
client_max_body_size 50M;
client_body_timeout 60m;
fastcgi_read_timeout 60m;
client_max_body_size 50M;
client_body_timeout 60m;
fastcgi_read_timeout 60m;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_buffers 16 64k;
proxy_buffer_size 128k;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_buffers 16 64k;
proxy_buffer_size 128k;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
}
location /longpolling {
proxy_pass http://127.0.0.1:__PORT_CHAT__;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
proxy_pass http://127.0.0.1:__PORT_CHAT__;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
}
location ~* /web/static/ {
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://127.0.0.1:__PORT__;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
proxy_cache_valid 200 90m;
proxy_buffering on;
expires 864000;
proxy_pass http://127.0.0.1:__PORT__;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
proxy_read_timeout 720s;
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
}

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/OCA/OCB/archive/4df6b0b164c6f384fdb7df40e51e80780572273a.tar.gz
SOURCE_SUM=e064dcd121ca207cbfa18c5f5f63c394ee6a1ca03f9ebbd6b88e6a62dda6bca0
SOURCE_URL=https://github.com/OCA/OCB/archive/f38c99acbea6e1ab42deddb468b9710cabccfbdf.tar.gz
SOURCE_SUM=55cb5e87022a87cf13c9d74bf094da2c098cf64fb8fdacbf42fadeea2479daa0
SOURCE_FILENAME=odoo-12.tar.gz
SOURCE_FORMAT=tar.gz
SOURCE_SUM_PRG=sha256sum

View file

@ -1,5 +1,5 @@
SOURCE_URL=https://github.com/OCA/OCB/archive/b7dc86b530718c090ba26b8eea0154d1c50c05f2.tar.gz
SOURCE_SUM=d2ca8bbe913e90f1623c6f2375d4cd2c40d4ed4abb650e66f7691669cbab90fa
SOURCE_URL=https://github.com/OCA/OCB/archive/e1e9e7420a5b5b32d5359ffed19e718080764ddd.tar.gz
SOURCE_SUM=acfbf7a2428a51962d1d1a084c5a959a392c522b8aad7b98d7abac75c84259d9
SOURCE_FILENAME=odoo-14.tar.gz
SOURCE_FORMAT=tar.gz
SOURCE_SUM_PRG=sha256sum

5
conf/oca-15.src Normal file
View file

@ -0,0 +1,5 @@
SOURCE_URL=https://github.com/OCA/OCB/archive/2354fade236b2853835761a129ef2c4ea450d728.tar.gz
SOURCE_SUM=8bab7886de520295a2db4ab0895b0a3b556a2cd7d77e903347f99762310b636f
SOURCE_FILENAME=odoo-15.tar.gz
SOURCE_FORMAT=tar.gz
SOURCE_SUM_PRG=sha256sum

View file

@ -6,7 +6,7 @@
"en": "Suite of business apps (ERP: CRM, Accounting, Point of Sale, HR, Purchases...).",
"fr": "Une collection d'apps de gestion d'entreprise (ERP : CRM, Comptabilité, Point de Vente, RH, Achats, ...)."
},
"version": "12.0~ynh6",
"version": "15.0~ynh1",
"url": "https://odoo.com",
"upstream": {
"license": "LGPL-3.0-only",
@ -37,10 +37,6 @@
"name": "domain",
"type": "domain"
},
{
"name": "admin",
"type": "user"
},
{
"name": "version",
"type": "string",
@ -48,8 +44,8 @@
"en": "Choose the version you want",
"fr": "Choisissez la version désirée"
},
"choices": ["11", "12", "14"],
"default": "14"
"choices": ["11", "12", "14", "15"],
"default": "15"
},
{
"name": "oca",
@ -60,14 +56,6 @@
"fr": "Désirez vous installer OCA à la place des sources de LibreERP (pas encore implémenté)"
}
},
{
"name": "admin_password",
"type": "password",
"ask": {
"en": "Choose a strong master admin password",
"fr": "Choisissez un mot de passe maître fort pour l'administration"
}
},
{
"name": "lang",
"type": "string",
@ -86,6 +74,18 @@
"fr": "Choisissez un fuseau horaire"
},
"default": "Etc/UTC"
},
{
"name": "admin",
"type": "user"
},
{
"name": "admin_password",
"type": "password",
"ask": {
"en": "Choose a strong master admin password",
"fr": "Choisissez un mot de passe maître fort pour l'administration"
}
}
]
}

View file

@ -17,76 +17,78 @@ pkg_dependencies="curl postgresql xfonts-75dpi xfonts-base wkhtmltopdf node-less
#=================================================
function debranding() {
# Remove Odoo references to avoid trademark issue
if [ -d $final_path/$appname/$FORKNAME ]; then
python_app=$final_path/$appname/$FORKNAME
else
python_app=$final_path/$appname/openerp
fi
find $final_path/$appname -type f \( -iname '*.xml' -o -iname '*.po' \) -exec sed -i 's/Powered by <a[^>]*>Odoo<\/a>//g' {} \;
find $final_path/$appname -type f \( -iname '*.xml' -o -iname '*.po' \) -exec sed -i 's/<a[^>]*>Powered by <[^>]*>Odoo<\/[^>]*><\/a>//g' {} \;
find $final_path/$appname -type f \( -iname '*.xml' -o -iname '*.po' \) -exec sed -i 's/Powered by <[^>]*>Odoo<\/[^>]*>//g' {} \;
find $final_path/$appname -type f \( -iname '*.xml' -o -iname '*.po' \) -exec sed -i 's/Powered by <[^>]*><img[^>]*Odoo[^>]*><\/a>//g' {} \;
sed -i 's/<a[^>]*>My Odoo.com account<\/a>//g' $final_path/$appname/addons/web/static/src/xml/base.xml
sed -i 's/<a[^>]*>Documentation<\/a>//g' $final_path/$appname/addons/web/static/src/xml/base.xml
sed -i 's/<a[^>]*>Support<\/a>//g' $final_path/$appname/addons/web/static/src/xml/base.xml
cp ../conf/logo_type.png $python_app/addons/base/static/img/logo_white.png
cp ../conf/favicon.ico $final_path/$appname/addons/web/static/src/img/favicon.ico
# Remove Odoo references to avoid trademark issue
if [ -d $final_path/$appname/$FORKNAME ]; then
python_app=$final_path/$appname/$FORKNAME
else
python_app=$final_path/$appname/openerp
fi
find $final_path/$appname -type f \( -iname '*.xml' -o -iname '*.po' \) -exec sed -i 's/Powered by <a[^>]*>Odoo<\/a>//g' {} \;
find $final_path/$appname -type f \( -iname '*.xml' -o -iname '*.po' \) -exec sed -i 's/<a[^>]*>Powered by <[^>]*>Odoo<\/[^>]*><\/a>//g' {} \;
find $final_path/$appname -type f \( -iname '*.xml' -o -iname '*.po' \) -exec sed -i 's/Powered by <[^>]*>Odoo<\/[^>]*>//g' {} \;
find $final_path/$appname -type f \( -iname '*.xml' -o -iname '*.po' \) -exec sed -i 's/Powered by <[^>]*><img[^>]*Odoo[^>]*><\/a>//g' {} \;
if test -f "$final_path/$appname/addons/web/static/src/xml/base.xml"; then
sed -i 's/<a[^>]*>My Odoo.com account<\/a>//g' $final_path/$appname/addons/web/static/src/xml/base.xml
sed -i 's/<a[^>]*>Documentation<\/a>//g' $final_path/$appname/addons/web/static/src/xml/base.xml
sed -i 's/<a[^>]*>Support<\/a>//g' $final_path/$appname/addons/web/static/src/xml/base.xml
fi
cp ../conf/logo_type.png $python_app/addons/base/static/img/logo_white.png
cp ../conf/favicon.ico $final_path/$appname/addons/web/static/src/img/favicon.ico
}
function setup_files() {
if [[ $oca -eq 0 ]]; then
ynh_setup_source $final_path/$appname $app_version
else
ynh_setup_source $final_path/$appname "oca-$app_version"
fi
debranding
mkdir -p $final_path/custom-addons
chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:$app "$final_path"
touch /var/log/$app.log
chown $app:$app /var/log/$app.log
if [[ $oca -eq 0 ]]; then
ynh_setup_source $final_path/$appname $app_version
else
ynh_setup_source $final_path/$appname "oca-$app_version"
fi
debranding
mkdir -p $final_path/custom-addons
chmod 750 "$final_path"
chmod -R o-rwx "$final_path"
chown -R $app:$app "$final_path"
touch /var/log/$app.log
chown $app:$app /var/log/$app.log
if [ ! -f $conf_file ]; then
ynh_configure server.conf $conf_file
chmod 400 "$conf_file"
if [ ! -f $conf_file ]; then
ynh_configure server.conf $conf_file
chmod 400 "$conf_file"
chown $app:$app "$conf_file"
# Autoinstall the LDAP auth module
if ls $final_path/$appname/$FORKNAME-bin > /dev/null ; then
ynh_replace_string "^{$" "{'auto_install': True," $final_path/$appname/addons/auth_ldap/__manifest__.py
else
ynh_replace_string "'auto_install': False" "'auto_install': True" $final_path/$appname/addons/auth_ldap/__openerp__.py
fi
fi
# Autoinstall the LDAP auth module
if ls $final_path/$appname/$FORKNAME-bin > /dev/null ; then
ynh_replace_string "^{$" "{'auto_install': True," $final_path/$appname/addons/auth_ldap/__manifest__.py
else
ynh_replace_string "'auto_install': False" "'auto_install': True" $final_path/$appname/addons/auth_ldap/__openerp__.py
fi
fi
}
function setup_database() {
export preinstall=1
ynh_configure server.conf $conf_file
chown $app:$app $conf_file
# Load translation
#param=" --without-demo True --addons-path $final_path/$appname/addons --db_user $app --db_password $db_pwd --db_host 127.0.0.1 --db_port 5432 --db-filter '^$app\$' -d $app "
param=" -c $conf_file -d $app "
ynh_exec_as $app $bin_file -c $conf_file --stop-after-init -i base -d $app
ynh_exec_as $app $bin_file -c $conf_file --stop-after-init -i auth_ldap -d $app
ynh_exec_as $app $bin_file -c $conf_file --stop-after-init --load-language $lang -d $app
# Configure language, timezone and ldap
ynh_exec_as $app $bin_file shell -c $conf_file -d $app <<< \
export preinstall=1
ynh_configure server.conf $conf_file
chown $app:$app $conf_file
# Load translation
#param=" --without-demo True --addons-path $final_path/$appname/addons --db_user $app --db_password $db_pwd --db_host 127.0.0.1 --db_port 5432 --db-filter '^$app\$' -d $app "
param=" -c $conf_file -d $app "
ynh_exec_as $app $bin_file -c $conf_file --stop-after-init -i base -d $app
ynh_exec_as $app $bin_file -c $conf_file --stop-after-init -i auth_ldap -d $app
ynh_exec_as $app $bin_file -c $conf_file --stop-after-init --load-language $lang -d $app
# Configure language, timezone and ldap
ynh_exec_as $app $bin_file shell -c $conf_file -d $app <<< \
"
self.env['res.users'].search([['login', '=', 'admin']])[0].write({'password': '$admin_password'})
self.env.cr.commit()
"
ynh_exec_as $app $bin_file shell -c $conf_file -d $app <<< \
ynh_exec_as $app $bin_file shell -c $conf_file -d $app <<< \
"
self.write({'tz':'$tz','lang':'$lang'})
self.env.cr.commit()
"
ynh_exec_as $app $bin_file shell -c $conf_file -d $app <<< \
ynh_exec_as $app $bin_file shell -c $conf_file -d $app <<< \
"
template=env['res.users'].create({
'login':'template',
@ -108,20 +110,20 @@ self.company_id.ldaps.create({
})
self.env.cr.commit()
"
export preinstall=0
ynh_configure server.conf $conf_file
chown $app:$app $conf_file
export preinstall=0
ynh_configure server.conf $conf_file
chown $app:$app $conf_file
}
ynh_configure () {
local TEMPLATE=$1
local DEST=$2
content=""
content2=""
content3=""
if [[ $preinstall == '1' ]]
then
content="dbfilter = $db_name"
local TEMPLATE=$1
local DEST=$2
content=""
content2=""
content3=""
if [[ $preinstall == '1' ]]
then
content="dbfilter = $db_name"
else
content="db_name = $db_name"
if [[ $app_version > 9 ]]
@ -131,12 +133,12 @@ ynh_configure () {
content3="list_db = False"
fi
mkdir -p "$(dirname $DEST)"
if [ -f '../manifest.json' ] ; then
ynh_add_config "${YNH_CWD}/../conf/$TEMPLATE" "$DEST"
else
ynh_add_config "${YNH_CWD}/../settings/conf/$TEMPLATE" "$DEST"
fi
mkdir -p "$(dirname $DEST)"
if [ -f '../manifest.json' ] ; then
ynh_add_config "${YNH_CWD}/../conf/$TEMPLATE" "$DEST"
else
ynh_add_config "${YNH_CWD}/../settings/conf/$TEMPLATE" "$DEST"
fi
}
#=================================================
@ -148,75 +150,75 @@ ynh_configure () {
# usage: ynh_add_swap --size=SWAP in Mb
# | arg: -s, --size= - Amount of SWAP to add in Mb.
ynh_add_swap () {
# Declare an array to define the options of this helper.
declare -Ar args_array=( [s]=size= )
local size
# Manage arguments with getopts
ynh_handle_getopts_args "$@"
# Declare an array to define the options of this helper.
declare -Ar args_array=( [s]=size= )
local size
# Manage arguments with getopts
ynh_handle_getopts_args "$@"
local swap_max_size=$(( $size * 1024 ))
local swap_max_size=$(( $size * 1024 ))
local free_space=$(df --output=avail / | sed 1d)
# Because we don't want to fill the disk with a swap file, divide by 2 the available space.
local usable_space=$(( $free_space / 2 ))
local free_space=$(df --output=avail / | sed 1d)
# Because we don't want to fill the disk with a swap file, divide by 2 the available space.
local usable_space=$(( $free_space / 2 ))
SD_CARD_CAN_SWAP=${SD_CARD_CAN_SWAP:-0}
SD_CARD_CAN_SWAP=${SD_CARD_CAN_SWAP:-0}
# Swap on SD card only if it's is specified
if ynh_is_main_device_a_sd_card && [ "$SD_CARD_CAN_SWAP" == "0" ]
then
ynh_print_warn --message="The main mountpoint of your system '/' is on an SD card, swap will not be added to prevent some damage of this one, but that can cause troubles for the app $app. If you still want activate the swap, you can relaunch the command preceded by 'SD_CARD_CAN_SWAP=1'"
return
fi
# Swap on SD card only if it's is specified
if ynh_is_main_device_a_sd_card && [ "$SD_CARD_CAN_SWAP" == "0" ]
then
ynh_print_warn --message="The main mountpoint of your system '/' is on an SD card, swap will not be added to prevent some damage of this one, but that can cause troubles for the app $app. If you still want activate the swap, you can relaunch the command preceded by 'SD_CARD_CAN_SWAP=1'"
return
fi
# Compare the available space with the size of the swap.
# And set a acceptable size from the request
if [ $usable_space -ge $swap_max_size ]
then
local swap_size=$swap_max_size
elif [ $usable_space -ge $(( $swap_max_size / 2 )) ]
then
local swap_size=$(( $swap_max_size / 2 ))
elif [ $usable_space -ge $(( $swap_max_size / 3 )) ]
then
local swap_size=$(( $swap_max_size / 3 ))
elif [ $usable_space -ge $(( $swap_max_size / 4 )) ]
then
local swap_size=$(( $swap_max_size / 4 ))
else
echo "Not enough space left for a swap file" >&2
local swap_size=0
fi
# Compare the available space with the size of the swap.
# And set a acceptable size from the request
if [ $usable_space -ge $swap_max_size ]
then
local swap_size=$swap_max_size
elif [ $usable_space -ge $(( $swap_max_size / 2 )) ]
then
local swap_size=$(( $swap_max_size / 2 ))
elif [ $usable_space -ge $(( $swap_max_size / 3 )) ]
then
local swap_size=$(( $swap_max_size / 3 ))
elif [ $usable_space -ge $(( $swap_max_size / 4 )) ]
then
local swap_size=$(( $swap_max_size / 4 ))
else
echo "Not enough space left for a swap file" >&2
local swap_size=0
fi
# If there's enough space for a swap, and no existing swap here
if [ $swap_size -ne 0 ] && [ ! -e /swap_$app ]
then
# Preallocate space for the swap file, fallocate may sometime not be used, use dd instead in this case
if ! fallocate -l ${swap_size}K /swap_$app
then
dd if=/dev/zero of=/swap_$app bs=1024 count=${swap_size}
fi
chmod 0600 /swap_$app
# Create the swap
mkswap /swap_$app
# And activate it
swapon /swap_$app
# Then add an entry in fstab to load this swap at each boot.
echo -e "/swap_$app swap swap defaults 0 0 #Swap added by $app" >> /etc/fstab
fi
# If there's enough space for a swap, and no existing swap here
if [ $swap_size -ne 0 ] && [ ! -e /swap_$app ]
then
# Preallocate space for the swap file, fallocate may sometime not be used, use dd instead in this case
if ! fallocate -l ${swap_size}K /swap_$app
then
dd if=/dev/zero of=/swap_$app bs=1024 count=${swap_size}
fi
chmod 0600 /swap_$app
# Create the swap
mkswap /swap_$app
# And activate it
swapon /swap_$app
# Then add an entry in fstab to load this swap at each boot.
echo -e "/swap_$app swap swap defaults 0 0 #Swap added by $app" >> /etc/fstab
fi
}
ynh_del_swap () {
# If there a swap at this place
if [ -e /swap_$app ]
then
# Clean the fstab
sed -i "/#Swap added by $app/d" /etc/fstab
# Desactive the swap file
swapoff /swap_$app
# And remove it
rm /swap_$app
fi
# If there a swap at this place
if [ -e /swap_$app ]
then
# Clean the fstab
sed -i "/#Swap added by $app/d" /etc/fstab
# Desactive the swap file
swapoff /swap_$app
# And remove it
rm /swap_$app
fi
}
# Check if the device of the main mountpoint "/" is an SD card
@ -225,14 +227,14 @@ ynh_del_swap () {
#
# return 0 if it's an SD card, else 1
ynh_is_main_device_a_sd_card () {
local main_device=$(lsblk --output PKNAME --noheadings $(findmnt / --nofsroot --uniq --output source --noheadings --first-only))
local main_device=$(lsblk --output PKNAME --noheadings $(findmnt / --nofsroot --uniq --output source --noheadings --first-only))
if echo $main_device | grep --quiet "mmc" && [ $(tail -n1 /sys/block/$main_device/queue/rotational) == "0" ]
then
return 0
else
return 1
fi
if echo $main_device | grep --quiet "mmc" && [ $(tail -n1 /sys/block/$main_device/queue/rotational) == "0" ]
then
return 0
else
return 1
fi
}
#=================================================

View file

@ -25,12 +25,12 @@ ynh_abort_if_errors
domain=$YNH_APP_ARG_DOMAIN
path_url="/"
admin=$YNH_APP_ARG_ADMIN
export app_version=$YNH_APP_ARG_VERSION
oca=$YNH_APP_ARG_OCA
admin_password=$YNH_APP_ARG_ADMIN_PASSWORD
lang=$YNH_APP_ARG_LANG
tz=$YNH_APP_ARG_TZ
admin=$YNH_APP_ARG_ADMIN
admin_password=$YNH_APP_ARG_ADMIN_PASSWORD
export app=$YNH_APP_INSTANCE_NAME
@ -47,10 +47,10 @@ test ! -e "$final_path" || ynh_die --message="This path already contains a folde
export bin_file="$final_path/venv/bin/python3 $final_path/$appname/$FORKNAME-bin"
if [ "$app_version" = "9" ]; then
bin_file="$final_path/venv/bin/python3 $final_path/$appname/$FORKNAME.py"
bin_file="$final_path/venv/bin/python3 $final_path/$appname/$FORKNAME.py"
fi
if [ "$app_version" = "8" ]; then
bin_file="$final_path/venv/bin/python3 $final_path/$appname/$FORKNAME.py"
bin_file="$final_path/venv/bin/python3 $final_path/$appname/$FORKNAME.py"
fi
# Register (book) web path
@ -141,10 +141,10 @@ ynh_add_nginx_config
#=================================================
if [ ${PACKAGE_CHECK_EXEC:-0} -eq 1 ]; then
:
:
else
ynh_script_progression --message="Adding swap..."
ynh_add_swap --size=$swap_needed
ynh_script_progression --message="Adding swap..."
ynh_add_swap --size=$swap_needed
fi
#=================================================
@ -153,26 +153,32 @@ fi
ynh_script_progression --message="Building $app..."
if ! wkhtmltopdf --version | grep "wkhtmltopdf 0.12.4 (with patched qt)"; then
# The debian package has a bug so we deploy a more recent version
if [ -f '../manifest.json' ] ; then
ynh_setup_source /usr/
else
OLD_YNH_CWD=$YNH_CWD
YNH_CWD=$YNH_CWD/../settings/conf
ynh_setup_source /usr/
YNH_CWD=$OLD_YNH_CWD
fi
# The debian package has a bug so we deploy a more recent version
if [ -f '../manifest.json' ] ; then
ynh_setup_source /usr/
else
OLD_YNH_CWD=$YNH_CWD
YNH_CWD=$YNH_CWD/../settings/conf
ynh_setup_source /usr/
YNH_CWD=$OLD_YNH_CWD
fi
fi
pushd $final_path
if grep "python3" $final_path/$appname/$FORKNAME-bin ; then
python3 -m venv venv
venv/bin/pip3 install wheel
venv/bin/pip3 install -r $appname/requirements.txt
else
virtualenv venv
venv/bin/pip install wheel
venv/bin/pip install -r $appname/requirements.txt
fi
RUSTUP_HOME="$final_path/.rustup" CARGO_HOME="$final_path/.cargo" bash -c 'curl -sSf -L https://static.rust-lang.org/rustup.sh | sh -s -- -y --default-toolchain=stable --profile=minimal'
PATH="$PATH:$final_path/.cargo/bin:$final_path/.local/bin:/usr/local/sbin"
if grep "python3" $final_path/$appname/$FORKNAME-bin ; then
python3 -m venv venv
venv/bin/pip3 install --upgrade pip
venv/bin/pip3 install wheel
venv/bin/pip3 install -r $appname/requirements.txt
else
virtualenv venv
venv/bin/pip3 install --upgrade pip
venv/bin/pip install wheel
venv/bin/pip install -r $appname/requirements.txt
fi
ynh_secure_remove --file="$final_path/.cargo"
ynh_secure_remove --file="$final_path/.rustup"
popd
#=================================================

View file

@ -40,10 +40,10 @@ export final_path=$(ynh_app_setting_get --app=$app --key=final_path)
export conf_file=$(ynh_app_setting_get --app=$app --key=conf_file)
export bin_file="$final_path/venv/bin/python $final_path/$appname/$FORKNAME-bin"
if [ "$app_version" = "9" ]; then
bin_file="$final_path/venv/bin/python $final_path/$appname/$FORKNAME.py"
bin_file="$final_path/venv/bin/python $final_path/$appname/$FORKNAME.py"
fi
if [ "$app_version" = "8" ]; then
bin_file="$final_path/venv/bin/python $final_path/$appname/$FORKNAME.py"
bin_file="$final_path/venv/bin/python $final_path/$appname/$FORKNAME.py"
fi
export preinstall=0
@ -57,13 +57,6 @@ test ! -d $final_path \
#=================================================
# STANDARD RESTORATION STEPS
#=================================================
# RESTORE THE NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Restoring the NGINX web server configuration..."
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
#=================================================
# RECREATE THE DEDICATED USER
#=================================================
@ -95,15 +88,22 @@ ynh_script_progression --message="Reinstalling dependencies..."
# Define and install dependencies
ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies
#=================================================
# RESTORE THE NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Restoring the NGINX web server configuration..."
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
#=================================================
# ADD SWAP
#=================================================
if [ ${PACKAGE_CHECK_EXEC:-0} -eq 1 ]; then
:
:
else
ynh_script_progression --message="Adding swap..."
ynh_add_swap --size=$swap_needed
ynh_script_progression --message="Adding swap..."
ynh_add_swap --size=$swap_needed
fi
#=================================================
@ -112,26 +112,32 @@ fi
ynh_script_progression --message="Building $app..."
if ! wkhtmltopdf --version | grep "wkhtmltopdf 0.12.4 (with patched qt)"; then
# The debian package has a bug so we deploy a more recent version
if [ -f '../manifest.json' ] ; then
ynh_setup_source /usr/
else
OLD_YNH_CWD=$YNH_CWD
YNH_CWD=$YNH_CWD/../settings/conf
ynh_setup_source /usr/
YNH_CWD=$OLD_YNH_CWD
fi
# The debian package has a bug so we deploy a more recent version
if [ -f '../manifest.json' ] ; then
ynh_setup_source /usr/
else
OLD_YNH_CWD=$YNH_CWD
YNH_CWD=$YNH_CWD/../settings/conf
ynh_setup_source /usr/
YNH_CWD=$OLD_YNH_CWD
fi
fi
pushd $final_path
if grep "python3" $final_path/$appname/$FORKNAME-bin ; then
python3 -m venv venv
venv/bin/pip3 install wheel
venv/bin/pip3 install -r $appname/requirements.txt
else
virtualenv venv
venv/bin/pip install wheel
venv/bin/pip install -r $appname/requirements.txt
fi
RUSTUP_HOME="$final_path/.rustup" CARGO_HOME="$final_path/.cargo" bash -c 'curl -sSf -L https://static.rust-lang.org/rustup.sh | sh -s -- -y --default-toolchain=stable --profile=minimal'
PATH="$PATH:$final_path/.cargo/bin:$final_path/.local/bin:/usr/local/sbin"
if grep "python3" $final_path/$appname/$FORKNAME-bin ; then
python3 -m venv venv
venv/bin/pip3 install --upgrade pip
venv/bin/pip3 install wheel
venv/bin/pip3 install -r $appname/requirements.txt
else
virtualenv venv
venv/bin/pip3 install --upgrade pip
venv/bin/pip install wheel
venv/bin/pip install -r $appname/requirements.txt
fi
ynh_secure_remove --file="$final_path/.cargo"
ynh_secure_remove --file="$final_path/.rustup"
popd
#=================================================

View file

@ -100,6 +100,14 @@ ynh_script_progression --message="Upgrading dependencies..."
ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies
#=================================================
# NGINX CONFIGURATION
#=================================================
ynh_script_progression --message="Upgrading NGINX web server configuration..."
# Create a dedicated NGINX config
ynh_add_nginx_config
#=================================================
# SPECIFIC UPGRADE
#=================================================
@ -107,10 +115,10 @@ ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies
#=================================================
if [ ${PACKAGE_CHECK_EXEC:-0} -eq 1 ]; then
:
:
else
ynh_script_progression --message="Adding swap..."
ynh_add_swap --size=$swap_needed
ynh_script_progression --message="Adding swap..."
ynh_add_swap --size=$swap_needed
fi
#=================================================
@ -119,26 +127,32 @@ fi
ynh_script_progression --message="Building $app..."
if ! wkhtmltopdf --version | grep "wkhtmltopdf 0.12.4 (with patched qt)"; then
# The debian package has a bug so we deploy a more recent version
if [ -f '../manifest.json' ] ; then
ynh_setup_source /usr/
else
OLD_YNH_CWD=$YNH_CWD
YNH_CWD=$YNH_CWD/../settings/conf
ynh_setup_source /usr/
YNH_CWD=$OLD_YNH_CWD
fi
# The debian package has a bug so we deploy a more recent version
if [ -f '../manifest.json' ] ; then
ynh_setup_source /usr/
else
OLD_YNH_CWD=$YNH_CWD
YNH_CWD=$YNH_CWD/../settings/conf
ynh_setup_source /usr/
YNH_CWD=$OLD_YNH_CWD
fi
fi
pushd $final_path
if grep "python3" $final_path/$appname/$FORKNAME-bin ; then
python3 -m venv venv
venv/bin/pip3 install wheel
venv/bin/pip3 install -r $appname/requirements.txt
else
virtualenv venv
venv/bin/pip install wheel
venv/bin/pip install -r $appname/requirements.txt
fi
RUSTUP_HOME="$final_path/.rustup" CARGO_HOME="$final_path/.cargo" bash -c 'curl -sSf -L https://static.rust-lang.org/rustup.sh | sh -s -- -y --default-toolchain=stable --profile=minimal'
PATH="$PATH:$final_path/.cargo/bin:$final_path/.local/bin:/usr/local/sbin"
if grep "python3" $final_path/$appname/$FORKNAME-bin ; then
python3 -m venv venv
venv/bin/pip3 install --upgrade pip
venv/bin/pip3 install wheel
venv/bin/pip3 install -r $appname/requirements.txt
else
virtualenv venv
venv/bin/pip3 install --upgrade pip
venv/bin/pip install wheel
venv/bin/pip install -r $appname/requirements.txt
fi
ynh_secure_remove --file="$final_path/.cargo"
ynh_secure_remove --file="$final_path/.rustup"
popd
#=================================================