.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.16) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .ie \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .el \{\ . de IX .. .\} .\" ======================================================================== .\" .IX Title "EMGRIP 1" .TH EMGRIP 1 "2013-05-17" "perl v5.14.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NOM" .IX Header "NOM" emgrip \- Convertir un .deb en un Grip Emdebian à la volée .SH "Synopsis" .IX Header "Synopsis" .Vb 2 \& DEB_BUILD_OPTIONS=\*(Aqusegrip\*(Aq emgrip [\-v|\-\-verbose] [\-q|\-\-quiet] \& [\-\-vendor ÉDITEUR] [\-o|\-\-outdir RÉPERTOIRE] NOMFICHIER .Ve .PP où \s-1NOMFICHIER\s0 est un .dsc, un .changes ou un .deb .PP .Vb 1 \& emgrip \-?|\-h|\-\-help|\-\-version .Ve .SH "Description" .IX Header "Description" Convertit un paquet .deb en Grip Emdebian par le déballage, l'élagage de classes particulières de fichiers (déterminés par \fB\s-1DEB_BUILD_OPTIONS\s0\fR ou l'option d'éditeur de \fBdpkg\fR) et le remballage avec une description raccourcie et le suffixe de version em1. .PP Pour le service d'empaquetage Debian, l'éditeur d'unstable-grip saute la création des TDebs Emdebian et modifie le nom de la suite pour utiliser le suffixe \-grip. .PP Lors de la création d'un dépôt public Emdebian Grip, il est fortement recommandé de spécifier les fichiers .changes ou .dsc pour permettre la création des TDebs d'Emdebian à partir du paquet source aussi bien qu'inclure le paquet de source lui\-même dans le dépôt. .PP En mode .dsc, \f(CW\*(C`emgrip\*(C'\fR ne traite que le paquet source, depuis la version 3.0.0 .PP Si un fichier existe avec le même nom dans le répertoire de sortie, il sera écrasé. .SH "Copyright et Licence" .IX Header "Copyright et Licence" .Vb 7 \& Copyright (C) 1997\-2000 Roman Hodek \& Copyright (C) 2000\-2002 Colin Watson \& Copyright (C) 2002\-2004 David Schleef \& Copyright (C) 2004 Nikita Youshchenko \& Copyright (C) 2004 Raphael Bossek \& Copyright (C) 2007\-2011 Neil Williams \& Copyright (C) 2005 Joey Hess .Ve .PP Ce logiciel est libre; vous pouvez le redistribuer selon les termes de la licence \s-1GNU\s0 General Public License telle que publiée par la Free Software Foundation; en prenant la version 3 de la licence ou (selon votre choix) n'importe quelle version subséquente. .PP Ce logiciel est distribué dans l'espoir qu'il soit utile, mais \s-1AUCUNE\s0 \s-1GARANTIE\s0 n'est donnée tant pour des raisons \s-1COMMERCIALES\s0 que pour RÉPONDRE À \s-1UN\s0 \s-1BESOIN\s0 \s-1PARTICULIER\s0. Consulter la Licence Publique Générale \s-1GNU\s0 pour plus de détails. .PP Vous devriez avoir reçu une copie de la Licence Publique Générale de \s-1GNU\s0 avec ce programme. Sinon, voir . .SH "Emdebian Grip" .IX Header "Emdebian Grip" L'idée ici est basée sur dpkg-cross : .PP .Vb 10 \& 1. recevoir le .deb ou le .changes comme une option de la ligne de commande \& 2. analyser DEB_BUILD_OPTIONS \& 3. dépaqueter le .deb comme le fait dpkg\-cross \& 4. enlever les fichiers selon DEB_BUILD_OPTIONS \& 5. repaqueter le .deb avec un suffixe de version Emdebian. \& 6. construire un nouveau .deb et revoir le .changes de façon à ce que \& la source originale puisse être maintenue. \& 7. inclure les paquets saisis dans le miroir local \& pour réduire la taille des Packages.gz et la taille du \& miroir lui\-même. .Ve .PP Aussi peu de dépendances que possible — ce script doit devenir un nouveau paquet et doit avoir un nouvel ensemble de contrôle lintian pour permettre Perl etc. .PP .Vb 1 \& PAS DE CHANGEMENTS FONCTIONNELS DANS LE .DEB S .Ve .PP La conversion des traductions Debian en TDebs Emdebian (quand c'est permis par les options de construction) doit être faite à l'intérieur du paquet source ainsi un fichier \fI.changes\fR est nécessaire pour cette étape. Si le fichier \fI.changes\fR référence un TDeb Debian, emgrip va exécuter « em_installtdeb \-\-no\-sign » à l'intérieur du paquet source. .PP Les paquets individuels contenant les fichiers de traduction auront les fichiers de traduction enlevés et les TDebs Debian seront passés/sautés. .PP Les versions futures pourraient aussi comprendre les classes Dpkg mais jusqu'à ce que celles-ci soient implémentées, la force brute est utilisée. .PP Positionner les options de build en plaçant un fichier dans \&\fI/etc/dpkg/origins/\fR contenant les options de build dans un champ nommé \&\fBGrip-Build-Option\fR et appeler \fBemgrip\fR avec l'option \fB\-\-vendor\fR ou la variable d'environnement \fB\s-1DEB_VENDOR\s0\fR. .PP champs dpkg-vendor utilisés par emgrip avec des valeurs par défaut : .PP .Vb 4 \& Vendor: emdebian\-grip \& Vendor\-Name: Emdebian Grip \& Grip\-Build\-Option: usegrip \& Short\-Desc\-Suffix: gripped .Ve .PP Le \f(CW\*(C`Short\-Desc\-Suffix\*(C'\fR est entouré de parenthèses et ajouté à la description courte [la valeur par défaut est « gripped »]. .SH "DEB_BUILD_OPTIONS" .IX Header "DEB_BUILD_OPTIONS" Si aucune de ces options n'est activée, emgrip ne fait rien. .PP .Vb 1 \& nodocs .Ve .PP Enlève tout le contenu de /usr/share/doc/*/ excepté le fichier de copyright et compresse ce dernier. Enlève les pages de manuel et les pages info (traduites ou non). Supprime également les fichiers doc-base qui décrivent la documentation inexistante. .PP .Vb 1 \& nohelp .Ve .PP Enlève même les fichiers d'aide de tous les paquets, y compris les paquets \&\-doc. Cela inclut la suppression de /usr/share/gtk\-doc/html et /usr/share/gnome/help/\e$package. Malgré la suppression des fichiers d'aide, les dépendances sur les utilitaires de gestion de fichiers d'aide comme scrollkeeper demeureront, au moins pour Lenny. .PP .Vb 1 \& noessential .Ve .PP Enlève l'étiquette « Essential: yes » de DEBIAN/control — c'est une suppression forcée, aucune dépendance additionnelle ne sera générée (pas de correctif) donc la prudence est de rigueur ici. .PP .Vb 1 \& nolintian .Ve .PP Enlève tous les fichiers de /usr/share/lintian/overrides et /usr/share/linda/overrides — permet d'économiser jusqu'à 1 Mb. .PP .Vb 1 \& usegrip .Ve .PP Attribut de combinaison qui définit tout \s-1DEB_BUILD_OPTIONS\s0 pour Emdebian Grip \- noessential, nohelp, nodocs, nolintian .PP .Vb 1 \& debiangrip .Ve .PP Attribut spécifique à Debian ce qui saute la création des TDebs, même pour les fichiers \fI.changes\fR, puis modifie la distribution pour correspondre aux suites Emdebian dans Debian. Tout autre traitement reste identique à l'option \fBusegrip\fR. .PP .Vb 1 \& nosymbols .Ve .PP Actuellement en cours de test — l'idée est de laisser tomber les fichiers DEBIAN/symbols mais cela pourrait produire des effets imprévisibles sur la construction de paquets sur un système ne contenant pas ces symboles. L'espace économisé en rejetant ces fichiers peut ne pas en valoir le coût, donc « usegrip » n'active pas pour l'instant « nosymbols ». Ceci pourrait convenir à Crush, peut\-être pas à Grip. .PP .Vb 1 \& noperl .Ve .PP Enlève tous les fichiers identifiés comme étant des scripts Perl exécutables par la commande « file » — utilisé par Crush. .PP .Vb 1 \& usecrush .Ve .PP Attribut de combinaison qui ajoute nosymbols et noperl à usegrip. .PP .Vb 1 \& noscripts .Ve .PP Rejeter tous les scripts du responsable de tous les paquets, quel que soit le type de script. Cela inclut la suppression des modèles Debconf et les scripts de configuration. Les fichiers md5sums et les actions différées sont également enlevées. Les scripts sont déplacés dans un sous\-répertoire \&\fIscripts/\fR du répertoire de sortie utilisé par \f(CW\*(C`emgrip\*(C'\fR. .PP .Vb 1 \& usebaked .Ve .PP Attribut de combinaison qui ajoute noscripts et nosymbols à usegrip. Ajoutez \&\f(CW\*(C`noperl\*(C'\fR pour utiliser Baked avec Crush. .SH "Suppression de champ" .IX Header "Suppression de champ" Les champs de contrôle fonctionnels sont maintenus mais une question se pose : .PP .Vb 3 \& Qui définit ce qui est S \&Pour les objectifs actuels d\*(AqEmdebian Grip, S<« fonctionnel »> inclut seulement \&les champs de contrôle S \& \& Package \& Source \& Version \& Architecture \& Maintainer \& Installed\-Size \& Depends \& Pre\-Depends \& Multi\-Arch \& Conflicts \& Replaces \& Section \& Priority \& Description \& Task \& XS\-Python\-Version .Ve .PP Les dépendances « Recommends » sont explicitement rejetées, tout comme les « Suggests » — on s'attend à ce qu'Emdebian Grip désactive Install-Recommends dans apt de toute façon, de sorte que les paquets saisis (« Gripped ») puissent être mélangés avec paquets Debian ou créés localement. .PP Notez aussi que « Essential » n'est pas conservé. .PP La page d'accueil, VCS* et tous les champs de contrôle X\- sont rejetés. .PP Le résultat final est (potentiellement) une base de données dpkg beaucoup plus propre. .PP La description est réduite à quatre lignes (ou à trois si la quatrième ligne est vide). .SH "Automatisation" .IX Header "Automatisation" Relativement simple, mais quelques vérifications sont nécessaires dans le cas où votre liste de paquets possibles inclut des paquets déjà traités par dpkg-cross. .PP .Vb 2 \& #!/bin/sh \& set \-e \& \& DIR=/tmp/myrepo/ \& for deb in \`ls /var/cache/apt/archives/*.deb\`; do \& cross=\`echo $deb | grep "\e\-.*\-cross" || true\` \& if [ ! \-z "$cross" ]; then \& echo "skipping dpkg\-cross package: $deb" \& continue \& fi \& DEB_BUILD_OPTIONS="nodocs nohelp usegrip" ./emgrip \-o $DIR $deb \& done .Ve .PP Avec la prise en charge \fBdpkg-vendor\fR, \fB\s-1DEB_BUILD_OPTIONS\s0\fR peut être remplacé en définissant l'éditeur. .PP Un script similaire devrait être capable de se débrouiller avec les fichiers \&.changes obtenus pour maintenir les paquets source. .PP Bien qu'utilisant dcut en interne, emgrip n'est pas capable obtenir les fichiers .changes directement à partir de http://incoming.debian.org, un script d'encapsulation serait nécessaire. .PP Une encapsulation supplémentaire sera certainement nécessaire pour permettre à un dépôt Emdebian Grip de « rattraper » les miroirs Debian existants, par exemple si le premier envoi vers le dépôt Grip est un envoi binaire seul sans un .orig.tar.gz référencé. .PP emgrip s'assure que le .tar.gz est copié dans le répertoire de sortie et que reprepro peut trouver les fichiers appropriés si l'option \&\-\-ignore=missingfile est activée. Malheureusement, cette fonctionnalité n'est pas préservée dans le mode processincoming de reprepro. .PP Pour faciliter le processus de saisie d'un miroir existant, le paquet emdebian-grip-server dépend de « reprepro » pour créer un miroir Debian filtré qui peut être maintenu à jour, produire des meta\-données pour Emdebian Grip, construire les paquets saisis dans un répertoire « incoming/ » et inclure les paquets dans le dépôt final Emdebian Grip. .PP Une fois qu'un paquet a été « saisi », les paquets binaires peuvent être enlevés du miroir filtré — les paquets source (en particulier le \&.orig.tar.gz) sont probablement mieux maintenus dans le miroir filtré.