grip-overridearch.pl(1) Assainir les paquets X Arch: all X qui dependent de

Synopsis

 grip-overridearch.pl -s|--suite CHAINE -b|--base-path CHEMIN [--grip-name CHAINE]
 grip-overridearch.pl -?|-h|--help|--version
 S<Commandes :>
 -s|--suite S<CHAINE :>      nom de la distribution a remplacer S<(X override X)> [requis]
 -b|--base-path S<CHEMIN :>  chemin vers le repertoire de plus haut niveau du depot [requis]
 S<-?|-h|--help|--version :> affiche le message d'aide et quitte
 S<Options :>
   --grip-name S<CHAINE :>   autre nom pour le depot grip

Le script s'attend a trouver un fichier d'architecture-override correctement formate dans la configuration du depot :

 $base_path/$grip_name/conf/override.architectures

Description

La liste des paquets et des architectures X cassees X doit etre identifiee de facon difficile jusqu'au moment ou une solution soit trouvee pour le probleme decrit sur debian-devel : http://lists.debian.org/debian-devel/2009/01/msg00289.html <http://lists.debian.org/debian-devel/2009/01/msg00289.html>

Ce script va utiliser un fichier dans le repertoire conf/ du depot qui ressemble a un fichier de surcharge mais qui n'est pas pris en charge directement par reprepro. Citant dato : http://lists.debian.org/debian-devel/2009/01/msg00312.html <http://lists.debian.org/debian-devel/2009/01/msg00312.html>

 X la seule utilisation de S<X Architecture:> all [i386 S<amd64] X> ou
 S<X Install-Architecture:> i368 S<amd64 X> serait un indice pour dak (et d'autres
 outils) signalant que le paquet est connu pour ne pas etre installable
 ailleurs, et par consequent ne devrait pas etre mis dans d'autres fichiers
 Packages.gz. C'est *tout* ce qui importe selon la facon dont je l'ai compris.

Jusqu'a ce que les outils puissent etre adaptes pour employer une telle syntaxe, ce script enleve les listes specifiees des fichiers Packages appropries en appelant l'option appropriee de suppression pour les outils, apres l'evenement.

Ainsi, si $package_name represente le nom du paquet binaire qui est X Architecture: all X mais qui depend d'un paquet qui existe seulement sur certaines architectures, le format pour le fichier de surcharge est :

 Package: $package_name
 Architecture: all [i386 amd64]

par exemple

 Package: debian-edu-profile-udeb
 Architecture: all [i386 amd64]

Cela se produit car debian-edu-profile-udeb depend de dmidecode-udeb http://packages.debian.org/sid/dmidecode-udeb <http://packages.debian.org/sid/dmidecode-udeb> qui a son tour n'est disponible que pour les architectures x86 :

 $ reprepro -b /opt/reprepro/filter/ list unstable dmidecode-udeb
 u|sid|main|i386: dmidecode-udeb 2.9-1
 u|sid|main|amd64: dmidecode-udeb 2.9-1

Quand edos-debcheck analyse le fichier Packages, il constate que reprepro et d'autres outils de depot enumerent debian-edu-profile-udeb dans les fichiers Packages pour toutes les architectures gerees (comme arm, armel, mips, etc.). Ainsi il essaye de satisfaire les dependances X et echoue parce que dmidecode n'est pas disponible. La solution est d'enlever le listing pour le paquet X Architecture: all X de tous les fichiers Packages qui ne contiennent pas les dependances necessaires X identifies en executant edos-debcheck sur les fichiers Packages et en ajoutant les paquets au fichier override.arch jusqu'a ce que edos-debcheck arrete de se plaindre.

Ce n'est pas particulier a ce paquet ou meme juste aux udebs, c'est egalement un probleme avec des paquets comme acpi-support-base.

Elimination de tous les binaires

Il est egalement possible d'enlever tous les binaires pour un paquet specifique (laissant seulement le source et autres binaires construits a partir ce paquet source) en specifiant une liste vide d'architectures permises :

 Package: lsb
 Architectures: all [ ]

Notez que l'espace est facultatif. Ceci peut etre utile quand le paquet binaire ayant le meme nom que le paquet source a beaucoup de dependances non desirees ("lsb" est un parfait exemple de ce probleme).

Copyright et Licence

 Copyright (C) 2007-2009  Neil Williams <[email protected]>

Ce logiciel est libre; vous pouvez le redistribuer et/ou le modifier selon les termes de la licence GNU General Public License tel 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/>.