[kernel] Conflit de fichiers à l'install (résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Florian Goo
Hankyu
Messages : 34
Inscription : lun. 12 janv. 2009, 12:21

[kernel] Conflit de fichiers à l'install (résolu)

Message par Florian Goo »

Bonjour chers Archers,

J'ai suivi ce tutoriel à la lettre pour l'installation d'un kernel custom : http://wiki.archlinux.org/index.php/Ker ... rom_Source
La compilation se passe bien, mais au moment de l'installer, pacman relève un conflit de fichiers :

Code : Tout sélectionner

# pacman -U kernel26-custom-2.6.28-1-i686.pkg.tar.gz 
Chargement des données du paquet...
Vérification des dépendances...
(1/1) Analyse des conflits entre fichiers           [#####################] 100%
Erreur: la préparation de la transaction a échoué (conflit de fichiers)
kernel26-custom: /lib/firmware/cpia2/stv0672_vp4.bin est déjà présent dans le système de fichiers
kernel26-custom: /lib/firmware/dabusb/bitstream.bin est déjà présent dans le système de fichiers
kernel26-custom: /lib/firmware/dabusb/firmware.fw est déjà présent dans le système de fichiers
kernel26-custom: /lib/firmware/ess/maestro3_assp_kernel.fw est déjà présent dans le système de fichiers
kernel26-custom: /lib/firmware/ess/maestro3_assp_minisrc.fw est déjà présent dans le système de fichiers
kernel26-custom: /lib/firmware/kaweth/new_code.bin est déjà présent dans le système de fichiers
kernel26-custom: /lib/firmware/kaweth/new_code_fix.bin est déjà présent dans le système de fichiers
kernel26-custom: /lib/firmware/kaweth/trigger_code.bin est déjà présent dans le système de fichiers
kernel26-custom: /lib/firmware/kaweth/trigger_code_fix.bin est déjà présent dans le système de fichiers
kernel26-custom: /lib/firmware/korg/k1212.dsp est déjà présent dans le système de fichiers
kernel26-custom: /lib/firmware/yamaha/ds1_ctrl.fw est déjà présent dans le système de fichiers
kernel26-custom: /lib/firmware/yamaha/ds1_dsp.fw est déjà présent dans le système de fichiers
kernel26-custom: /lib/firmware/yamaha/ds1e_ctrl.fw est déjà présent dans le système de fichiers

Des erreurs se sont produites, aucun paquet n'a été mis à jour.
Savez-vous ce que je dois modifier pour résoudre ce conflit ?

Merci !
Dernière modification par Florian Goo le jeu. 15 janv. 2009, 14:35, modifié 4 fois.
Cactus
Maître du Kyudo
Messages : 2073
Inscription : sam. 16 sept. 2006, 10:39
Localisation : 31 - Toulouse Nord

Message par Cactus »

La méthode sauvage est de forcer pacman en rajoutant l'option f (pacman -Uf).
Je ne connais pas de méthode douce, mais je vais suivre ce topic au cas où... ;)
chaoswizard
Daikyu
Messages : 85
Inscription : dim. 23 mars 2008, 23:56

Message par chaoswizard »

Effectivement, pas mieux que l'option -f (ça fait ça avec certains paquets comme Wesnoth aussi...).
Florian Goo
Hankyu
Messages : 34
Inscription : lun. 12 janv. 2009, 12:21

Message par Florian Goo »

Ouch… ça me semble un poil barbare, comme méthode !

Pour ceux qui ont déjà eu à installer un kernel perso, avez-vous eu le même problème ?
Parce qu'avoir des firmware en commun entre le kernel générique et le perso, ça me semble quasi-inévitable, non ?
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Message par tuxce »

si tu ne fais de modif sur les firmware déjà présent, tu peux ne pas les inclure dans ton kernel perso en mettant:

Code : Tout sélectionner

CONFIG_FIRMWARE_IN_KERNEL=n
et mettre kernel26 en dépendance.

sinon, il y a un ticket ouvert à ce propos:
http://bugs.archlinux.org/task/12384
Florian Goo
Hankyu
Messages : 34
Inscription : lun. 12 janv. 2009, 12:21

Message par Florian Goo »

Ok, je devrais pouvoir m'en sortir avec tout ça.
Merci beaucoup :)
Florian Goo
Hankyu
Messages : 34
Inscription : lun. 12 janv. 2009, 12:21

Message par Florian Goo »

Je reviens à la charge, car la technique de tuxce ne fonctionne pas chez moi. La même commande me renvoie le même message d'erreur.

J'ai malgré tout tenté d'utiliser la méthode sauvage (avec pacman -f), mais j'ai là aussi une erreur :

Code : Tout sélectionner

# pacman -U kernel26-custom-2.6.28-1-i686.pkg.tar.gz -f
Chargement des données du paquet...
Vérification des dépendances...
(1/1) Mise à jour kernel26-custom                   [#####################] 100%
>>> Updating module dependencies. Please wait ...
Erreur: le scriptlet n'a pas pu être exécuté correctement
Florian Goo
Hankyu
Messages : 34
Inscription : lun. 12 janv. 2009, 12:21

Message par Florian Goo »

J'ai réussi à m'en sortir tout seul ;)

Le scriptlet, c'est le fichier kernel26.install
Sur le wiki, ils redirigent la sortie de la seule commande utilisée dans le scriplet vers /dev/null… vachement intelligent.
Bref, j'ai modifié le fichier comme ceci :

Code : Tout sélectionner

post_install () {
  echo ">>> Updating module dependencies. Please wait ..."
  /sbin/depmod -A -v 2.6.28-custom
}

post_upgrade() {
  echo ">>> Updating module dependencies. Please wait ..."
  /sbin/depmod -A -v 2.6.28-custom
}

op=$1
shift

$op $*
… et tout roule :)
Pour une raison obscure, impossible de modifier uniquement la variable KERNEL_VERSION en « 2.6.28-custom », pacman modifiant le fichier en enlevant le « -custom »…
Répondre