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:
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-2.0.2.tar.gz.
Décompressez la bibliothèque en tapant la commande:
tar -xzf mlv-2.0.2.tar.gz
Il est très important de réaliser les opérations qui vont suivre à partir du dossier mlv-2.0.2 issu de la décompression du fichier mlv-2.0.2.tar.gz. Si vous le faite à partir du dossier du dépot git de MLV, cela ne fonctionnera pas.
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-2.0.2 ./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 cela, 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.
Vous pouvez aussi importer une clé privée que vous avez déjà créé préalablement. Il suffit de taper, à la place de la commande, la ligne suivante :
gpg --import FICHIER_CLE_PRIVEE
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 -k XXX
où XXX est l'id de votre clé. Dans mon exemple, XXX=A4812E81.
Si tout c'est bien passé, deux paquets ont été créés :
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 rpm-sign 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 .fc22 %fedora 22
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 generer une clé gpg:
gpg --gen-key
Répondez aux questions. Si vous ne savez pas quoi répondre, choisissez les réponses par default.
Vous pouvez aussi importer une clé privée que vous avez déjà créée préalablement. Il suffit de taper, à la place de la précédente commande, la ligne suivante :
gpg --import FICHIER_CLE_PRIVEE
Vérifier que la clé est dans votre liste de clés en tapant :
gpg --list-key
Vous devriez obtenir l'affichage suivant :
/home/boussica/.gnupg/pubring.gpg --------------------------------- pub 4096R/E594D293 2014-02-25 [expire : 2014-02-28] uid Adrien Boussicault (mlv-2.0.2 key) <boussica@labri.fr> sub 4096R/4B3F1834 2014-02-25 [expire : 2014-02-28]
L'identifiant de la clé est ici E594D293
Modifiez le fichier .rpmmacros
pour indiquer l'emplacement des clés crées et le nom qui a été utilisé lors de la création de la clé :
%_signature gpg %_gpg_name Votre Nom %_gpg_path %(echo $HOME)/.gnupg
Exporter la clé publique afin de la comuniquer aux utilisateurs
gpg2 --export --armor IDENTIFIANT_CLE > RPM-GPG-KEY-Votre_nom
où identifiant clé est l'identifiant précédent.
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-2.0.2.tar.gz.
Décompressez la bibliothèque et copiez les fichiers suivants:
tar -xzf mlv-2.0.2.tar.gz
Configurez la bibliothèque pour générer les scripts permettant de créer les paquets pour fedora.
cd mlv-2.0.2 ./configure cd ..
Installer la bibliothèque et les script dans le dossier qui construira le paquet pour fedora.
cp mlv-2.0.2.tar.gz rpmbuild/SOURCES cp mlv-2.0.2/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
Si vous utilisez une fedora 32 bits, le processus a créé quatres paquets rpm :
Si vous utilisez une fedora 64 bits, le processus a créé quatres paquets rpm :
Il ne vous reste plus qu'à signer les paquets pour garantir leurs intégrités. Pour cela, tapez les commandes suivantes (pour une fedora 64 bits):
cd ~ rpmsign --addsign rpmbuild/RPMS/x86_64/mlv-2.0.2-0.fc22.x86_64.rpm rpmsign --addsign rpmbuild/RPMS/x86_64/mlv-devel-2.0.2-0.fc22.x86_64.rpm rpmsign --addsign rpmbuild/RPMS/x86_64/mlv-static-2.0.2-0.fc22.x86_64.rpm rpmsign --addsign rpmbuild/SRPMS/mlv-2.0.2-0.fc22.src.rpm
La clé utilisé pour la signature est celle qui a pour nom, le nom du champ _gpg_name
dans le fichier .rpmmacros
.
Les paquets RPM pour fedora sont enfin prêt. Vous pouvez maintenant les tester en suivant la procédure d'installation présente à la page : Fedora .