On Wed, Jun 11, 2003 at 01:23:32PM +0200, Erwan David wrote: > Le Wed 11/06/2003, Sven Luther disait > > > > Non, tu te trompe, si tu arrive a compiler le module, rien, absolument > > rien ne t'empeche d'en faire un package source comme j'ai fait pour le > > driver unicorn. J'irai meme plus loin, et je me propose de te > > sponsoriser et de t'aider dans ta demarche si jamais tu te lance pour le > > packager. Pour remonter les problemes upstream, il suffit bien souvent > > de savoir ecrire des mails en anglais, ce qui est a la porte de presque > > tout le monde. Bien sur, upstream peut t'ignorer totalement, mais dans > > ce cas, je boycotterai leur produit (je sais, c'est pas toujours > > possible). > > > > Pour faire un package source, il te suffit de : > > > > 1) installer kernel-package et dh_make. > > Et comprendre commen,t ils marchent. Ça commence mal car > kernel_package est incompréhensible avec une doc qui ne différencie > pas ce qui est exemple et ce qui est commande.
il suffit de faire : make-kpkg --revision 1 --bzimage kernel-image pour le noyau, et : make-kpkg --revision 1 modules_image pour les modules, pas besoin de lire des tonnes de docs pas tres comprehensibles. > > 2) faire un dh_make et choisir le kernel-module comme type de package. > > Faut encore passer 3 jours à comprendre la doc de dh_make. Tu fait dh_make, tu repond k lorsqu'il te le demande, et le tour est joue. > > 3) modifier le debian/rules pour qu'il construisse le package source. > > Faut d'abord comprendre à quoi sers ce truc qui s'appelle "rules" > mais semble être un script Il s'agit tout simplement d'un Makefile, (remarque le #!/usr/bin/make -f au debut), qui dispose d'un certains nombre de cibles qui sont utilise par dpkg-buildpackage. J'avoue que c'est la partie la plus difficile de toute, mais c'est quand meme pas la mer a boire. Pour le driver unicorn, j'ai modifie essentiellement les cibles suivantes : binary-modules: ... # Build the module $(MAKE) HPATH=$(KSRC)/include # Install the module $(MAKE) install.debian DESTDIR=$(CURDIR)/debian/$(pmodules) KERNELVERSION=$(KVERS) install: le necessaire pour copier les sources du module dans debian/$(psource)/usr/src/modules/$(package). Et cela doit etre tout si je me souvient bien, le reste etait dans le debian/rules fournit par dh_make. > > 4) essayer le tout. > > > > En general, cela marche bien, des fois il faut faire d'autres modifs > > plus petites, tout depend de la qualite du package upstream. > > > > Et je ne pense pas que faire un package soit irresponsable, au > > contraire, cela permet a d'autres utilisateurs d'en profiter. > > Un boulot énorme qui n'apporte *rien* à personne si je n'ai pas le > même noiyau que les autres. Et en attendant le module il va où si ce N'importe quoi, on voir bien que tu n'a rien compris a comment debian gere les modules. En faissant un package de module, tu genere un package source, qu'un utilisateur pourra alors installer (dans /usr/src/modules_name.tgz) decompresse (dans /usr/src/modules) puis construire en meme temps que _son_ noyau (make-kpkg kernel-image pour le noyau, make-kpkg modules_image pour les modules). Grace a ceci il obtiendra un package de noyau qui lui corresponde, et un ou plusieurs packages de modules qui vont avec. Les packages ont la version du noyau (y compris la flavour eventuelle) comme partie de leur nom, et tu peut donc avoir plusieurs version differentes de noyau et modules correspondant installe en meme temps. > n'est dans /lib/modules ? À quoi ça sers tout ça ? Les source du module vont dans /usr/src/modules, ils sont compile dans un .deb, qui une fois installe va a la place correcte (/lib/modules/version_du_noyau). Amicalement, Sven Luther