Add notes on how to build openafs debian10 packages
[openafs-wiki.git] / devel / HowToBuildOpenAFSDebianPackages.mdwn
1
2 How to create OpenAFS Debian 10 packages with patches.
3
4 Ensure your system is up to date
5 --------------------------------
6
7     $ sudo apt-get update
8     $ sudo apt-get upgrade
9
10
11 Install required packages
12 -------------------------
13
14     $ sudo apt-get install build-essential fakeroot devscripts lintian
15     $ sudo apt-get build-dep openafs
16
17
18 Get the OpenAFS Debian 10 source
19 --------------------------------
20
21     $ cd $HOME
22     $ mkdir -p Debian/openafs
23     $ cd Debian/openafs
24     $ apt-get source openafs
25
26
27 Get patches
28 -----------
29
30 Patches can be generated with `git format-patch` if you have a local git repo.
31 Patches on gerrit may be downloaded via git or https.
32
33 For example, to download a patch from gerrit with git:
34
35     $ cd $HOME
36     $ git clone git://git.openafs.org/openafs.git
37     $ cd openafs
38     $ git fetch https://gerrit.openafs.org/openafs refs/changes/$x/$y/$z && \
39       git format-patch -1 -o FETCH_HEAD
40
41 where:
42    y = gerrit number
43    x = last 2 digits of the gerrit number
44    z = patchset number
45
46 Add patches
47 -----------
48
49 Copy patch files to the `debian/patches` directory.
50
51     $ cp $patch $HOME/Debian/openafs/openafs-1.8.2/debian/patches
52
53 Add the patches to the `series` file in `debian/patches`.
54
55     $ echo $patch >> $HOME/Debian/openafs/openafs-1.8.2/debian/patches/series
56
57 Update the changelog
58 --------------------
59
60 Add a new entry at the top of the changelog file with the `debchange` tool.
61 The format must be exact.
62
63     $ cd $HOME/Debian/openafs/openafs-1.8.2/debian
64     $ debchange -i
65
66
67 Create packages
68 ---------------
69
70 Build the packages with the `debuild` tool.
71
72     $ cd $HOME/Debian/openafs/openafs-1.8.2
73     $ debuild -us -uc
74
75 The resulting `.deb` package files will be placed in $HOME/Debian/openafs