Il faut savoir aussi que la différence majeure entre les deux formats est que les RPM basent leurs dépendances sur les fichiers là où les DEB s'appuient uniquement sur le système de dépendances.
Heu tu exageres un peu. RPM _supporte_ les dépendances sur des fichiers mais c'est très rarement utilisé et c'est fortement déconseillé.
Je sais que sur Mandriva ca arrive dans un cas : quand ton cas contient des scripts, à la construction du package ca regarde les shebang et ca ajoute les interpretaurs comme dépendance. Quand l'interpréteur est présent sur la machine de build ca met une dépendance vers son package, sinon ca met vers le fichier. Donc on se retrouve avec une dépendance vers le fichier si on a oublié de mettre l'interpréteur comme dépendance de build et pas mis la dépendance à la main en ajoutant un ignore sur celle là.
Le seul cas ou je ne sais pas comment éviter c'est dans les scripts de pre/post/... ou rpm met tout seul un require sur le fichier de l'interpreteur. La plupart des packages ont donc une dépendance vers /bin/sh, et en plus elle apparait plusieurs fois par packet (pour dire qu'on a besoin de lui en pre, en post, ...).
[^] # Re: Difficile
Posté par Pascal Terjan . En réponse à la dépêche Amélioration en vue pour l'installation de logiciel sur GNU/Linux.. Évalué à 3.
Heu tu exageres un peu. RPM _supporte_ les dépendances sur des fichiers mais c'est très rarement utilisé et c'est fortement déconseillé.
Je sais que sur Mandriva ca arrive dans un cas : quand ton cas contient des scripts, à la construction du package ca regarde les shebang et ca ajoute les interpretaurs comme dépendance. Quand l'interpréteur est présent sur la machine de build ca met une dépendance vers son package, sinon ca met vers le fichier. Donc on se retrouve avec une dépendance vers le fichier si on a oublié de mettre l'interpréteur comme dépendance de build et pas mis la dépendance à la main en ajoutant un ignore sur celle là.
Le seul cas ou je ne sais pas comment éviter c'est dans les scripts de pre/post/... ou rpm met tout seul un require sur le fichier de l'interpreteur. La plupart des packages ont donc une dépendance vers /bin/sh, et en plus elle apparait plusieurs fois par packet (pour dire qu'on a besoin de lui en pre, en post, ...).
Sur les 1789 installés sur ma machine :
[pterjan@plop tmp]$ rpm -qa --requires | grep / | sort | uniq -c | sort -nr
969 /bin/sh
878 /sbin/ldconfig
41 /sbin/install-info
26 /usr/sbin/update-alternatives
8 /usr/bin/perl
4 /sbin/chkconfig
3 /usr/sbin/groupadd
3 /bin/awk
3 /bin/ash
2 /usr/sbin/update-ldetect-lst
2 /usr/bin/tr
2 /usr/bin/python
2 /etc/pam.d/system-auth
2 /etc/init.d
2 /bin/sed
1 /usr/share/autotools/ac-wrapper.pl
1 /usr/sbin/useradd
1 /usr/sbin/glibc-post-wrapper
1 /usr/sbin/chkfontpath
1 /usr/sbin/arping
1 /usr/bin/run-parts
1 /usr/bin/ruby
1 /usr/bin/rrdcgi
1 /usr/bin/env
1 /usr/bin/cmp
1 /usr/bin/chage
1 /sbin/service
1 /sbin/pidof
1 /sbin/ip
1 /sbin/fuser
1 /etc/libuser.conf
1 /bin/touch
1 /bin/rm
1 /bin/grep
1 /bin/gawk
1 /bin/egrep
1 /bin/csh
1 /bin/bash
Quelques un sont des bugs mais la plupart ne sont que du bruit vu que c'est fourni dans le basesystem.