Projet

Général

Profil

EoleDebianPackaging » Historique » Version 1

Daniel Dehennin, 12/04/2012 10:55
Note sur le packaging Debian chez EOLE

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
* Precise : 3.9.3
23 1 Daniel Dehennin
24 1 Daniel Dehennin
h4. Dépendance de build minimale
25 1 Daniel Dehennin
26 1 Daniel Dehennin
h5. debhelper
27 1 Daniel Dehennin
28 1 Daniel Dehennin
https://launchpad.net/debhelper
29 1 Daniel Dehennin
30 1 Daniel Dehennin
* Lucid : 7.4
31 1 Daniel Dehennin
* Precise : 9
32 1 Daniel Dehennin
33 1 Daniel Dehennin
h4. URLs
34 1 Daniel Dehennin
35 1 Daniel Dehennin
* @Homepage: http://eole.orion.education.fr/diff/@
36 1 Daniel Dehennin
* @Vcs-Git: http://dev-eole.ac-dijon.fr/git/<PROJECT>@
37 1 Daniel Dehennin
* @Vcs-Browser: http://dev-eole.ac-dijon.fr/projects/<PROJECT>/repository@
38 1 Daniel Dehennin
39 1 Daniel Dehennin
40 1 Daniel Dehennin
h3. Binaire
41 1 Daniel Dehennin
42 1 Daniel Dehennin
h4. Architecture
43 1 Daniel Dehennin
44 1 Daniel Dehennin
* @all@ : Si un paquet ne contient aucun binaire compilé
45 1 Daniel Dehennin
46 1 Daniel Dehennin
* @any@ : Si un paquet contient au moins un fichier dépendant de l’architecture
47 1 Daniel Dehennin
48 1 Daniel Dehennin
49 1 Daniel Dehennin
h4. Dépendance minimal
50 1 Daniel Dehennin
51 1 Daniel Dehennin
Toujours ajouter @${misc:Depends}@ pour les outils debhelper.
52 1 Daniel Dehennin
53 1 Daniel Dehennin
54 1 Daniel Dehennin
h2. debian/compat
55 1 Daniel Dehennin
56 1 Daniel Dehennin
* Lucid : 7
57 1 Daniel Dehennin
58 1 Daniel Dehennin
* Precise : 9
59 1 Daniel Dehennin
60 1 Daniel Dehennin
61 1 Daniel Dehennin
h2. debian/rules
62 1 Daniel Dehennin
63 1 Daniel Dehennin
Depuis la version 7 des outils debhelper, le fichier debian/rules peut
64 1 Daniel Dehennin
être réduit, dans sa plus simple expression, à moins d’une dixaine de
65 1 Daniel Dehennin
lignes :
66 1 Daniel Dehennin
67 1 Daniel Dehennin
<pre>
68 1 Daniel Dehennin
#!/usr/bin/make -f
69 1 Daniel Dehennin
# -*- makefile -*-
70 1 Daniel Dehennin
71 1 Daniel Dehennin
# Uncomment this to turn on verbose mode.
72 1 Daniel Dehennin
# export DH_VERBOSE=1
73 1 Daniel Dehennin
74 1 Daniel Dehennin
%:
75 1 Daniel Dehennin
        dh $@
76 1 Daniel Dehennin
</pre>
77 1 Daniel Dehennin
78 1 Daniel Dehennin
La commande dh appel tour à tour tous les debhelper, il n’est donc
79 1 Daniel Dehennin
plus nécessaire de les lister dans le debian/rules.
80 1 Daniel Dehennin
81 1 Daniel Dehennin
82 1 Daniel Dehennin
h1. Paquet python
83 1 Daniel Dehennin
84 1 Daniel Dehennin
h2. debian/control
85 1 Daniel Dehennin
86 1 Daniel Dehennin
h3. Source
87 1 Daniel Dehennin
88 1 Daniel Dehennin
Ajout de @python-all-dev@ en @Build-Depends@ :
89 1 Daniel Dehennin
90 1 Daniel Dehennin
* Lucid : >= 2.6.5-0ubuntu1
91 1 Daniel Dehennin
92 1 Daniel Dehennin
* Precise : >= 2.6.6-3
93 1 Daniel Dehennin
94 1 Daniel Dehennin
h3. Binaire
95 1 Daniel Dehennin
96 1 Daniel Dehennin
Ajout de @${python:Depends}@ en @Depends@
97 1 Daniel Dehennin
98 1 Daniel Dehennin
99 1 Daniel Dehennin
h2. debian/rules
100 1 Daniel Dehennin
101 1 Daniel Dehennin
h3. Precise
102 1 Daniel Dehennin
103 1 Daniel Dehennin
Ajouter le module @dh_python2@ à la séquence @debhelper@ pour du code
104 1 Daniel Dehennin
python2 et @dh_python3@ pour du code python3 :
105 1 Daniel Dehennin
106 1 Daniel Dehennin
<pre>
107 1 Daniel Dehennin
#!/usr/bin/make -f
108 1 Daniel Dehennin
# -*- makefile -*-
109 1 Daniel Dehennin
110 1 Daniel Dehennin
# Uncomment this to turn on verbose mode.
111 1 Daniel Dehennin
# export DH_VERBOSE=1
112 1 Daniel Dehennin
113 1 Daniel Dehennin
%:
114 1 Daniel Dehennin
        dh --with python2 $@
115 1 Daniel Dehennin
</pre>
116 1 Daniel Dehennin
117 1 Daniel Dehennin
118 1 Daniel Dehennin
h3. Lucid
119 1 Daniel Dehennin
120 1 Daniel Dehennin
h4. Distribution d’un module zephir-client
121 1 Daniel Dehennin
122 1 Daniel Dehennin
Ajouter le module @python-central@ à la séquence de @build@ et forcer
123 1 Daniel Dehennin
l’utilisation de @dh_pycentral@ à cause de @twisted@ :
124 1 Daniel Dehennin
125 1 Daniel Dehennin
<pre>
126 1 Daniel Dehennin
#!/usr/bin/make -f
127 1 Daniel Dehennin
# -*- makefile -*-
128 1 Daniel Dehennin
129 1 Daniel Dehennin
# Uncomment this to turn on verbose mode.
130 1 Daniel Dehennin
# export DH_VERBOSE=1
131 1 Daniel Dehennin
132 1 Daniel Dehennin
%:
133 1 Daniel Dehennin
        dh $@
134 1 Daniel Dehennin
135 1 Daniel Dehennin
# Force python-central for use with twisted
136 1 Daniel Dehennin
build:
137 1 Daniel Dehennin
        dh build --with python-central
138 1 Daniel Dehennin
139 1 Daniel Dehennin
override_dh_pysupport:
140 1 Daniel Dehennin
        dh_pycentral
141 1 Daniel Dehennin
142 1 Daniel Dehennin
143 1 Daniel Dehennin
.PHONY: build override_dh_pysupport
144 1 Daniel Dehennin
</pre>
145 1 Daniel Dehennin
146 1 Daniel Dehennin
h4. Pas de code twisted
147 1 Daniel Dehennin
148 1 Daniel Dehennin
Ajouter le module python-support à la séquence debhelper :
149 1 Daniel Dehennin
150 1 Daniel Dehennin
<pre>
151 1 Daniel Dehennin
#!/usr/bin/make -f
152 1 Daniel Dehennin
# -*- makefile -*-
153 1 Daniel Dehennin
154 1 Daniel Dehennin
# Uncomment this to turn on verbose mode.
155 1 Daniel Dehennin
# export DH_VERBOSE=1
156 1 Daniel Dehennin
157 1 Daniel Dehennin
%:
158 1 Daniel Dehennin
        dh --with python-support $@
159 1 Daniel Dehennin
</pre>