Building Samba Packages for Debian GNU/Linux
--------------------------------------------

Building Debian packages is not as hard as some people might think.
The following instructions will allow you to build your own Samba
Debian packages. These instructions and the files in packaging/Debian/
should be current as of Samba 3.0.2, and allow you to build Debian
packages for Debian unstable (so you need some development packages
available only in Debian unstable.) If you are using something newer
than 3.0.2 you might want to try to follow the instructions to see if
patches apply cleanly. If some patches don't apply cleanly please e-mail
samba@packages.debian.org since we might have fixed patches that we have
not yet integrated into upstream Samba.

We try to maintain as much compatibility with previous releases
of Debian as possible, so it is possible that the files in
packaging/Debian/ can also be used to build Samba Debian packages for
other Debian releases. However, sometimes this is just not possible
because we need to use stuff that is only available on Debian unstable.

Instructions
------------

If you want to build Samba packages for Debian and you just want to use
upstream sources, i.e. you don't want to wait for us to put official
packages out, or you want packages for a Debian version for which we
don't provide deb's, or you don't want to use official packages, or
you want to add --this-cool-switch to configure, or whatever, follow
these instructions:

0) Make sure you have the following packages installed (in addition
to the normal Debian development packages -- dpkg-dev, libc6-dev,
devscripts, etc.):

  autoconf
  debhelper (>= 4.1.13)
  libpam0g-dev
  libreadline4-dev
  libcupsys2-dev
  libacl1-dev, libacl1 (>= 2.2.11-1)
  libkrb5-dev
  libldap2-dev
  po-debconf
  python2.3-dev

  Notes regarding the packages required to build Samba Debian packages:

  * The libcupsys2-dev is not available in Debian Potato (Debian 2.2).
    That's fine; the configure script won't detect CUPS support and the
    resulting binaries won't support CUPS.

  * The list above is current as of samba-3.0.0rc2, but it can get
    out of date. The best way to check what packages are required to
    build the samba packages on Debian is to look for the Build-Depends:
    field in the file debian/control.

1) cd samba[-<version>]. For example, "cd samba-3.0.2".
2) cp -a packaging/Debian/debian/ .
  It's important that you copy instead of symlink because the build
  tools in Potato have a problem that prevents the build to work with
  a symlink. If you are running a recent Debian distribution you don't
  have to copy the directory and you can use a symlink instead:
  "ln -s packaging/Debian/debian/ ."
3) dch -i (this is completely optional - only do it if you understand
   Debian version numbers! Don't complain later if you can't upgrade
   to official versions of the Samba packages for Debian.)
  - Edit the changelog and make sure the version is right. For example,
    for Samba 3.0.2, the version number should something like 3.0.2-0.1.
4) Run 'fakeroot debian/rules binary'.
5) That's it. Your new packages should be in ../. Install with dpkg.

Please e-mail samba@packages.debian.org with comments, questions or
suggestions. Please talk to us and not to the Samba Team. They have
better things to do and know nothing about the Debian packaging system.

Eloy A. Paris <peloy@debian.org>
Steve Langasek <vorlon@debian.org>

