iankelling.org
/
git
/
buildscripts
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
various improvements for my own systems
[buildscripts]
/
emacs
diff --git
a/emacs
b/emacs
index 6b5ec5c8eef9ea75c5767c890e147586ed2ec131..488da0cc27e75d1adb23c002c32415c809d06c26 100755
(executable)
--- a/
emacs
+++ b/
emacs
@@
-19,18
+19,21
@@
if [[ -s ~/.bashrc ]];then . ~/.bashrc;fi
# arg = git commit to check out
update=false
# arg = git commit to check out
update=false
-
recompile=tru
e
-
export FORCE_RECOMPILE=tru
e
+
bootstrap=fals
e
+
recompile=fals
e
show_pkgs=false
while [[ $1 == -* ]]; do
case $1 in
show_pkgs=false
while [[ $1 == -* ]]; do
case $1 in
- --no-r) recompile=false; unset FORCE_RECOMPILE; shift ;;
- -u) update=true; shift ;;
- -p) show_pkgs=true; shift ;;
+ -b) bootstrap=true; recompile=true ;;
+ -r) recompile=true ;;
+ --no-r) recompile=false ;;
+ -u) update=true ;;
+ -p) show_pkgs=true ;;
--) break ;;
*) echo "$0: error: bad arg: $1" >&2; exit 1 ;;
esac
--) break ;;
*) echo "$0: error: bad arg: $1" >&2; exit 1 ;;
esac
+ shift
done
done
@@
-67,31
+70,38
@@
fi
#building emacs, INSTALL.BZR
#building emacs, INSTALL.BZR
-# gawk and attr were no longer automatically installed in stretch,
-# looking back, i assume i got some error.
-# autoconf-archive due to come error
-pi ${pkgs[@]}
#git repo
dir=/a/opt/emacs-$(distro-name)$(distro-num)
#git repo
dir=/a/opt/emacs-$(distro-name)$(distro-num)
+last_build=$dir/iank-emacs-build
# e/e because autofs failing to mount will make it so
# you cant ls whatever directory it is in, so we
# need an extra directory
dirs=($dir $dir-nox/.iank/e/e)
# e/e because autofs failing to mount will make it so
# you cant ls whatever directory it is in, so we
# need an extra directory
dirs=($dir $dir-nox/.iank/e/e)
-if [[ ! -e $dir ]]; then
+m cd $dir
+
+rev=$(cat $last_build 2>/dev/null) ||:
+head=$(git rev-parse HEAD)
+
+if ! $recompile && [[ $rev == "$head" ]]; then
+ echo "already compiled, exiting"
+ exit 0
+fi
+
+if [[ ! -e $dir || $rev != "$head" ]]; then
m cp -ar /a/opt/emacs $dir
m cp -ar /a/opt/emacs $dir
+ bootstrap=true
recompile=true
fi
recompile=true
fi
+# gawk and attr were no longer automatically installed in stretch,
+# looking back, i assume i got some error.
+# autoconf-archive due to come error
+pi ${pkgs[@]}
-m cd $dir
-
-rev=$(cat ~/.local/emacs-build-git-revision 2>/dev/null) ||:
-head=$(git rev-parse HEAD)
-
-if $recompile || [[ $rev != "$head" ]]; then
+if $recompile; then
case $(distro-name) in
fedora )
logq s yum-builddep -y emacs
case $(distro-name) in
fedora )
logq s yum-builddep -y emacs
@@
-130,7
+140,7
@@
for d in ${dirs[@]}; do
m sudo chown $USER:$USER $mp
m cd $mp
fi
m sudo chown $USER:$USER $mp
m cd $mp
fi
- if $recompile; then
+ if $recompile
|| [[ ! -e configure ]]
; then
# todo, consider when this should be uncommented
#logq s make uninstall
m find ~/.emacs.d/ -name '*.elc' -delete
# todo, consider when this should be uncommented
#logq s make uninstall
m find ~/.emacs.d/ -name '*.elc' -delete
@@
-176,7
+186,7
@@
for d in ${dirs[@]}; do
# make emacs always work for root
sudo /a/exe/lnf /usr/local/bin/emacs /usr/bin
# make emacs always work for root
sudo /a/exe/lnf /usr/local/bin/emacs /usr/bin
- echo $head >
~/.local/emacs-build-git-revision
+ echo $head >
$last_build
fi
nox=true
done
fi
nox=true
done
@@
-189,7
+199,9
@@
done
cd /a/opt/mu
cd /a/opt/mu
-rev=$(cat ~/.local/mu-build-git-revision 2>/dev/null) ||:
+last_build=$PWD/iank-mu-build
+
+rev=$(cat $last_build 2>/dev/null) ||:
head=$(git rev-parse HEAD)
if $recompile || [[ $rev != "$head" ]]; then
head=$(git rev-parse HEAD)
if $recompile || [[ $rev != "$head" ]]; then