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