Projet

Général

Profil

EoleDebianPackaging24 » Historique » Version 1

Daniel Dehennin, 24/07/2012 15:45
Précis et concis pour 2.4

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 1 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 1 Daniel Dehennin
23 1 Daniel Dehennin
Package: <package>
24 1 Daniel Dehennin
Architecture: all
25 1 Daniel Dehennin
Depends: ${misc:Depends}
26 1 Daniel Dehennin
Description: <MAX 72 CHARS>
27 1 Daniel Dehennin
 <DESCRIPTION>
28 1 Daniel Dehennin
 .
29 1 Daniel Dehennin
 <PARAGRPAHE SEPARATED BY DOT>
30 1 Daniel Dehennin
31 1 Daniel Dehennin
Package: <package>-doc
32 1 Daniel Dehennin
Architecture: all
33 1 Daniel Dehennin
Description: <MAX 72 CHARS>
34 1 Daniel Dehennin
 <DESCRIPTION>
35 1 Daniel Dehennin
 .
36 1 Daniel Dehennin
 <PARAGRPAHE SEPARATED BY DOT>
37 1 Daniel Dehennin
38 1 Daniel Dehennin
Package: <package>-tests
39 1 Daniel Dehennin
Architecture: all
40 1 Daniel Dehennin
Depends: <package>
41 1 Daniel Dehennin
Description: <MAX 72 CHARS>
42 1 Daniel Dehennin
 <DESCRIPTION>
43 1 Daniel Dehennin
 .
44 1 Daniel Dehennin
 <PARAGRPAHE SEPARATED BY DOT>
45 1 Daniel Dehennin
</pre>
46 1 Daniel Dehennin
47 1 Daniel Dehennin
h3. Paquets sources et binaires python
48 1 Daniel Dehennin
49 1 Daniel Dehennin
Il faut ajouter :
50 1 Daniel Dehennin
51 1 Daniel Dehennin
* @Build-Depends@ du paquet source: @python-all-dev@ 
52 1 Daniel Dehennin
* @Depends@ du/des paquet(s) binaire(s): @${python:Depends}@
53 1 Daniel Dehennin
54 1 Daniel Dehennin
h2. @debian/rules@
55 1 Daniel Dehennin
56 1 Daniel Dehennin
h3. Pour tous
57 1 Daniel Dehennin
58 1 Daniel Dehennin
<pre>
59 1 Daniel Dehennin
#!/usr/bin/make -f
60 1 Daniel Dehennin
# -*- makefile -*-
61 1 Daniel Dehennin
# Sample debian/rules that uses debhelper.
62 1 Daniel Dehennin
# This file was originally written by Joey Hess and Craig Small.
63 1 Daniel Dehennin
# As a special exception, when this file is copied by dh-make into a
64 1 Daniel Dehennin
# dh-make output file, you may use that output file without restriction.
65 1 Daniel Dehennin
# This special exception was added by Craig Small in version 0.37 of dh-make.
66 1 Daniel Dehennin
67 1 Daniel Dehennin
# Uncomment this to turn on verbose mode.
68 1 Daniel Dehennin
#export DH_VERBOSE=1
69 1 Daniel Dehennin
70 1 Daniel Dehennin
%:
71 1 Daniel Dehennin
	dh $@
72 1 Daniel Dehennin
</pre>
73 1 Daniel Dehennin
74 1 Daniel Dehennin
h3. Pour paquet python
75 1 Daniel Dehennin
76 1 Daniel Dehennin
<pre>
77 1 Daniel Dehennin
#!/usr/bin/make -f
78 1 Daniel Dehennin
# -*- makefile -*-
79 1 Daniel Dehennin
# Sample debian/rules that uses debhelper.
80 1 Daniel Dehennin
# This file was originally written by Joey Hess and Craig Small.
81 1 Daniel Dehennin
# As a special exception, when this file is copied by dh-make into a
82 1 Daniel Dehennin
# dh-make output file, you may use that output file without restriction.
83 1 Daniel Dehennin
# This special exception was added by Craig Small in version 0.37 of dh-make.
84 1 Daniel Dehennin
85 1 Daniel Dehennin
# Uncomment this to turn on verbose mode.
86 1 Daniel Dehennin
#export DH_VERBOSE=1
87 1 Daniel Dehennin
88 1 Daniel Dehennin
%:
89 1 Daniel Dehennin
	dh $@ --with python2
90 1 Daniel Dehennin
</pre>
91 1 Daniel Dehennin
92 1 Daniel Dehennin
h2. @debian/compat@
93 1 Daniel Dehennin
94 1 Daniel Dehennin
<pre>
95 1 Daniel Dehennin
9
96 1 Daniel Dehennin
</pre>
97 1 Daniel Dehennin
98 1 Daniel Dehennin
h2. @debian/source/format@
99 1 Daniel Dehennin
100 1 Daniel Dehennin
De ce paramètre découle 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@)
101 1 Daniel Dehennin
102 1 Daniel Dehennin
h3. Les développeurs
103 1 Daniel Dehennin
104 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.
105 1 Daniel Dehennin
106 1 Daniel Dehennin
Dans notre cas, un tag nommé @release/%(version)s@, qui engendrera un paquet debian avec des numéros de version :
107 1 Daniel Dehennin
108 1 Daniel Dehennin
* @%(version)s-1@ pour le premier build ;
109 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@ ;
110 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@ ;
111 1 Daniel Dehennin
112 1 Daniel Dehennin
<pre>
113 1 Daniel Dehennin
3.0 (quilt)
114 1 Daniel Dehennin
</pre>
115 1 Daniel Dehennin
116 1 Daniel Dehennin
h3. Les packageurs
117 1 Daniel Dehennin
118 1 Daniel Dehennin
Les modifications de code source sont autorisé sur la branche de packaging sans nouveau tag upstream.
119 1 Daniel Dehennin
La branche upstream peut-être complètement vide (cas des métapaquets de dépendances @*-pkg@)
120 1 Daniel Dehennin
121 1 Daniel Dehennin
<pre>
122 1 Daniel Dehennin
3.0 (native)
123 1 Daniel Dehennin
</pre>
124 1 Daniel Dehennin
125 1 Daniel Dehennin
h2. @debian/copyright@
126 1 Daniel Dehennin
127 1 Daniel Dehennin
<pre>
128 1 Daniel Dehennin
Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
129 1 Daniel Dehennin
Upstream-Name: <package
130 1 Daniel Dehennin
Source: <UPSTREAM URL>
131 1 Daniel Dehennin
132 1 Daniel Dehennin
Files: *
133 1 Daniel Dehennin
Copyright: <YEAR1>,<YEAR2>,<YEAR3> <UPSTREAM AUTHOR NAME> <UPSTREAM AUTHOR EMAIL>
134 1 Daniel Dehennin
Copyright: <YEAR1>,<YEAR2>,<YEAR3> <UPSTREAM AUTHOR NAME> <UPSTREAM AUTHOR EMAIL>
135 1 Daniel Dehennin
License: GPL-3+
136 1 Daniel Dehennin
137 1 Daniel Dehennin
Files: debian/*
138 1 Daniel Dehennin
Copyright: <YEAR1>,<YEAR2>,<YEAR3> Équipe EOLE <eole@ac-dijon.fr>
139 1 Daniel Dehennin
License: GPL-3+
140 1 Daniel Dehennin
141 1 Daniel Dehennin
License: GPL-3+
142 1 Daniel Dehennin
 This program is free software: you can redistribute it and/or modify
143 1 Daniel Dehennin
 it under the terms of the GNU General Public License as published by
144 1 Daniel Dehennin
 the Free Software Foundation, either version 3 of the License, or
145 1 Daniel Dehennin
 (at your option) any later version.
146 1 Daniel Dehennin
 .
147 1 Daniel Dehennin
 This package is distributed in the hope that it will be useful,
148 1 Daniel Dehennin
 but WITHOUT ANY WARRANTY; without even the implied warranty of
149 1 Daniel Dehennin
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
150 1 Daniel Dehennin
 GNU General Public License for more details.
151 1 Daniel Dehennin
 .
152 1 Daniel Dehennin
 You should have received a copy of the GNU General Public License
153 1 Daniel Dehennin
 along with this program. If not, see <http://www.gnu.org/licenses/>.
154 1 Daniel Dehennin
 .
155 1 Daniel Dehennin
 On Debian systems, the complete text of the GNU General
156 1 Daniel Dehennin
 Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
157 1 Daniel Dehennin
</pre>