Linux keskecè ? Pour faire quoi ? Essayer Linux Bureaux graphiques 2D/3DBlackbox, Enlightenment, Gnome, KDE, WindowMaker, XGL / Compiz / Beryl,... Linux Girls
Comparatifs   Arch Linux   Debian   Dreamlinux   Mandriva   Ubuntu   Sabayon   Yoper live CD/DVDKnoppix, Kaella, Elive, GComprix, TRK, Wolvix, SuperGamer, ... Sur clé USB / iPodBureau portable ~   de Jeux / Gamers ~   localiséesPhaeronix, Arabian Linux, Ehad Linux (ultra)légèresAustrumi, Damn Small Linux, DeliLinux, Toutou, ... ÉducativesAbulÉdu, Edubuntu, GComprix Rescue / sauvetage /  restaurationGParted, PartedMagic, SystemRescue, RIS, TRK Serveur / firewall Liens
Bureautique Éducatif Gravure Graphisme 2/3D Internet / P2P Jeux sous Linux Développement Web Son & Vidéo Outils Gestionnaires de fenêtres   WM : Fluxbox Écrire en Chinois, Japonais, Coréen, Arabe, Russe, ... écrire en japonais Émulation & Virtualisation Apps Windows /Linux
l'Installation l'Administrateur "root" les Utilisateurs Périphériques PC portables Gérer le pingouin l'Affichage graphique le Réseau la Sécurité Installer & configurer les logiciels le Noyau Conclusion
Commandes shell Dameons Partitions FAT & NTFS Sauvegarder Clonage disques Configurer Mandriva RPMdrake uRPMi RPMbuild le Guide de survie sous Linux Centre de contrôle Mandriva Le kernel (noyau) Compiler une application
Acquisition vidéo APNs & webcams Optimiser ses Disques: hdparm Gestion Disques: Raid & LVM Imprimantes & Scanners les NAS sous LinuxNetwork Attached Storage PCs & ultra-portables Pilotes nVidia, nForce, ATI & Intel nVidia ou ATI ? Speedtouch & modems USB Wi-Fi

Pages liées

Mise à jour & installation logiciels : graphique.

Mise à jour & installation logiciels : ligne de commande.

Mettre à jour le noyau

Équivalences logicielles Windows / Linux

'faites quoi sous Linux?

Configurer les applis

Tux PackagesLiens →


fr.wikipediaC quoi un paquetage ?

fr.wikipediaprésentation RPMDrake

fr.wikipediaprésentation uRPMi

wiki: urpmi et
wiki: Master Urpmi

lea-linux
Les commandes urpm
*

www.urpmi.org/fr : Introduction, configurat° & utilisat° d'urpmi

Guide urpmi zebulon.org.uk

Sources URPMi →

Penguin Liberation Front Penguin Liberation Front

Easy urpmi : configuration pour Mandriva avec PLF

Thac's rpm (32 & 64-bit)

rpm.pbone

Autres gestionnaires →

APT, dpkg-deb, alien ~

Synaptic ~

Pacman ~

YUM ~

YaST ~

Guides RPMBuild →

Mandriva RPM HOWTO

Architecture d'un RPM, SPEC, etc

RPM Tutorial

RpmBuildUpdate description

(Liens mis à jour 22/09/2005)

Échange bannières

K> HOWTOS
petite bannière pour placer un lien vers cette page

Bonnes affaires

ebuyclub.com

Actu

Candidats.fr 2008, c'est parti !

Manifestation cyclo-nudiste à Paris le 9 juin 2007

J'aime le Liban - Ouhib Lubnan - I love Lebanon

Bilan des destructions au Liban

Compiler et installer une application sont 2 choses *différentes* ; si vous cherchez comment installer un logiciel voyez la page rpmdrake>>> ou urpmi, merci.

Introduction : Pourquoi compiler un Packetage-source (sRPM) ?

tuxfamily.org a réalisé un guide très complet pour réaliser ses paquets RPM. Plus récent que cette page, je vous le recommande en priorité !

I - Construire un RPM depuis un RPM source (SRPM)

1.1 : Configuration

1.1.1) Les outils :

On présente ici ceux sous Mandriva.

1.1.2) Arborescence rpm & fichiers de configuration

Créer l'arborescence nécessaire pour rpm

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

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

Dans cette ligne, remplacer $ARCH par l'architecture (ou les architectures) pour laquelle (lesquelles) seront construits ces paquetages ; c'est en général i586, mais ce peut être aussi sparc/alpha/ppc ou {i386,i586,athlon}.
Vous aurez donc au final quelque-chose comme celà :

rpm/:

BUILD/ RPMS/ SOURCES/ SPECS/ SRPMS/ tmp/
/RPMS:
athlon/ i386/ i486/ i586/ i686/ noarch/
Les fichiers de configuration "standards" sur mandrake 10 :

RPM est configuré par :

~/.rpmrc :

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

~/.rpmmacros

%_topdir $HOME/rpm
%_tmppath $HOME/rpm/tmp

%_signature gpg
%_gpg_name Mandrakelinux
%_gpg_path ~/.gnupg
%distribution Mandrakelinux
%vendor Mandrakesoft

En remplaçant '$HOME' par votre répertoire personnel.

1.2) Optimiser ou pas, là est la question !

1.2.1) Pas la peine...

...de personnaliser son $HOME/.rpmrc avec les optflags pour le CPU sur lequel on veut installer l'appli !
- Utiliser urpmi avec des sources élargies et mises à jour permet d'avoir de meilleures résultats. Après tout c'est le matériel qu'il faut optimiser.. pas les applis.
- On peut construire un RPM à partir d'un tarball (si il n'existe pas encore de version packagée) pour garder un système propre, entièrement gérable avec urpmi --mais sans "optimisation".
Dans ce cas, créer et utiliser les fichiers de configuration standards et suivre la méthode donnée sur le MandrivaRpmHowTo ci-dessous.

Citation : " Optimization is a fools errand, as everyone knows, and has known for decades. One of the mantras of softare development is - do not optimize. Let the hardware do that. You stick to keeping the bugs out. Somebody else can work on putting them in." (avis de Peter sur alt.os.linux.mandrake).

1.2.2) Ca vaut la peine (et caypodur adjugé! )

Si vous disposez d'un processeur AMD Athlon XP, vous pouvez ne laisser que ce qui suit dans votre $HOME/.rpmrc :

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

1.2.3) Ca vaut la peine (et ça marche pô ok... je sors ! )

- Il faut alors personnaliser son $HOME/.rpmrc avec les optflags pour le CPU visé.
La décision d'optimiser ou non vous appartient : il faut savoir que l'optimisation se fait souvent au détriment de la stabilité... D'où l'intéret de ne modifier que les fichiers de configuration rpm dans $HOME : celà permet de faire quelques tests sans saborder son beau système fraichement installé !
Les liens ci-dessous comportent des exemples d'optimisation. Il en existe peut-etre de plus récents... personnelement je me contente de (re)compiler pour l'architecture "athlon" (Athlon XP).

Sources :
* http://club.mandriva.com/xwiki/bin/view/KB/MandrivaRpmHowTo (lien mis à jour 22/09/05) english
* http://www.obulous.org/index.pl/mandrake_athlon_optimizations english

Pour aller plus loiiîîIIN (çacaypourlé kamikazes )

Tant qu'on y est doit-on recompiler des outils super importants comme binutils, gcc, gettext, glibc, ou les WM (Enlightement...) ? Et le kernel ?

Bah oui, tant qu'à optimiser sa machine pour son matériel, autant commencer par le commencement.

Vous trouverez tous les détails sur ce document : Mandrake à la Gentoo

1.3 : Méthode pas-à-pas

Mettre tel ou tel logiciel à jour en reconstruisant un paquetage binaire :

  1. Télécharger le source rpm (par exemple sur : ftp://ftp.mandrake.redbox.cz/Mandrivalinux/devel/cooker/SRPMS/)
  2. Le "rebuilder" en root :
    rpmbuild --rebuild <non_du_source_rpm>
    Utiliser les FLAGS de compil, ajouter le paramètre --target athlon :
    rpmbuild --rebuild --target athlon <non_du_source_rpm>
  3. Installer le binaire qui se trouve, en principe, dans le répertoire configuré auparavant, du genre $home/src/RPM/RPMS/i586
    Là, 2 possibilités
    a) Soit tu définis dans tes sources urpmi, une source locale que tu mets à jour dès que tu as "rebuildé" : /usr/src/RPM/RPMS/athlon
    b) Soit tu vas dans le rép. et un urpmi * fonctionne tout aussi bien qu'un rpm -U (C'est même mieux si tu as besoin d'une librairie qui n'est pas sur ta machine).
  4. Si le SRPM demande des librairies, fo les installer avant de continuer...

Avantages :
On recompile les sources selon le spec file du source_rpm (les trois phases : configure make make install). Cf man rpmbuild
En plus, les menus sont mis à jours... bref tout ce qui fait que l'on est tranquille.

II - Construire un RPM depuis les sources brutes *.tar.gz

Autrement dit, comment transformer un paquet source *.tar.gz en *.src.rpm ?
Vous avez trouvé un programme interressant sur freshmeat qui vous prévient quand le thé est prêt. Et vous le voulez disponible maintenant pour tous. Téléchargez le et placez l'archive dans le répertoire SOURCES.
Bon, tout s'organise autour du spec file et cela dépend beaucoup de l'arborescence d'une distribution.
Les spec files de Mdk organisent les liens pour les applications ; ils se basent sur le système de menu de Debian pour mettre à jour les menus, etc.

Donc il faut que votre tar.gz contienne un "spec file" qu'il conviendra sans doute de modifier quelque peu.
C'est le moment de te lancer dans l'étude des specfiles pour devenir un contributeur Mandriva.
Ça tombe bien, on est précisemment dans ce cas

Construire un Source RPM depuis les sources brutes

Doc à présent traduit sur club.mandriva.com : "MandrivaRpmHowTo A partir de sources brutes" !
Traduction soigneusement réalisée par des volontaires qui se sont réunis sur une mailing-liste en 2004 (l'union fait la force ;) et plus tard ont reçu l'aprobation de l'équipe Mandriva (Si je me trompe, injuriez-moi sur le forum !)

Compilation avancée

Contenu à venir... Sinon décrit dans les Guides RPMBuilden anglais (menu à droite)