Comment connaitre le contenu d'un fichier .deb?

Bonjour,

je voudrais installer un paquet qui figure dans synaptic: Tripwire 3.4.2.2

l’installation fonctionne bien mais je voudrais installer Tripwire a partir des fichiers sources et je n’y arrive pas!

comment trouver tous les fichiers qui font partie de Tripwire dans Sysnaptic?
je voudrais comparer avec les sources et autres fichiers de la version que l’on telecharge sur le site

(https://sourceforge.net/projects/tripwire/?source=directory)

Si le paquet est installé, le plus simple est de passer par la commande dpkg -L paquet

Par exemple :

$ dpkg -L grub-pc /. /usr /usr/bin /usr/share /usr/share/bug /usr/share/bug/grub-pc /usr/share/bug/grub-pc/script /usr/share/bug/grub-pc/presubj /usr/share/doc /usr/share/man /usr/share/man/man8 /usr/share/man/man8/grub-bios-setup.8.gz /usr/sbin /usr/sbin/upgrade-from-grub-legacy /usr/lib /usr/lib/grub-legacy /usr/lib/grub-legacy/update-grub /etc /etc/kernel /etc/kernel/postrm.d /etc/kernel/postrm.d/zz-update-grub /etc/kernel/postinst.d /etc/kernel/postinst.d/zz-update-grub /usr/bin/grub-ntldr-img /usr/share/doc/grub-pc /usr/sbin/grub-bios-setup

Bonjour,

Il arrive que le code source amont (upstream) d’un logiciel ne compile pas dans debian.

Debian applique alors des correctifs (patches) à ce logiciel afin qu’il compile sans erreur.

La liste des patches pour tripwire :
http://sources.debian.net/src/tripwire/2.4.2.2-4/debian/patches/

Par exemple, dans fix_ftbfs_with_gcc_4.7, on peut lire

`- while (!Equal(g[i1], this->Zero()))

  • while (!this->Equal(g[i1], this->Zero()))`

La ligne du haut est remplacée par celle du bas pour régler une erreur de compilation.

Quand ils sont disponibles dans debian, mieux vaut utiliser les paquets debian qui sont déjà fonctionnels (en principe) dans debian.

1 J'aime

Autrement, on trouve le contenu des paquets sur le site packages.debian.org

Souvent, les équipes de développement sont aussi les mêmes qui s’occupent de l’empaquetage primaire qu’on trouve en sid. Regarde en sid si la version source de tripwire est trés éloignée de celle que tu trouves sur sourceforge: si ça se trouve, ça ne sert pas à grand chose de recompiler, ça dépend de la version binaire debian de sid.
En fait, le plus souvent, quand j’ai eu besoin de recompiler, c’était pour activer/désactiver un flag de compil, et dans ce cas là, tu reprends le source debian en paquet deb, tu déploies l’arbo de compil, tu vas modifier ton makefile, et ensuite tu réempaquette le tout, puis tu installes ton paquet binaire. Comme ça, ça reste propre.

1 J'aime

Et de fait, je viens de vérifier, en sid, c’est cette version là:

mj@MJ-PC:~$ apt-cache policy tripwire
tripwire:
  Installé : (aucun)
  Candidat : 2.4.2.2-5+b1
 Table de version :
     2.4.2.2-5+b1 100
        100 http://ftp.fr.debian.org/debian sid/main amd64 Packages

Or sur sourceforge, le source proposé, c’est le 2.4.2.2 (pas le 3.4.2.2 que tu indiquais), donc aucune raison de chercher dans les sources, le dernier paquet binaire sid doit être parfaitement à jour.

si tu as telechargé un .deb tu peux voir sont contenu avec un lecteur d’archive comme les .zip

Un paquet deb est composé de 2 archives tar :

  • control.tar.gz qui contient les metadonnées (description, dépendances, etc.)
  • data.tar.gz qui contient les fichiers du paquet

Ces 2 archives sont archivées elles-mêmes dans une archive ar (commande du même nom).

Merci a tous