erplibre/doc/FAQ.fr.md

6.8 KiB

FAQ

Lors de l'exécution

wkthmltopdf TimeoutError

Si vous trouvez ce bogue dans le journal du serveur : odoo.addons.base.models.ir_actions_report: wkhtmltopdf: Exit with code 1 due to network error: TimeoutError

Dans la configuration, technique, allez dans ir.config_parameter (paramètre système) et ajoutez la configuration :

key : report.url
value : http://127.0.0.1:8069

Installation de wkthmltopdf sur Debian 13 et plus

Vous avez besoin de libssl1.1, qui est déprécié.

echo "deb http://security.debian.org/debian-security bullseye-security main" | sudo tee /etc/apt/sources.list.d/bullseye-security.list
sudo apt update
sudo apt install libssl1.1
sudo rm /etc/apt/sources.list.d/bullseye-security.list
sudo apt update

Installation alternative de wkthmltopdf

Si vous ne pouvez pas installer wkhtmltopdf, vous pouvez exécuter un Docker et mettre à jour la configuration, consultez le dépôt https://github.com/acsone/kwkhtmltopdf

Scripts

Rechercher tous les fichiers dupliqués récursivement dans un répertoire donné

find . -type f -printf '%p/ %f\n' | sort -k2 | uniq -f1 --all-repeated=separate

Rechercher tous les répertoires dupliqués récursivement dans un répertoire donné

find . -type d -printf '%p/ %f\n' | sort -k2 | uniq -f1 --all-repeated=separate

Réseau

Afficher tous les ports ouverts

sudo lsof -i -P -n | grep LISTEN

ou

sudo netstat -lpnt | grep LISTEN

ou

sudo ss -lpnt | grep LISTEN

Git

Configuration

Préférez-vous utiliser Vim pour l'édition ?

git config --global core.editor "vim"

Préférez-vous utiliser Meld pour résoudre les conflits ?

git config --global merge.tool meld

Préférez-vous utiliser Meld pour afficher les différences ?

git config --global diff.tool meld
git config --global difftool.prompt false

Appliquer rétroactivement le formatage du code sur des branches existantes

Adaptez cette commande à votre situation, ceci est un exemple :

git rebase --strategy-option=theirs --exec 'cd ../../ && ./script/maintenance/black.sh ./addons/ERPLibre_erplibre_theme_addons/website_snippet_all/ && cd - && git add --all && git commit --amend --no-edit' HEAD~47

Récupérer l'historique complet de git (unshallow)

Par exemple, le dépôt Odoo utilise un clone avec profondeur limitée. Si vous avez besoin du dépôt complet, utilisez cette commande dans le bon répertoire :

git fetch REMOTE --unshallow

Modifier plusieurs commits dans Git pour changer l'auteur

git rebase -i HEAD~4 -x "git commit --amend --author 'Author Name <author.name@mail.com>' --no-edit"

Cherry-pick d'un commit fusionné avec conflit

git cherry-pick -m 1 --strategy-option theirs HASH

git update manifest

Service git-daemon déjà en cours d'exécution, erreur bind ou Erreur fatale : impossible d'allouer des sockets d'écoute sur le port 9418

Cette erreur survient lors de l'arrêt forcé (ctrl+c) d'un script comme ./script/manifest/update_manifest_local_dev.sh

L'erreur dans la console ressemble à Could not bind to 0.0.0.0: Address already in use

pkill -f git-daemon

git-repo

error.GitError fatal bad revision

Exemple :

error.GitError: manifests rev-list (u'^2736dfd46e8a30cf59a9cd6e93d9e56e87021f2a', 'HEAD', '--'): fatal: bad revision 'HEAD'

Avez-vous modifié des fichiers dans .repo ?

Pour réinitialiser les fichiers de votre branche dans .repo :

cd .repo/manifests
git branch -av
> remotes/m/rel/8953/zd552kl/7.1.1-11.40.208                -> origin/rel/8953/zd552kl/7.1.1-11.40.208
> remotes/origin/dev/ze550kl/asus/5.0.0-20150208            11a37fe set dev/ze550kl/asus/5.0.0-20150208
> remotes/origin/rel/8953/zd552kl/7.1.1-11.40.208           2736dfd Remove opencv3 from the manifest
# To reset the "remotes/origin" use the same as "remotes/m"
git reset --hard REF_OF_REMOTES/m
> git reset --hard remotes/origin/rel/8953/zd552kl/7.1.1-11.40.208

fatal: GitCommandError: git command failure

Exemple d'erreur après une installation avec git-repo :

raise GitCommandError(
git_command.GitCommandError: GitCommandError: git command failure
    Project: manifests
    Args: rev-list ^e96a83f03665ecc1b151331776909be32d5e2c7b HEAD --
    Stdout:
None
    Stderr:
fatal: bad revision 'HEAD'
Skipped fetching project manifests (already have persistent ref)
fatal: GitCommandError: git command failure
    Project: manifests
    Args: rev-list ^HEAD c8e64956f188f77abcfa7ff0e764af97162d3071 --
    Stdout:
None
    Stderr:
fatal: bad revision '^HEAD'

Solution : Vérifiez les fichiers dans le répertoire cd .repo/manifests avec la commande git status. Si vous avez des différences en staging, vous pouvez essayer git reset --hard et refaire l'installation.

Si cela ne fonctionne pas, re-clonez le dépôt et faites une installation fraîche.

Installation OSX

Installation Docker

Ce guide fonctionnait dans le passé, mais il est maintenant cassé

echo  "\n--- Installing docker --"
brew install minikube docker docker-compose docker-machine
brew cask install virtualbox
docker-machine create --driver virtualbox default
docker-machine env default
eval "$(docker-machine env default)"

Erreur d'exécution current limit exceeds maximum limit

Lorsque vous obtenez

File "/Users/test/Desktop/ERPLibre/odoo/odoo/service/server.py", line 83, in set_limit_memory_hard
resource.setrlimit(rlimit, (config['limit_memory_hard'], hard))
ValueError: current limit exceeds maximum limit

Ajoutez la ligne à la fin de config.conf

limit_memory_hard = 0

Docker - Liaison de toutes les interfaces docker

Erreur non-overlapping IPv4 address pool

Vous obtenez cette erreur lorsque vous démarrez un docker-compose : ERROR: could not find an available, non-overlapping IPv4 address pool among the defaults to assign to the network

C'est parce que le sous-réseau est limité, vous devez le changer.

Créez un sous-réseau :

docker network create localnetwork --subnet 10.0.1.0/24

Créez un nouveau fichier docker-compose.override.yml à la racine d'ERPLibre, au même niveau que votre docker-compose.yml et remplissez avec :

version: '3'
networks:
    default:
        external:
            name: localnetwork

Limite inotify watches de Pycharm sous Linux

Veuillez lire ceci : https://intellij-support.jetbrains.com/hc/en-us/articles/15268113529362-Inotify-Watches-Limit-Linux

Validez que cela fonctionne :

cat /proc/sys/fs/inotify/max_user_watches

Astuce : lorsque vous exécutez sudo sysctl -p --system, validez l'ordre des processus, un autre processus peut écraser votre nouvelle valeur.

Comment tuer tous les processus de selenium

pkill -f "firefox.*--marionette"