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

Re: Backport XFree 4.3



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



Reply to: