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

Re: driver son asus p5kc



Le jeudi 12 juin 2008 03:34, Philippe MONROUX a écrit :

| Je peux essayer de le compiler mais sous debian il vaut mieux faire un
| .deb. or ça je ne sais pas et ça me semble pas facile. 
| 
| Que me conseillez-vous ? 

Bonjour,

Moi non plus je ne savais pas faire.

J'en ai fait un à la main en suivant pas à pas ce qui est décrit dans le livre 
Debian : Administration et configuration avancée.


Voici mes notes. Je ne sais pas si cela peut aider.
Certaines opérations sont décrites de deux façons différentes.


Le paquet contient :																																																																																																																																																																																																																																																															
- le script																																																																																																																																																																																																																																																															
- la page de man																																																																																																																																																																																																																																																															
- le copyright																																																																																																																																																																																																																																																															
- le changelog																																																																																																																																																																																																																																																															
- le control																																																																																																																																																																																																																																																															
- les empreintes md5 : facultatif																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On créé le script que l'on souhaite empaqueter :																																																																																																																																																																																																																																																															
$ cat <<EOF > script																																																																																																																																																																																																																																																															
>#!/bin/sh -e																																																																																																																																																																																																																																																															
>																																																																																																																																																																																																																																																															
> echo Bonjour le monde.																																																																																																																																																																																																																																																															
> EOF																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On créé sa page de man :																																																																																																																																																																																																																																																															
Obligatoire.																																																																																																																																																																																																																																																															
$ cat <<EOF > zerglobu.1																																																																																																																																																																																																																																																															
> MAN(1)                            Utilitaire pour tester la mise en paquets                  
MAN(1)																																																																																																																																																																																																																																																															
>																																																																																																																																																																																																																																																															
> NOM																																																																																																																																																																																																																																																															
>        zerglobu  - il ne set à rien																																																																																																																																																																																																																																																															
> DESCRIPTION																																																																																																																																																																																																																																																															
>        Il ne sert qu'à afficher bonjour																																																																																																																																																																																																																																																															
>																																																																																																																																																																																																																																																															
> 0.1.1                                     2008-01-19                                                                   
MAN(1)																																																																																																																																																																																																																																																															
> EOF																																																																																																																																																																																																																																																															
On le compresse :																																																																																																																																																																																																																																																															
$ gzip -9 zerglobu.1																																																																																																																																																																																																																																																															
$ ls -l																																																																																																																																																																																																																																																															
-rw-r--r-- 1 aristote aristote   184 2008-01-19 12:23 zerglobu.1.gz																																																																																																																																																																																																																																																															
Le tout en une seule ligne pour saisir à la volée le manuel :																																																																																																																																																																																																																																																															
$ cat <<EOF | gzip -9 > zerglobu.1.gz																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On créé son copyright :																																																																																																																																																																																																																																																															
Obligatoire.																																																																																																																																																																																																																																																															
$ cp /usr/share/common-licences/GPL GPL																																																																																																																																																																																																																																																															
on indique quelque part :																																																																																																																																																																																																																																																															
- l'auteur																																																																																																																																																																																																																																																															
- l'emplacement pour obtenir les sources																																																																																																																																																																																																																																																															
- le créateur du paquet																																																																																																																																																																																																																																																															
- la date de réalisation																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On créé son changelog :																																																																																																																																																																																																																																																															
Pour suivre les changements.																																																																																																																																																																																																																																																															
$ cat <<EOF > changelog.Debian																																																																																																																																																																																																																																																															
> zerglobu (1.0-1) unstable; urgency=low																																																																																																																																																																																																																																																															
>																																																																																																																																																																																																																																																															
> * ici "ce qui change une fois" release																																																																																																																																																																																																																																																															
>																																																																																																																																																																																																																																																															
> -- mon nom prénom <moi@mondomaine.pays> la date et l'heure																																																																																																																																																																																																																																																															
> EOF																																																																																																																																																																																																																																																															
On le compresse :																																																																																																																																																																																																																																																															
$ gzip -9 changelog.Debian																																																																																																																																																																																																																																																															
$ ls -l																																																																																																																																																																																																																																																															
-rw-r--r-- 1 aristote aristote   184 2008-01-19 14:40 changelog.Debian.gz																																																																																																																																																																																																																																																															
Le tout en une seule ligne pour saisie à la volée :																																																																																																																																																																																																																																																															
$ cat <<EOF | gzip -9 > changelog.Debian.gz																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On créé son control :																																																																																																																																																																																																																																																															
Pour identifier le paquet par les outils de gestion de paquets.																																																																																																																																																																																																																																																															
$ cat <<EOF > control																																																																																																																																																																																																																																																															
> Package: zerglobu																																																																																																																																																																																																																																																															
> Section: misc																																																																																																																																																																																																																																																															
> Priority: extra																																																																																																																																																																																																																																																															
> Maintainer: Nom Prénom <moi AT mon email DOT com>																																																																																																																																																																																																																																																															
> Architecture: all																																																																																																																																																																																																																																																															
> Version: 0.0-1																																																																																																																																																																																																																																																															
> Description: C'est juste un test qui affiche le texte "Bonjour le monde."																																																																																																																																																																																																																																																															
mettre d'autres lignes ici empêche d'installer le paquet. La ligne du dessus 
doit se terminer par CRLF																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On crééra les sommes md5 :																																																																																																																																																																																																																																																															
lorsque les fichiers seront à leur place dans l'arborescence																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On créé l'arborescence :																																																																																																																																																																																																																																																															
- pour le script :																																																																																																																																																																																																																																																															
$ mkdir -p zerglobu/usr/bin																																																																																																																																																																																																																																																															
- pour la page de man :																																																																																																																																																																																																																																																															
$ mkdir -p zerglobu/usr/share/man/man1																																																																																																																																																																																																																																																															
- pour le copyright :																																																																																																																																																																																																																																																															
$ mkdir -p zerglobu/usr/share/doc/zerglobu																																																																																																																																																																																																																																																															
'- pour le changelog :																																																																																																																																																																																																																																																															
c'est le même que le copyright																																																																																																																																																																																																																																																															
'- pour le control :																																																																																																																																																																																																																																																															
$ mkdir zerglobu/DEBIAN																																																																																																																																																																																																																																																															
- pour les empreintes md5 :																																																																																																																																																																																																																																																															
c'est le même que le control																																																																																																																																																																																																																																																															
On vérifie :																																																																																																																																																																																																																																																															
$ cd zerglobu																																																																																																																																																																																																																																																															
$ find . -exec ls -Fld {} \;																																																																																																																																																																																																																																																															
drwxr-xr-x 4 aristote aristote 4096 2008-01-19 13:39 ./																																																																																																																																																																																																																																																															
drwxr-xr-x 4 aristote aristote 4096 2008-01-19 13:38 ./usr/																																																																																																																																																																																																																																																															
drwxr-xr-x 2 aristote aristote 4096 2008-01-19 13:38 ./usr/bin/																																																																																																																																																																																																																																																															
drwxr-xr-x 4 aristote aristote 4096 2008-01-19 13:39 ./usr/share/																																																																																																																																																																																																																																																															
drwxr-xr-x 3 aristote aristote 4096 2008-01-19 13:38 ./usr/share/man/																																																																																																																																																																																																																																																															
drwxr-xr-x 2 aristote aristote 4096 2008-01-19 13:38 ./usr/share/man/man1/																																																																																																																																																																																																																																																															
drwxr-xr-x 3 aristote aristote 4096 2008-01-19 13:39 ./usr/share/doc/																																																																																																																																																																																																																																																															
drwxr-xr-x 2 aristote aristote 4096 2008-01-19 13:39 ./usr/share/doc/zerglobu/																																																																																																																																																																																																																																																															
drwxr-xr-x 2 aristote aristote 4096 2008-01-19 13:39 ./DEBIAN/																																																																																																																																																																																																																																																															
$ cd ..																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On copie les fichiers et on positionne les attributs :																																																																																																																																																																																																																																																															
- pour le script :																																																																																																																																																																																																																																																															
$ install --mode=755 script zerglobu/usr/bin/zerglobu																																																																																																																																																																																																																																																															
- pour la page de man :																																																																																																																																																																																																																																																															
$ install --mode=644 zerglobu.1.gz zerglobu/usr/share/man/man1																																																																																																																																																																																																																																																															
- pour le copyright :																																																																																																																																																																																																																																																															
$ install --mode=644 GPL zerglobu/usr/share/doc/zerglobu/copyright																																																																																																																																																																																																																																																															
'- pour le changelog :																																																																																																																																																																																																																																																															
$ install --mode=644 changelog.Debian.gz 
zerglobu/usr/share/doc/zerglobu/changelog.Debian.gz																																																																																																																																																																																																																																																															
'- pour le control :																																																																																																																																																																																																																																																															
$ install --mode=644 control zerglobu/DEBIAN/control																																																																																																																																																																																																																																																															
- pour les empreintes md5 :																																																																																																																																																																																																																																																															
uniquement celles qui sont sous usr.																																																																																																																																																																																																																																																															
$ find zerglobu/usr -type f -exec md5sum {} \; \ > zerglobu/DEBIAN/md5sums																																																																																																																																																																																																																																																															
Comme cette ligne ne marche pas alors :																																																																																																																																																																																																																																																															
$ cd zerglobu																																																																																																																																																																																																																																																															
$ md5sum usr/bin/zerglobu >> DEBIAN/md5sums																																																																																																																																																																																																																																																															
$ md5sum usr/share/man/man1/zerglobu.1.gz >> DEBIAN/md5sums																																																																																																																																																																																																																																																															
$ md5sum usr/share/doc/zerglobu/copyright >> DEBIAN/md5sums																																																																																																																																																																																																																																																															
$ md5sum usr/share/doc/zerglobu/changelog.Debian.gz >> DEBIAN/md5sums																																																																																																																																																																																																																																																															
à revoir le niveau zerglobu/usr ou usr :																																																																																																																																																																																																																																																															
c28b5e414149822ffb5aa9dd9af7045c  usr/bin/zerglobu																																																																																																																																																																																																																																																															
aac5da97920881adfa36553ee6ca7e5a  usr/share/doc/zerglobu/changelog.Debian.gz																																																																																																																																																																																																																																																															
751419260aa954499f7abaabaa882bbe  usr/share/doc/zerglobu/copyright																																																																																																																																																																																																																																																															
efeb69978fbb2fe1c55b97ff80a3a817  usr/share/man/man1/zerglobu.1.gz																																																																																																																																																																																																																																																															



																																																																																																																																																																																																																																																															
Pour mémoire :
Les droits rw sur groupes et autres :																																																																																																																																																																																																																																																															
$ chmod -R og=rX .																																																																																																																																																																																																																																																															
$ cd ..																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
Faire une copie de l'arborescence.																																																																																																																																																																																																																																																															
On créé le paquet avec les outils standards :																																																																																																																																																																																																																																																															
depuis la bonne arborescence.																																																																																																																																																																																																																																																															
$ ls -l																																																																																																																																																																																																																																																															
drwxr-xr-x 4 aristote aristote 4096 2008-01-19 16:30 zerglobu																																																																																																																																																																																																																																																															
drwxr-xr-x 4 aristote aristote 4096 2008-01-19 13:39 zerglobu_save																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
$ tar cz -C zerglobu/DEBIAN -f control.tar.gz .																																																																																																																																																																																																																																																															
$ tar cz --exclude=DEBIAN -C zerglobu -f data.tar.gz .																																																																																																																																																																																																																																																															
$ echo 2.0 > debian-binary																																																																																																																																																																																																																																																															
$ ar rcu zerglobu.deb debian-binary control.tar.gz data.tar.gz																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
$ ls -l																																																																																																																																																																																																																																																															
'-rw-r--r-- 1 aristote aristote  503 2008-1-19 16:53 control.tar.gz																																																																																																																																																																																																																																																															
-rw-r--r-- 1 aristote aristote 7890 2008-01-19 16:42 data.tar.gz																																																																																																																																																																																																																																																															
-rw-r--r-- 1 aristote aristote    4 2008-01-19 16:42 debian-binary																																																																																																																																																																																																																																																															
drwxr-xr-x 4 aristote aristote 4096 2008-01-19 16:39 zerglobu																																																																																																																																																																																																																																																															
-rw-r--r-- 1 aristote aristote 8586 2008-01-19 16:43 zerglobu.deb																																																																																																																																																																																																																																																															
drwxr-xr-x 4 aristote aristote 4096 2008-01-19 13:39 zerglobu_save																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On vérifie le paquet :																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
$ dpkg-deb --info zerglobu.deb																																																																																																																																																																																																																																																															
 nouveau paquet Debian, version 2.0.																																																																																																																																																																																																																																																															
 taille 8588 octets : archive de contrôle = 503 octets.																																																																																																																																																																																																																																																															
     225 octets,     8 lignes      control																																																																																																																																																																																																																																																															
     261 octets,     3 lignes      md5sums																																																																																																																																																																																																																																																															
 Package: zerglobu																																																																																																																																																																																																																																																															
 Section: misc																																																																																																																																																																																																																																																															
 Priority: extra																																																																																																																																																																																																																																																															
 Maintainer: Alain Vaugham <alain AT vaugham DOT com>																																																																																																																																																																																																																																																															
 Architecture: all																																																																																																																																																																																																																																																															
 Version: 0.0-1																																																																																																																																																																																																																																																															
 Description: C'est juste un test de mise en paquet																																																																																																																																																																																																																																																															
 qui affiche le mot "Bonjour le monde".																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
$ dpkg-deb --contents zerglobu.deb																																																																																																																																																																																																																																																															
drwxr-xr-x aristote/aristote 0 2008-01-19 16:53 ./																																																																																																																																																																																																																																																															
drwxr-xr-x aristote/aristote 0 2008-01-19 13:38 ./usr/																																																																																																																																																																																																																																																															
drwxr-xr-x aristote/aristote 0 2008-01-19 14:18 ./usr/bin/																																																																																																																																																																																																																																																															
-rwxr-xr-x aristote/aristote 64 2008-01-19 14:18 ./usr/bin/zerglobu																																																																																																																																																																																																																																																															
drwxr-xr-x aristote/aristote  0 2008-01-19 13:39 ./usr/share/																																																																																																																																																																																																																																																															
drwxr-xr-x aristote/aristote  0 2008-01-19 13:38 ./usr/share/man/																																																																																																																																																																																																																																																															
drwxr-xr-x aristote/aristote  0 2008-01-19 16:09 ./usr/share/man/man1/																																																																																																																																																																																																																																																															
-rw-r--r-- aristote/aristote 184 2008-01-19 
14:22 ./usr/share/man/man1/zerglobu.1.gz																																																																																																																																																																																																																																																															
drwxr-xr-x aristote/aristote   0 2008-01-19 13:39 ./usr/share/doc/																																																																																																																																																																																																																																																															
drwxr-xr-x aristote/aristote   0 2008-01-19 15:00 ./usr/share/doc/zerglobu/																																																																																																																																																																																																																																																															
-rw-r--r-- aristote/aristote 17987 2008-01-19 
14:27 ./usr/share/doc/zerglobu/copyright																																																																																																																																																																																																																																																															
-rw-r--r-- aristote/aristote   184 2008-01-19 
15:00 ./usr/share/doc/zerglobu/changelog.Debian.gz																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On installe le paquet :																																																																																																																																																																																																																																																															
# dpkg --install zerglobu.deb																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On consulte le man :																																																																																																																																																																																																																																																															
$ man zerglobu																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On exécute le programme :																																																																																																																																																																																																																																																															
$ zerglobu																																																																																																																																																																																																																																																															
																																																																																																																																																																																																																																																															
On désinstalle le paquet :																																																																																																																																																																																																																																																															
# aptitude remove zerglobu																																																																																																																																																																																																																																																															
# aptitude remove --purge zerglobu																																																																																																																																																																																																																																																															


-- 

Alain Vaugham
--------------------------------------------------------
[PUB] Signature numérique GPG de ce courrier: 0xD26D18BC

Attachment: pgpSeDjh8aMiC.pgp
Description: PGP signature


Reply to: