georges mariano wrote:

On Sat, 13 Oct 2001 16:01:48 +0200  Patrice Karatchentzeff <[EMAIL PROTECTED]> 
wrote:

PK > Bon courage :-)

Voui ;-)

La solution propos�e est �videmment la bonne voie...
Pourquoi apt-get serait-elle une application qui ne saurait faire
des logs alors que des trucs bcp plus "lourds" le font bien
(apache, samba ...) ???

C'est un "probl�me" de volont� (?) upstream Debian ...


En fait, l'id�e a �galement �t� �voqu�e sur la liste debian-dpkg par Joey Hess : http://lists.debian.org/debian-dpkg/2001/debian-dpkg-200109/msg00074.html

Dans les r�ponses int�ressantes, j'ai notamment relev� que Ben Collins a indiqu� qu'une branche du CVS de dpkg contient des modifications faites par lui pour le support du logging ( et aussi du format bz2) (http://lists.debian.org/debian-dpkg/2001/debian-dpkg-200109/msg00075.html). D'autres personnes ont �galement �voqu� dans la discussion la possibilit� de logger le r�sultat des scripts d'installation des packages (bien que �a soit AMA un peu diff�rent de l'objectif recherch�). Enfin, Adam Heath parle de la possibilit� d'utiliser l'option --status-pipe de dpkg (http://lists.debian.org/debian-dpkg/2001/debian-dpkg-200110/msg00005.html). Je suppose qu'il voulait parler de --status-fd n car l'option --status-pipes n'existe pas. Cette option est int�ressante et donne par exemple :

[EMAIL PROTECTED]:~$ sudo dpkg --status-fd 2 -i ~/dev/hello_1.3-18_i386.deb 2> dpkg-install.log
Password:
Selecting previously deselected package hello.
(Reading database ... 44385 files and directories currently installed.)
Unpacking hello (from .../fred/dev/hello_1.3-18_i386.deb) ...
Setting up hello (1.3-18) ...

[EMAIL PROTECTED]:~$ cat dpkg-install.log
status: hello: half-installed
status: hello: unpacked
status: hello: unpacked
status: hello: unpacked
status: hello: half-configured
status: hello: installed
[EMAIL PROTECTED]:~$

Il manque ici des infos sur la date d'ex�cution de la commande, l'utilisateur, mais �a peut servir comme base de d�part. Ensuite, on peut faire un wrapper tr�s simple pour dpkg comme ceci :

[EMAIL PROTECTED]:$ cat /usr/bin/dpkg
#!/bin/sh

/usr/bin/dpkg.old --status-fd 2 $* 2>>/var/log/dpkg.log

et de renommer auparavant bien sur l'actuel dpkg en dpkg.old (oui, je sais, ce n'est pas propre du tout par rapport aux principes Debian). Et on logge alors ensuite toutes les modifications des packages quel que soit le frontal utilis� (apt, dselect ou autres).

Pour modifier le format des messages, il "suffit" d'aller modifier le source de dpkg dans la fonction modstatdb_note de dpkg-1.9.17/lib/dbmodify.c avec le format d�sir�. Pour le source de d�part, c'est :
"status: %s: %s\n", pkg->name, statusinfos[pkg->status].name

�a peut servir comme solution de d�pannage, mais certainement pas � long terme, mais je fais confiance aux d�veloppeurs Debian pour nous sortir une solution souple, propre et �l�gante (comme d'habitude).

Mes 0.02�

Fred

Répondre à