# Documentation de la bibliothèque MLV-0.6.716

- Presentation
- Téléchargement
- Installation
- Compilation
- Exemples
- API
- Liste des fonctions
- bogues
- contacts

# Créer des paquets contenant la bibliothèque MLV pour les distributions Linux

## Sommaire

- Créer des paquets debian
- Créer des paquets fedora

## Créer des paquets debian

Pour pouvoir réaliser les manipulations suivantes, vous devez avoir une machine installée sous debian ou ubuntu. Vous devez aussi avoir installé les paquets suivants:

- doxygen,
- build-essential,
- libsdl-gfx1.2-dev,
- libsdl1.2-dev,
- libsdl-mixer1.2-dev,
- libsdl-ttf2.0-dev,
- libsdl-image1.2-dev,
- libglib2.0-dev,
- libxml2-dev,
- debhelper,
- autotools-dev,
- fakeroot.

Pour cela tapez la commande suivante :

    sudo apt-get install doxygen build-essential libsdl-gfx1.2-dev libsdl1.2-dev
    sudo apt-get install libsdl-mixer1.2-dev libsdl-ttf2.0-dev libsdl-image1.2-dev
    sudo apt-get install libglib2.0-dev libxml2-dev debhelper autotools-dev fakeroot

Pour créer des paquets debian, vous devez commmencer par télécharger la bibliothèque MLV à l'addresse suivante : mlv-0.6.716.tar.gz.

Décompressez la bibliothèque en tapant la commande:

    tar -xzf mlv-0.6.716.tar.gz

Pour créer les paquets debian, vous allez utiliser un script prévu à cet effet. Pour utiliser ce script, il faut commencer par le générer en tapant les commandes suivantes:

    cd mlv-0.6.716
    ./configure

Le script a été généré dans le répertoire packaging/debian/ et il s'appelle script_pkg. Maintenant déplacez-vous dans le répertoire du script en tapant la commande:

    cd packaging/debian

Modifiez le fichier `debian/control` et remplissez correctement le champs :

    Maintainer: Unknow Maintener <unknown.maintenener@univ-mlv.fr>;

Tous les fichiers et scripts sont prêt. Avant de créer les paquets, il faut créer une clé pour signer le paquet. Pour sela, tapez la commande suivante:

    gpg --gen-key

Répondez aux questions. Si vous ne savez pas quoi répondre, choisissez les réponses par default.

Listez les clés que vous possédez en tapant la commande:

    gpg --list-keys

Vous devez obtenir un fichier qui ressemnle à ceci:

    pub   4096R/A4812E81 2012-07-06 [expire: 2014-07-06]
    uid                  Adrien Boussicault (Clé pour les paquets d'installation de MLV) <boussica@labri.fr>
    sub   4096R/CA53E162 2012-07-06 [expire: 2014-07-06]

Vous pouvez enfin créer le paquet en tapant:

    ./script_pkg -kkey-id XXX

où XXXX est l'id de votre clé. Dans mon exemple, XXX=A4812E81.

Si tout c'est bien passé, deux paquets ont été créés :

- libmlv_0.6.716-1_X.deb
- libmlv-dev_0.6.716-1_X.deb dans le répertoire courant, où X vaut i386 ou amd64 selon l'architecture (32 ou 64 bits) de votre ordinateur.

## Créer des paquets fedora

Dans cette partie, nous supposerons que vous possédez d'un ordinateur sur lequel est correctement installée et mise à jour une fedora.

Commencez par installer les différents outils permettant de créer des paquets RPM en installant les paquets suivants:

    su
    yum install rpmdevtools yum-utils
    exit

Nous allons maintenant créer l'environnement de travail. Tapez la commande suivante pour créer les dossiers où seront déposés les différents paquets créés:

    cd ~/
    rpmdev-setuptree

Vérifiez que cette commande a créé les repertoires:

    rpmbuild/
    ├── BUILD
    ├── RPMS
    ├── SOURCES
    ├── SPECS
    └── SRPMS

et le fichier `.rpmmacros`.

Éditez le fichier `.rpmmacros` et ajoutez les champs suivants en prenant soin de les adapter à votre utilisation:

    %vendor                 Votre Nom
    %packager               Plus d'information
    %dist                   .fc13
    %fedora                 13

Les champs `dist` et `fedora` décrivent la distribution et son numero de version.

Nous allons maintenant préparer les outils pour pouvoir signer les paquets créés. Commencez par generez une clé gpg:

    gpg --gen-key

Répondez aux questions. Si vous ne savez pas quoi répondre, choisissez les réponses par default.

Modifiez le fichier `.rpmmacros` pour indiquer l'emplacement des clés crées et quelques informations vous concernant:

    %_signature             gpg
    %_gpg_name              Votre Nom
    %_gpg_path              %(echo $HOME)/.gnupg

Exporter la clé publique afin de la comuniquer aux utilisateurs

    gpg --export --armor > RPM-GPG-KEY-Votre_nom

Commencez par installer tous les programmes et bibliothèques nécessaires pour compiler, installer et créer les paquets rpm de la bibliothèque MLV. Pour cela, tapez la commande suivante:

    su
    yum install SDL-devel SDL_mixer-devel SDL_image-devel libxml2-devel SDL_ttf-devel SDL_gfx-devel glib2-devel doxygen gcc make pkgconfig
    exit

Pour créer les paquets rpm, vous devez commencer par télécharger la bibliothèque MLV à l'addresse suivante : mlv-0.6.716.tar.gz.

Décompressez la bibliothèque et copiez les fichiers suivants:

    tar -xzf mlv-0.6.716.tar.gz

Configurez la bibliothèque pour générer les scripts permettant de créer les paquets pour fedora.

    cd mlv-0.6.716
    ./configure
    cd ..

Installer la bibliothèque et les script dans le dossier qui construira le paquet pour fedora.

    cp mlv-0.6.716.tar.gz rpmbuild/SOURCES
    cp mlv-0.6.716/packaging/fedora/rpmbuild/SPECS/mlv.spec rpmbuild/SPECS

Créez le paquet rpm en tapant les lignes de commandes suivantes:

    cd rpmbuild/SPECS
    rpmbuild -bp mlv.spec
    rpmbuild -bc --short-circuit mlv.spec
    rpmbuild -bi --short-circuit mlv.spec
    rpmbuild -ba mlv.spec

Voilà, le processus a créé quatres paquets rpm :

- RPMS/i386/mlv-0.6.716-0.fc13.i386.rpm
- RPMS/i386/mlv-devel-0.6.716-0.fc13.i386.rpm
- RPMS/i386/mlv-static-0.6.716-0.fc13.i386.rpm
- SRPMS/mlv-0.6.716-0.fc13.src.rpm

Il ne vous reste plus qu'à signer les paquets pour garantir leurs intégrités. Pour cela, tapez les commandes suivantes:

    cd ~
    rpmsign --addsign rpmbuild/RPMS/i386/mlv-0.6.716-0.fc13.i386.rpm
    rpmsign --addsign rpmbuild/RPMS/i386/mlv-devel-0.6.716-0.fc13.i386.rpm
    rpmsign --addsign rpmbuild/RPMS/i386/mlv-static-0.6.716-0.fc13.i386.rpm
    rpmsign --addsign rpmbuild/SRPMS/mlv-0.6.716-0.fc13.src.rpm

Les paquets RPM pour fedora sont enfin prêt.