fix emacs
[buildscripts] / emacs
diff --git a/emacs b/emacs
index 01a66005036402d2b71a0564e07462630a93ad36..142a9800871b62693914b9bd7fdaeaef8215c66f 100755 (executable)
--- a/emacs
+++ b/emacs
@@ -57,12 +57,10 @@ pupdate
 ver=$(apt-cache showsrc emacs | sed -rn 's/^Version: 1:([0-9]+).*/\1/p' | sort -n | tail -n1) ||:
 for x in {35..25} ""; do
   if [[ $ver ]] && (( ver >= x )); then
 ver=$(apt-cache showsrc emacs | sed -rn 's/^Version: 1:([0-9]+).*/\1/p' | sort -n | tail -n1) ||:
 for x in {35..25} ""; do
   if [[ $ver ]] && (( ver >= x )); then
-    echo latest_emacs=emacs
     latest_emacs=emacs
     break
   fi
   if apt-cache showsrc emacs$x 2>/dev/null |grep . &>/dev/null; then
     latest_emacs=emacs
     break
   fi
   if apt-cache showsrc emacs$x 2>/dev/null |grep . &>/dev/null; then
-    echo latest_emacs=$x
     latest_emacs=emacs$x
     break
   fi
     latest_emacs=emacs$x
     break
   fi
@@ -81,7 +79,7 @@ if $show_pkgs; then
     if ! type -p apt-rdepends &>/dev/null; then
       sudo apt-get -y install --purge --auto-remove apt-rdepends
     fi
     if ! type -p apt-rdepends &>/dev/null; then
       sudo apt-get -y install --purge --auto-remove apt-rdepends
     fi
-    apt-rdepends -p --build-depends --follow=DEPENDS $x/$(debian-codename)|sed -rn 's/^\s*Build-Depends: (\S+).*/\1/p'
+    apt-rdepends -p --build-depends --follow=DEPENDS $x/$(debian-codename) 2>/dev/null |sed -rn 's/^\s*Build-Depends: (\S+).*/\1/p'
   done
   exit 0
 fi
   done
   exit 0
 fi
@@ -112,8 +110,15 @@ if [[ -e $dir ]]; then
   rev=$(cat $last_build 2>/dev/null) ||:
   head=$(git rev-parse HEAD)
   if ! $recompile && ! $bootstrap && [[ $rev == "$head" ]]; then
   rev=$(cat $last_build 2>/dev/null) ||:
   head=$(git rev-parse HEAD)
   if ! $recompile && ! $bootstrap && [[ $rev == "$head" ]]; then
-    echo "already compiled, exiting"
-    exit 0
+    echo "already compiled"
+    installed_info=$(file -b $(readlink -f $(type -P emacs)))
+    build_info=$(file -b $dir/src/emacs)
+    if [[ $installed_info == "$build_info" ]]; then
+      echo "already installed exiting"
+      # this isn't perfect, because install could partially fail or the
+      # command after it could
+      exit 0
+    fi
   fi
   if [[ $rev != "$head" ]]; then
     bootstrap=true
   fi
   if [[ $rev != "$head" ]]; then
     bootstrap=true