summaryrefslogtreecommitdiff
path: root/packaging/RedHat/makerpms.sh.tmpl
blob: 56e9fade7b605d950a1f98f41653f314757005a2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
#!/bin/sh
# Copyright (C) John H Terpstra 1998-2002
# Updated for RPM 3 by Jochen Wiedmann, joe@ispsoft.de
# Changed for a generic tar file rebuild by abartlet@pcug.org.au
# Changed by John H Terpstra to build on RH7.2 - should also work for earlier versions jht@samba.org

# The following allows environment variables to override the target directories
#   the alternative is to have a file in your home directory calles .rpmmacros
#   containing the following:
#   %_topdir  /home/mylogin/redhat
#
# Note: Under this directory rpm expects to find the same directories that are under the
#   /usr/src/redhat directory
#

SPECDIR=`rpm --eval %_specdir`
SRCDIR=`rpm --eval %_sourcedir`

# At this point the SPECDIR and SRCDIR vaiables must have a value!

USERID=`id -u`
GRPID=`id -g`
VERSION='PVERSION'
SPECFILE="samba3.spec"
REQUIRESCMD="find-requires"

RPMVER=`rpm --version | awk '{print $3}'`
RPM="rpm"
echo The RPM Version on this machine is: $RPMVER

case $RPMVER in
    2*)
       echo Building for RPM v2.x or v3.x
       sed -e "s/MANDIR_MACRO/\%\{prefix\}\/man/g" < samba.spec |\
          sed -e "s/REQUIRES_MACRO/__find_requires/g" > $SPECFILE
       ;;
    4.0*)
       ## catch rpm v4.0.x first
       echo Building for RPM v4.0
       sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba.spec |\
         sed -e "s/REQUIRES_MACRO/__find_requires/g" > $SPECFILE
       ;;
    4.1*)
       echo Building for RPM v4.1
       RPM="rpmbuild"
       sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba.spec |\
         sed -e "s/REQUIRES_MACRO/__find_requires/g" > $SPECFILE
       ;;
    4.2*)
       echo Building for RPM v4.2
       RPM="rpmbuild"
       REQUIRESCMD="perl.req"
       sed -e "s/MANDIR_MACRO/\%\{_mandir\}/g" < samba.spec |\
         sed -e "s/REQUIRES_MACRO/__find_requires/g" > $SPECFILE
       ;;
    *)
       echo "Unknown RPM version: `rpm --version`"
       exit 1
       ;;
esac

( cd ../../source; if [ -f Makefile ]; then make distclean; fi )
( cd ../../.. ; chown -R ${USERID}.${GRPID} samba-${VERSION} )

( cd ../../.. ; tar --exclude=CVS -cf - samba-${VERSION}/. | bzip2 > ${SRCDIR}/samba-${VERSION}.tar.bz2 )

## build the filter script

cat << EOR > filter-requires-samba.sh
#!/bin/sh
/usr/lib/rpm/$REQUIRESCMD $* | grep -v "Net::LDAP"
EOR

chmod 755 filter-requires-samba.sh

/bin/cp -p filter-requires-samba.sh ${SRCDIR}
/bin/cp -av $SPECFILE ${SPECDIR}

echo Getting Ready to build release package
cd ${SPECDIR}
${RPM} -ba -v --clean --rmsource $SPECFILE

echo Done.