[Toulibre] Comment faire des packages Ubuntu, et les partager sur un réseau d'entreprise ?

Eric Noulard eric.noulard at gmail.com
Mar 30 Nov 21:36:24 CET 2010


Le 30 novembre 2010 20:34, jocelyn falempe <jocelyn.falempe at free.fr> a écrit :
> Salut,
>>>
>>> j'utilise dh_make et "dpkg-buildpackage -rfakeroot" mais beaucoup
>>> d'étapes intermédiaires sont faites à la main,
>>
>> Lesquelles ?
>>
> il faut remplir les fichiers debian/control et debian/rules ainsi que le
> changelog, copyright, les readme et tout ça.
> Sachant que debian est assez strict sur le format de tous ces fichiers, et
> que quand on connaît pas c'est pas évident...

C'est pour ça que je t'avais propose CMake+CPack car il te génère
les fichiers de contrôle (en respectant le format)
avec des infos "plus simples":
http://www.vtk.org/Wiki/CMake:CPackPackageGenerators#DEB_.28UNIX_only.29

>> En gros, Debian et Ubuntu ne font pas de compilation croisée. Donc si
>> tu veux un paquet x86, il faut builder sur x86, si tu veux un paquet
>> ARM, il faut builder sur ARM, si tu veux un paquet x86_64, il faut
>> builder sur x86_64.
>>
>> Après, peut-être qu'entre x86 et x86_64 il y a des arnaques
>> particulières, mais de façon générale, pas de compilation croisée sous
>> Debian/Ubuntu (sauf avec quelques outils un peu avancés genre
>> dpkg-cross utilisés par Emdebian).
>
> ok, donc c'est possible mais pas pour des "petits" projets comme le mien.
> venant de Gentoo, ou c'est assez facile de cross-compiler (avec distcc). je
> m'attendais à trouver la même chose.

Sauf erreur de ma part cross-compiler n'est qu'une partie du problème
du "cross-packaging" et je pense que distcc ne s'occupe que de la partie
"cross-compile" (pour builder plus vite) et pas la partie cross-packaging.

Si tu construis des paquets qui ont peu ou pas de dépendance avec
des libs externes autres que la libc tu dois pouvoir relativement
facilement te construire
un cross-compilo avec Crosstools NG
(http://ymorin.is-a-geek.org/projects/crosstool)
mais si tu dépends de lib externes autre que la libc (xml2, gtk etc
...) ça se compliquera
sérieusement car tu devras aussi cross-compiler ces libs.

Néanmoins pour simplement faire du 32/64 bits tu peux aussi
utiliser les options
-m32 (pour compil' 32 bits)  ou -m64 (pour compil' 64 bits).

Pour que ça fonctionne tu devras probablement installer
(sur la machine de compil') le paquet "gcc-multilib".

Encore une fois tu pourras je pense cross-compiler mais tu n'as pas
de garantie que ton paquet construit de la sorte sera installable
sans erreur, car tu pourrais avoir utilisé une version incompatible
de telle ou telle lib.

> et si il y a une présentation sur le packaging debian (empaquetage en
> français ?), j'irai sûrement y faire un tour ;)

Dans la doc (du mainteneur de paquet) debian tu as pas mal d'infos:
VF  : http://www.debian.org/doc/manuals/maint-guide/index.fr.html
VO :  http://www.debian.org/doc/manuals/maint-guide/

Autres doc: http://www.debian.org/doc/

-- 
Erk
Membre de l'April - « promouvoir et défendre le logiciel libre » -
http://www.april.org



Plus d'informations sur la liste de diffusion Toulouse-ll