NOM¶
grip-overridearch.pl - Assainir les paquets X Arch: all X qui
dependent de X Arch: any X
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 <codehelp@debian.org>
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/>.