Déployer dans le BazaarDate de publication : 12/08/2009. Date de mise à jour : 01/08/2011.
Par
Harald Fernengel traducteur : Thibaut Cuvelier (Site web) (Blog) Qt Quarterly
Le déploiement d'applications sous Linux peut, quelques fois, être plutôt fastidieux.
En effet, il faut supporter des myriades de distributions et des pléthores de librairies.
Sans doute connaissez-vous un magasin d'ameublement suédois, qui doit faire la même chose.
Voici sa solution : amener les quelques pièces nécessaires à l'utilisateur, et le laisser
les assembler seul. Malheureusement, les instructions d'assemblage pour un logiciel
ne sont pas souvent aussi polyvalentes que celles de Billy l'étagère.
I. L'article original
II. Déploiement sous Linux
III. Divers
I. L'article original
Qt Quarterly est une revue trimestrielle électronique proposée par Nokia à destination des développeurs et
utilisateurs de Qt. Vous pouvez trouver les
versions originales.
Nokia, Qt, Qt Quarterly et leurs logos sont des marques déposées de Nokia Corporation en Finlande
et/ou dans les autres pays. Les autres marques déposées sont détenues par leurs propriétaires respectifs.
Cet article est la traduction de l'article
Deploying to the Bazaar d'Harald Fernengel
paru dans la Qt Quarterly Issue 18.
Cet article est une traduction d'un des tutoriels écrits par Nokia Corporation and/or its subsidiary(-ies)
inclus dans la documentation de Qt, en anglais. Les éventuels problèmes résultant d'une mauvaise traduction ne sont
pas imputables à Nokia.
II. Déploiement sous Linux
Depuis 2004, Trolltech (devenu depuis Nokia) supporte activement la LSB,
Linux Standard Base (base standard de Linux). Cette LSB définit une
ABI, Application Binary Interface (interface binaire pour applications),
qui garantit qu'une application compatible avec la LSB pourra être utilisée sur toutes les
distributions compatibles avec la LSB. Actuellement, la majorité des distributions Linux
sont certifiées LSB ou en passe de l'être.
Qt 3.1 devint une partie intégrante du standard dès la LSB 3.1 (NdT : Qt 4.2 dès la LSB 3.2).
Pour créer des applications compatibles avec la LSB, vous aurez besoin du SDK disponible sur
le site de la Linux Foundation.
Vous devrez, après l'installation, ajouter le répertoire /opt/lsb/bin
à votre variable d'environnement PATH. Ensuite, les projets Qt peuvent être reconstruits
avec les habituels qmake et make.
Désormais, la compilation sera effectuée par lsbc++,
un wrapper de g++ qui s'assurera que seules des fonctions compatibles
avec la LSB sont appelées. L'exécutable ainsi produit s'exécutera sans problème sur tous
les systèmes compatibles avec la LSB, sans que la moindre modification soit apportée
sur le système-client.
Les dernières versions de Qt ne sont que des modules optionnels du standard, qui pourraient devenir
obligatoires dans les versions supérieures. Ceci signifie que, si vous avez besoin d'une version
de Qt supérieure à celle de la LSB, le client devra installer un paquet supplémentaire qui
contient la version de Qt nécessaire. La majorité des distributeurs en proposent. Les outils
d'installation des paquets résoudront sans problème ceci, en résolvant les dépendances.
Si vous n'utilisez pas qmake pour la génération de vos projets, vous
devrez prêter une attention particulière au compilateur utilisé. En effet, pour être sûr
de la compatibilité avec la LSB, il vous faut utiliser lsbc++, et non
g++. Par exemple, avec les GNU Autotools, vous pouvez modifier
les variables d'environnement CC et CXX, respectivement
pour les compilateurs C et C++.
La documentation, disponible sur son site, contient un chapitre dédié au packaging de
votre application. Actuellement, seul le format RPM est supporté pour la création
et l'installation de paquets, ce qui n'est pas sans déplaire aux distributions
basées sur Debian. Il existe l'outil alien qui permet de pallier
la différence de format de paquets. Ce problème devait être fixé pour la LSB 3.2,
sortie en janvier 2008. Les trois années qui la séparent de la 3.1 n'ont pas suffit
à régler le problème, et la 4.0, de novembre de la même année, n'y est pas parvenue,
non plus.
 |
NdT : alien ne fonctionne pas toujours, parce que les formats
RPM et DEB ne sont pas parfaitement compatibles. L'un contient des fonctionnalités
que l'autre n'a pas, et vice versa. Ce qui fait que la conversion n'est
pas toujours possible.
|
 |
NdT : le système est obligé par le standard à pouvoir utiliser les RPM. Cependant,
il n'est jamais précisé que RPM doit impérativement être utilisé par le système,
qui reste libre d'utiliser un autre système de gestion des paquets.
|
La LSB crée, petit à petit, une plateforme pour les vendeurs indépendants de logiciels
(1)
III. Divers
J'adresse ici de chaleureux remerciements à
Baptiste Wicht pour sa relecture !
Au nom de toute l'équipe Qt, j'aimerais adresser le plus grand remerciement à Nokia pour nous avoir
autorisé la traduction de cet article !
(1) |
(ISV, Independent Software Vendor). Trolltech (devenu depuis Nokia) continue de supporter
ce but, pour mieux respecter sa promesse : write once, deploy anywhere
(un seul code pour toutes les plateformes).
|
Copyright ©2006 Harald Fernengel.
Aucune reproduction, même partielle, ne peut être faite
de ce site et de l'ensemble de son contenu : textes, documents, images, etc
sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E
de dommages et intérêts. Cette page est déposée à la SACD.
|