Blog de dada

DevOps, bidouilleur et routard plein de logiciels libres

Archives février 2017

Compiler le client de synchronisation de Nextcloud

Rédigé par dada / 19 février 2017 / 2 commentaires




Voici un billet qui pourra être chouette pour les amateurs de compilation pas trop longue ni très compliquée. Comme contexte, il faut savoir que les développeurs de Nextcloud ne fournissent pas de paquet tout fait pour leur client de synchronisation. La raison ? Le trop grand nombre de distributions, le temps de travail et, sans doute, la compatibilité du client d'ownCloud.
M'enfin, si vous avez envie de profiter de votre instance avec le bon nom et le bon logo, voici les quelques étapes à suivre :

On installe les outils de base :
apt-get install git cmake
 On récupère les sources du client depuis le dépôt officiel :
git clone https://github.com/nextcloud/client_theming.git
On se place dans le répertoire de travail :
cd client_theming
 On met à jour les modules présents dans les sources :
git submodule update --init --recursive
 On récupère les dépendances facilement en s'appuyant sur ce qui est déjà fait avec le client ownCloud. Pourquoi ? Tout simplement parce que les bases sont les mêmes !
apt-get build-dep owncloud-client 
C'est à partir de là qu'on prépare la compilation :
mkdir build-linux
cd build-linux
cmake -D OEM_THEME_DIR=`pwd`/../nextcloudtheme ../client
Voici le retour que vous devriez avoir si la préparation de la compilation se passe bien :
dada@dada-desktop:~/work/nextcloud/client_theming/build-linux$ cmake -D OEM_THEME_DIR=`pwd`/../nextcloudtheme ../client
-- Build of crashreporter disabled.
-- GIT_SHA1 eaeed08544d1d7f4031d28a8e1bd9dd5e08a60fd
-- Could NOT find INOTIFY (missing:  INOTIFY_LIBRARY_DIR)
-- Could NOT find Sphinx (missing:  SPHINX_EXECUTABLE)
-- Could NOT find PdfLatex (missing:  PDFLATEX_EXECUTABLE)
-- Found SQLite3: /usr/lib/x86_64-linux-gnu/libsqlite3.so (Required is at least version "3.8.0")
CMake Warning (dev) at cmake/modules/CheckPrototypeDefinition.cmake:43 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.

  Quoted variables like "HAVE_ICONV_CONST" will no longer be dereferenced
  when the policy is set to NEW.  Since the policy is not set the OLD
  behavior will be used.
Call Stack (most recent call first):
  cmake/modules/FindIconv.cmake:55 (check_prototype_definition)
  csync/CMakeLists.txt:22 (find_package)
This warning is for project developers.  Use -Wno-dev to suppress it.

-- Found SQLite3: /usr/lib/x86_64-linux-gnu/libsqlite3.so;/usr/lib/x86_64-linux-gnu/libsqlite3.so (Required is at least version "3.8.0")
-- Found Qt5 core, checking for further dependencies...
-- Using Qt 5!
-- Found Qt5Keychain: /usr/lib/x86_64-linux-gnu/libqt5keychain.so  
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
CMake Warning at shell_integration/CMakeLists.txt:11 (find_package):
  By not providing "FindKF5.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "KF5", but
  CMake did not find one.

  Could not find a package configuration file provided by "KF5" (requested
  version 5.16) with any of the following names:

    KF5Config.cmake
    kf5-config.cmake

  Add the installation prefix of "KF5" to CMAKE_PREFIX_PATH or set "KF5_DIR"
  to a directory containing one of the above files.  If "KF5" provides a
  separate development package or SDK, be sure it has been installed.

Dolphin plugin disabled: KDE Frameworks 5.16 not found
-- Could NOT find Doxygen (missing:  DOXYGEN_EXECUTABLE)
-- Configuring done
-- Generating done
-- Build files have been written to: /home/dada/work/nextcloud/client_theming/build-linu

A partir de là, vous avez deux choix : installer le client directement après la compilation ou créer un paquet puis l'installer. Personnellement, je préfère la deuxième.

Installation directe :
make && sudo make install 
Création du paquet :
make && checkinstall 
Une fois avoir répondu aux quelques questions que l'outil vous demande, vous aurez un paquet .deb à installer en un clique !

Je vous laisse parcourir la doc de checkinstall, ce super outil !

Vous pouvez maintenant profiter d'un client de synchronisation avec les bonnes couleurs et le bon logo. Hey oui, il n'y a pas encore beaucoup de nouveautés...

Retours du FOSDEM 2017

Rédigé par dada / 10 février 2017 / Aucun commentaire




Trois ans que des membres de diaspora* se déplacent en Belgique pour montrer aux libristes que notre tendre réseau social est toujours vivant, toujours debout.

Déjà 3 ans ! J'ai du mal à me rendre compte du temps qui passe et le FOSDEM fait partie des événements qui me resynchronisent avec la réalité. En 2015, nous étions partis à l'aventure, nous faisons maintenant partie du décor !



Par rapport à l'année dernière, en plus d'allemands, de français, d'un finlandais et d'un suisse, nous avons découvert IRL le russe qui avait décroché les fonds de la campagne de financement participatif pour refondre la fédération et ajouter de quoi jouer dans le core du logiciel : Senya !
Un vrai bon gars qu'on a déjà prévu de revoir. A priori en Finlande mais rien n'est encore arrêté.

Cette troisième édition s'est fait remarquer part la création d'une nouvelle salle de jeu : la Decentralized Room, ou la AW 125 pour les intimes. Remarquée de par sa petite taille et la foule qui voulait s'y engouffrer : 60 places, c'était vraiment trop peu. J'ai malgré tout réussi à y entrer pour encourager et supporter l''ami Fla qui y présentait la conférence suivante :


Le libre, la décentralisation et les consciences politiques qui vont avec (quoi qu'en disent certains) bougent des foules de curieux. Super nouvelle !

Trois jours pendant lesquels nous avons beaucoup parlé, à tel point que Lukas a frôlé l'extinction de voix en plein milieu de l’événement. Il faut dire que les curieux étaient au rendez-vous : on parle de plus de 8 000 visiteurs tout de même ! Des visiteurs dont le discours a évolué : on ne nous demande plus si le projet tourne mais où il en est. Les gens qui viennent nous voir en nous demandant ce qu'est diaspora* sont toujours là mais beaucoup moins nombreux qu'avant. Comme quoi, communiquer, ça paie bien !

Je ne ferai pas l'erreur de lister les gens avec qui j'ai parlé, de peur d'en oublier, mais sachez que j'ai vraiment apprécié chaque discussion et le cours de français autour de la prononciation de Bruxelles ! ;-)

J'ai profité de l'événement pour utiliser ma tablette dans un environnement critique : tenir un stand sans PC, c'est fichtrement gênant mais j'ai quand même pris le pari de ne me servir que de mon Aquaris M10 Ubuntu Edition. Je suis assez content du résultat : pas de panne, pas de comportement vraiment bizarre. Tant mieux, je n'avais pas pris de PC de rechange ! Et c'était plutôt cool de choper ma tablette à pleine main pour faire des démos sous le nez des visiteurs !
Au passage, celle-ci n'est plus disponible à l'achat depuis le site de BQ. Dommage.

Dans les trucs que nous avons utilisé en grandeur nature, je peux rapidement vous parler du tchat de diaspora*. Nous avons tous un pod sur lequel il est activé, coup de bol ! Bon, Telegram resta l'outil principal, certes, mais quand même !

Bref, le FOSDEM, ce lieu de rencontre et d'échange nous a encore permis, podmins, développeurs et simples utilisateurs, de nous retrouver autour de succulentes bières belges et rien que pour ça : Merci !
Par contre, promis, l'année prochaine, je trouverai le temps pour m'organiser un peu mieux pour, au moins, assister à plus d'un talk. #Tristitude

Ah, pour les photos, foncez faire un tour sur votre pod et cherchez le tag #FOSDEM ou #FOSDEM2017.