Projet

Général

Profil

Samba » Historique » Version 10

Joël Cuissinat, 09/04/2019 16:32

1 1 Joël Cuissinat
h1. Compilation de Samba
2 1 Joël Cuissinat
3 7 Joël Cuissinat
{{toc}}
4 7 Joël Cuissinat
5 1 Joël Cuissinat
h2. État des lieux
6 1 Joël Cuissinat
7 2 Joël Cuissinat
Lors de la rédaction de cet article, la version de samba sur EOLE 2.7.0 et 2.7.1 (bionic) était la 4.9.2 et le but était de passer en 4.9.5 (compilée par "Debian":https://packages.debian.org/sid/samba) avec les patches (CVE) de la "4.9.6":https://www.samba.org/samba/history/samba-4.9.6.html.
8 1 Joël Cuissinat
9 1 Joël Cuissinat
Ceci tout en conservant nos deux patches actuels :
10 3 Joël Cuissinat
* 0035-workaround-bug-when-demoting-RODC.patch
11 3 Joël Cuissinat
* 0036-dlz-bind-zone-transfer-restriction.patch
12 3 Joël Cuissinat
13 3 Joël Cuissinat
h2. Dépôts Samba
14 3 Joël Cuissinat
15 3 Joël Cuissinat
https://dev-eole.ac-dijon.fr/projects/samba/repository
16 4 Joël Cuissinat
17 4 Joël Cuissinat
Sur la forge EOLE, on retrouve le dépôt samba ainsi que des dépôts pour chacune les librairies associées :
18 4 Joël Cuissinat
*    cmocka 
19 4 Joël Cuissinat
*    ldb 
20 4 Joël Cuissinat
*    talloc 
21 4 Joël Cuissinat
*    tdb 
22 5 Joël Cuissinat
*    tevent
23 5 Joël Cuissinat
24 5 Joël Cuissinat
h3. Dépôts distants
25 5 Joël Cuissinat
26 5 Joël Cuissinat
Pour Samba, plusieurs dépôts sont disponibles.
27 5 Joël Cuissinat
Il est recommandé de commencer par cloner le dépôt Debian (salsa) afin que la branche master pointe vers celui-ci puis de déclarer les autres dépôts distants :
28 5 Joël Cuissinat
<pre>
29 5 Joël Cuissinat
git clone https://salsa.debian.org/samba-team/samba.git
30 5 Joël Cuissinat
git remote add dev-eole https://dev-eole.ac-dijon.fr/git/samba.git
31 5 Joël Cuissinat
git remote add samba https://git.samba.org/samba.git
32 5 Joël Cuissinat
</pre>
33 5 Joël Cuissinat
34 5 Joël Cuissinat
Une fois ces opérations réalisées, on doit obtenir la configuration suivante :
35 5 Joël Cuissinat
<pre>
36 5 Joël Cuissinat
# git remote -v 
37 5 Joël Cuissinat
dev-eole	ssh://git@dev-eole.ac-dijon.fr/samba.git (fetch)
38 5 Joël Cuissinat
dev-eole	ssh://git@dev-eole.ac-dijon.fr/samba.git (push)
39 5 Joël Cuissinat
origin	https://salsa.debian.org/samba-team/samba.git (fetch)
40 5 Joël Cuissinat
origin	https://salsa.debian.org/samba-team/samba.git (push)
41 5 Joël Cuissinat
samba	https://git.samba.org/samba.git (fetch)
42 5 Joël Cuissinat
samba	https://git.samba.org/samba.git (push)
43 5 Joël Cuissinat
</pre>
44 5 Joël Cuissinat
45 5 Joël Cuissinat
NB : Le dépôt officiel de Samba n'a pas été utilisé dans les manipulation réalisées ce jour ;)
46 5 Joël Cuissinat
47 5 Joël Cuissinat
h3. Branches distantes
48 5 Joël Cuissinat
49 5 Joël Cuissinat
Les branches que nous utilisons sont les suivantes :
50 6 Joël Cuissinat
* @master@ : branche de packaging Debian
51 6 Joël Cuissinat
* @upstream_4.9@ : sources samba-4.9 importées par Debian
52 6 Joël Cuissinat
* @pristine-tar@ : upstream tarball au format "pristine"
53 6 Joël Cuissinat
* @dist/eole/2.7.0/master@ : branche de packaging EOLE
54 7 Joël Cuissinat
55 8 Joël Cuissinat
NB : Pour forcer l'utilisation du dépôt "origin" pour la branche @pristine-tar@, la commande suivante pourra être utilisée :
56 8 Joël Cuissinat
<pre>
57 8 Joël Cuissinat
git checkout -b pristine-tar origin/pristine-tar
58 8 Joël Cuissinat
</pre>
59 8 Joël Cuissinat
60 7 Joël Cuissinat
h3. Préparer le terrain
61 7 Joël Cuissinat
62 9 Joël Cuissinat
Pour commencer, mettre toutes les branches à jour :
63 7 Joël Cuissinat
<pre>
64 1 Joël Cuissinat
git pull
65 9 Joël Cuissinat
</pre>
66 9 Joël Cuissinat
67 10 Joël Cuissinat
Puis exporter le "upstream tarball" depuis la branche de packaging EOLE :
68 1 Joël Cuissinat
<pre>
69 10 Joël Cuissinat
git checkout dist/eole/2.7.0/master
70 9 Joël Cuissinat
gbp export-orig
71 7 Joël Cuissinat
</pre>