Build Domoticz from source

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
toyoco
Messages : 5
Inscription : 23 févr. 2020, 15:27

Build Domoticz from source

Message par toyoco »

Hello,

Avez-vous déjà compilé une ancienne release de Domoticz via la procédure officielle: https://www.domoticz.com/wiki/Build_Dom ... rom_source ?

Lien vers les release: https://github.com/domoticz/domoticz/releases/

Je bloque à l'étape For the first time, you need to checkout the source from GitHub onto your system: git clone https://github.com/domoticz/domoticz.git dev-domoticz , celle-ci install par défaut la dernière version stable,
J'aimerai compiler la release 2022.2 mais je ne sais pas quel lien github il faut utiliser ?

Je vous remercie d'avance
T.o.y.o
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Build Domoticz from source

Message par Keros »

Bonjour toyoco et bienvenu sur le forum :)

Je viens de déplacer ton sujet dans la section générale.

Tu as vraiment besoin de recompiler DomoticZ. Le retour à une version précédente n'est pas suffisante ?
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
toyoco
Messages : 5
Inscription : 23 févr. 2020, 15:27

Re: Build Domoticz from source

Message par toyoco »

Bonjour Keros,

Oui j'aimerai compiler une ancienne version, le procédure "Build Domoticz from source" fonctionne sauf qu'elle compile forcément la dernière release ;-(
Je ne comprends pas comment faire un git d'une ancienne version avec ces sources : https://github.com/domoticz/domoticz/releases

Sinon, ou trouver les anciennes releases en format domoticz_linux_armv7l.tgz ? car dans les sources https://github.com/domoticz/domoticz/releases il manque l'exécutable "domoticz" !
boum
Messages : 233
Inscription : 18 janv. 2019, 11:34
Localisation : France

Re: Build Domoticz from source

Message par boum »

Tu avais fait la moitié du chemin. Depuis la page des releases, en cliquant sur la 2022.2: https://github.com/domoticz/domoticz/re ... tag/2022.2
Je pense qu'on doit pouvoir utiliser le tag directement avec git, sinon il faut utiliser le SHA sur cette page :

Code : Tout sélectionner

git clone https://github.com/domoticz/domoticz.git dev-domoticz
cd dev-domoticz
git reset --hard eea9db7
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
toyoco
Messages : 5
Inscription : 23 févr. 2020, 15:27

Re: Build Domoticz from source

Message par toyoco »

Merci, je viens de suivre la procédure

pi@raspberrypi:~/dev-domoticz $ git reset --hard eea9db7
HEAD is now at eea9db734 Merge pull request #5391 from domoticz/2022.2-dp

en effet avec le tag eea9db7 je cible la release 2022.2 :-)

Après ça , je ne sais pas comment continuer le build ?

Edit: je suis nul!!! sûrement avec
git pull
cmake -DCMAKE_BUILD_TYPE=Release CMakeLists.txt
make

je vais essayer ce de suite!
boum
Messages : 233
Inscription : 18 janv. 2019, 11:34
Localisation : France

Re: Build Domoticz from source

Message par boum »

oui, voilà, il faut suivre la procédure du wiki après le git pull.

La seule manip pour changer de version est de faire le `git reset` (ou `git checkout`) après le `git pull`.

Le pull récupère les données depuis github. Il est inutile après un clone qui fais la même chose en plus d'initialiser le dépôt.
Le reset permet de remplacer la copie locale par une version spécifique. Dans ce cas spécifique où il n'y a aucune modification locale, un checkout ou switch serait équivalent.
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
toyoco
Messages : 5
Inscription : 23 févr. 2020, 15:27

Re: Build Domoticz from source

Message par toyoco »

Mille merci !!! Ça fonctionne à merveille 🤩

J'ai ensuite juste déplacé le dossier domoticz-dev vers home/pi/domoticz puis bingo!
Je suis vraiment une quiche en GitHub!
domo2022.png
domo2022.png (56.72 Kio) Consulté 694 fois
Plus qu'a mettre l'archive de coté, Au cas où ;-)
Rpx
Messages : 136
Inscription : 07 mars 2018, 00:01

Re: Build Domoticz from source

Message par Rpx »

Salut à toutes et tous.
@toyoco
Je suis vraiment une quiche en GitHub!
Histoire de rassurer, je pense qu' on doit être assez nombreux! D' ailleurs, à quelques jours près je posais la même question.

Pour ma part, j'en était au même point git clone et compilation de la dernière version 2023.1 .
@ boum
Je pense qu'on doit pouvoir utiliser le tag directement avec git,
Grand merci @boum pour la commande git, le tag est sur chaque page de version ("release")

Mon objectif est un peu différent, mais tout ça va m'être très utile.
Voilà, je suis depuis 2018 sur un raspi 1B+ passé en 3B cette année.
Avec Raspbian Jessie et domoticz 4.97 donc ma base sqlite a 5 ans d'historique et je désire la conserver.
D'après ce que je comprends, impossible de passer directement de 4.97 en 2023.1, il faut passer par toutes les versions intermédiaires, soit:

Version ____ Tag
4.9700 ____ 2772d9f
4.10659 ___ 785c6b1
4.10717 ____ be79a17
2020.1 _____ 63fa969
2020.2 ____ aad6500
2021.1 _____ 037a429
2022.1 ____ c952685
2022.2 ____ eea9db7
2023.1 ____ 79a3538

Donc compiler tous les Domoticz et migrer à chaque fois la base ... exact ?

Un détail, il est mentionné que compiler Domoticz sous Raspi est très long.
@toyoco
Quel RaspberryPi a été utilisé pour la compilation de la 2022.2 et combien de temps a-t-elle duré ?

On peut compiler Domoticz en ArmV7, Intel32bits ou Amd64 sur ces trois environnements, la base sqlite est-elle la même?
Et cette base est-elle interchangeable entre les trois environnements ?

Si je prends ma base sqlite 4.97 Jessie ArmV7 sur un PC Amd64 Bullseye, va-t-elle fonctionner ?
Je pourrai alors compiler tous les domoticz sur ce PC (plus rapide que sous RaspberryPi) jusqu'à 2023.1 et migrer à chaque fois la base.
Et enfin replacer cette base sur un raspberrypi 3B Raspbian Bullseye 32bit ...
À votre avis, je rêve ?

Sinon, GCC10 peut faire une compilation croisée (cross-compilation) pour Arm, à condition sûrement de savoir s'en servir ...
Est-il envisageable de cross-compiler pour Arm 32bits sur un PC Amd64 Bullseye ?
Et comment ?

Et encore merci @toyoco et @ boum.

Cordialement.
Rpx.
boum
Messages : 233
Inscription : 18 janv. 2019, 11:34
Localisation : France

Re: Build Domoticz from source

Message par boum »

Avec plaisir. Pour git, on a basculé dessus au boulot, donc maintenant je maitrise. Le plus dur est d'expliquer avec le minimum de commandes pour que ça marche. C'est super facile d'arriver dans des situations tordues avec ce système de contrôle de sources.
Rpx a écrit : Avec Raspbian Jessie et domoticz 4.97 donc ma base sqlite a 5 ans d'historique et je désire la conserver.
D'après ce que je comprends, impossible de passer directement de 4.97 en 2023.1, il faut passer par toutes les versions intermédiaires
Il est peut-être plus risqué de le faire en une seule fois, mais rien ne l'empêche. Au lancement de domoticz, l'application met à jour la base de données. Il part de la version sauvegardée et fait chaque étape de version de la BDD (dans CSQLHelper::OpenDatabase).

À titre personnel, j'étais en 4.9700 pendant longtemps, et j'étais passé directement en 2020.2. J'essaie maintenant de mettre à jour une fois par an, mais pas à toutes les releases. (La suppression d'ozw va peut-être me faire passer en 2023.1 au lieu d'attendre un peu plus).

Je copie l'intégralité du répertoire de domoticz avant de tenter une mise à jour. Si ça carempouille, je rebascule sur l'ancienne version le temps de comprendre plutôt que de rester trop longtemps sans le service qui tourne. (En plus de la copie, je nettoie les anciennes copies de BDD, je targz et j'envoie sur le NAS comme dernière version connue qui marche.)

Donc ça se tente la mise à jour directe. Ou en quelques étapes si certaines difficultés sont connues. Surtout, faire une sauvegarde à chaque fois que tout marche.
Domoticz v2022.2 sur linux-mint / Z-Wave-JS / RFXCom / Zigbee2MQTT
toyoco
Messages : 5
Inscription : 23 févr. 2020, 15:27

Re: Build Domoticz from source

Message par toyoco »

@toyoco
Quel RaspberryPi a été utilisé pour la compilation de la 2022.2 et combien de temps a-t-elle duré ?
Oula, peut être pas loin d'une heure il me semble (sur un PI 4, 4GB), uniquement pour l'exécutable de domoticz, j'ai laissé tourner le pc pour aller vaquer à d'autres occupations....

Personnellement j'ai migré de la release 2023 à 2021 en modifiant simplement la valeur de "DB_Version" (2021.1 -> 148).
Je n'ai pour le moment pas rencontré de problème particulier.

Bon courage pour ta migration.
Répondre