Outils pour utilisateurs

Outils du site


expert:installation_code_sources

Introduction

Les archives sous formes .tar. peuvent être de deux types :

1- Un tout-compris, on décompresse et c'est prêt à partir. On peut voir ça avec des applications Java ou PHP (dotclear par exemple). Dans ce cas le fichier est simplement le répertoire tout emballé. Il suffit de le décompresser, éventuellement le paramétrer et le placer dans un endroit où l'utilisateur peut lire (et parfois écrire).

2- Ce sont les sources du programme.

C'est l'ancien système, celui avant le temps des paquets. Il a pour avantage de pouvoir compiler sur de nombreuses plateformes alors qu'un paquet est limité à quelques plateformes (par exemple: Ubuntu et Debian). Les sources ne sont pas utilisables tel quel : un programmeur peut les analyser mais un ordinateur ne sait pas les exécuter. Il faut transformer les sources en un exécutable, c'est la compilation.

Il y plusieurs moyens pour compiler un programme, et ça dépend du programme. Pour les programmes en Java, Ant est souvent utilisé. Pour les programmes en C et C++, il faut Make. Ant et Make ne sont pas des compilateurs, ce sont des programmes qui aident à la compilation.

Par exemple, sous debian/ubuntu, pour les programmes en C/C++, il vous faut le paquet build-essential. Il comprend, entre autres, Make et GCC. GCC étant le compilateur.

Comment faire ? (Cas général (Sources avec configure et makefile))

  • Télécharger l'archive
$ wget -c http://lieu_ou_se_trouve_le_logiciel/packageXY.tar.gz
  • Décompressez l'archive (man tar pour plus d'informations)
$ tar xvf packageXY.tar.gz
  • Placez-vous dans l'archive
$ cd packageXY/
  • Configuration du package (choix par exemple du répertoire d'installation, ./configure –help vous dévoilera généralement les options utiles et nécessaires).
  • ./configure lance un script qui prépare le terrain, il initialise différents fichiers de configuration en fonction de l'ordinateur utilisé. C'est à ce moment que les grosses options du programme sont choisies. Par exemple : 32 bits ou 64 bits ? Installation dans le répertoire standard ? Si le programme a des dépendances qui ne sont pas gérées. Un message affichera la librairie manquante et le processus échouera.
$ ./configure --prefix=/usr
  • Une fois que la configuration s'est réalisée avec succès, on lance make. Make va faire apparaître plein de messages à l'écran : ce sont les lignes de commandes lancées automatiquement pour la compilation de toutes les parties du programme et la réponse du compilateur. Une compilation d'une grosse application peut prendre des heures. L'option -j permet d'indiquer le nombre de processus à lancer, ce qui peut accélérer les choses pour les possesseurs d'un multiprocesseur/multicoeur.
  • Une fois cette phase terminée, l'application est compilée, prête à être utilisée. Elle est personnalisée : elle a été compilée en tenant compte de vos spécificités. L'installation n'est pas encore terminée car tous les fichiers créés sont encore dans le répertoire local. Si vous faites make clean, tous les fichiers compilés seront effacés et vous pouvez repartir de zéro.
$ make

* Pour installer réellement l'application, un make install fait l'affaire. Il faut le faire en root car, par défaut, il place les fichiers dans les répertoires prévus par les développeurs. Or, ceux-ci ne sont généralement accessibles en écriture qu'à root.

# make install

Note: Une fois installé on peut effacer le fichier téléchargé … sauf que certains programmes gardent des traces nécessaires à une désinstallation propre dans ce fichier (enfin, une fois que le programme est installé uniquement). Donc supprimer les sources, c'est se priver d'un (possible) outil aidant à la désinstallation. Sans lui, il faudra supprimer l'application à la main, le plus proprement possible… ce qui finit toujours par déstabiliser le système.

Alternativement vous pouvez utiliser le programme Checkinstall qui construira un paquet pour votre distribution à partir des sources, facilitant ainsi la réinstallation ou l'installation sur d'autres machines. Checkinstall permettra aussi la prise en compte du logiciel installé par votre gestionnaire de paquet, et donc sa désinstallation avec celui-ci.

Checkinstall est disponible sur les dépôts de nombreuses distributions, dont OpenSuse, Debian, Ubuntu, Slackware… Une fois installé, remplacez la commande “make install” par :

# checkinstall

commande à effectuer en root dans le répertoire des sources.

Inclusion dans le menu (freedesktop)

Veuillez noter que de plus en plus de logiciels respectent ces standard, vous n'aurez peut être rien à faire ;-)

le fichier .desktop

La plupart des gestionnaires de bureau (comme Xfce) respectent les standard freedesktop, il est donc très facile de créer un fichier (packageXY.desktop) qui mettra à jour votre menu.

Vous avez besoin d'être root pour cela.

  • création du fichier qui devra se trouver dans /usr/share/applications
vim /usr/share/applications/packageXY.desktop
  • Contenu du fichier .desktop
[Desktop Entry]
Encoding=UTF-8
Name=nom_du_packageXY
Name[fr]=nom_du_packageXY (francisé au besoin) (optionnel)
Comment=le commentaire en anglais (optionnel)
Comment[fr]=le commentaire en français (optionnel)
Exec=packageXY (le binaire/script pour lancer le package)
Icon=icon_packageXY (sans l'extension (.png), voir plus bas)
Terminal=false
Type=Application
Categories=Application;System; (voir plus bas)
StartupNotify=true
  • Astuces : Si vous placez ce fichier sur votre bureau vous obtiendrez un lanceur avec icône ;-)

l'icône

Si vous souhaitez associer une icône à l'entrée du menu, il est nécessaire que votre icône soit au format .png (format 48×48) ou au format .svg .
Généralement, vous trouverez une icône dans l'archive des sources elle-même, jetez un oeil dans usr/share/pixmaps par exemple.
Cette icône devra être placée dans :

  • /usr/share/icons/hicolor/48×48/apps/ (si png)
  • /usr/share/icons/hicolor/scalable/apps/ (si svg)

La catégorie

Ceci vous aidera à choisir la catégorie adéquate du menu pour votre logiciel :
http://standards.freedesktop.org/menu-spec/latest/apa.html

expert/installation_code_sources.txt · Dernière modification: 2014/05/09 18:56 (modification externe)