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> |