RPM et politique de packaging



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

Chapitre 10 : Logiciels

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

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

en SCÈNE RATIONAL Rational Démonstration SDP : automatisation de la chaîne de développement Samira BATAOUCHE sbataouche@fr.ibm.com

Table des matières. Date : Version : 29/06/ Objet : OpenVas 6.0

MRTG & RRD Tool. Multi Router Traffic Grapher

SERVEUR DÉDIÉ DOCUMENTATION

Gestion d identités PSL Installation IdP Authentic

P s a sep e o p r o t S e S r e vi v ce c s Fabrice Dubost

EXALOGIC ELASTIC CLOUD MANAGEMENT

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

Retour d'expérience avec : OCS Inventory & GLP

La mémoire. Un ordinateur. L'octet. Le bit

Tour d'horizon Bureau client Daemon's Aller plus loin

Pourquoi et comment faire sa première contribution à Debian?

GESTION DU CYCLE DE VIE. Albert Amar Avant-vente Middleware

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Environnements et Outils de Développement Cours 1 Introduction

Gérer ses environnements de développement avec Vagrant RMLL 2012

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

VERSION 64 BITS DE SAS ET VOS FICHIERS MICROSOFT OFFICE 32-BITS

Déployer des applications Perl

Dynamiser et optimiser votre IT avec la Virtualisation du poste

Petit guide pour l installation de CVW sous Linux

1-Introduction 2. 2-Installation de JBPM 3. 2-JBPM en action.7

Guide d installation de STS pour Linux

Changer la source d'une requête dans SAS Enterprise Guide. Ce document explique comment changer la table source de la tâche Filtre et requêtes.

..seulement 5% des serveurs x86 sont virtualisés!

Déployer et sécuriser des applica1ons mobiles dans votre SI / Cloud

bbc Launch Pad Juillet 2011 Version 10.0

Stratégie d externalisation des services pour les établissements

La base de données XML exist. A. Belaïd

Manuel de déploiement sous Windows & Linux

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

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

Année Cours Unix-Shell. par. Karam ALLALI. Ecole Spéciale d Informatique

Once the installation is complete, you can delete the temporary Zip files..

VMware ESX : Installation. Hervé Chaudret RSI - Délégation Centre Poitou-Charentes

Material Banking Group Percentage Regulations. Règlement fixant le pourcentage (groupe bancaire important) CONSOLIDATION CODIFICATION

Construction de logiciel et packaging

Wobe.

L infrastructure Sécurité de Microsoft. Active Directory RMS. Microsoft IAG

Slony1 2.1 Londiste 3

EMC NetWorker Version 7.4 Version multiplate-forme

Compromission d'un environnement VOIP Cisco Exploitation du Call Manager SSTIC Francisco. Juin 2013 LEXFO 1

Premiers pas en Linux

Introduction à Eclipse

Module Criteo Tags et Flux pour Magento

Get Instant Access to ebook Cest Maintenant PDF at Our Huge Library CEST MAINTENANT PDF. ==> Download: CEST MAINTENANT PDF

Installer et configurer Oracle Forms 11gR2 Windows 7 64 bits

Tutorial Kerberos. Comprendre et mettre en place une architecture Kerberos. Version : 0.2 Avril 2004

Automatisation de l administration système

Solution d inventaire automatisé d un parc informatique et de télédistribution OCS INVENTORY NG. EHRHARD Eric - Gestionnaire Parc Informatique

Reproductibilité des expériences de l article "Analyse et réduction du chemin critique dans l exécution d une application"

FOURNIR UN SERVICE DE BASE DE DONNÉES FLEXIBLE. Database as a Service (DBaaS)

Optimisez la gestion de vos projets IT avec PPM dans le cadre d une réorganisation. SAP Forum, May 29, 2013

TP 7, 8 & 9 : Installation et Gestion de GLPI et Télédéploiement SISR 1 HUBERT JULIEN LABBE RICHARD DAY MICKAEL DOGNY CHRISTOPHE

WEB page builder and server for SCADA applications usable from a WEB navigator

Intel Corporation Nicolas Biguet Business Development Manager Intel France

Installer un serveur de messagerie avec Postfix

Exemple PLS avec SAS

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

Construction et déploiement d applications Java avec Maven, Archiva, Groovy et Jenkins

Administration Linux - FTP

APPENDIX 6 BONUS RING FORMAT

Compilation croisée sous Linux et Windows

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

ANGULAR JS AVEC GDE GOOGLE

ZENworks de Novell Gestion des technologies mobiles

Instructions Mozilla Thunderbird Page 1

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Short-term Pooled Investment Fund Regulations. Règlement sur le fonds commun de placement à court terme CONSOLIDATION CODIFICATION

Journées REX-PLM '08 les 19 et 20 Mars 2008 à l'ensam Chalons en Champagne

IPSAS 32 «Service concession arrangements» (SCA) Marie-Pierre Cordier Baudouin Griton, IPSAS Board

PACKZ System Requirements. Version: Version: Copyright 2015, PACKZ Software GmbH. 1

Informatique. Les réponses doivent être données en cochant les cases sur la dernière feuille du sujet, intitulée feuille de réponse

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

Architecture des ordinateurs Introduction à l informatique

COURS 5 Mettre son site en ligne! Exporter son site avec WordPress Duplicator Installer un logiciel FTP Faire le suivi des visites de son site avec

SAP Runs SAP Reporting Opérationnel & BI avec HANA et SAP Analytics. Pierre Combe, Enterprise Analytics Juin, 2015

HowTo Installer egroupware 1.2 sur SME Serveur 7.0

Cedric Dumoulin (C) The Java EE 7 Tutorial

PUPPET. Romain Bélorgey IR3 Ingénieurs 2000

This is a preview - click here to buy the full publication NORME INTERNATIONALE INTERNATIONAL STAN DARD. Telecontrol equipment and systems

Tutoriel code::blocks

MANUEL D INSTALLATION de GEONETWORK sur un serveur LINUX CentOS 4

Appointment or Deployment of Alternates Regulations. Règlement sur la nomination ou la mutation de remplaçants CONSOLIDATION CODIFICATION

POLICY: FREE MILK PROGRAM CODE: CS-4

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Notes pour l'installation d'une version de Eprints sur une machine CentOS4.2 Stéphanie Lanthier Le jeudi 17 février 2006

Gestion de clusters de calcul avec Rocks

PROCEDURE D'INSTALLATION OPENREPORTS

Projet Viticulture - TP 3 : bases de données distantes BTS Services informatiques aux organisations

3615 SELFIE. HOW-TO / GUIDE D'UTILISATION

Gestion du projet pour qu'il soit pérenne et collaboratif

Guide du nouveau responsable Debian. Guide du nouveau responsable Debian

Transcription:

RPM et politique de packaging Adapter un paquet à sa distribution Olivier Thauvin olivier.thauvin@aerov.jussieu.fr RPM et politique de packaging p. 1/3

Introduction RPM et politique de packaging p. 2/3

Plan RPM rappel Politique : généralité cas concret : Mandriva RPM et politique de packaging p. 3/3

RPM rappel RPM et politique de packaging p. 4/3

RPM : Rpm Package Manager Qu est ce? un ensemble d outils un format d archive (.rpm) des fichiers au format rpm RPM et politique de packaging p. 5/3

RPM : Rpm Package Manager Qu est ce? un ensemble d outils un format d archive (.rpm) des fichiers au format rpm Rôle : installer inventorier controler RPM et politique de packaging p. 5/3

Le paquet Un fichier.rpm contenant : entête les informations sur le rpm des informations pratiques sur le logiciel (nom, version, url,...) sur la fabrication du rpm une liste de dépendances la liste des fichiers contenus l historique du paquet (changelog) une archive contenant les fichiers RPM et politique de packaging p. 6/3

Faire un rpm Fichier spec correctifs sources icône (compilation) Rpm(s) binaire(s) Rpm source (installation) Système RPM et politique de packaging p. 7/3

Le fichier spec Il décrit : le (ou les) rpm(s) produit(s) le moyen de compiler le logiciel Il est composé de sections : En-tête, %description %package %prep, %build, %install, %check %files %verify, %pre, %preun, %post, %postun, %posttrans,... %changelog RPM et politique de packaging p. 8/3

Specfile : exemple Summary: A simple package Name: simple Version: 1 Release: 1 License: GPL Group: MyGroup %description A simple package $ rpm -ba simple.spec Ecrit: /home/users/olivier/rpm/srpms/simple-1 \o/ RPM et politique de packaging p. 9/3

Les macros Variable propres à rpm. Origine : localisation fichiers macros systèmes fichiers macros systèmes ~/.rpmmacros fichier spec fournisseur rpm distribution utilisateur packager Elles fournissent des valeurs ou des fonctions. RPM et politique de packaging p. 10/3

Politique : généralité RPM et politique de packaging p. 11/3

Qu est qu un politique de packaging Définitions d un ensemble de règles. RPM et politique de packaging p. 12/3

Qu est qu un politique de packaging Définitions d un ensemble de règles. But : homogénéité factorisation du travail qualité faciliter le travail Bref, c est bien (tm) RPM et politique de packaging p. 12/3

Règles générales : Root est méchant On ne construit pas sous root, On ne construit pas sous root, Et on ne construit pas sous root. RPM et politique de packaging p. 13/3

Règles générales : Root est méchant On ne construit pas sous root, On ne construit pas sous root, Et on ne construit pas sous root. Risques : polluer son système passer à coté d erreurs compromission, corruption du système c est impossible sur la machine de compilation finale ça donne des boutons RPM et politique de packaging p. 13/3

Règles générales : ne pas changer la config L environnement de rpm fourni adapte les rpms les uns aux autres. On trouve notamment : les chemins par défaut la génération des dépendences post-installation RPM et politique de packaging p. 14/3

Règles de base résumées se documenter demander aux gens habitués à faire des packages pour leur distribution comprendre plutôt que contourner un package bien fait pour une distribution est souvent incompatible avec les autres faire intégrer son paquet dans la distribution (ça ne vaut pas que pour rpm) RPM et politique de packaging p. 15/3

cas concret : Mandriva RPM et politique de packaging p. 16/3

Configuration utilisateur definir son environnement rpm définir le packager tag RPM et politique de packaging p. 17/3

Configuration utilisateur definir son environnement rpm définir le packager tag.rpmmacros : 1 %_topdir /home/users/olivier/rpm %_tmppath /home/users/olivier/rpm/tmp/ %packager Olivier Thauvin <nanardon@zarb %distribution Mandriva 5 %_signature %_gpg_name %_gpg_path gpg Olivier Thauvin ~/.gnupg RPM et politique de packaging p. 17/3

Politique de nommage des paquets nom de paquet en minuscules (il y a quelques exceptions) le nom du paquet correspond au nom logiciel les module pour langage sont préfixé par le nom du langage Exemples : perl rpm perl-poe RPM et politique de packaging p. 18/3

%mkrel Problématique des backport : cooker stable sans 1mdv == 1mdv avec 1mdk > 0.1.20060mdk 1mdv2007.0 > 1mdv2006.0 RPM et politique de packaging p. 19/3

%mkrel Problématique des backport : cooker stable sans 1mdv == 1mdv avec 1mdk > 0.1.20060mdk 1mdv2007.0 > 1mdv2006.0 Release : 1mdk devient : Release : %mkrel 1 RPM et politique de packaging p. 19/3

Chemin des fichiers Prefix a une signification particulière, ne pas l utiliser respecter les emplacements standards préférer les macros /usr/local est réservé aux logiciels installé sans rpm RPM et politique de packaging p. 20/3

Chemin standard chemin macro usage /usr %_prefix chemin général /etc %_sysconfdir configuration /usr/bin %_bindir application /usr/sbin %_sbindir app. pour root /usr/lib %_libdir bibliothèques /usr/lib64 /usr/share %_datadir données /usr/share/man %_mandir pages de man RPM et politique de packaging p. 21/3

Compilation et installation Compilation du soft : utiliser les bonne options (%optflags) faire attention aux chemins installer les fichiers dans %buildroot Cas simple avec autotools %build %configure %make %install %makeinstall_std RPM et politique de packaging p. 22/3

Extraits de spec Example d un cas compliqué : export CFLAGS="%optflags"./configure \ --prefix %_prefix \ --bindir %_bindir \ --libdir %_libdir # parallèle make don t work make %install make install DEST=%buildroot #installation d un fichier: cat > %buildroot%_sysconfdir/%name.cfg <<EOF blabla EOF RPM et politique de packaging p. 23/3

Intégrer les fichiers dans le paquet tout les fichiers doivent être listés RPM et politique de packaging p. 24/3

Intégrer les fichiers dans le paquet tout les fichiers doivent être listés utiliser les macros RPM et politique de packaging p. 24/3

Intégrer les fichiers dans le paquet tout les fichiers doivent être listés utiliser les macros les répertoires propres au logiciels doivent être intégrés RPM et politique de packaging p. 24/3

Intégrer les fichiers dans le paquet les fichier de configuration ne doivent pas être remplacés %config(noreplace) %_sysconfdir/foo RPM et politique de packaging p. 25/3

Intégrer les fichiers dans le paquet les fichier de configuration ne doivent pas être remplacés %config(noreplace) %_sysconfdir/foo les documentation sont intégrées avec %doc %doc README... RPM et politique de packaging p. 25/3

Intégrer les fichiers dans le paquet les fichier de configuration ne doivent pas être remplacés %config(noreplace) %_sysconfdir/foo les documentation sont intégrées avec %doc %doc README... utiliser %find_lang pour les traductions %install %find_lang %name... %files -f %name.lang RPM et politique de packaging p. 25/3

Les dépendences Pour les paquets binaires : rien à faire en général Pour les sources : identiques pour toutes les architectures suffisants pour builder les paquets non redondants Exemple : BuildRequires: libfoo-devel RPM et politique de packaging p. 26/3

Libidification But : avoir plusieur versions de la bibliothèque Nomage des paquet en utilisant le numéro majeur avoir plusieur architectures Nomage en incluant un prefix majeur : 0 1 32bits libfoo0 libfoo1 lib/foo.so.0 lib/foo.so.1 64bits lib64foo0 lib64foo1 lib64/foo.so.0 lib64/foo.so.1 RPM et politique de packaging p. 27/3

Libidification : dans la pratique %define major 0 #similar to %_lib%name%major %define libname %name %major... %package -n %libname Provide: lib%name = %version-%release... %files -n %libname %defattr(-, root, root, -) %_libdir/*.so.* RPM et politique de packaging p. 28/3

Conclusion RPM et politique de packaging p. 29/3

rpmlint Outil pour vérifier que les paquets sont conformes à la politique maintenu par le merveilleux Michaël Scherer disponible sur http://rpmlint.zarb.org/ $ rpmlint -i rpm-mandriva-setup-1.24-1mdv2007.0.i586.rpm E: rpm-mandriva-setup no-binary The package should be of the noarch architecture because it doesn t contain any binaries. E: rpm-mandriva-setup only-non-binary-in-usr-lib There are only non binary files in /usr/lib so they should be in /usr/share. RPM et politique de packaging p. 30/3

The End Ce document sera là : http://forge.ipsl.jussieu.fr/docipsl/. Le rpmhowto de mandriva : http://qa.mandriva.com/twiki/bin/view/main/rpmhowto. Merci : Guillaume Rousse Benoît Audouard Eric Villard CNRS/ISPL pour l hébergement Questions? RPM et politique de packaging p. 31/3