summaryrefslogtreecommitdiffstats
path: root/packaging/SGI/mkrelease.sh
blob: 7412a02d4f9653434f19b7a30c7cd50cbd7e564c (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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#!/bin/sh

# This file goes through all the necessary steps to build a release package.
# syntax:
#     mkrelease.sh [clean]
#
# You can specify clean to do a make clean before building. Make clean
# will also run configure and generate the required Makefile.
#
# This will build an smbd.noquota, smbd.profile, nmbd.profile and the
# entire package with quota support and acl support.

doclean=""
SGI_ABI=-n32
ISA=-mips3
CC=cc

if [ ! -f ../../source/Makefile ]; then
  doclean="clean"
fi

if [ "$1" = "clean" ]; then
  doclean=$1
  shift
fi

export SGI_ABI ISA CC

if [ "$doclean" = "clean" ]; then
  cd ../../source
  if [ -f Makefile ]; then
    make distclean
  fi
  rm -rf bin/*.profile bin/*.noquota
  cd ../packaging/SGI
  rm -rf bins catman html codepages swat samba.idb samba.spec
fi

# create the catman versions of the manual pages
#
if [ "$doclean" = "clean" ]; then
  echo Making manual pages
  ./mkman
  errstat=$?
  if [ $errstat -ne 0 ]; then
    echo "Error $errstat making manual pages\n";
    exit $errstat;
  fi
fi

cd ../../source
if [ "$doclean" = "clean" ]; then
  echo Create SGI specific Makefile
  ./configure --prefix=/usr/samba --sbindir=/usr/samba/bin --mandir=/usr/share/catman --with-acl-support --with-quotas --with-smbwrapper
  errstat=$?
  if [ $errstat -ne 0 ]; then
    echo "Error $errstat creating Makefile\n";
    exit $errstat;
  fi
fi


# build the sources
#
echo Making binaries

echo "=====================  Making Profile versions ======================="
make clean
make headers
make -P "CFLAGS=-O -g3 -D WITH_PROFILE" bin/smbd bin/nmbd
errstat=$?
if [ $errstat -ne 0 ]; then
  echo "Error $errstat building profile sources\n";
  exit $errstat;
fi
mv  bin/smbd bin/smbd.profile
mv  bin/nmbd bin/nmbd.profile

echo "=====================  Making No Quota versions ======================="
make clean
make headers
make -P "CFLAGS=-O -g3 -D QUOTAOBJS=smbd/noquotas.o" bin/smbd
errstat=$?
if [ $errstat -ne 0 ]; then
  echo "Error $errstat building noquota sources\n";
  exit $errstat;
fi
mv  bin/smbd bin/smbd.noquota

echo "=====================  Making smbwrapper.32.so ======================="
# cannot use -mips3 with 32 bit shared libraries so reset the ISA variable
# just for this object
ISA=
export ISA
make -P "CFLAGS=-O -g3" bin/smbwrapper.32.so
errstat=$?
if [ $errstat -ne 0 ]; then
  echo "Error $errstat building sources\n";
  exit $errstat;
fi
ISA=-mips3
export ISA
echo "=====================  Making Regular versions ======================="
make -P "CFLAGS=-O -g3" all nsswitch/libnss_wins.so
errstat=$?
if [ $errstat -ne 0 ]; then
  echo "Error $errstat building sources\n";
  exit $errstat;
fi

cd ../packaging/SGI

# generate the packages
#
echo Generating Inst Packages
./spec.pl			# create the samba.spec file
errstat=$?
if [ $errstat -ne 0 ]; then
  echo "Error $errstat creating samba.spec\n";
  exit $errstat;
fi

./idb.pl			# create the samba.idb file
errstat=$?
if [ $errstat -ne 0 ]; then
  echo "Error $errstat creating samba.idb\n";
  exit $errstat;
fi

if [ ! -d bins ]; then
   mkdir bins
fi

# do the packaging
/usr/sbin/gendist -rbase / -sbase ../.. -idb samba.idb -spec samba.spec -dist ./bins -all