[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: RE : execution automatique de module-assistant



Bonsoir,

Le 04/02/08, Hugues LARRIVE<hugues.larrive@gmail.com> a écrit :
> C'est un peut lourd de lancer le script après l'installation de chaque
> paquet...
> Il y a un moyen plus simple que j'utilise pour le module nvidia :
>  - Créer le script /usr/local/sbin/update-module :
> #!/bin/sh
> m-a -tl $1 a-i nvidia
> update-grub $1 $2
>  - Remplacer postinst_hook = update-grub par postinst_hook =
> /usr/local/sbin/update-module dans /etc/kernel-img.conf
Effectivement, c'est plus malin de l'executer uniquement lors d'une
maj du noyau. Merci, je ne connaissais pas ce fichier de conf.

>  - Le meta-paquet linux-headers correspondant à votre noyau
> (linux-headers-2.6.18-686 dans mon cas) doit être installé de sorte que
> les headers du nouveau noyau soient déjà installés quand
> module-assistant s'exécute car module-assistant est exécuté pendant une
> mise à jour apt donc il ne peut pas utiliser apt-get pour installer
> d'autres paquets.
Chez moi il n'était pas installé donc m-a doit effectivement
télécharger les headers avant de pouvoir compiler mon nouveau module.

> Ta solution a probablement le même problème que la mienne si
> module-assistant tente d'installer un paquet manquant (headers, sources
> du module, build-essential, linux-kbuild, etc.) mais le seule qui doit
> être mis à jour en même temps que le noyau est le linux-headers
> correspondant et il le sera à condition que le meta-paquet soit installé.
En fait non. En utilisant DPkg::Post-Invoke, m-a est capable
d'installer d'autres paquets. Je suppose que la commande est appelée
après avoir relaché le lock.
Par contre en passant par kernel-img.conf, le lock est toujours
présent au moment de l'execution de m-a et il ne peut donc installer
d'autres paquets.

Bref les deux solutions ont leurs avantages et inconvéniants
- DPkg::Post-Invoke : permet de compiler le module même s'il manque
des paquets mais est executé à chaque appel à dpkg
- postinst_hook : nécessite que toutes les dépendances soient déjà
installées mais ne sert que quand c'est nécessaire.

Au final, je vais sans doute m'orienter vers la deuxième solution. Une
fois mise en place (càd avec m-a prepare et le meta paquet
linux-headers-2.6-686 déjà installés) elle me semble plus éprouvée,
plus simple et plus légère.

Merci
JJL

-- 
http://kubuntu.free.fr/blog


Reply to: