Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

make install

6 réponses
Avatar
Julien Cigar
Bonjour,

J'aimerais savoir comment je pourrais faire pour "capturer" la liste des
fichiers lors d'un make install (sous linux) en language C.
J'aimerais avoir la liste de tous les fichiers que le programme installe
lors d'un make install.

Si qqn a une idee, merci d'avance :)

6 réponses

Avatar
Christophe Le Gal
On Sat, 28 Jun 2003 14:03:11 +0200
"Julien Cigar" wrote:

Bonjour,

J'aimerais savoir comment je pourrais faire pour "capturer" la liste
des fichiers lors d'un make install (sous linux) en language C.
J'aimerais avoir la liste de tous les fichiers que le programme
installe lors d'un make install.


Le meme genre de question a ete posee il y a qq jours sur fcolc.
Dans ce genre de cas, j'utilise une methode pragmatique :
en utilisant find -cmin je peux recuperer la liste des fichiers qui
viennent juste d'etre copies.
Ca n'est pas formellement garanti (un make install peut tres bien
s'amuser a mettre la date qu'il veut sur les fichiers qu'il copie), mais
en pratique je n'ai jamais vu un seul contre-exemple.

Voir sur fcolc "La facon la plus brillante de desinstaller des tar.gz"
pour un script plus detaille.

--
Christophe Le Gal

Avatar
Stephane CHAZELAS
Le Sat, 28 Jun 2003 14:03:11 +0200, Julien Cigar écrivait :
J'aimerais savoir comment je pourrais faire pour "capturer" la liste des
fichiers lors d'un make install (sous linux) en language C.
J'aimerais avoir la liste de tous les fichiers que le programme installe
lors d'un make install.


Tu peux regarder du coté de http://checkinstall.izto.org
(anciennement installwatch).

--
Stéphane

Avatar
Emmanuel Florac
Dans article ,
disait...

J'aimerais savoir comment je pourrais faire pour "capturer" la liste des
fichiers lors d'un make install (sous linux) en language C.



Sinon il y a relink qui sait peut-être s'en occuper...
relink.sourceforge.net

--
Quis, quid, ubi, quibus auxiliis, cur, quomodo, quando?

Avatar
Maxime Henrion
In article , Julien Cigar wrote:
Bonjour,

J'aimerais savoir comment je pourrais faire pour "capturer" la liste des
fichiers lors d'un make install (sous linux) en language C.
J'aimerais avoir la liste de tous les fichiers que le programme installe
lors d'un make install.

Si qqn a une idee, merci d'avance :)


Tu pourrais coder une librairie contenant un symbole open() qui
comptabiliserait toutes les créations de fichiers puis appellerait le
réel open() en utilisant un dlsym(). Ensuite, tu set ta variable
d'environnement LD_PRELOAD sur cette librairie. En pratique c'est un
peu plus compliqué que ça car tu auras à différencier des appels open()
avec le flag O_CREAT quand le fichier existe déjà et quand il n'existe
pas (le flag O_CREAT signifie créer le fichier _si_ il n'existe pas,
sauf s'il y a aussi le flag O_EXCL). Tu dois aussi hooker les appels à
unlink() pour éviter de comptabiliser des fichiers créés puis effacés
par le make install. De plus, cela ne marchera que si ton binaire make
est compilé dynamiquement, ce qui peut ne pas être le cas sur certains
systèmes.

Une autre solution serait de créér une arborescence vide, de lancer le
make install à cet endroit en chroot, puis, une fois le make install
terminé, rechercher les fichiers qui ont été créés à l'intérieur de
cette arborescence.

Une troisième solution consiste à parcourir ton disque dur en regardant
la date de création des fichiers une fois le make install terminé.
C'est probablement la solution la plus simple mais aussi la plus
aléatoire.

Maxime

Avatar
Stephane CHAZELAS
Le 28 Jun 2003 12:55:56 GMT, Maxime Henrion écrivait :
[...]
Tu pourrais coder une librairie contenant un symbole open() qui
comptabiliserait toutes les créations de fichiers puis appellerait le
réel open() en utilisant un dlsym(). Ensuite, tu set ta variable
d'environnement LD_PRELOAD sur cette librairie.
[...]


C'est ce que fait (entre autres) checkinstall dont j'ai donné
l'URL dans mon autre message sur le sujet.

--
Stéphane

Avatar
gronaz
bonjour

pourquoi pas
make install &> liste_installation
fopen (liste_installation ...)
etc ...
?