]> git.ipfire.org Git - thirdparty/pdns.git/blame - build-scripts/README.md
travis: Remove geoipregion* from travis settings
[thirdparty/pdns.git] / build-scripts / README.md
CommitLineData
0c768abc
PL
1Build Script for PowerDNS
2-------------------------
3The scripts in this directory are used by the folks at PowerDNS to build
4packages. This README will give a small walkthrough of important files.
5
6All `build-*` must be run from the root folder of the pdns repository to ensure
7their correct functionality.
8
5da07f42
PL
9## How do I build a package
10
11Before a package can be built, the distribution tarball has to exist in the root
12directory. For auth:
13
14 * `autoreconf -i`
15 * `./configure --without-modules --without-dynmodules --disable-depedency-tracking`
16 * `make dist`
17
18For the recursor:
19
20 * `cd pdns/recursordist`
21 * `autoreconf -i`
22 * `./configure --disable-depedency-tracking`
23 * `make dist`
24 * `mv pdns-recursor*.tar.bz2 ../../`
25 * `cd -`
26
27And dnsdist:
28
29 * `cd pdns/dnsdistdist`
30 * `autoreconf -i`
31 * `./configure --disable-depedency-tracking`
32 * `make dist`
33 * `mv dnsdist*.tar.bz2 ../../`
34 * `cd -`
35
36Now two environment variables need to be set, `$VERSION` and `$RELEASE`.
37
38`$VERSION` must be set to the to the version in the tarball to build a package for.
39If the version of the package has to be different (e.g. '4.1.0~beta1'), set
40`$VERSION` to *that* number and set `$TARBALLVERSION` to the tarball's version.
41
42`$RELEASE` is the 'release' version number for the package (e.g. '1.pdns' or
43'0.beta1').
44
45So, to create a package for 0.0.1 for debian version '0.0.1-1pdns0':
46
47 * VERSION=0.0.1
48 * RELEASE=1pdns0
49
500.0.1-beta2 for EL7 (0.0.1-0.beta.2.pdns):
51
52 * VERSION=0.0.1
53 * TARBALLVERSION=0.0.1-beta2
54 * RELEASE=0.beta.2.pdns
55
560.0.1-rc1 for debian (0.0.1~rc1-1pdns0):
57
58 * VERSION=0.0.1~rc1
59 * TARBALLVERSION=0.0.1-rc1
60 * RELEASE=1pdns0
61
62And run the proper script:
63
0c768abc
PL
64## `build-auth-*`
65These scripts build (based on the suffix) a package of the authoritative
5da07f42 66server. Either RPM's (for several different RHEL-based distro's), .deb's.
0c768abc
PL
67
68## `build-recursor-*`
5da07f42 69Based on suffix, these scripts build a deb/RPM package for the Recursor. There is
0c768abc
PL
70also a semi-static build script.
71
72## `build-dnsdist-*`
73Idem, these scripts allow one to build packages from a dnsdist distribution
74directory.
75
76## `debian-*`
77These directories contain the `debian/` directory used by the debhelper programs
78to create the packages. These are copied by the `build-*` scripts when needed.
79
80# Caveat
81These scripts are more or less private - feel free to edit them, but even
82more than the rest of PowerDNS, the contents of this directory are not
83guaranteed to work for you.
84
85Some scripts contain preset paths and have many many dependencies on
86installed software.