Projet

Général

Profil

EoleDebianPackaging24 » Historique » Version 9

Daniel Dehennin, 24/07/2012 16:18
Ajout de la section metapackages

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 9 Daniel Dehennin
Section: <(admin|web|metapackages|...)>
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 7 Daniel Dehennin
De ce paramètre découle trois choses :
104 7 Daniel Dehennin
105 8 Daniel Dehennin
# Qui a la responsabilité de l’incrémentation du numéro de version ;
106 7 Daniel Dehennin
# Est-il permit que la branche dite @upstream@ (chez EOLE, la branche @master@) soit vide ;
107 7 Daniel Dehennin
# Est-il possible qu’entre deux paquets debian, il y ai des modifications de fichiers en dehors du répertoire @debian/@ sans nouveau tag de version @upstream@.
108 1 Daniel Dehennin
109 1 Daniel Dehennin
h3. Les développeurs
110 1 Daniel Dehennin
111 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.
112 1 Daniel Dehennin
113 1 Daniel Dehennin
Dans notre cas, un tag nommé @release/%(version)s@, qui engendrera un paquet debian avec des numéros de version :
114 1 Daniel Dehennin
115 1 Daniel Dehennin
* @%(version)s-1@ pour le premier build ;
116 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@ ;
117 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@ ;
118 1 Daniel Dehennin
119 1 Daniel Dehennin
<pre>
120 1 Daniel Dehennin
3.0 (quilt)
121 1 Daniel Dehennin
</pre>
122 1 Daniel Dehennin
123 1 Daniel Dehennin
h3. Les packageurs
124 1 Daniel Dehennin
125 6 Benjamin Bohard
Les modifications de code source sont autorisées sur la branche de packaging sans nouveau tag upstream.
126 1 Daniel Dehennin
La branche upstream peut-être complètement vide (cas des métapaquets de dépendances @*-pkg@)
127 1 Daniel Dehennin
128 1 Daniel Dehennin
<pre>
129 1 Daniel Dehennin
3.0 (native)
130 1 Daniel Dehennin
</pre>
131 1 Daniel Dehennin
132 5 Daniel Dehennin
h2. debian/copyright
133 1 Daniel Dehennin
134 1 Daniel Dehennin
<pre>
135 1 Daniel Dehennin
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
136 1 Daniel Dehennin
Upstream-Name: <package
137 1 Daniel Dehennin
Source: <UPSTREAM URL>
138 1 Daniel Dehennin
139 1 Daniel Dehennin
Files: *
140 1 Daniel Dehennin
Copyright: <YEAR1>,<YEAR2>,<YEAR3> <UPSTREAM AUTHOR NAME> <UPSTREAM AUTHOR EMAIL>
141 1 Daniel Dehennin
Copyright: <YEAR1>,<YEAR2>,<YEAR3> <UPSTREAM AUTHOR NAME> <UPSTREAM AUTHOR EMAIL>
142 1 Daniel Dehennin
License: GPL-3+
143 1 Daniel Dehennin
144 1 Daniel Dehennin
Files: debian/*
145 1 Daniel Dehennin
Copyright: <YEAR1>,<YEAR2>,<YEAR3> Équipe EOLE <eole@ac-dijon.fr>
146 1 Daniel Dehennin
License: GPL-3+
147 1 Daniel Dehennin
148 1 Daniel Dehennin
License: GPL-3+
149 1 Daniel Dehennin
 This program is free software: you can redistribute it and/or modify
150 1 Daniel Dehennin
 it under the terms of the GNU General Public License as published by
151 1 Daniel Dehennin
 the Free Software Foundation, either version 3 of the License, or
152 1 Daniel Dehennin
 (at your option) any later version.
153 1 Daniel Dehennin
 .
154 1 Daniel Dehennin
 This package is distributed in the hope that it will be useful,
155 1 Daniel Dehennin
 but WITHOUT ANY WARRANTY; without even the implied warranty of
156 1 Daniel Dehennin
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
157 1 Daniel Dehennin
 GNU General Public License for more details.
158 1 Daniel Dehennin
 .
159 1 Daniel Dehennin
 You should have received a copy of the GNU General Public License
160 1 Daniel Dehennin
 along with this program. If not, see <http://www.gnu.org/licenses/>.
161 1 Daniel Dehennin
 .
162 1 Daniel Dehennin
 On Debian systems, the complete text of the GNU General
163 1 Daniel Dehennin
 Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
164 1 Daniel Dehennin
</pre>