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