Improve handling of unexpected 'status' in process_status_msg().
[sliver-openvswitch.git] / boot.sh
diff --git a/boot.sh b/boot.sh
index 7c674c5..ae2b366 100755 (executable)
--- a/boot.sh
+++ b/boot.sh
@@ -1,4 +1,6 @@
-#! /bin/sh -e
+#! /bin/sh
+
+set -e
 
 have_ext=$(if test -e ext/automake.mk; then echo yes; else echo no; fi)
 for opt
@@ -20,35 +22,34 @@ EOF
     esac
 done
 
-
 # Generate list of files in debian/ to distribute.
 (echo '# Automatically generated by boot.sh (from Git tree).' &&
echo 'EXTRA_DIST += \' &&
printf 'EXTRA_DIST += \\\n' &&
  git ls-files debian | grep -v '^debian/\.gitignore$' | 
  sed -e 's/\(.*\)/     \1 \\/' -e '$s/ \\//') > debian/automake.mk
 
-# Find the "include ext/automake.mk" line in Makefile.am and comment
-# it out or in according to whether ext is available, and similarly
-# for "m4_include(ext/configure.m4)" in configure.ac.
-subst() {
-    perl -pe "$1" < "$2" > "$2.tmp"
-    if cmp -s "$2.tmp" "$2"; then
-       rm "$2.tmp"
-    else
-       mv "$2.tmp" "$2"
-    fi
-}
+# Enable or disable ext.
 if test "$have_ext" = yes; then
     echo 'Enabling openflowext...'
-    OC='#'
-    NC=
+    echo 'include ext/automake.mk' > ext.mk
+    echo 'm4_include([ext/configure.m4])' > ext.m4
+    cat debian/control.in ext/debian/control.in > debian/control
+    for d in $(cd ext/debian && git ls-files --exclude-from=debian/dontlink)
+    do
+        test -e debian/$d || ln -s ../ext/debian/$d debian/$d
+        if ! fgrep -q $d debian/.gitignore; then
+            echo "Adding $d to debian/.gitignore"
+            (cat debian/.gitignore && printf '/%s' "$d") \
+               | LC_ALL=C sort > tmp$$ \
+                && mv tmp$$ debian/.gitignore
+        fi
+    done
 else
     echo 'Disabling openflowext...'
-    OC=
-    NC='#'
+    echo '# This file intentionally left blank.' > ext.mk
+    echo '# This file intentionally left blank.' > ext.m4
+    cat debian/control.in > debian/control
 fi
-subst "s|^$OC(include ext/automake\\.mk)\$|$NC\$1|" Makefile.am
-subst "s|^$OC(m4_include\\(ext/configure\.m4\\))\$|$NC\$1|" configure.ac
 
 # Bootstrap configure system from .ac/.am files
 autoreconf --install -I config --force