Projet

Général

Profil

EoleDebianPackaging » Historique » Version 7

Daniel Dehennin, 04/07/2013 10:48

1 1 Daniel Dehennin
{{toc}}
2 1 Daniel Dehennin
3 1 Daniel Dehennin
h1. Introduction
4 1 Daniel Dehennin
5 1 Daniel Dehennin
Nous ne décrirons pas ici comment créer un paquet debian, mais
6 1 Daniel Dehennin
quelques règles utiles lors de la création d’un paquet debian pour
7 1 Daniel Dehennin
EOLE.
8 1 Daniel Dehennin
9 1 Daniel Dehennin
La principale cible de cette documentation est le packaging pour Ubuntu Precise Pangolin, mais des informations sont données pour Ubuntu Lucid Lynx lorsque cela est pertinant
10 1 Daniel Dehennin
11 1 Daniel Dehennin
h1. Considérations minimales pour un paquet Debian
12 1 Daniel Dehennin
13 1 Daniel Dehennin
h2. debian/control
14 1 Daniel Dehennin
15 1 Daniel Dehennin
h3. Source
16 1 Daniel Dehennin
17 1 Daniel Dehennin
h4. Version de packaging
18 1 Daniel Dehennin
19 1 Daniel Dehennin
https://launchpad.net/debian-policy
20 1 Daniel Dehennin
21 1 Daniel Dehennin
* Lucid : 3.8.4
22 1 Daniel Dehennin
23 1 Daniel Dehennin
h4. Dépendance de build minimale
24 1 Daniel Dehennin
25 1 Daniel Dehennin
h5. debhelper
26 1 Daniel Dehennin
27 1 Daniel Dehennin
https://launchpad.net/debhelper
28 1 Daniel Dehennin
29 1 Daniel Dehennin
* Lucid : 7.4
30 1 Daniel Dehennin
31 1 Daniel Dehennin
h4. URLs
32 1 Daniel Dehennin
33 1 Daniel Dehennin
* @Homepage: http://eole.orion.education.fr/diff/@
34 1 Daniel Dehennin
* @Vcs-Git: http://dev-eole.ac-dijon.fr/git/<PROJECT>@
35 1 Daniel Dehennin
* @Vcs-Browser: http://dev-eole.ac-dijon.fr/projects/<PROJECT>/repository@
36 1 Daniel Dehennin
37 1 Daniel Dehennin
38 1 Daniel Dehennin
h3. Binaire
39 1 Daniel Dehennin
40 1 Daniel Dehennin
h4. Architecture
41 1 Daniel Dehennin
42 1 Daniel Dehennin
* @all@ : Si un paquet ne contient aucun binaire compilé
43 1 Daniel Dehennin
44 1 Daniel Dehennin
* @any@ : Si un paquet contient au moins un fichier dépendant de l’architecture
45 1 Daniel Dehennin
46 1 Daniel Dehennin
47 1 Daniel Dehennin
h4. Dépendance minimal
48 1 Daniel Dehennin
49 1 Daniel Dehennin
Toujours ajouter @${misc:Depends}@ pour les outils debhelper.
50 1 Daniel Dehennin
51 1 Daniel Dehennin
52 1 Daniel Dehennin
h2. debian/compat
53 1 Daniel Dehennin
54 1 Daniel Dehennin
* Lucid : 7
55 1 Daniel Dehennin
56 1 Daniel Dehennin
h2. debian/rules
57 1 Daniel Dehennin
58 1 Daniel Dehennin
Depuis la version 7 des outils debhelper, le fichier debian/rules peut
59 5 Benjamin Bohard
être réduit, dans sa plus simple expression, à moins d’une dizaine de
60 1 Daniel Dehennin
lignes :
61 1 Daniel Dehennin
62 1 Daniel Dehennin
<pre>
63 1 Daniel Dehennin
#!/usr/bin/make -f
64 1 Daniel Dehennin
# -*- makefile -*-
65 1 Daniel Dehennin
66 1 Daniel Dehennin
# Uncomment this to turn on verbose mode.
67 1 Daniel Dehennin
# export DH_VERBOSE=1
68 1 Daniel Dehennin
69 1 Daniel Dehennin
%:
70 1 Daniel Dehennin
        dh $@
71 1 Daniel Dehennin
</pre>
72 1 Daniel Dehennin
73 1 Daniel Dehennin
La commande dh appel tour à tour tous les debhelper, il n’est donc
74 1 Daniel Dehennin
plus nécessaire de les lister dans le debian/rules.
75 1 Daniel Dehennin
76 3 Daniel Dehennin
h1. Paquet python
77 3 Daniel Dehennin
78 3 Daniel Dehennin
h2. debian/control
79 1 Daniel Dehennin
80 1 Daniel Dehennin
h3. Source
81 1 Daniel Dehennin
82 7 Daniel Dehennin
@Build-Depends@ : python-all, python-support si pas de code twisted, python-central si c’est du code twisted
83 1 Daniel Dehennin
84 1 Daniel Dehennin
h3. Binaire
85 1 Daniel Dehennin
86 1 Daniel Dehennin
Ajout de @${python:Depends}@ en @Depends@
87 1 Daniel Dehennin
88 1 Daniel Dehennin
h2. debian/rules
89 1 Daniel Dehennin
90 4 Daniel Dehennin
h3. Pas de code twisted
91 1 Daniel Dehennin
92 4 Daniel Dehennin
Ajouter le module python-support à la séquence debhelper :
93 1 Daniel Dehennin
94 1 Daniel Dehennin
<pre>
95 1 Daniel Dehennin
#!/usr/bin/make -f
96 1 Daniel Dehennin
# -*- makefile -*-
97 1 Daniel Dehennin
98 1 Daniel Dehennin
# Uncomment this to turn on verbose mode.
99 1 Daniel Dehennin
# export DH_VERBOSE=1
100 1 Daniel Dehennin
101 1 Daniel Dehennin
%:
102 4 Daniel Dehennin
        dh $@ --with python-support
103 1 Daniel Dehennin
</pre>
104 1 Daniel Dehennin
105 4 Daniel Dehennin
h3. Distribution d’un module zephir-client
106 1 Daniel Dehennin
107 1 Daniel Dehennin
Ajouter le module @python-central@ à la séquence de @build@ et forcer
108 1 Daniel Dehennin
l’utilisation de @dh_pycentral@ à cause de @twisted@ :
109 1 Daniel Dehennin
110 1 Daniel Dehennin
<pre>
111 1 Daniel Dehennin
#!/usr/bin/make -f
112 1 Daniel Dehennin
# -*- makefile -*-
113 1 Daniel Dehennin
114 1 Daniel Dehennin
# Uncomment this to turn on verbose mode.
115 1 Daniel Dehennin
# export DH_VERBOSE=1
116 1 Daniel Dehennin
117 1 Daniel Dehennin
%:
118 1 Daniel Dehennin
        dh $@
119 1 Daniel Dehennin
120 1 Daniel Dehennin
# Force python-central for use with twisted
121 1 Daniel Dehennin
build:
122 1 Daniel Dehennin
        dh build --with python-central
123 1 Daniel Dehennin
124 1 Daniel Dehennin
override_dh_pysupport:
125 1 Daniel Dehennin
        dh_pycentral
126 1 Daniel Dehennin
127 1 Daniel Dehennin
128 2 Daniel Dehennin
.PHONY: build override_dh_pysupport
129 1 Daniel Dehennin
</pre>