Imported Upstream version 3.2.0
[debian/amanda] / packaging / rpm / buildpkg
1 #!/bin/bash
2
3 # Buildpkg script for producing RPM packages. (Does not require root access.)
4 # Buildpkg is designed to be used by both buildbot (to automate rpm production)
5 # and by J Random User (to build an rpm for kicks).  The odd way of handling
6 # all optioins through environment variables is a product of buildbot.
7 #
8 # AMVER: the version of amanda we're working on.  This will become part of the
9 #     rpm name.  AMVER must line up with the version number mentioned in the
10 #     .spec file.
11 # PKG_DIR: Rpmbuild expects absolute paths, so we provide this var.  It also
12 #     allows you to build somewhere other than `pwd`.  You probably don't want
13 #     to use the system-wide location, as the script tries to blow these
14 #     directories away.
15
16 # Other Hints:
17 # Not everyone will want to use the ./configure options we provide.  The
18 # easiest way to change them is by editing the .spec file.  This isn't so
19 # easy, unfortunately.  Look at the %build section, and the %define xxxx 
20 # statements immediately above it. good luck.
21
22 # This is useful for debugging
23  set -x
24 # Check for $AMVER, or pull it from configure.in
25 if [ -z $AMVER ]; then
26     VER=`cat FULL_VERSION`
27     AMVER=amanda-${VER}
28 fi
29
30 # Substitute amanda.spec.src
31 /usr/bin/perl packaging/common/substitute.pl \
32     packaging/rpm/amanda.spec.src packaging/rpm/amanda.spec
33
34 PKG_TARBALL=${AMVER}.tar.gz
35 if [ ! -f "${PKG_TARBALL}" ]; then
36     mkdir ${AMVER} || exit 1
37     cp -Rfp * ${AMVER}/
38     tar -cf ${PKG_TARBALL} -z ${AMVER} || exit 1
39     rm -rf ${AMVER} || exit 1
40 fi
41
42 # Check for the packaging dirs.
43 if [ -z "$PKG_DIR" ]; then
44     PKG_DIR=${PWD}
45 fi
46 if [ ! -d ${PKG_DIR} ]; then
47     mkdir ${PKG_DIR} || exit 1
48 fi
49 cd ${PKG_DIR}
50
51 if [ -d rpm ]; then
52     rm -rf rpm || exit 1
53 fi
54 mkdir rpm
55 mkdir rpm/SOURCES
56 mkdir rpm/SRPMS
57 mkdir rpm/SPECS
58 mkdir rpm/BUILD
59 mkdir rpm/RPMS || exit 1
60
61 # Make a copy of the tarball in the rpmbuild location
62 cp ${PKG_TARBALL} rpm/SOURCES/${PKG_TARBALL} || exit 1
63 cp packaging/rpm/amanda.spec rpm/SPECS || exit 1
64 # Rpmbuild requires absolute paths.  annoying.  If you need to change the 
65 # default value of some rpm.spec variable, just pass extra --define options.
66 # this is useful for changing %amanda_release or %amanda_version
67 rpmbuild -ba --define "_topdir ${PKG_DIR}/rpm" \
68              ${PKG_DIR}/rpm/SPECS/amanda.spec || exit 1
69 cp rpm/RPMS/*/*.rpm . || exit 1
70 cp rpm/SRPMS/*.rpm . || exit 1