Provided by: emdebian-grip_3.0.7_all bug

NOM

       emgrip - Convertir un .deb en un Grip Emdebian a la volee

Synopsis

        DEB_BUILD_OPTIONS='usegrip' emgrip [-v|--verbose] [-q|--quiet] [-o|--outdir REPERTOIRE] NOMFICHIER

       ou NOMFICHIER est un .dsc, un .changes ou un .deb

        emgrip -?|-h|--help|--version

Description

       Convertit un paquet .deb en Grip Emdebian par le deballage, l'elagage
       de classes particulieres de fichiers (determines par DEB_BUILD_OPTIONS)
       et le reemballage avec une description raccourcie et le suffixe de
       version em1.

       Lors de la creation d'un depot public Emdebian Grip, il est fortement
       recommande de specifier les fichiers .changes ou .dsc pour permettre la
       creation des TDebs d'Emdebian a partir du paquet source aussi bien
       qu'inclure le paquet de source lui-meme dans le depot.

       En mode .dsc, "emgrip" ne traite que le paquet source, depuis la
       version 3.0.0

       Si un fichier existe avec le meme nom dans le repertoire de sortie, il
       sera ecrase.

Copyright et Licence

        Copyright (C) 1997-2000  Roman Hodek <roman@hodek.net>
        Copyright (C) 2000-2002  Colin Watson <cjwatson@debian.org>
        Copyright (C) 2002-2004  David Schleef <ds@schleef.org>
        Copyright (C) 2004  Nikita Youshchenko <yoush@cs.msu.su>
        Copyright (C) 2004  Raphael Bossek <bossekr@debian.org>
        Copyright (C) 2007-2010  Neil Williams <codehelp@debian.org>
        Copyright (C) 2005 Joey Hess <joeyh@debian.org>

       Ce logiciel est libre; vous pouvez le redistribuer selon les termes de
       la licence GNU General Public License telle que publiee par la Free
       Software Foundation; en prenant la version 3 de la licence ou (selon
       votre choix) n'importe quelle version subsequente.

       Ce logiciel est distribue dans l'espoir qu'il soit utile, mais AUCUNE
       GARANTIE n'est donnee tant pour des raisons COMMERCIALES que pour
       REPONDRE A UN BESOIN PARTICULIER. Consulter la Licence Publique
       Generale GNU pour plus de details.

       Vous devriez avoir recu une copie de la Licence Publique Generale de
       GNU avec ce programme. Sinon, voir <http://www.gnu.org/licenses/>.

Emdebian Grip

       L'idee ici est basee sur dpkg-cross :

        1. recevoir le .deb ou le .changes comme une option de la ligne de commande
        2. analyser DEB_BUILD_OPTIONS
        3. depaqueter 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 facon a ce que
           la source originale puisse etre maintenue.
        7. inclure les paquets saisis dans le miroir local
           pour reduire la taille des Packages.gz et la taille du
           miroir lui-meme.

       Aussi peu de dependances que possible X ce script doit devenir un
       nouveau paquet et doit avoir un nouvel ensemble de controle lintian
       pour permettre Perl etc.

        PAS DE CHANGEMENTS FONCTIONNELS DANS LE .DEB S<FINAL !>

       La conversion des TDebs Debian en TDebs Emdebian doit etre faite a
       l'interieur du paquet source ainsi un fichier .changes est necessaire
       pour cette etape. Si le fichier .changes reference un TDeb Debian,
       emgrip va executer X em_installtdeb --no-sign X a l'interieur du paquet
       source.

       Les paquets individuels contenant les fichiers de traduction auront les
       fichiers de traduction enleves et les TDebs Debian seront
       passes/sautes.

       Les versions futures auront aussi a comprendre les classes Dpkg mais
       jusqu'a ce que celles-ci soient implementees, la force brute est
       utilisee.

       Positionner les options de build en placant un fichier dans
       /etc/dpkg/origins/ contenant les options de build dans un champ nomme
       "Grip-Build-Option" et appeler "emgrip" avec l'option "--vendor" ou la
       variable d'environnement "DEB_VENDOR".

       champs dpkg-vendor utilises par emgrip avec des valeurs par defaut :

        Vendor: emdebian-grip
        Vendor-Name: Emdebian Grip
        Grip-Build-Option: usegrip
        Short-Desc-Suffix: gripped

       Le "Short-Desc-Suffix" est entoure de parentheses et ajoute a la
       description courte [la valeur par defaut est X gripped X].

DEB_BUILD_OPTIONS

       Si aucune de ces options n'est activee, emgrip ne fait rien.

        nodocs

       Enleve tout le contenu de /usr/share/doc/*/ excepte le fichier de
       copyright et compresse ce dernier. Enleve les pages de manuel et les
       pages info (traduites ou non). Supprime egalement les fichiers doc-base
       qui decrivent la documentation inexistante.

        nohelp

       Enleve meme 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/\$package. Malgre la suppression des fichiers
       d'aide, les dependances sur les utilitaires de gestion de fichiers
       d'aide comme scrollkeeper demeureront, au moins pour Lenny.

        noessential

       Enleve l'etiquette X Essential: yes X de DEBIAN/control X c'est une
       suppression forcee, aucune dependance additionnelle ne sera generee
       (pas de correctif) donc la prudence est de rigueur ici.

        nolintian

       Enleve tous les fichiers de /usr/share/lintian/overrides et
       /usr/share/linda/overrides X permet d'economiser jusqu'a 1 Mb.

        usegrip

       Drapeau de combinaison qui definit tout DEB_BUILD_OPTIONS pour Emdebian
       Grip - noessential, nohelp, nodocs, nolintian

        nosymbols

       Actuellement en cours de test X l'idee est de laisser tomber les
       fichiers DEBIAN/symbols mais cela pourrait produire des effets
       imprevisibles sur la construction de paquets sur un systeme ne
       contenant pas ces symboles. L'espace economise en rejetant ces fichiers
       peut ne pas en valoir le cout, donc X usegrip X n'active pas pour
       l'instant X nosymbols X. Ceci pourrait convenir a Crush, peut-etre pas
       a Grip.

        noperl

       Enleve tous les fichiers identifies comme etant des scripts Perl
       executables par la commande X file X X utilise par Crush.

        usecrush

       Drapeau de combinaison qui ajoute nosymbols et noperl a usegrip.

        noscripts

       Rejeter tous les scripts du responsable de tous les paquets, quel que
       soit le type de script. Cela inclut la suppression des modeles Debconf
       et les scripts de configuration. Les fichiers md5sums et les actions
       differees sont egalement enlevees. Les scripts sont deplaces dans un
       sous-repertoire scripts/ du repertoire de sortie utilise par  "emgrip".

        usebaked

       Drapeau de combinaison qui ajoute noscripts et nosymbols a usegrip.
       Ajoutez "noperl" pour utiliser Baked avec Crush.

Suppression de champ

       Les champs de controle fonctionnels sont maintenus mais une question se
       pose :

        Qui definit ce qui est S<fonctionnel ?>
       Pour les objectifs actuels d'Emdebian Grip, S<X fonctionnel X> inclut seulement
       les champs de controle S<suivants :>

        Package
        Source
        Version
        Architecture
        Maintainer
        Installed-Size
        Depends
        Pre-Depends
        Conflicts
        Replaces
        Section
        Priority
        Description
        Task
        XS-Python-Version

       Les dependances X Recommends X sont explicitement rejetees, tout comme
       les X Suggests X X on s'attend a ce qu'Emdebian Grip desactive Install-
       Recommends dans apt de toute facon, de sorte que les paquets saisis
       (X Gripped X) puissent etre melanges avec paquets Debian ou crees
       localement.

       Notez aussi que X Essential X n'est pas conserve.

       La page d'accueil, VCS* et tous les champs de controle X- sont rejetes.

       Le resultat final est (potentiellement) une base de donnees dpkg
       beaucoup plus propre.

       La description est reduite a quatre lignes (ou a trois si la quatrieme
       ligne est vide).

Automatisation

       Relativement simple, mais quelques verifications sont necessaires dans
       le cas ou votre liste de paquets possibles inclut des paquets deja
       traites par dpkg-cross.

        #!/bin/sh
        set -e

        DIR=/tmp/myrepo/
        for deb in `ls /var/cache/apt/archives/*.deb`; do
           cross=`echo $deb | grep "\-.*-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

       Avec la prise en charge "dpkg-vendor", DEB_BUILD_OPTIONS peut etre
       remplace en definissant l'editeur.

       Un script similaire devrait etre capable de se debrouiller avec les
       fichiers .changes obtenus pour maintenir les paquets source.

       Bien qu'utilisant dcut en interne, emgrip n'est pas capable obtenir les
       fichiers .changes directement a partir de http://incoming.debian.org,
       un script d'encapsulation serait necessaire.

       Une encapsulation supplementaire sera certainement necessaire pour
       permettre a un depot Emdebian Grip de X rattraper X les miroirs Debian
       existants, par exemple si le premier envoi vers le depot Grip est un
       envoi binaire seul sans un .orig.tar.gz reference.

       emgrip s'assure que le .tar.gz est copie dans le repertoire de sortie
       et que reprepro peut trouver les fichiers appropries si l'option
       --ignore=missingfile est activee. Malheureusement, cette fonctionnalite
       n'est pas preservee dans le mode processincoming de reprepro.

       Pour faciliter le processus de saisie d'un miroir existant, le paquet
       emdebian-grip-server depend de X reprepro X pour creer un miroir Debian
       filtre qui peut etre maintenu a jour, produire des meta-donnees pour
       Emdebian Grip, construire les paquets saisis dans un repertoire
       X incoming/ X et inclure les paquets dans le depot final Emdebian Grip.

       Une fois qu'un paquet a ete X saisi X, les paquets binaires peuvent
       etre enleves du miroir filtre X les paquets source (en particulier le
       .orig.tar.gz) sont probablement mieux maintenus dans le miroir filtre.