• une =?iso-8859-1?Q?biblioth=E8que_pour_g?= =?iso-8859-1?Q?=E9rer?= fich

    From Marc Chantreux@21:1/5 to All on Fri Nov 22 12:10:01 2024
    salut,

    les fichiers control (apt-cache show) et l'index de /usr/share/doc-base utilisent
    le m�me format tr�s simplle et qui ressemble un peu � gnurec sans en
    �tre (donc on peut pas faire recsel -e Package control pour afficher les
    noms des paquets).

    � cause de perl, j'ai toujours eu la fl�me d'aller chercher un outils
    plus adapt�: je d�gaine facilement des trucs comme �a� en me disant
    qu'un jour je chercherais une fa�on propre de faire.

    sauf que je bosse sur un truc qui risque de finir en prod et le moment
    est donc venu de r�pondre � la question qui ne m'a pas tarraud� ces 20 derni�res ann�es: est-ce que le format des fichiers control a un nom et
    une biblioth�que canonique au sein du projet debian pour le lire.

    (je pourrais regarder les outils debian mais je soup�onne que le
    probl�me va �tre le m�me: chacun y va de son petit parser maison
    tellement le format est simple).

    par avance merci et bien � vous tou*,

    �: exemple de perl pour parser les control

    apt-cache show perl | perl -0 -MJSON -lnE '
    my %data =
    map s/^[\n ]+|[\n ]+$//gr,
    sub { @_[1..$#_] }->( split /(?:\n|^^)([^\n: ]+): */xms );
    $_ = [
    map [split / *\| */],
    split /, */
    ] for @data{qw( Replace Depends Suggests)};
    print encode_json \%data;
    ' | jq

    --
    Marc Chantreux
    P�le CESAR (Calcul et services avanc�s � la recherche)
    Universit� de Strasbourg
    14 rue Ren� Descartes,
    BP 80010, 67084 STRASBOURG CEDEX
    03.68.85.60.79

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)