Developer Documentation: Difference between revisions

From SambaWiki
(use include for Samba codebase organization)
 
(2 intermediate revisions by one other user not shown)
Line 25: Line 25:
Two web interfaces are:
Two web interfaces are:
* [https://git.samba.org/?p=samba.git;a=heads Samba's own GitWeb] ([https://git.samba.org/?p=samba.git;a=shortlog;h=refs/heads/master latest changes in the master branch])
* [https://git.samba.org/?p=samba.git;a=heads Samba's own GitWeb] ([https://git.samba.org/?p=samba.git;a=shortlog;h=refs/heads/master latest changes in the master branch])
* [https://github.com/samba-team/samba Official Samba GitHub Mirror]
* [https://gitlab.com/samba-team/samba Official Samba GitLab Mirror]

Samba is no longer actively developed on [https://github.com GitHub] but for reference and to keep old code from being mistakenly examined, the [https://github.com/samba-team/samba Offical Samba Team GitHub Mirror] is kept up to date.


== Samba codebase organization ==
== Samba codebase organization ==
Line 99: Line 101:


= Clustered Samba =
= Clustered Samba =

* [[Samba_on_Scale|Samba on Scale]]


* [[CTDB_and_Clustered_Samba|CTDB and Clustered Samba]]
* [[CTDB_and_Clustered_Samba|CTDB and Clustered Samba]]
Line 149: Line 153:


* [http://download.samba.org/pub/samba/rc/ Development Releases of Samba4 (technology previews, alphas, betas, release candidates)]
* [http://download.samba.org/pub/samba/rc/ Development Releases of Samba4 (technology previews, alphas, betas, release candidates)]

= Prehistoric documentation from the Samba3 development era=

* [https://samba-team.gitlab.io/samba/htmldocs/Samba-Developers-Guide/index.html Samba Developers Guide]


= Academic Writings etc. =
= Academic Writings etc. =

Latest revision as of 18:29, 10 December 2022

How can I contribute


Release planning


Source code

Samba development is stored in the Git SCM system. See Using Git for Samba Development for more detail on how Samba uses Git.

Two web interfaces are:

Samba is no longer actively developed on GitHub but for reference and to keep old code from being mistakenly examined, the Offical Samba Team GitHub Mirror is kept up to date.

Samba codebase organization

Broadly speaking, the Samba source-code tree can be organized into the following major groups:

  • Top-level libraries, which contains common code shared amongst the Samba processes.
  • Source3, which is code primarily used by the file server and domain member.
  • Source4, which is code primarily used by the Active Directory Domain Controller.
  • Infrastructure components, which provide the build and test framework for Samba.
  • Autogenerated code, which is used for parsing DCE/RPC packets as well as other regularly structured buffers.

The Samba codebase is broken down in detail in the Samba codebase organization page.

Debugging / Testing

Writing and running Samba tests

Debugging help

Development testing

Bug reporting


Security

Presentations


VFS


Clustered Samba

Building Samba


Building packages


Google Summer of Code


Historical Documentation on the Development of Samba4

  • Franky: A Hybrid Samba Active Directory Controller (outdated!)

Prehistoric documentation from the Samba3 development era

Academic Writings etc.