Comment faire des paquets Gambas
Ce document ne compte pas vous expliquer comment faire des paquets, mais la structure qu'ils doivent suivre.
Gambas
doit être packagé de la façon décrite dans ce document, parce que l'environnement de développement s’appuie sur cette structure quand il crée un paquet d'un projet gambas.
Si une distribution ne suit pas la démarche, alors les paquets générés par l'environnement de développement ne seront pas susceptibles d'être installés, et l'utilisateur sera très mécontent.
Actuellement, toutes les distributions ne font pas des paquets binaires Gambas corrects. Donc, si vous êtes un packager de ces distributions, et si vous lisez ce texte, essayez d'aider Gambas à fonctionner sur votre distribution.
Merci par avance,
Benoît.
SPECIFICATIONS POUR GAMBAS 3
Tenez compte qu’il s’agit d’une version en développent, et donc susceptible de changements à tout moment!
 |
Voici les changement notables de spécifications entre Gambas 3 et Gambas 2 :
- Les composants peuvent maintenant avoir des icônes de contrôle. Ce sont des fichiers PNG qui doivent être installés dans un répertoire $(INSTALL)/share/gambas3/control/$(COMPOSANT), où $( COMPOSANT) est le nom du composant.
- Il n’y a plus de paquetage d’aide.
- Le composant gb.debug n’a plus de paquetage propre. Il est désormais situé dans le paquet runtime.
|
Les paquets binaires Gambas doivent avoir les contenus et noms suivant :
Le paquet runtime
Ce paquet inclut l'interpréteur Gambas nécessaire pour lancer les applications Gambas.
Il contient:
- L'interpréteur : gbx3.
- Le lien symbolique sur gbx3 : gbr3.
- La description interne du composant : gb.component, gb.info et gb.list.
- Les fichiers readme, TODO, etc.
- Le composant gb.debug : gb.debug.info, gb.debug.list, gb.debug.component, gb.debug.so.*, gb.debug.la.
- Le composant gb.eval : gb.eval.info, gb.eval.list, gb.eval.component, gb.eval.so.*, gb.eval.la.
- Le composant gb.draw : gb.draw.info, gb.draw.list, gb.draw.component, gb.draw.so.*, gb.draw.la.
 |
Remarquez que gb.la, gb.so, gb.so.0 et gb.so.0.0.0
n'ont pas besoin d'être distribués. Ce sont des fichiers temporaires utilisés seulement pour générer gb.info et gb.list.
|
Son nom doit être
gambas3-runtime.
 |
Le lien symbolique gbr3 DOIT être dans le PATH, sinon les exécutables ne fonctionneront pas.
|
Le paquet de développement
Ce paquet inclut tous les outils nécessaires pour compiler les projets Gambas sans avoir à installer l'environnement de développement complet.
Il contient:
- Le compilateur : gbc3.
- L'archiviste : gba3.
- L'informateur : gbi3.
Son nom doit être
gambas3-devel.
 |
Dans les distributions Debian, Le paquetage s'appelle gambas3-dev.
|
Le paquet éditeur de script
Ce paquet inclut le programme de script qui permet d'écrire des fichiers script en
Gambas.
Il contient:
- L'éditeur de script : gbs3.gambas.
- Le lien symbolique vers lui : gbs3.
Son nom doit être
gambas3-script.
Il dépend des paquets Gambas suivant:
- gambas3-runtime.
- gambas3-devel.
Ce paquet doit inscrire le type MIME
application/x-gambasscript comme indiqué par le fichier
application-x-gambasscript.xml et l'icône
application-x-gambasscript.png.
 |
Le lien symbolique gbs3 DOIT être dans le PATH, sinon les scripts ne fonctionneront pas.
|
Les paquets des composants
Chaque
composant Gambas doit avoir son propre paquet.
Le paquet d'un
composant contient :
- Les fichiers de bibliothèques partagées: gb.XXX.la, gb.XXX.so, gb.XXX.so.0, gb.XXX.so.0.0.0.
- Le fichier composant : gb.XXX.component.
- Le fichier information : gb.XXX.info et gb.XXX.list.
- parfois une partie écrite en Gambas : gb.XXX.gambas.
...où
gb.XXX est le nom du composant.
Ainsi, le nom d'un paquet composant
DOIT ETRE gambas3-gb-XXX où
gb-XXX est le nom du composant, le point étant remplacé par un signe moins.
Par exemple, le nom du paquet du composant
gb.qt est
gambas3-gb-qt.
Il doit inclure:
- gb.qt4.la
- gb.qt4.so
- gb.qt4.so.0
- gb.qt4.so.0.0.0
- gb.qt4.component
- gb.qt4.gambas
- gb.qt4.info
- gb.qt4.list
Certains composants sont entièrement écrit en Gambas, c'est-à-dire qu’ils n’ont qu’une partie Gambas.
Ces composants sont situés dans le répertoire
comp de l’archive source.
Vous devez suivre les règles précédentes pour ces composants, sauf qu'il n'y a pas de fichier bibliothèques partagées à l'intérieur.
 |
Remarquez que gb.debug, gb.eval et gb.draw n'ont pas leur propre paquet, puisqu’ils sont distribués avec le paquet gambas3-runtime.
|
Le paquet environnement de développement
Ce paquet inclut l'environnement de développement complet de Gambas.
Il contient:
- L'environnement de développement: gambas3.gambas.
- Le lien symbolique vers lui: gambas3.
Il dépend des paquets Gambas suivants :
- gambas3-runtime.
- gambas3-devel.
- Les paquets du composant nécessaires à l’IDE.
- gambas3-gb-db
- gambas3-gb-db-form
- gambas3-gb-desktop
- gambas3-gb-eval-highlight
- gambas3-gb-form
- gambas3-gb-form-dialog
- gambas3-gb-form-mdi
- gambas3-gb-image
- gambas3-gb-image-effect
- gambas3-gb-qt4
- gambas3-gb-qt4-ext
- gambas3-gb-qt4-webkit
- gambas3-gb-settings
Vous
POUVEZ rendre ce paquet dépendant de tous les composants
Gambas, ils sont ainsi tous installés, mais ce n'est pas recommandé.
Son nom doit être
gambas3-ide.
 |
L’IDE s’appuie sur les outils externes suivants :
- L’outil de traduction GNU pour traduire un projet.
- L’outil RPM pour créer des paquets RPM.
- L’outil deb pour la création des paquets DEB.
- Les outils tar & gzip pour créer des archives *.tar.gz.
Vous devez donc ajouter les dépendances envers les paquets qui fournissent ces outils.
Le nom de ces paquets dépend de la distribution.
Par exemple, sur Mandriva, ce sont :
- gettext
- rpm-build
- gzip
- tar
|
Le paquet examples
Ce paquet inclut tous les exemples de projets fournis avec
Gambas.
 |
En construisant le paquet exemples, prenez garde qu’un projet Gambas inclut des fichiers et répertoires cachés.
Ce sont :
- le fichier project.
- le fichier . Startup
- Le répertoire .gambas.
- Le répertoire .lang.
- le fichier .directory.
- le fichier .icon.png.
|
Il dépend des paquets Gambas suivants :
- gambas3-runtime.
- gambas3-ide.
- Tous les composants gambas.
Son nom doit être
gambas3-examples.
Liste des paquets
Voici la liste des paquets à réaliser :
gambas3-devel
gambas3-runtime
gambas3-ide
gambas3-script
gambas3-examples
gambas3-gb-cairo
gambas3-gb-chart
gambas3-gb-compress
gambas3-gb-crypt
gambas3-gb-db
gambas3-gb-db-form
gambas3-gb-db-mysql
gambas3-gb-db-odbc
gambas3-gb-db-postgresql
gambas3-gb-db-sqlite2
gambas3-gb-db-sqlite3
gambas3-gb-desktop
gambas3-gb-dbus
gambas3-gb-eval-highlight
gambas3-gb-form
gambas3-gb-form-dialog
gambas3-gb-form-mdi
gambas3-gb-form-stock
gambas3-gb-gtk
gambas3-gb-gui
gambas3-gb-image
gambas3-gb-image-effect
gambas3-gb-image-imlib
gambas3-gb-image-io
gambas3-gb-mysql
gambas3-gb-net
gambas3-gb-net-curl
gambas3-gb-net-smtp
gambas3-gb-opengl
gambas3-gb-opengl-glu
gambas3-gb-opengl-glsl
gambas3-gb-option
gambas3-gb-pcre
gambas3-gb-pdf
gambas3-gb-qt4
gambas3-gb-qt4-ext
gambas3-gb-qt4-webkit
gambas3-gb-qt4-opengl
gambas3-gb-report
gambas3-gb-sdl
gambas3-gb-sdl-sound
gambas3-gb-settings
gambas3-gb-signal
gambas3-gb-v4l
gambas3-gb-vb
gambas3-gb-xml
gambas3-gb-xml-rpc
gambas3-gb-xml-xslt
gambas3-gb-web
 |
Vous devez avoir un paquet gambas3-debug pour enregistrer les informations de débogage de tous les paquets précédents.
|
SPECIFICATIONS POUR GAMBAS 2.0
Les spécifications ressemblent aux anciennes, excepté que les fichiers
lib.XXX.component sont renommés en
XXX.component, et que maintenant un
composant peut avoir une partie écrite en Gambas.
Les paquets binaires Gambas doivent avoir les contenus et noms suivant:
Le paquet runtime
Ce paquet inclut l'interpréteur Gambas qui est nécessaire pour lancer des applications Gambas.
Il contient:
- L'interpréteur: gbx2.
- Le lien symbolique sur gbx2= : gbr2.
- La description interne de composant : gb.composant, gb.info et gb.list.
- Les fichiers README, TODO, etc.
- Le composant gb.debug : gb.debug.info, gb.debug.list, gb.debug.component, gb.debug.so.*, gb.debug.la.
- Le composant gb.eval : gb.eval.info, gb.eval.list, gb.eval.component, gb.eval.so.*, gb.eval.la.
- Le composant gb.draw : gb.draw.info, gb.draw.list, gb.draw.component, gb.draw.so.*, gb.draw.la.
 |
Remarquez que gb.la, gb.so, gb.so.0 et gb.so.0.0.0
n'ont pas besoin d'être distribués. Ce sont des fichiers temporaires utilisés seulement pour générer gb.info et gb.list.
|
Son nom doit être
gambas2-runtime.
 |
Le lien symbolique gbr2 DOIT être dans le PATH, sinon les exécutables ne fonctionneront pas.
|
Le paquet de développement
Ce paquet inclut tous les outils nécessaires pour compiler les projets Gambas sans avoir à installer l'environnement de développement complet.
Il contient:
- Le compilateur : gbc2.
- L'archiviste : gba2.
- L'informateur : gbi2.
Son nom doit être
gambas2-devel.
Le paquet éditeur de script
Ce paquet inclut le programme de script qui permet d'écrire des fichiers script en
Gambas.
Il contient:
- L'éditeur de script : gbs2.gambas.
- Le lien symbolique sur lui : gbx2.
Son nom doit être
gambas2-script.
Il dépend des paquets Gambas suivant:
- gambas2-runtime.
- gambas2-devel.
Ce paquet doit inscrire le type MIME
application/x-gambasscript comme indiqué par le fichier
application-x-gambasscript.xml et l'icône
application-x-gambasscript.png.
 |
Le lien symbolique gbs2 DOIT être dans le PATH, sinon les scripts ne fonctionneront pas.
|
Les paquets des composants
Chaque
composant Gambas doit avoir son propre paquet.
Le paquet d'un
composant contient:
- Les fichiers de bibliothèques partagées : gb.XXX.la, gb.XXX.so, gb.XXX.so.0, gb.XXX.so.0.0.0.
- Le fichier composant : gb.XXX.component.
- Le fichier information: gb.XXX.info et gb.XXX.list.
- parfois une partie écrite en Gambas : gb.XXX.gambas.
...où
gb.XXX est le nom du composant.
Ainsi, le nom d'un paquet composant
DOIT ETRE gambas2-gb-XXX où
gb-XXX est le nom du composant, le point étant remplacé par un signe moins.
Par exemple, le nom du paquet du composant
gb.qt est
gambas2-gb-qt.
Il doit inclure :
- gb.qt.la
- gb.qt.so
- gb.qt.so.0
- gb.qt.so.0.0.0
- gb.qt.component
- gb.qt.gambas
- gb.qt.info
- gb.qt.list
Certains composants sont entièrement écrit en Gambas, c'est-à-dire qu’ils n’ont qu’une partie Gambas.
Ces composants sont situés dans le répertoire
comp de l’archive source.
Vous devez suivre les règles précédentes pour ces composants, sauf qu'il n'y a pas de fichier bibliothèques partagées à l'intérieur.
 |
Remarquez que gb.debug, gb.eval et gb.draw n'ont pas leur propre paquet, puisqu’ils sont distribués avec le paquet gambas2-runtime.
|
Le paquet environnement de développement
Ce paquet inclut l'environnement de développement Gambas en entier, avec le gestionnaire de base de données et les fichiers d'aides.
Il contient :
- L'environnement de développement: gambas2.gambas.
- Le lien symbolique vers lui : gambas2.
- Le gestionnaire de base de données : gambas-database-manager.gambas.
Il dépend des paquets Gambas suivants :
- gambas2-runtime.
- gambas2-devel.
- Les paquets des composants nécessaires à l’IDE et au gestionnaire de données.
Vous
POUVEZ rendre ce paquet dépendant de tous les composants
Gambas, pour qu’ils soient tous installés, mais ce n’est pas recommandé.
Son nom doit être
gambas2-ide.
 |
L’IDE s’appuie sur les outils externes suivants :
- L’outil de traduction GNU pour traduire un projet.
- L’outil RPM pour créer des paquets RPM.
- Les outils tar & gzip pour créer des archives *.tar.gz.
Vous devez donc ajouter les dépendances avec les paquets qui fournissent ces outils. Le nom de ces paquets dépend de la distribution.
Par exemple, sur Mandriva, ce sont :
- gettext
- rpm-build
- gzip
- tar
|
Le paquet exemples
Ce paquet inclut tous les exemples de projets fournis avec
Gambas.
 |
En construisant le paquet exemples, prenez garde qu’un projet Gambas inclut des fichiers et répertoires cachés.
Ce sont :
- le fichier .project.
- Le répertoire .gambas.
- Le répertoire .lang.
- le fichier .directory.
- le fichier .icon.png.
|
Il dépend des paquets Gambas suivants :
- gambas2-runtime.
- gambas2-ide.
- Tous les composants gambas.
Son nom doit être
gambas2-examples.
Le paquet d’aide
Ce paquet inclut les fichiers d’aide générés à partir du wiki situé à
http://gambasdoc.org.
Ils sont installés dans le répertoire
$(INSTALL)/share/gambas2/help, où
$(INSTALL) doit être remplacé par le répertoire d’installation de
Gambas.
Le contenu de ce paquet est le suivant :
- Le répertoire help.
- Les liens symboliques image et img.
- Le répertoire tree.
- le fichier background.png.
- le fichier style.css.
Tous les autres fichiers ne sont pas nécessaires.
Ce paquet dépend du paquet
gambas2-ide.
Son nom doit être
gambas2-help.
Package list
Voici la liste de tous les paquets qui doivent être faits :
gambas2-devel gambas2-examples gambas2-gb-chart gambas2-gb-compress gambas2-gb-crypt gambas2-gb-db gambas2-gb-db-firebird gambas2-gb-db-form gambas2-gb-db-mysql gambas2-gb-db-odbc gambas2-gb-db-postgresql gambas2-gb-db-sqlite2 gambas2-gb-db-sqlite3 gambas2-gb-desktop gambas2-gb-form gambas2-gb-form-dialog gambas2-gb-form-mdi gambas2-gb-gtk gambas2-gb-gui gambas2-gb-image gambas2-gb-info gambas2-gb-net gambas2-gb-net-curl gambas2-gb-net-smtp gambas2-gb-opengl gambas2-gb-option gambas2-gb-pcre gambas2-gb-pdf gambas2-gb-qt gambas2-gb-qt-ext gambas2-gb-qt-kde gambas2-gb-qt-kde-html gambas2-gb-qt-opengl gambas2-gb-report gambas2-gb-sdl gambas2-gb-sdl-sound gambas2-gb-settings gambas2-gb-v4l gambas2-gb-vb gambas2-gb-web gambas2-gb-xml gambas2-gb-xml-rpc gambas2-gb-xml-xslt gambas2-help gambas2-ide gambas2-runtime gambas2-script
 |
Vous pouvez avoir un paquet gambas2-debug pour recueillir les informations de débogage de tous les paquets précédents.
|