Fabrication de package rpm



Documents pareils
Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Mon premier rpm. 7 juin Avant de commencer RPM URPMI RPMBUILD... 2

Linux 1: Présentation

Maintenir Debian GNU/Linux à jour

Chapitre 10 : Logiciels

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

Architecture de la plateforme SBC

Environnements et Outils de Développement Cours 1 Introduction

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Personnes ressources Tice. Académie de Rouen

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Acronis Backup & Recovery 10 Server for Linux. Guide de démarrage rapide

Introduction aux Systèmes et aux Réseaux, Master 2 CCI

Utilisation d'une base de données SQLite avec OpenOffice.org

Systeme d'exploitation

Service Déposant: Procédure d installation. Page 1. Service déposant. Procédure d installation Version 2.3

Manuel de déploiement sous Windows & Linux

Découverte des Logiciels Libres. Gilles Dequen

Installation de DocBook sur un système Linux

Problématique. Techniques générales. Déploiement Windows. Déploiement Linux. Déploiement Mac OS X. Applications Windows. Applications Linux

LINUX REMPLAÇANT WINDOWS NT

Guide pratique de CSPM, l'outil de suivi des performances du système Version française du Complete System Performance Monitor HOWTO

C.M. 1 & 2 : Prise en main de Linux

TD 1 - Installation de système UNIX, partitionnement

[ GLPI et OCS pour Gentoo 2006] ArtisanMicro. Alexandre BALMES

Support de cours. Administrer Linux avec Webmin. 2003, Sébastien Namèche - 1

contact@nqicorp.com - Web :

Créer son premier package.deb. 19 août

HOWTO Installation Administrative SolidWorks Simulation 2009

Tutoriel code::blocks

DOCUMENTATION ADMINISTRATEUR

Fiche d utilisation du logiciel. 1 - Installation. J. Thioulouse & D. Chessel

LINUX - ADMINISTRATION PROGRAMME DE FORMATION

Cahier Technique Envoi par à partir des logiciels V7.00

Projet Administration Réseaux


Guide Pratique: Installation Réseau

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

User Documentation. Documentation utilisateur. version 0.2b

Comment travailler avec les logiciels Open Source

Serveur Subversion Debian GNU/Linux

AFTEC SIO 2. Christophe BOUTHIER Page 1

«Astrophysique et instrumentations associées» Cours UNIX Benoît Semelin

MANUEL UTILISATEUR KIWI BACKUP V 3

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

Environnement Informatique EMSE Linux

contact@nqicorp.com - Web :

Instructions d'installation de IBM SPSS Modeler Server 16 pour UNIX

Acronis Backup Advanced Version 11.5 Update 6

Compilation croisée sous Linux et Windows

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

Environnements de développement (intégrés)

Parallels Transporter Lisez-moi

FORMATION Offre de Formation - Packaging. Les bonnes pratiques du packaging avec Installshield et AdminStudio. Contact et inscriptions

Onglet sécurité de Windows XP Pro et XP Home

La création d un paquet Debian. Aurélien Jarno. Journées du Logiciel Libre. 15 octobre 2005


AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

La Carte d Identité Electronique

[GLPI & OCS Inventory] Yann VANDENBERGHE. AFPA Lomme

Raccordement des machines Windows 7 à SCRIBE

Ce qu'il faut savoir: L'outil de sauvegarde Bacula, peut exploiter 3 moyens différents:

REPUBLIQUE ISLAMIQUE DE MAURITANIE

Comment avoir le logiciel? Le serveur web APACHE peut être téléchargé gratuitement du site web de APACHE:

AxCrypt pour Windows

Premiers pas en Linux

La photo numérique et les logiciels libres. Asie Photos

Installer un système LAMP


Client Kiwi Backup : procédures d'installation et de mise à jour. Gilles Arnoult, Clément Varaldi

GUIDE DE L UTILISATEUR Recoveo Récupérateur de données

TABLE DES MATIERES...

Linux est-il crédible pour le PC familial? Xavier Passot N7 I76 Pour l AI N7 le 11 mars 2010

TP1. Outils Java Eléments de correction

HP Data Protector Express Software - Tutoriel 3. Réalisation de votre première sauvegarde et restauration de disque

Acronis Backup & Recovery 11.5

Sage CRM. 7.2 Guide de Portail Client

Manuel d'utilisation

Situation professionnelle n X

Installation du SLIS 4.1

PROCEDURE D'INSTALLATION OPENREPORTS

PPE GESTION PARC INFORMATIQUE

SOMMAIRE. Chapitre 1 - principe 3 Téléphonique 4 PC/Configuration logicielle 4 PC/Configuration matérielle: 4 Pabx 4

Procédure d installation d AMESim 4.3.0

Plan de la conférence. Virtualization. Définition. Historique. Technique. Abstraction matérielle

Tutoriel Création d une source Cydia et compilation des packages sous Linux

Maarch V1.4

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Guide de l'administrateur Symantec NetBackup Bare Metal Restore

Un serveur web, difficile?

Transcription:

Fabrication de package rpm Ce document est sous licence LGPL voir le site www.gnu.org pour plus de renseignements Vous pouvez redistribuer et modifier ce document selon les termes de la Licence Publique Générale GNU (LGPL) version 2 ou toute autre version ultérieure table des matières pourquoi du rpm p.1 qui est concerné p.2 recherche de packages p.2 refaire un rpm depuis le src.rpm p.3 refaire un rpm depuis le tar.gz contenant un fichier spec p.4 conversion debian/rpm p.4 a partir d'un package installé p.4 modifier un package p.4 transformer un package tar.gz en rpm p.5 utiliser un makefile pour générer un rpm p.6 documentation p.7 pourquoi du rpm avantage des packages: les packages sont faits pour faciliter la vie des administrateurs dans l'administration des logiciels : installation mise a jour désinstallation gestion des conflits gestion des dépendances gestion de la sécurité choix du logiciel rpm concernant le choix du format rpm, Il faut aussi savoir que : le format rpm est utilise par la majorité des distributions linux ( a l'exception notable de debian qui a son propre format) : redhat mandrake suse 1

caldera... le format rpm a été choisi par le Linux Standard Base dans ses préconisations pour standardiser les différentes distributions (et éviter ainsi de reproduire l'éparpillement des unix dans les années 1980) risque des installations de tar.gz Enfin, il est très dangereux de mélanger des installations depuis des rpm et des tar.gz : en effet la gestion des conflits de fichiers se fait par rapport aux autres logiciels installes en rpm et non pas par rapport aux fichiers réellement sur disque! Ansi, rien n'empêche une bibliothèque installée par un package rpm d'être ecrasée par un logiciel en tar.gz, et vice versa (problème bien connu par les utilisateurs de windows avec leurs dll). Donc, si on veut installer un programme a partir d'un format tar.gz, il y a deux solutions propres possibles : le passer au format rpm, puis l'installer "normalement" (conseillé) l'installer sur un répertoire tout a fait distinct du reste des applications (difficile a cause des chemins PATH, MANPATH, LIBPATH...) qui est concerné Parmi les utilisateurs de linux, il y a deux types de personnes qui peuvent être amenées a fabriquer des packages rpm : les développeurs qui veulent diffuser des logiciels "prêt a installer" les administrateurs qui désirent installer des logiciels non fournis par leur distribution sans soucis (voir pourquoi) recherche de packages recherche: la recherche de logiciels peut se faire dans l'ordre : sur une site qui recense les rpm existants : http://fr.rpmfind.net sur une base des projets libres : http://www.freshmeat.net interprétation: la convention de nommage des packages rpm est la suivante : nom version release.architecture.rpm pour son interprétation, voir mon introduction a rpm conseil : 2

pour une diffusion sur internet, a cause des problèmes de portabilité, il faut TOUJOURS mettre également a disposition le fichier src.rpm. C'est ce qui permettra aux utilisateurs d'autres distributions d'utiliser vos packages. refaire un rpm depuis le src.rpm quand on ne trouve pas de rpm tout fait pour sa distribution, le premier réflexe à avoir, c'est d'essayer de le refaire a partir d'un package source. Il y a un inconvénient : c'est qu'il faut pour cela avoir installé au préalable : les packages dits de développements : compilateur (gcc), make, kernel header ou glibc kernheaders... les packages "devel" des bibliothèques utilisées par ce package (exemple : qt devel pour qt) Pour la fabrication proprement dite, c'est très simple : rpm rebuild source_rpm la commande affiche la localisation du fichier généré, qui depend de l'architecture et de la distribution /usr/src/redhat/rpms/architecture sur redhat /usr/src/rpm/rpms/architecture sur mandrake /usr/src/redhat/pkgs/architecture sur suse... remarque : si l'on regarde le contenu d'un fichier src.rpm, par exemple avec le gestionnaire de fichier mc, on voit que celui ci contient : un fichier tar.gz éventuellement des fichiers de patch un fichier de spécifications (.spec), qui contient en fait toutes les informations sur le package (nom, version, url, licence, fichiers contenus...) on peut donc fabriquer également un rpm à partir d'un src.rpm en deux temps : rpm i source_rpm : éclate le fichier src.rpm sur l'arborescence /usr/src/.../ cd /usr/src/.../specs/ rpmbuild bb specfile refaire un rpm depuis le tar.gz contenant un fichier spec Comme le format rpm est de plus en plus répandu, les fichiers tar.gz contenant des fichiers spec sont assez courant. 3

Ils permettent également une fabrication facile de package rpm par une variante de la méthode précédente : rpm tb fichier_tar conversion debian/rpm Les développeurs debian ont fait un outil pour convertir les différents formats de package : alien. Je ne l'ai jamais testé. a partir d'un package installé problème: refaire un fichier rpm a partir un package installe solution comme je n'ai pas trouvé de logiciel, je l'ai écrit, puis mis sur le net : rpmrebuild syntaxe rpm rpmrebuild package modifier un package problème: refaire un fichier rpm contenant des modifications solution il y a plusieurs possibilités : s'il s'agit de modifications personnelles (fichier de configuration), je conseille mon outil rpmrebuild. Il suffit de modifier les fichiers disques désirés et de lancer la commande, pas besoin de modifier le fichier specfile! s'il s'agit de modifications du code, il vaut mieux fabriquer un patch et l'envoyer a l'auteur transformer un package tar.gz en rpm 4

principe: Il va falloir générer un fichier contenant les informations sur le package que l'on veut faire (nom, version...) : c'est le fichier specfile. Pour cela, on va se faire aider par un générateur de specfile. Plusieurs outils existent : autospec : mon préféré pour le moment (simple, efficace). alien : le plus vieux, qui n'est plus le meilleur maintenant (il faut beaucoup retoucher le fichier specfile généré) rpmerizor un petit script perl assez simple deuxième étape, obligatoire, il va falloir modifier le fichier spec génère, pour y ajouter quelques informations, que le générateur ne peut inventer (description, résume...). enfin, la fabrication du rpm se fait comme pour un src.rpm exemple soit un logiciel très simple avec 3 fichiers : toto (exécutable) > /usr/local/bin toto.conf (configuration) > etc readme (documentation) > /usr/share/doc/toto on va donc : créer une arborescence pour ces fichiers : toto 0.1 README etc ` toto.conf toto.spec ` usr ` local ` bin ` toto créer le fichier tar : cd toto 0.1 tar cvfz /tmp/toto.tgz * générer un fichier specfile avec autospec: tar tfz /tmp/toto.tgz autospec b > toto.spec éditer (vim, emacs...) le fichier toto.spec pour changer les "tags" Group, Licence(Copyright), summary, description (avec vim, emacs...). Les de commenter et changer la valeur "unknown" générer le fichier rpm: passer root : su copier le tar a sa place (ici sur redhat) : cp../toto.tgz /usr/src/redhat/sources/toto 0.1.bin.tar.gz fabriquer le rpm : rpmbuild bb toto.spec 5

utiliser un makefile pour générer un rpm principe: Comme pour les tar.gz, on va utiliser un générateur de specfile : autospec : mon préféré pour le moment (simple, efficace). checkinstall : travaille mieux que autospec sur les Makefile modifier le fichier specfile fabriquer le rpm exemple on reprend les mêmes fichiers que ci dessus, mais avec un Makefile toto 0.2 Makefile README toto ` toto.conf le fichier Makefile contient juste quelques lignes : build: install : install d ${DESTDIR}/usr/local/bin install toto ${DESTDIR}/usr/local/bin install d ${DESTDIR}/etc install toto.conf ${DESTDIR}/etc générer le fichier specfile: cd toto 0.2 make n install autospec i > toto.spec éditer (vim, emacs) le fichier toto.spec pour : changer les "tags" Group, Licence (Copyright), summary, description : de commenter et changer la valeur "unknown" de commenter le "tag" BuildRoot remplacer la ligne "make install par make DESTDIR=$RPM_BUILD_ROOT install de commenter les lignes %clean et sa suivante générer le fichier rpm: faire un tar : cd..; tar cvfz /tmp/toto 0.2.tar.gz toto 0.2 passer root : su fabriquer le rpm : rpm tb /tmp/toto 0.2.tar.gz 6

remarque : l'explication du tag BuildRoot sera faite en section avancée documentation les très bonnes documentation faites par ibm (3 articles didactiques et progressifs) rpm : contient notamment une liste des projets autour de rpm (intégration cvs, fabrication de specfile, outils de mise a jour,...) une doc en français le rpm HOWTO (sur /usr/share/doc/howto) : les bases sur l'utilisation et la fabrication de rpm (existe en français sur /usr/share/doc/howto/translations/fr/) "le" livre maximum rpm énorme pavé, malheureusement un peu obsolète une doc mandrake la liste de diffusion rpm list pour les questions pointues (en Anglais) remarque : cette page a été faite pour une conférence sur la fabrication des rpm au culte version 1.4 du 04/11/2003 source: http://www.fedora france.org/modules/wfsection/article.php?articleid=22 7