syncing up docs, examples, & packaging from 3.0
[ira/wip.git] / packaging / Debian / README
1 Building Samba Packages for Debian GNU/Linux
2 --------------------------------------------
3
4 Building Debian packages is not as hard as some people might think.
5 The following instructions will allow you to build your own Samba
6 Debian packages. These instructions and the files in packaging/Debian/
7 are current as of Samba 3.0.0, and allow you to build Debian packages
8 for Debian unstable (so you need some development packages available
9 only in Debian unstable.) If you are using something newer than 3.0.0
10 you might want to try to follow the instructions to see if patches
11 apply cleanly. If some patches don't apply cleanly please e-mail
12 samba@packages.debian.org since we might have fixed patches that we have
13 not yet integrated into upstream Samba.
14
15 We try to maintain as much compatibility with previous releases
16 of Debian as possible, so it is possible that the files in
17 packaging/Debian/ can also be used to build Samba Debian packages for
18 other Debian releases. However, sometimes this is just not possible
19 because we need to use stuff that is only available on Debian unstable.
20
21 Instructions
22 ------------
23
24 If you want to build Samba packages for Debian and you just want to use
25 upstream sources, i.e. you don't want to wait for us to put official
26 packages out, or you want packages for a Debian version for which we
27 don't provide deb's, or you don't want to use official packages, or
28 you want to add --this-cool-switch to configure, or whatever, follow
29 these instructions:
30
31 0) Make sure you have the following packages installed (in addition
32 to the normal Debian development packages -- dpkg-dev, libc6-dev,
33 devscripts, etc.):
34
35   autoconf
36   debhelper
37   libpam0g-dev
38   libreadline4-dev
39   libcupsys2-dev
40   libacl1-dev, libacl1 (>= 2.2.11-1)
41   libkrb5-dev
42   libldap2-dev
43   po-debconf
44   python2.3-dev
45
46   Notes regarding the packages required to build Samba Debian packages:
47
48   * The libcupsys2-dev is not available in Debian Potato (Debian 2.2).
49     That's fine; the configure script won't detect CUPS support and the
50     resulting binaries won't support CUPS.
51
52   * The list above is current as of samba-3.0.0rc2, but it can get
53     out of date. The best way to check what packages are required to
54     build the samba packages on Debian is to look for the Build-Depends:
55     field in the file debian/control.
56
57 1) cd samba[-<version>]. For example, "cd samba-3.0.0rc2".
58 2) cp -a packaging/Debian/debian/ debian
59   It's important that you copy instead of symlink because the build
60   tools in Potato have a problem that prevents the build to work with
61   a symlink.
62 3) dch -i (this is completely optional - only do it if you understand
63    Debian version numbers! Don't complain later if you can't upgrade
64    to official versions of the Samba packages for Debian.)
65   - Edit the changelog and make sure the version is right. For example,
66     for Samba 3.0.0beta3, the version number should something like
67   3.0.0beta3-0.1.
68 4) Run 'debian/rules binary'.
69   - It is better that you prefix the above command with 'fakeroot'.
70     If you have problems you might try building as root.
71 5) That's it. Your new packages should be in ../. Install with dpkg.
72
73 Please e-mail samba@packages.debian.org with comments, questions or
74 suggestions. Please talk to us and not to the Samba Team. They have
75 better things to do and know nothing about the Debian packaging system.
76
77 Eloy A. Paris <peloy@debian.org>
78 Steve Langasek <vorlon@debian.org>
79