1#!/bin/sh
2
3# This file goes through all the necessary steps to build a release package.
4# syntax:
5#     mkrelease.sh [clean]
6#
7# You can specify clean to do a make clean before building. Make clean
8# will also run configure and generate the required Makefile.
9#
10# This will build an smbd.noquota, smbd.profile, nmbd.profile and the
11# entire package with quota support and acl support.
12
13doclean=""
14SGI_ABI=-n32
15ISA=-mips3
16CC=cc
17
18if [ ! -f ../../source/Makefile ]; then
19  doclean="clean"
20fi
21
22if [ "$1" = "clean" ] || [ "$1" = "cleanonly" ]; then
23  doclean=$1
24  shift
25fi
26
27export SGI_ABI ISA CC
28
29if [ "$doclean" = "clean" ] || [ "$doclean" = "cleanonly" ]; then
30  cd ../../source
31  if [ -f Makefile ]; then
32    make distclean
33  fi
34  rm -rf bin/*.profile bin/*.noquota
35  cd ../packaging/SGI
36  rm -rf bins catman html codepages swat samba.idb samba.spec
37  if [ "$doclean" = "cleanonly" ]; then exit 0 ; fi
38fi
39
40# create the catman versions of the manual pages
41#
42if [ "$doclean" = "clean" ]; then
43  echo Making manual pages
44  ./mkman
45  errstat=$?
46  if [ $errstat -ne 0 ]; then
47    echo "Error $errstat making manual pages\n";
48    exit $errstat;
49  fi
50fi
51
52cd ../../source
53if [ "$doclean" = "clean" ]; then
54  echo Create SGI specific Makefile
55  ./configure --prefix=/usr/samba --sbindir=/usr/samba/bin --mandir=/usr/share/catman --with-acl-support --with-quotas --with-smbwrapper
56  errstat=$?
57  if [ $errstat -ne 0 ]; then
58    echo "Error $errstat creating Makefile\n";
59    exit $errstat;
60  fi
61fi
62
63
64# build the sources
65#
66echo Making binaries
67
68echo "=====================  Making Profile versions ======================="
69make clean
70make headers
71make -P "CFLAGS=-O -g3 -woff 1188 -D WITH_PROFILE" bin/smbd bin/nmbd
72errstat=$?
73if [ $errstat -ne 0 ]; then
74  echo "Error $errstat building profile sources\n";
75  exit $errstat;
76fi
77mv  bin/smbd bin/smbd.profile
78mv  bin/nmbd bin/nmbd.profile
79
80echo "=====================  Making No Quota versions ======================="
81make clean
82make headers
83make -P "CFLAGS=-O -g3 -woff 1188 -D QUOTAOBJS=smbd/noquotas.o" bin/smbd
84errstat=$?
85if [ $errstat -ne 0 ]; then
86  echo "Error $errstat building noquota sources\n";
87  exit $errstat;
88fi
89mv  bin/smbd bin/smbd.noquota
90
91echo "=====================  Making Regular versions ======================="
92make -P "CFLAGS=-O -g3 -woff 1188" all libsmbclient
93errstat=$?
94if [ $errstat -ne 0 ]; then
95  echo "Error $errstat building sources\n";
96  exit $errstat;
97fi
98
99cd ../packaging/SGI
100
101# generate the packages
102#
103echo Generating Inst Packages
104./spec.pl			# create the samba.spec file
105errstat=$?
106if [ $errstat -ne 0 ]; then
107  echo "Error $errstat creating samba.spec\n";
108  exit $errstat;
109fi
110
111./idb.pl			# create the samba.idb file
112errstat=$?
113if [ $errstat -ne 0 ]; then
114  echo "Error $errstat creating samba.idb\n";
115  exit $errstat;
116fi
117sort +4 samba.idb > xxx
118mv xxx samba.idb
119
120if [ ! -d bins ]; then
121   mkdir bins
122fi
123
124# do the packaging
125/usr/sbin/gendist -rbase / -sbase ../.. -idb samba.idb -spec samba.spec -dist ./bins -all
126
127