summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Annex/Environment.hs18
-rwxr-xr-xstandalone/android/runshell21
2 files changed, 23 insertions, 16 deletions
diff --git a/Annex/Environment.hs b/Annex/Environment.hs
index 9e5945360..d0cd93c2c 100644
--- a/Annex/Environment.hs
+++ b/Annex/Environment.hs
@@ -5,6 +5,8 @@
- Licensed under the GNU GPL version 3 or higher.
-}
+{-# LANGUAGE CPP #-}
+
module Annex.Environment where
import Common.Annex
@@ -27,8 +29,14 @@ checkEnvironmentIO :: IO ()
checkEnvironmentIO = do
whenM (null <$> myUserGecos) $ do
username <- myUserName
- -- existing environment is not overwritten
- setEnv "GIT_AUTHOR_NAME" username False
- setEnv "GIT_COMMITTER_NAME" username False
- hostname <- getHostName
- setEnv "EMAIL" (username ++ "@" ++ hostname) False
+ ensureEnv "GIT_AUTHOR_NAME" username
+ ensureEnv "GIT_COMMITTER_NAME" username
+ where
+#ifndef __ANDROID__
+ -- existing environment is not overwritten
+ ensureEnv var val = setEnv var val False
+#else
+ -- Environment setting is broken on Android, so this is dealt with
+ -- in runshell instead.
+ ensureEnv _ _ = noop
+#endif
diff --git a/standalone/android/runshell b/standalone/android/runshell
index 68a4d6588..0bd193b74 100755
--- a/standalone/android/runshell
+++ b/standalone/android/runshell
@@ -58,10 +58,10 @@ buildtree () {
}
install () {
+ if ! $cmd mkdir -p "$HOME"; then
+ $cmd echo "mkdir of $HOME failed!"
+ fi
if $cmd test ! -e "$base/bin/git-annex"; then
- if ! $cmd mkdir -p "$HOME"; then
- $cmd echo "mkdir of $HOME failed!"
- fi
if ! buildtree > $HOME/git-annex-install.log 2>&1; then
$cmd echo "Installation failed! Please report a bug and attach $HOME/git-annex-install.log"
$cmd sh
@@ -86,7 +86,7 @@ run () {
export ORIG_GIT_TEMPLATE_DIR
GIT_TEMPLATE_DIR="$base/templates"
export GIT_TEMPLATE_DIR
-
+
# Indicate which variables were exported above.
GIT_ANNEX_STANDLONE_ENV="GIT_EXEC_PATH GIT_TEMPLATE_DIR"
export GIT_ANNEX_STANDLONE_ENV
@@ -98,18 +98,17 @@ run () {
# /tmp probably doesn't exist, so also use it as TMPDIR
TMPDIR=$GIT_ANNEX_TMP_DIR
export TMPDIR
-
+
+ if $cmd test ! -e "$HOME/.gitconfig"; then
+ git config --global user.email "git-annex@android"
+ git config --global user.name "android"
+ fi
+
if $cmd test "$1"; then
cmd="$1"
shift 1
exec "$cmd" "$@"
else
- # Ensure home directory exists, even if it got deleted
- # somehow.
- if ! $cmd mkdir -p "$HOME"; then
- $cmd echo "mkdir of $HOME failed!"
- fi
-
# As good a start point as any.
cd "$HOME"