On Mon, Nov 22, 2010 at 11:58 AM, Jan Nieuwenhuizen
<[email protected]> wrote:
> Sure, please send me the git format-patch version.

There you go. (Sorry, I thought Rietveld kept these kind of data.)

Thanks!

Valentin.
From 0ca93179a9a984fad1da893e0147bdbb510222ea Mon Sep 17 00:00:00 2001
From: Valentin Villenave <[email protected]>
Date: Sun, 21 Nov 2010 18:50:29 +0100
Subject: [PATCH] GUB: add architecture compatibility check.

---
 gub/commands.py                  |    2 +-
 sourcefiles/lilypond-sharhead.sh |   30 +++++++++++++++++++++++++++++-
 2 files changed, 30 insertions(+), 2 deletions(-)

diff --git a/gub/commands.py b/gub/commands.py
index ade6f47..adc0e5b 100644
--- a/gub/commands.py
+++ b/gub/commands.py
@@ -456,7 +456,7 @@ class CreateShar (SerializedCommand):
         header_length = 0
         _z = misc.compression_flag (tarball)
         header_length = len (script % locals ()) + 1
-        used_in_sharhead = '%(base_file)s %(name)s %(pretty_name)s %(version)s %(release)s %(header_length)s %(_z)s'
+        used_in_sharhead = '%(base_file)s %(name)s %(pretty_name)s %(version)s %(release)s %(header_length)s %(target_cpu)s %(_z)s'
         used_in_sharhead % locals ()
         loggedos.dump_file (logger, script % locals (), shar_file)
         loggedos.system (logger, 'cat %(tarball)s >> %(shar_file)s' % locals ())
diff --git a/sourcefiles/lilypond-sharhead.sh b/sourcefiles/lilypond-sharhead.sh
index d7945d7..09e18ae 100644
--- a/sourcefiles/lilypond-sharhead.sh
+++ b/sourcefiles/lilypond-sharhead.sh
@@ -5,6 +5,8 @@ root="$HOME"
 doc=no
 extract=no
 interactive=yes
+arch=$(uname -m)
+shopt -s nocasematch
 
 if test `id -u` = "0"; then
     root=/usr/local
@@ -60,18 +62,44 @@ done
 
 cat <<EOF
 
-%(name)s installer for version %(version)s release %(release)s.
+%(name)s installer for version %(version)s release %(release)s,
+%(target_cpu)s build.
 For a list of options, abort (^C) then do:
 sh $me --help
 
 EOF
 
+if test "$arch" != "%(target_cpu)s"; then
+    cat <<EOF
+
+Warning: this build is not optimized for your architecture;
+please install a ${arch} build instead.
+
+Press C to install the program anyway (not recommended),
+E to only extract the program files, or any other key to exit.
+EOF
+    read -sn1 input
+    case "$input" in
+	C)
+	  echo "Ignoring architecture incompatibility."
+	;;
+	E)
+	  extract=yes;
+	;;
+	*)
+	  exit 1
+	;;
+    esac
+fi
+
+
 if test "$extract" = "yes"; then
     echo "extracting %(base_file)s"
     tail -c+%(header_length)012d $0 > %(base_file)s
     exit 0
 fi
 
+
 if test "$interactive" = "yes"; then
     cat <<EOF
 
-- 
1.7.3.2

_______________________________________________
lilypond-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to