Il y en a un, qui apparaît en tout et pour tout deux fois parce que apt-get (ou aptitude, je sais pas lequel il utilise) fait une « Tentative de réparation ». Ça fait très loin d’être « tous les »…
D’autant que l’erreur est claire, le problème vient du script postinst de php5-common.
D’ailleurs à ce sujet :
[code]# aptitude install php5-common/unstable
Les NOUVEAUX paquets suivants vont être installés :
php5-common
0 paquets mis à jour, 1 nouvellement installés, 0 à enlever et 4 non mis à jour.
Il est nécessaire de télécharger 586 ko d’archives. Après dépaquetage, 890 ko seront utilisés.
Prendre : 1 http://ftp.debian.org/debian/ unstable/main php5-common amd64 5.4.0-2 [586 kB]
Fetched 586 kB in 1s (548 kB/s)
Selecting previously unselected package php5-common.
(Lecture de la base de données… 136659 fichiers et répertoires déjà installés.)
Dépaquetage de php5-common (à partir de …/php5-common_5.4.0-2_amd64.deb) …
Paramétrage de php5-common (5.4.0-2) …
Creating config file /etc/php5/mods-available/pdo.ini with new version
cat /var/lib/dpkg/info/php5-common.postinst
#!/bin/sh
set -e
inidir=/etc/php5/mods-available
if [ “$1” = “configure” ]; then
for dsoname in pdo ; do
inifile=${dsoname}.ini
priority=$(sed -ne “s/^; priority=([0-9]+)$/\1/p” /usr/share/php5/common/${inifile})
# Register new conffile with UCF
ucf /usr/share/php5/common/${inifile} ${inidir}/${inifile}
ucfr php5-common ${inidir}/${inifile}
# Move pre-extension manager conffile
dpkg-maintscript-helper mv_conffile /etc/php5/conf.d/${inifile} ${inidir}/${inifile} 5.4.0~rc6-1 -- "$@";
if [ -f "${inidir}/${inifile}.dpkg-new" ]; then
local md5sum="$(md5sum ${inidir}/${inifile}.dpkg-new | sed -e 's/ .*//')"
local old_md5sum="$(md5sum ${inidir}/${inifile} | sed -e 's/ .*//')"
if [ "$md5sum" = "$old_md5sum" ]; then
mv "${inidir}/${inifile}.dpkg-new" "${inidir}/${inifile}"
fi
fi
# Enable the module
php5enmod ${dsoname}/${priority:-20}
done
fi
exit 0[/code]
Le problème est encore plus clair : le script postinstall est foireux. Le problème ne se déclare que quand on a un PHP déjà installé (présence de /etc/php5/mods-available/pdo.ini), en effet il est interdit de déclarer une variable “local” en dehors d’une fonction.
@AnGe7 :
[code]# mv /etc/php5/mods-available/pdo.ini /etc/php5/mods-available/pdo.ini.bak
rm /etc/php5/mods-available/pdo.ini.dpkg-new
aptitude reinstall php5-common[/code]