Projet

Général

Profil

EoleDebianPackaging24 » Historique » Version 6

Benjamin Bohard, 24/07/2012 16:10
terme manquant

1 1 Daniel Dehennin
{{toc}}
2 1 Daniel Dehennin
3 1 Daniel Dehennin
h1. Debian packaging pour EOLE 2.4
4 1 Daniel Dehennin
5 1 Daniel Dehennin
h2. Introduction
6 1 Daniel Dehennin
7 1 Daniel Dehennin
Nous ne décrirons pas ici comment créer un paquet debian, mais
8 1 Daniel Dehennin
quelques règles utiles lors de la création d’un paquet debian pour
9 1 Daniel Dehennin
EOLE.
10 1 Daniel Dehennin
11 1 Daniel Dehennin
La principale cible de cette documentation est le packaging pour Ubuntu Precise Pangolin.
12 1 Daniel Dehennin
13 5 Daniel Dehennin
h2. debian/control
14 1 Daniel Dehennin
15 1 Daniel Dehennin
<pre>
16 1 Daniel Dehennin
Source: <package>
17 1 Daniel Dehennin
Section: <(admin|web|vcs|...)>
18 1 Daniel Dehennin
Priority: optional
19 1 Daniel Dehennin
Maintainer: Équipe Eole <eole@ac-dijon.fr>
20 1 Daniel Dehennin
Build-Depends: debhelper (>= 9)
21 1 Daniel Dehennin
Standards-Version: 3.9.3
22 2 Daniel Dehennin
Homepage: http://eole.orion.education.fr/diff/
23 2 Daniel Dehennin
Vcs-Git: http://dev-eole.ac-dijon.fr/git/<package>
24 2 Daniel Dehennin
Vcs-Browser: http://dev-eole.ac-dijon.fr/projects/<package>/repository
25 1 Daniel Dehennin
26 1 Daniel Dehennin
Package: <package>
27 1 Daniel Dehennin
Architecture: all
28 1 Daniel Dehennin
Depends: ${misc:Depends}
29 1 Daniel Dehennin
Description: <MAX 72 CHARS>
30 1 Daniel Dehennin
 <DESCRIPTION>
31 1 Daniel Dehennin
 .
32 3 Benjamin Bohard
 <PARAGRAPHE SEPARATED BY DOT>
33 1 Daniel Dehennin
34 1 Daniel Dehennin
Package: <package>-doc
35 1 Daniel Dehennin
Architecture: all
36 1 Daniel Dehennin
Description: <MAX 72 CHARS>
37 1 Daniel Dehennin
 <DESCRIPTION>
38 1 Daniel Dehennin
 .
39 4 Benjamin Bohard
 <PARAGRAPHE SEPARATED BY DOT>
40 1 Daniel Dehennin
41 1 Daniel Dehennin
Package: <package>-tests
42 1 Daniel Dehennin
Architecture: all
43 1 Daniel Dehennin
Depends: <package>
44 1 Daniel Dehennin
Description: <MAX 72 CHARS>
45 1 Daniel Dehennin
 <DESCRIPTION>
46 1 Daniel Dehennin
 .
47 4 Benjamin Bohard
 <PARAGRAPHE SEPARATED BY DOT>
48 1 Daniel Dehennin
</pre>
49 1 Daniel Dehennin
50 1 Daniel Dehennin
h3. Paquets sources et binaires python
51 1 Daniel Dehennin
52 1 Daniel Dehennin
Il faut ajouter :
53 1 Daniel Dehennin
54 1 Daniel Dehennin
* @Build-Depends@ du paquet source: @python-all-dev@ 
55 1 Daniel Dehennin
* @Depends@ du/des paquet(s) binaire(s): @${python:Depends}@
56 1 Daniel Dehennin
57 5 Daniel Dehennin
h2. debian/rules
58 1 Daniel Dehennin
59 1 Daniel Dehennin
h3. Pour tous
60 1 Daniel Dehennin
61 1 Daniel Dehennin
<pre>
62 1 Daniel Dehennin
#!/usr/bin/make -f
63 1 Daniel Dehennin
# -*- makefile -*-
64 1 Daniel Dehennin
# Sample debian/rules that uses debhelper.
65 1 Daniel Dehennin
# This file was originally written by Joey Hess and Craig Small.
66 1 Daniel Dehennin
# As a special exception, when this file is copied by dh-make into a
67 1 Daniel Dehennin
# dh-make output file, you may use that output file without restriction.
68 1 Daniel Dehennin
# This special exception was added by Craig Small in version 0.37 of dh-make.
69 1 Daniel Dehennin
70 1 Daniel Dehennin
# Uncomment this to turn on verbose mode.
71 1 Daniel Dehennin
#export DH_VERBOSE=1
72 1 Daniel Dehennin
73 1 Daniel Dehennin
%:
74 1 Daniel Dehennin
	dh $@
75 1 Daniel Dehennin
</pre>
76 1 Daniel Dehennin
77 1 Daniel Dehennin
h3. Pour paquet python
78 1 Daniel Dehennin
79 1 Daniel Dehennin
<pre>
80 1 Daniel Dehennin
#!/usr/bin/make -f
81 1 Daniel Dehennin
# -*- makefile -*-
82 1 Daniel Dehennin
# Sample debian/rules that uses debhelper.
83 1 Daniel Dehennin
# This file was originally written by Joey Hess and Craig Small.
84 1 Daniel Dehennin
# As a special exception, when this file is copied by dh-make into a
85 1 Daniel Dehennin
# dh-make output file, you may use that output file without restriction.
86 1 Daniel Dehennin
# This special exception was added by Craig Small in version 0.37 of dh-make.
87 1 Daniel Dehennin
88 1 Daniel Dehennin
# Uncomment this to turn on verbose mode.
89 1 Daniel Dehennin
#export DH_VERBOSE=1
90 1 Daniel Dehennin
91 1 Daniel Dehennin
%:
92 1 Daniel Dehennin
	dh $@ --with python2
93 1 Daniel Dehennin
</pre>
94 1 Daniel Dehennin
95 5 Daniel Dehennin
h2. debian/compat
96 1 Daniel Dehennin
97 1 Daniel Dehennin
<pre>
98 1 Daniel Dehennin
9
99 1 Daniel Dehennin
</pre>
100 1 Daniel Dehennin
101 5 Daniel Dehennin
h2. debian/source/format
102 1 Daniel Dehennin
103 6 Benjamin Bohard
De ce paramètre découle la procédure qui est responsable de l’incrémentation du numéro de version ou de l’absence totale de fichier dans la branche dite @upstream@ (chez EOLE, la branche @master@)
104 1 Daniel Dehennin
105 1 Daniel Dehennin
h3. Les développeurs
106 1 Daniel Dehennin
107 1 Daniel Dehennin
L’idée est de dire que le paquet debian ne peut pas contenir de modification du code source (tout ce qui est en dehors du répertoire debian), sans qu’il y ait eu un nouveau numéro de version.
108 1 Daniel Dehennin
109 1 Daniel Dehennin
Dans notre cas, un tag nommé @release/%(version)s@, qui engendrera un paquet debian avec des numéros de version :
110 1 Daniel Dehennin
111 1 Daniel Dehennin
* @%(version)s-1@ pour le premier build ;
112 1 Daniel Dehennin
* @%(version)s-2@ pour le second build qui ne doit corriger que des erreurs de packaging ou avoir un patch pour upstream dans @debian/patches@ ;
113 1 Daniel Dehennin
* @%(version)s-3@ pour le troisième build qui ne doit corriger que des erreurs de packaging ou avoir un patch pour upstream dans @debian/patches@ ;
114 1 Daniel Dehennin
115 1 Daniel Dehennin
<pre>
116 1 Daniel Dehennin
3.0 (quilt)
117 1 Daniel Dehennin
</pre>
118 1 Daniel Dehennin
119 1 Daniel Dehennin
h3. Les packageurs
120 1 Daniel Dehennin
121 6 Benjamin Bohard
Les modifications de code source sont autorisées sur la branche de packaging sans nouveau tag upstream.
122 1 Daniel Dehennin
La branche upstream peut-être complètement vide (cas des métapaquets de dépendances @*-pkg@)
123 1 Daniel Dehennin
124 1 Daniel Dehennin
<pre>
125 1 Daniel Dehennin
3.0 (native)
126 1 Daniel Dehennin
</pre>
127 1 Daniel Dehennin
128 5 Daniel Dehennin
h2. debian/copyright
129 1 Daniel Dehennin
130 1 Daniel Dehennin
<pre>
131 1 Daniel Dehennin
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
132 1 Daniel Dehennin
Upstream-Name: <package
133 1 Daniel Dehennin
Source: <UPSTREAM URL>
134 1 Daniel Dehennin
135 1 Daniel Dehennin
Files: *
136 1 Daniel Dehennin
Copyright: <YEAR1>,<YEAR2>,<YEAR3> <UPSTREAM AUTHOR NAME> <UPSTREAM AUTHOR EMAIL>
137 1 Daniel Dehennin
Copyright: <YEAR1>,<YEAR2>,<YEAR3> <UPSTREAM AUTHOR NAME> <UPSTREAM AUTHOR EMAIL>
138 1 Daniel Dehennin
License: GPL-3+
139 1 Daniel Dehennin
140 1 Daniel Dehennin
Files: debian/*
141 1 Daniel Dehennin
Copyright: <YEAR1>,<YEAR2>,<YEAR3> Équipe EOLE <eole@ac-dijon.fr>
142 1 Daniel Dehennin
License: GPL-3+
143 1 Daniel Dehennin
144 1 Daniel Dehennin
License: GPL-3+
145 1 Daniel Dehennin
 This program is free software: you can redistribute it and/or modify
146 1 Daniel Dehennin
 it under the terms of the GNU General Public License as published by
147 1 Daniel Dehennin
 the Free Software Foundation, either version 3 of the License, or
148 1 Daniel Dehennin
 (at your option) any later version.
149 1 Daniel Dehennin
 .
150 1 Daniel Dehennin
 This package is distributed in the hope that it will be useful,
151 1 Daniel Dehennin
 but WITHOUT ANY WARRANTY; without even the implied warranty of
152 1 Daniel Dehennin
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
153 1 Daniel Dehennin
 GNU General Public License for more details.
154 1 Daniel Dehennin
 .
155 1 Daniel Dehennin
 You should have received a copy of the GNU General Public License
156 1 Daniel Dehennin
 along with this program. If not, see <http://www.gnu.org/licenses/>.
157 1 Daniel Dehennin
 .
158 1 Daniel Dehennin
 On Debian systems, the complete text of the GNU General
159 1 Daniel Dehennin
 Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
160 1 Daniel Dehennin
</pre>