Projet

Général

Profil

Samba » Historique » Version 9

« Précédent - Version 9/69 (diff) - Suivant » - Version actuelle
Joël Cuissinat, 09/04/2019 15:51


Compilation de Samba

État des lieux

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) avec les patches (CVE) de la 4.9.6.

Ceci tout en conservant nos deux patches actuels :
  • 0035-workaround-bug-when-demoting-RODC.patch
  • 0036-dlz-bind-zone-transfer-restriction.patch

Dépôts Samba

https://dev-eole.ac-dijon.fr/projects/samba/repository

Sur la forge EOLE, on retrouve le dépôt samba ainsi que des dépôts pour chacune les librairies associées :
  • cmocka
  • ldb
  • talloc
  • tdb
  • tevent

Dépôts distants

Pour Samba, plusieurs dépôts sont disponibles.
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 :

git clone https://salsa.debian.org/samba-team/samba.git
git remote add dev-eole https://dev-eole.ac-dijon.fr/git/samba.git
git remote add samba https://git.samba.org/samba.git

Une fois ces opérations réalisées, on doit obtenir la configuration suivante :

# git remote -v 
dev-eole    ssh://git@dev-eole.ac-dijon.fr/samba.git (fetch)
dev-eole    ssh://git@dev-eole.ac-dijon.fr/samba.git (push)
origin    https://salsa.debian.org/samba-team/samba.git (fetch)
origin    https://salsa.debian.org/samba-team/samba.git (push)
samba    https://git.samba.org/samba.git (fetch)
samba    https://git.samba.org/samba.git (push)

NB : Le dépôt officiel de Samba n'a pas été utilisé dans les manipulation réalisées ce jour ;)

Branches distantes

Les branches que nous utilisons sont les suivantes :
  • master : branche de packaging Debian
  • upstream_4.9 : sources samba-4.9 importées par Debian
  • pristine-tar : upstream tarball au format "pristine"
  • dist/eole/2.7.0/master : branche de packaging EOLE

NB : Pour forcer l'utilisation du dépôt "origin" pour la branche pristine-tar, la commande suivante pourra être utilisée :

git checkout -b pristine-tar origin/pristine-tar

Préparer le terrain

Pour commencer, mettre toutes les branches à jour :

git pull

Puis exporter le "upstream tarball" :

gbp export-orig