Merge branch 'master' of ssh://git-annex.branchable.com into relativepaths

This commit is contained in:
Joey Hess 2015-01-07 17:26:05 -04:00
commit 576acece27
14 changed files with 254 additions and 111 deletions

View file

@ -25,6 +25,10 @@ can use different ones for different files.
-- [Skein hash](http://en.wikipedia.org/wiki/Skein_hash), -- [Skein hash](http://en.wikipedia.org/wiki/Skein_hash),
a well-regarded SHA3 hash competition finalist. a well-regarded SHA3 hash competition finalist.
Note that the SHA512, SKEIN512 and SHA384 generate long paths,
which are known to not work on Windows. If interoperability on Windows is a
concern, avoid those backends.
The `annex.backends` git-config setting can be used to list the backends The `annex.backends` git-config setting can be used to list the backends
git-annex should use. The first one listed will be used by default when git-annex should use. The first one listed will be used by default when
new files are added. new files are added.

View file

@ -105,3 +105,5 @@ c:\temp\sbv>
# End of transcript or log. # End of transcript or log.
"""]] """]]
[[!meta title="window's tiny mind is confused by some long paths used by git-annex"]]

View file

@ -0,0 +1,11 @@
[[!comment format=mdwn
username="http://joeyh.name/"
subject="comment 5"
date="2015-01-07T02:35:46Z"
content="""
I've beat on the relativepaths branch some more and am probably as confident about it as I'm going to get. Will have to merge it and see what else it breaks.
Also, I've documented that SHA512 and other large hashes are not recommended if one wants to interop with Windows.
None of which completely fixes this bug, but short of teaching git about the magic filename prefix to make windows not be so broken, I don't see anything more I can do.
"""]]

View file

@ -0,0 +1,9 @@
[[!comment format=mdwn
username="http://joeyh.name/"
subject="comment 10"
date="2015-01-07T02:41:21Z"
content="""
I really want to know if I managed to get git-annex linked PIE before proceeding with furher yak shaving on getting busybox, etc built PIE.
If you can use adb or another terminal, see if you can run /data/data/ga.androidterm/lib/lib.git-annex.so and if it prints git-annex's usage message.
"""]]

View file

@ -0,0 +1,7 @@
[[!comment format=mdwn
username="etset"
subject="git-annex is correctly linked"
date="2015-01-07T14:30:38Z"
content="""
I tested the executable you mention, and indeed, the git-annex help/list of commands appears. I also tested every other executable in the folder, and most of them display the PIE error message.
"""]]

View file

@ -0,0 +1,7 @@
[[!comment format=mdwn
username="http://joeyh.name/"
subject="comment 12"
date="2015-01-07T20:39:27Z"
content="""
After some work, all binaries are now built PIE. Further testing appreciated.
"""]]

View file

@ -0,0 +1,7 @@
[[!comment format=mdwn
username="http://joeyh.name/"
subject="comment 9"
date="2015-01-07T02:37:25Z"
content="""
Then it's busybox (and git, and...) that's the problem.
"""]]

View file

@ -1,10 +0,0 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawmwjQzWgiD7_I3zw-_91rMRf_6qoThupis"
nickname="Mike"
subject="comment 7"
date="2015-01-06T18:01:40Z"
content="""
Unfortunately, that is not useful for this at all. We are talking about millions of files here, and the issue is leaving behind old hard links, so that program just won't work at all.
Furthermore, this questions has all ready been answered in previous comments.
"""]]

View file

@ -0,0 +1,13 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawm_YXzEdPHzbSGVwtmTR7g1BqDtTnIBB5s"
nickname="Matthias"
subject="File immutability"
date="2015-01-07T12:06:15Z"
content="""
# setcap cap_linux_immutable+ep /usr/bin/git-annex
After doing that, git-annex is able to make files immutable, so the additional directory is not needed any more.
Even on file systems / in environments where that is not possible, in some situations file lookup speed is way more important than not being able to delete the target of a symlink.
I have no idea how to code in Haskell, so if somebody else could add an appropriate always/never/only-when-necessary config option I'd be very happy, and my media server would not have any more hiccups when switching songs …
"""]]

View file

@ -0,0 +1,10 @@
[[!comment format=mdwn
username="https://www.google.com/accounts/o8/id?id=AItOawkPIqJZ88VZEVqLhLOd1LMdYXcy6bAW9qE"
nickname="Lemao"
subject="comment 8"
date="2015-01-07T13:54:23Z"
content="""
I use github as my central git repository and I would like to use S3 to store large files with annex. Since the s3 remote in .git/config is not stored in github, how do I make sure I reconnect to the same s3 bucket in case I delete my local clone? Reinitializing the remote will create a completely new bucket.
I would also be a good idea to centralize git-annex folders inside a single bucket so I keep the global namespace under control and can narrow down the permissioning.
"""]]

View file

@ -0,0 +1,11 @@
[[!comment format=mdwn
username="http://joeyh.name/"
subject="comment 9"
date="2015-01-07T17:25:43Z"
content="""
Lemao, make sure you have pushed your git-annex branch to your central git repository.
When you clone that repo elsewhere, you can add the S3 remote by running `git annex enableremote cloud` (replace \"cloud\" with whatever name you originally picked when you used `git annex initremote` to set up the S3 remote in the first place.
git-annex stores the necessary configuration of the S3 remote on the git-annex branch.
"""]]

View file

@ -1,93 +1,29 @@
# Cross-compiles utilities needed for git-annex on Android, # Cross-compiles utilities needed for git-annex on Android,
# and builds the Android app. # and builds the Android app.
# Add Android cross-compiler to PATH (as installed by ghc-android) build:
ANDROID_CROSS_COMPILER?=$(HOME)/.ghc/$(shell cat abiversion)/bin ./buildapk 4
PATH:=$(ANDROID_CROSS_COMPILER):$(PATH) ./buildapk 5
# Paths to the Android SDK and NDK. # Targets below are used by buildapk, which sets
export ANDROID_SDK_ROOT?=$(HOME)/.android/adt-bundle-linux-x86/sdk # GIT_ANNEX_ANDROID_SOURCETREE
export ANDROID_NDK_ROOT?=$(HOME)/.android/android-ndk
# Where to store the source tree used to build utilities. This source: $(GIT_ANNEX_ANDROID_SOURCETREE)
# directory will be created by `make source`.
GIT_ANNEX_ANDROID_SOURCETREE?=$(HOME)/.android/git-annex-sourcetree
GITTREE=$(GIT_ANNEX_ANDROID_SOURCETREE)/git/installed-tree $(GIT_ANNEX_ANDROID_SOURCETREE):
mkdir -p $(GIT_ANNEX_ANDROID_SOURCETREE)
VER=$(shell perl -e '$$_=<>;print m/\((.*?)\)/'<../../CHANGELOG) git clone git://git.debian.org/git/d-i/busybox $(GIT_ANNEX_ANDROID_SOURCETREE)/busybox
git clone git://git.kernel.org/pub/scm/git/git.git $(GIT_ANNEX_ANDROID_SOURCETREE)/git
build: start git clone git://git.samba.org/rsync.git $(GIT_ANNEX_ANDROID_SOURCETREE)/rsync
if [ ! -e "$(GIT_ANNEX_ANDROID_SOURCETREE)" ]; then $(MAKE) source; fi git clone git://git.gnupg.org/gnupg.git $(GIT_ANNEX_ANDROID_SOURCETREE)/gnupg
$(MAKE) $(GIT_ANNEX_ANDROID_SOURCETREE)/openssl/build-stamp git clone git://git.openssl.org/openssl $(GIT_ANNEX_ANDROID_SOURCETREE)/openssl
$(MAKE) $(GIT_ANNEX_ANDROID_SOURCETREE)/openssh/build-stamp git clone git://github.com/CyanogenMod/android_external_openssh.git $(GIT_ANNEX_ANDROID_SOURCETREE)/openssh
$(MAKE) $(GIT_ANNEX_ANDROID_SOURCETREE)/busybox/build-stamp git clone git://github.com/jackpal/Android-Terminal-Emulator.git $(GIT_ANNEX_ANDROID_SOURCETREE)/term
$(MAKE) $(GIT_ANNEX_ANDROID_SOURCETREE)/rsync/build-stamp
$(MAKE) $(GIT_ANNEX_ANDROID_SOURCETREE)/gnupg/build-stamp
$(MAKE) $(GIT_ANNEX_ANDROID_SOURCETREE)/git/build-stamp
$(MAKE) $(GIT_ANNEX_ANDROID_SOURCETREE)/term/build-stamp
perl -i -pe 's/(android:versionName=)"[^"]+"/$$1"'$(VER)'"/' $(GIT_ANNEX_ANDROID_SOURCETREE)/term/AndroidManifest.xml
# Debug build because it does not need signing keys.
cd $(GIT_ANNEX_ANDROID_SOURCETREE)/term && tools/build-debug
# Install executables as pseudo-libraries so they will be
# unpacked from the .apk.
mkdir -p $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi
cp $(GIT_ANNEX_ANDROID_SOURCETREE)/busybox/busybox $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.busybox.so
cp $(GIT_ANNEX_ANDROID_SOURCETREE)/openssh/ssh $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.ssh.so
cp $(GIT_ANNEX_ANDROID_SOURCETREE)/openssh/ssh-keygen $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.ssh-keygen.so
cp $(GIT_ANNEX_ANDROID_SOURCETREE)/rsync/rsync $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.rsync.so
cp $(GIT_ANNEX_ANDROID_SOURCETREE)/gnupg/g10/gpg $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.gpg.so
cp $(GIT_ANNEX_ANDROID_SOURCETREE)/git/git $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.git.so
cp $(GIT_ANNEX_ANDROID_SOURCETREE)/git/git-shell $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.git-shell.so
cp $(GIT_ANNEX_ANDROID_SOURCETREE)/git/git-upload-pack $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.git-upload-pack.so
arm-linux-androideabi-strip --strip-unneeded --remove-section=.comment --remove-section=.note $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/*
cp runshell $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.runshell.so
cp start $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.start.so
# remove git stuff we don't need to save space
rm -rf $(GITTREE)/bin/git-cvsserver \
$(GITTREE)/libexec/git-core/git-daemon \
$(GITTREE)/libexec/git-core/git-show-index \
$(GITTREE)/libexec/git-core/mergetools \
$(GITTREE)/libexec/git-core/git-credential-* \
$(GITTREE)/libexec/git-core/git-cvsserver \
$(GITTREE)/libexec/git-core/git-cvsimport \
$(GITTREE)/libexec/git-core/git-fast-import \
$(GITTREE)/libexec/git-core/git-http-backend \
$(GITTREE)/libexec/git-core/git-imap-send \
$(GITTREE)/libexec/git-core/git-instaweb \
$(GITTREE)/libexec/git-core/git-p4 \
$(GITTREE)/libexec/git-core/git-remote-test* \
$(GITTREE)/libexec/git-core/git-submodule \
$(GITTREE)/libexec/git-core/git-svn \
$(GITTREE)/libexec/git-core/git-web--browse
# Most of git is in one multicall binary, but a few important
# commands are still shell scripts. Those are put into
# a tarball, along with a list of all the links that should be
# set up.
cd $(GITTREE) && mkdir -p links
cd $(GITTREE) && find -samefile bin/git -not -wholename ./bin/git > links/git
cd $(GITTREE) && find -samefile bin/git-shell -not -wholename ./bin/git-shell > links/git-shell
cd $(GITTREE) && find -samefile bin/git-upload-pack -not -wholename ./bin/git-upload-pack > links/git-upload-pack
cd $(GITTREE) && find -type f -not -samefile bin/git -not -samefile bin/git-shell -not -samefile bin/git-upload-pack|tar czf ../git.tar.gz -T -
cp $(GIT_ANNEX_ANDROID_SOURCETREE)/git/git.tar.gz $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.git.tar.gz.so
git rev-parse HEAD > $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.version.so
cp ../trustedkeys.gpg $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.trustedkeys.so
set -e; \
for v in 4.0 4.3 5.0; do \
mkdir -p ../../tmp/$$v; \
cp ../../tmp/androidtree/dist/build/git-annex/$$v/git-annex $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.git-annex.so; \
arm-linux-androideabi-strip --strip-unneeded --remove-section=.comment --remove-section=.note $(GIT_ANNEX_ANDROID_SOURCETREE)/term/libs/armeabi/lib.git-annex.so; \
(cd $(GIT_ANNEX_ANDROID_SOURCETREE)/term && ant debug); \
cp $(GIT_ANNEX_ANDROID_SOURCETREE)/term/bin/Term-debug.apk ../../tmp/$$v/git-annex.apk; \
done
$(GIT_ANNEX_ANDROID_SOURCETREE)/openssl/build-stamp: $(GIT_ANNEX_ANDROID_SOURCETREE)/openssl/build-stamp:
# This is a version which the openssh below can build with.
# Newer versions changed something to do with BIGNUM.
cd $(GIT_ANNEX_ANDROID_SOURCETREE)/openssl && git reset --hard 616f71e486d693991b594439c884ec624b32c2d4
cd $(GIT_ANNEX_ANDROID_SOURCETREE)/openssl && CC=$$(which cc) ./Configure android cd $(GIT_ANNEX_ANDROID_SOURCETREE)/openssl && CC=$$(which cc) ./Configure android
cd $(GIT_ANNEX_ANDROID_SOURCETREE)/openssl && $(MAKE) cd $(GIT_ANNEX_ANDROID_SOURCETREE)/openssl && $(MAKE)
touch $@ touch $@
@ -146,22 +82,3 @@ $(GIT_ANNEX_ANDROID_SOURCETREE)/term/build-stamp: term.patch icons
cd $(GIT_ANNEX_ANDROID_SOURCETREE)/term && perl -pi -e 's/Terminal Emulator/Git Annex/g' res/*/strings.xml cd $(GIT_ANNEX_ANDROID_SOURCETREE)/term && perl -pi -e 's/Terminal Emulator/Git Annex/g' res/*/strings.xml
cd $(GIT_ANNEX_ANDROID_SOURCETREE)/term && echo y | tools/update.sh || true cd $(GIT_ANNEX_ANDROID_SOURCETREE)/term && echo y | tools/update.sh || true
touch $@ touch $@
source: $(GIT_ANNEX_ANDROID_SOURCETREE)
$(GIT_ANNEX_ANDROID_SOURCETREE):
mkdir -p $(GIT_ANNEX_ANDROID_SOURCETREE)
git clone git://git.debian.org/git/d-i/busybox $(GIT_ANNEX_ANDROID_SOURCETREE)/busybox
git clone git://git.kernel.org/pub/scm/git/git.git $(GIT_ANNEX_ANDROID_SOURCETREE)/git
git clone git://git.samba.org/rsync.git $(GIT_ANNEX_ANDROID_SOURCETREE)/rsync
git clone git://git.gnupg.org/gnupg.git $(GIT_ANNEX_ANDROID_SOURCETREE)/gnupg
git clone git://git.openssl.org/openssl $(GIT_ANNEX_ANDROID_SOURCETREE)/openssl
git clone git://github.com/CyanogenMod/android_external_openssh.git $(GIT_ANNEX_ANDROID_SOURCETREE)/openssh
git clone git://github.com/jackpal/Android-Terminal-Emulator.git $(GIT_ANNEX_ANDROID_SOURCETREE)/term
clean:
rm -rf $(GITTREE)
rm -f start
reallyclean: clean
rm -rf $(GIT_ANNEX_ANDROID_SOURCETREE)

145
standalone/android/buildapk Executable file
View file

@ -0,0 +1,145 @@
#!/bin/sh
#
# Cross-compiles utilities needed for git-annex on Android,
# and builds the Android app.
set -e
androidversion=$1
if [ -z "$androidversion" ]; then
echo "need android version (4 or 5) as parameter" >&2
exit 1
fi
VER="$(perl -e '$_=<>;print m/\((.*?)\)/'<../../CHANGELOG)"
wrap () {
sed -e "s!PROG!$1!" -e "s!OPTS!$3!" < wrapper.pl > "$2"
chmod +x "$2"
}
# Add Android cross-compiler to PATH (as installed by ghc-android)
androidtoolchain="$HOME/.ghc/$(cat abiversion)/bin"
# For Android 5, use a wrapped version of the C compiler,
# which sets PIE build flags.
if [ "$androidversion" = 5 ]; then
rm -rf "$androidtoolchain/5"
mkdir -p "$androidtoolchain/5"
for f in $(find "$androidtoolchain" -maxdepth 1 -not -type d -printf '%f\n'); do
src="$androidtoolchain/$f"
dest="$androidtoolchain/5/$f"
case "$f" in
*-ld*)
wrap "$src" "$dest" "-pie"
;;
*-gcc)
wrap "$src" "$dest" "-pie -fPIE"
;;
*'-g++')
wrap "$src" "$dest" "-pie -fPIE"
;;
*)
cp -a "$src" "$dest"
;;
esac
done
PATH="$androidtoolchain/5:$PATH"
else
PATH="$androidtoolchain:$PATH"
fi
export PATH
# Paths to the Android SDK and NDK.
export ANDROID_SDK_ROOT="$HOME/.android/adt-bundle-linux-x86/sdk"
export ANDROID_NDK_ROOT="$HOME/.android/android-ndk"
GIT_ANNEX_ANDROID_SOURCETREE="$HOME/.android/git-annex-sourcetree"
export GIT_ANNEX_ANDROID_SOURCETREE
if [ ! -e "$GIT_ANNEX_ANDROID_SOURCETREE" ]; then
make source
fi
src="$GIT_ANNEX_ANDROID_SOURCETREE-$androidversion"
if [ ! -e "$src" ] ; then
cp -a "$GIT_ANNEX_ANDROID_SOURCETREE" "$src"
fi
GIT_ANNEX_ANDROID_SOURCETREE="$src"
export GIT_ANNEX_ANDROID_SOURCETREE
gittree="$GIT_ANNEX_ANDROID_SOURCETREE/git/installed-tree"
make "$GIT_ANNEX_ANDROID_SOURCETREE/openssl/build-stamp"
make "$GIT_ANNEX_ANDROID_SOURCETREE/openssh/build-stamp"
make "$GIT_ANNEX_ANDROID_SOURCETREE/busybox/build-stamp"
make "$GIT_ANNEX_ANDROID_SOURCETREE/rsync/build-stamp"
make "$GIT_ANNEX_ANDROID_SOURCETREE/gnupg/build-stamp"
make "$GIT_ANNEX_ANDROID_SOURCETREE/git/build-stamp"
make "$GIT_ANNEX_ANDROID_SOURCETREE/term/build-stamp"
perl -i -pe 's/(android:versionName=)"[^"]+"/$1"'"$VER"'"/' \
"$GIT_ANNEX_ANDROID_SOURCETREE/term/AndroidManifest.xml"
# Debug build because it does not need signing keys.
(cd "$GIT_ANNEX_ANDROID_SOURCETREE/term" && tools/build-debug)
# Install executables as pseudo-libraries so they will be
# unpacked from the .apk.
mkdir -p "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi"
cp "$GIT_ANNEX_ANDROID_SOURCETREE/busybox/busybox" "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.busybox.so"
cp "$GIT_ANNEX_ANDROID_SOURCETREE/openssh/ssh" "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.ssh.so"
cp "$GIT_ANNEX_ANDROID_SOURCETREE/openssh/ssh-keygen" "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.ssh-keygen.so"
cp "$GIT_ANNEX_ANDROID_SOURCETREE/rsync/rsync" "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.rsync.so"
cp "$GIT_ANNEX_ANDROID_SOURCETREE/gnupg/g10/gpg" "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.gpg.so"
cp "$GIT_ANNEX_ANDROID_SOURCETREE/git/git" "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.git.so"
cp "$GIT_ANNEX_ANDROID_SOURCETREE/git/git-shell" "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.git-shell.so"
cp "$GIT_ANNEX_ANDROID_SOURCETREE/git/git-upload-pack" "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.git-upload-pack.so"
arm-linux-androideabi-strip --strip-unneeded --remove-section=.comment --remove-section=.note "$GIT_ANNEX_ANDROID_SOURCETREE"/term/libs/armeabi/*
cp runshell "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.runshell.so"
cc start.c -o "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.start.so"
# remove git stuff we don't need to save space
rm -rf $gittree/bin/git-cvsserver \
$gittree/libexec/git-core/git-daemon \
$gittree/libexec/git-core/git-show-index \
$gittree/libexec/git-core/mergetools \
$gittree/libexec/git-core/git-credential-* \
$gittree/libexec/git-core/git-cvsserver \
$gittree/libexec/git-core/git-cvsimport \
$gittree/libexec/git-core/git-fast-import \
$gittree/libexec/git-core/git-http-backend \
$gittree/libexec/git-core/git-imap-send \
$gittree/libexec/git-core/git-instaweb \
$gittree/libexec/git-core/git-p4 \
$gittree/libexec/git-core/git-remote-test* \
$gittree/libexec/git-core/git-submodule \
$gittree/libexec/git-core/git-svn \
$gittree/libexec/git-core/git-web--browse
# Most of git is in one multicall binary, but a few important
# commands are still shell scripts. Those are put into
# a tarball, along with a list of all the links that should be
# set up.
(cd $gittree && mkdir -p links)
(cd $gittree && find -samefile bin/git -not -wholename ./bin/git > links/git)
(cd $gittree && find -samefile bin/git-shell -not -wholename ./bin/git-shell > links/git-shell)
(cd $gittree && find -samefile bin/git-upload-pack -not -wholename ./bin/git-upload-pack > links/git-upload-pack)
(cd $gittree && find -type f -not -samefile bin/git -not -samefile bin/git-shell -not -samefile bin/git-upload-pack | tar czf ../git.tar.gz -T -)
(cp "$GIT_ANNEX_ANDROID_SOURCETREE/git/git.tar.gz" "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.git.tar.gz.so")
git rev-parse HEAD > "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.version.so"
cp ../trustedkeys.gpg "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.trustedkeys.so"
genapk () {
mkdir -p ../../tmp/$1; \
cp ../../tmp/androidtree/dist/build/git-annex/$1/git-annex "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.git-annex.so"
arm-linux-androideabi-strip --strip-unneeded --remove-section=.comment --remove-section=.note "$GIT_ANNEX_ANDROID_SOURCETREE/term/libs/armeabi/lib.git-annex.so"
(cd "$GIT_ANNEX_ANDROID_SOURCETREE/term" && ant debug)
cp "$GIT_ANNEX_ANDROID_SOURCETREE/term/bin/Term-debug.apk" ../../tmp/$1/git-annex.apk
}
if [ "$androidversion" = 4 ]; then
for v in 4.0 4.3; do
genapk $v
done
else
genapk 5.0
fi

View file

@ -0,0 +1,10 @@
#!/usr/bin/perl
my $prog=q{PROG}; # replaced
my @opts=qw{OPTS}; # replaced
if (grep { $_ eq "-r" || $_ eq "--relocatable" } @ARGV) {
exec($prog,@ARGV) || die "failed to run $prog";
}
else {
exec($prog,@opts,@ARGV) || die "failed to run $prog";
}