]> diplodocus.org Git - nmh/blobdiff - docs/contrib/build_nmh
Prevent crash if editfile() is called and both "*ed" and editsave
[nmh] / docs / contrib / build_nmh
index ef399f86be7e9ddc25480a333671fa6ddb81b72a..ba421bf32e4165e532ed5871c3f41f2575d60992 100755 (executable)
 #   rpm-build, with -r
 
 
-####
-#### OS-specific setup.
-####
-ldd=ldd
-
 ####
 #### Interpret command arguments.
 ####
@@ -124,6 +119,11 @@ finddir() {
   esac
 }
 
+#### Figure out whether or not to use -n with tail.
+case `printf 'OK\n' | tail -n 1 2>&1` in
+  OK) tail='tail -n ' ;;
+  *)  tail='tail -' ;;
+esac
 
 if install-mh -check >/dev/null 2>&1; then
   # Determine config options from installed nmh.
@@ -149,12 +149,21 @@ if install-mh -check >/dev/null 2>&1; then
     fi
   fi
 
-  if $ldd "`$mhbin/mhparam libdir`/post" | grep sasl >/dev/null; then
-    config_sasl=y
-  fi
-
-  if $ldd "`$mhbin/mhparam libdir`/post" | grep ssl >/dev/null; then
-    config_tls=y
+  if test -x "$mhbin/mhparam"; then
+    if mhparam sasl >/dev/null; then
+      case `$mhbin/mhparam sasl` in
+        *sasl*) config_sasl=y ;;
+      esac
+
+      case `$mhbin/mhparam tls` in
+        *tls*) config_tls=y ;;
+      esac
+    else
+      tput smso
+      echo "$0: SASL and TLS detection not supported with current nmh"
+      [ $yes -eq 1 ]  &&  echo "will not configure either one in"
+      tput rmso
+    fi
   fi
 fi
 
@@ -214,7 +223,7 @@ config_opts="--prefix=$config_prefix"
 [ "$config_tls" = y ]  &&  \
   config_opts="$config_opts --with-tls"
 [ $config_debug = y ]  &&  \
-  config_opts="$config_opts --enable-debug"
+  config_opts="$config_opts --enable-debug --enable-assert"
 
 
 #### dotlocking, the usual default, requires chgrp and chmod of inc.
@@ -288,7 +297,7 @@ if [ $status -eq 0 ]; then
       echo "$tests_summary" >>"$logfile"
       echo '===================' >>"$logfile"
       [ "$check" = distcheck ]  &&  \
-        echo "$checkoutput" | tail -n 4 >>"$logfile"
+        echo "$checkoutput" | ${tail}4 >>"$logfile"
     fi
 
     if [ $status -eq 0 ]; then
@@ -307,15 +316,14 @@ if [ $status -eq 0 ]; then
   fi
 fi
 
-grep 'Error' "$logfile"
-#### Ignore the warning when sbr/dtimep.c is built with flex 2.5.36
-#### or 2.5.37.
-grep 'warn' "$logfile" | \
-  grep -v 'sbr/dtimep.c:.*comparison between signed and unsigned'
-if [ $status -ne 0 ]; then
+grep Error "$logfile"
+grep warn "$logfile"
+
+if [ $status -eq 0 ]; then
+  [ $verbose -ge 1 ]  &&  echo build completed successfully
+else
   echo build failed!
   echo build log is in "$logfile"
 fi
-[ $status -eq 0  -a  $verbose -ge 1 ]  &&  echo build completed successfully
 
 exit $status