| Prochaine révision | Révision précédente |
| projets:libreoffice [2018/01/14 23:44] – Création root | projets:libreoffice [2023/06/12 14:21] (Version actuelle) – [Limitation générale] : mise à jour root |
|---|
| [[https://fr.libreoffice.org/about-us/source-code/|Code Source]], {{ :projets:libreoffice:code_source_communaute_libreoffice_francophone.mhtml |Archive}} | [[https://fr.libreoffice.org/about-us/source-code/|Code Source]] {{ :projets:libreoffice:code_source_communaute_libreoffice_francophone_2019-12-16_21_49_11_.html |Archive le 16/12/2019}} |
| |
| <code bash> | <code bash> |
| Configurer ''logerrit'' : | Configurer ''logerrit'' : |
| |
| [[https://wiki.documentfoundation.org/Development/gerrit|Development/gerrit]], {{ :projets:libreoffice:development_gerrit_the_document_foundation_wiki.mhtml |Archive}} | [[https://wiki.documentfoundation.org/Development/gerrit|Development/gerrit]] {{ :projets:libreoffice:development_gerrit_the_document_foundation_wiki_2019-12-16_21_49_20_.html |Archive du 28/02/2019 le 16/12/2019}} |
| |
| [[https://wiki.documentfoundation.org/Development/gerrit/setup|Development/gerrit/setup]], {{ :projets:libreoffice:development_gerrit_setup_the_document_foundation_wiki.mhtml |Archive}} | [[https://wiki.documentfoundation.org/Development/gerrit/setup|Development/gerrit/setup]] {{ :projets:libreoffice:development_gerrit_setup_the_document_foundation_wiki_2019-12-16_21_49_26_.html |Archive du 24/09/2019 le 16/12/2019}} |
| |
| Fichier ''~/.ssh/config'' | Fichier ''~/.ssh/config'' |
| git config remote.origin.pushurl ssh://logerrit/core | git config remote.origin.pushurl ssh://logerrit/core |
| </code> | </code> |
| | |
| | * Pousser un patch |
| | |
| | <code> |
| | ./logerrit submit master |
| | </code> |
| | |
| | * Pour pousser une modification à un patch |
| | |
| | Gerrit s'y retrouvera grâce à l'ID dans le message du commit lors du premier ''./logerrit submit master'' |
| | |
| | <code> |
| | git commit --amend |
| | ./logerrit submit master |
| | </code> |
| | |
| | ====configure==== |
| | <WRAP center round important 60%> |
| | ''-DU_DISABLE_RENAMING=1'' n'est nécessaire que pour une gentoo qui compile icu avec cette option. Car même si LibreOffice embarque toutes les librairies, si la libxml2 du système est compilée avec une dépendance à icu, il va y avoir des erreurs de symboles indéfinis. |
| | </WRAP> |
| | |
| | <code bash> |
| | CFLAGS="-DU_DISABLE_RENAMING=1 -g -pipe -march=native -fno-omit-frame-pointer" CXXFLAGS="-DU_DISABLE_RENAMING=1 -g -pipe -march=native -fno-omit-frame-pointer" LDFLAGS="-Wl,--as-needed -Wl,-O0" ./autogen.sh --without-junit --with-jdk-home=/opt/openjdk-bin-11 |
| | </code> |
| | Pour ne pas masquer les lignes de code exécutées, ajouter avant make |
| | <code bash> |
| | verbose=yes make build-nocheck |
| | </code> |
| | |
| | =====Compilation===== |
| | |
| | ====Android==== |
| | |
| | |
| | ===Cross-compiler depuis Ubuntu=== |
| | |
| | * Installer le [[ide:android_studio:installation|SDK Android]]. |
| | |
| | * Télécharger les sources |
| | |
| | <code bash> |
| | sudo apt-get install git |
| | </code> |
| | |
| | <code bash> |
| | git clone git://gerrit.libreoffice.org/core libreoffice |
| | git clone git://anongit.freedesktop.org/libreoffice/core libreoffice |
| | git clone http://anongit.freedesktop.org/git/libreoffice/core.git libreoffice |
| | cd libreoffice |
| | </code> |
| | |
| | * Installer les dépendances |
| | |
| | <code bash> |
| | sudo apt install gperf openjdk-18-jdk libxslt1-dev xsltproc libxml2-utils flex bison ant nasm |
| | </code> |
| | |
| | * Configurer la compilation |
| | |
| | Créer le fichier ''autogen.input'' |
| | |
| | <code> |
| | --with-distro=LibreOfficeAndroid |
| | --with-android-sdk=~/Android/Sdk |
| | --with-android-ndk=~/Android/Sdk/ndk/25.2.9519653 |
| | </code> |
| | |
| | puis exécuter |
| | |
| | <code bash> |
| | autogen.sh |
| | </code> |
| | |
| | et |
| | |
| | <code bash> |
| | make |
| | </code> |
| | |
| | Pas besoin de préciser ''-jXX'', le make s'en occupera. |
| | |
| | ===Compiler sous Gentoo=== |
| | |
| | C'est la même chose sauf les éléments ci-dessous. |
| | |
| | ''icu'' système est compilé avec ''U_DISABLE_RENAMING=1''. |
| | |
| | <code bash> |
| | CFLAGS="$CFLAGS -DU_DISABLE_RENAMING=1" CXXFLAGS="$CXXFLAGS -DU_DISABLE_RENAMING=1" LDFLAGS="$LDFLAGS -Wl,--as-needed" ./autogen.sh |
| | </code> |
| | |
| | ===Limitation générale=== |
| | |
| | Limitation à JDK 18 pour compiler l'application java sous Android avec gradle 7.5. Mais en forçant l'utilisation de gradle 7.6 dans ''android/source/gradle/wrapper/gradle-wrapper.properties'', ça passe. |
| | |
| | =====Bugs===== |
| | |
| | ====Debug==== |
| | |
| | Pour lancer l'application depuis le PC pour déboguer l'application depuis Android-Studio : |
| | |
| | <code bash> |
| | adb shell am start -D -n "org.example.libreoffice/org.libreoffice.ui.LibreOfficeUIActivity" |
| | </code> |
| | |
| | ====Gerrit==== |
| | |
| | Ambiance... |
| | |
| | <blockquote>So you deliberately broke master again?<cite>[[https://gerrit.libreoffice.org/c/core/+/83724/]] {{ :projets:libreoffice:revert_fix_9d63592d530e9ad5ab2d6aee0aba5bc0c117aae3_i764a2a29_gerrit_code_review_2020-06-11_9_19_19_pm_.html |Archive du 26/11/2019 le 11/06/2020}}</cite></blockquote> |