summaryrefslogtreecommitdiff
path: root/packaging/SGI/mkrelease.sh
diff options
context:
space:
mode:
Diffstat (limited to 'packaging/SGI/mkrelease.sh')
-rwxr-xr-xpackaging/SGI/mkrelease.sh126
1 files changed, 126 insertions, 0 deletions
diff --git a/packaging/SGI/mkrelease.sh b/packaging/SGI/mkrelease.sh
new file mode 100755
index 0000000000..89854300aa
--- /dev/null
+++ b/packaging/SGI/mkrelease.sh
@@ -0,0 +1,126 @@
+#!/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" ] || [ "$1" = "cleanonly" ]; then
+ doclean=$1
+ shift
+fi
+
+export SGI_ABI ISA CC
+
+if [ "$doclean" = "clean" ] || [ "$doclean" = "cleanonly" ]; 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
+ if [ "$doclean" = "cleanonly" ]; then exit 0 ; fi
+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 -woff 1188 -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 -woff 1188 -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 Regular versions ======================="
+make -P "CFLAGS=-O -g3 -woff 1188" all libsmbclient
+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
+sort +4 samba.idb > xxx
+mv xxx samba.idb
+
+if [ ! -d bins ]; then
+ mkdir bins
+fi
+
+# do the packaging
+/usr/sbin/gendist -rbase / -sbase ../.. -idb samba.idb -spec samba.spec -dist ./bins -all
+