Mandriva




<< Page précédente

Mandriva RPM Howto - Tâches Préliminaires

Créer l'arborescence nécessaire pour rpm

Pour construire des paquetages, rpm a besoin d'une arborescence spéciale dans le dossier personnel. Cet arbre peut être créé par la commande suivante :

mkdir -p ~/rpm/{BUILD,RPMS/$ARCH,RPMS/noarch,SOURCES,SRPMS,SPECS,tmp}

Note : Remplacer dans ce code $ARCH par l'architecture pour laquelle seront construits ces paquetages ; c'est en général i586, mais ce peut être aussi sparc/alpha/ppc.

warning.gif Il est dangereux de construire des rpm en tant que root, puisque les fichiers binaires sont installés sur le système avant d'être empaquetés, il faut donc toujours construire ses rpm en tant qu'utilisateur normal afin de ne jamais polluer accidentellement son système.

Vérifiez bien que l'arborescence est de la forme :

  • ~/rpm/BUILD dossier où sont construits les sources.
  • ~/rpm/RPMS pour les paquets binaires construits, triés par architecture.
  • ~/rpm/RPMS/i586 pour les paquetages i586.rpm.
  • ~/rpm/RPMS/noarch pour les paquetages noarch.
  • ~/rpm/SOURCES pour les fichiers sources (par exemple monpaquet.tar.bz2 ).
  • ~/rpm/SPECS pour les fameux fichiers spec que nous devons écrire.
  • ~/rpm/SRPMS pour les rpm source une fois construits.
  • ~/rmp/tmp dossier temporaire pour RPM.
Sous /RPMS, les dossiers d'architectures sont indispensables ; s'ils manquent un message d'erreurs'affiche.

Ajouter des fichiers de configuration

Deux fichiers de configuration dans le home utilisateur sont indispensables pour construire des paquetages pour Mandriva Linux :

.rpmrc

buildarchtranslate: i386: i586
buildarchtranslate: i486: i586
buildarchtranslate: i586: i586
buildarchtranslate: i686: i586

.rpmmacros

%_topdir VOTRE_REPERTOIRE_HOME/rpm
%_tmppath VOTRE_REPERTOIRE_HOME/rpm/tmp
%_signature gpg
%_gpg_name  Mandrivalinux
%_gpg_path  ~/.gnupg
%distribution  Mandrivalinux
%vendor  Mandrivasoft

Editez-les pour y inscrire votre nom et votre répertoire.

Attention, ne pas inclure de %optflags : le système d'ensemble le fournit déjà dans /usr/lib/rpm/rpmrc.

De même, ne pas définir %packager quand on reconstruit des paquetages d'autres personnes, pour éviter de placer vos coordonnées dans le champ Packager : en cas de diffusion du RPM, cela redirigerait les rapports de bugs vers vous.

Votre programme RPM est maintenant prêt pour construire des paquetages.

Toutes les opérations précédentes peuvent se faire d'un seul coup en utilisant le script suivant :

#!bin/sh
if [ -f ~/.rpmrc -o -d ~/rpm ]; then
        echo 'Delete any existing setup before running this script'
        exit 1
fi
cd
mkdir rpm
mkdir rpm/BUILD
mkdir rpm/RPMS
mkdir rpm/RPMS/i586
mkdir rpm/RPMS/noarch
mkdir rpm/SOURCES
mkdir rpm/SPECS
mkdir rpm/SRPMS
mkdir rpm/tmp
cat <.rpmrc
buildarchtranslate: i386: i586
buildarchtranslate: i486: i586
buildarchtranslate: i586: i586
buildarchtranslate: i686: i586
END
cat <.rpmmacros
%_topdir                $HOME/rpm
%_tmppath               $HOME/rpm/tmp

%_signature             gpg
%_gpg_name              Mandrakelinux
%_gpg_path              ~/.gnupg

%distribution           Mandriva Linux
%vendor                 Mandriva
END

S'inscrire à des mailing lists

Listes Mandriva (Consultez la page Mailing list sur Mandrivalinux):

Page suivante >>

 


Multilingualism
RSS
RSS

Creator: yoho on 25/06/2005 at 02:12
(c) Mandriva 2007
1.1-SNAPSHOT.1715