03de4df7b4a6389c084b90da061f9de4da94b39c
[openafs-wiki.git] / HowToBuildOpenAfsRpmPackages.mdwn
1 # Building RPM packages for OpenAFS
2
3 The OpenAFS source tree contains an RPM spec file for building RPM packages.
4 Recent versions of OpenAFS have makefile targets to build the source
5 distribution tarballs and a source RPM package (srpm). After creating these
6 files, run the `rpmbuild` tool to create create the binary RPM packages.
7
8 The following commands show how to build RPM packages from a git checkout.  The
9 tools will create RPM packages from annotated git tags. Checkout a tag for the
10 desired version, then generated the source rpm, then run rpmbuild to build the
11 binaries RPM package files.
12
13     $ git clone git://git.openafs.org/openafs.git
14     $ cd openafs
15     $ git checkout openafs-stable-<version>
16     $ ./regen.sh
17     $ ./configure
18     $ make dist     # not make dest !
19     $ make sprm     #?? not "make srpm" ???
20     $ rpmbuild --rebuild -ba --define "_topdir $(pwd)/rpmbuild" packages/openafs-<version>-1.src.rpm
21
22 The packages will be created in the `rpmbuild/RPMS` directory.  See the RPM
23 spec file in src/packaging/RedHat for the OpenAFS `--define` options.
24
25 Comment: "make srpm" says: 
26
27     $ make srpm
28     (cd packages && ../src/packaging/RedHat/makesrpm.pl *-src.tar.bz2 *-doc.tar.bz2)
29     tar: Pattern matching characters used in file names
30     tar: Use --wildcards to enable pattern matching, or --no-wildcards to suppress this warning
31     tar: */configure.ac: Not found in archive
32     ...