Fix 'make samples' (git doesn't version directories, so 'examples' won't
[ira/wip.git] / packaging / SGI / mkrelease.sh
index cfbd40ec04fd51cd0c2779e771d03eb3def19116..89854300aaf4e15ba3099f1346b77246ddf94f06 100755 (executable)
@@ -1,26 +1,40 @@
 #!/bin/sh
 
 # This file goes through all the necessary steps to build a release package.
-# You may specify a OS major version number (4, 5, or 6) to specify which
-# OS release to build. If no version number is given it will default to 6.
+# 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
-export SGI_ABI CC
 
-if [ "$1" = "clean" ]; then
+if [ ! -f ../../source/Makefile ]; then
+  doclean="clean"
+fi
+
+if [ "$1" = "clean" ] || [ "$1" = "cleanonly" ]; then
   doclean=$1
   shift
 fi
 
-if [ "$doclean" = "clean" ]; then
+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
@@ -36,14 +50,9 @@ if [ "$doclean" = "clean" ]; then
 fi
 
 cd ../../source
-if [ "$doclean" = "clean" -o ! -f Makefile ]; then
+if [ "$doclean" = "clean" ]; then
   echo Create SGI specific Makefile
-  chmod +x configure
-  chmod +x configure.developer
-  chmod +x config.guess
-  chmod +x config.status
-  chmod +x config.sub
-  ./configure --prefix=/usr --mandir=/usr/src/man
+  ./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";
@@ -56,14 +65,31 @@ fi
 #
 echo Making binaries
 
-if [ "$1" = "5" ]; then
-  myflags="CFLAGS=-O -g3"
-  shift
-else
-  myflags="CFLAGS=-O -g3"
+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
 
-make "$myflags" $*
+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";
@@ -88,6 +114,8 @@ 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