Merge branch 'master' of ssh://git-annex.branchable.com into relativepaths
This commit is contained in:
commit
576acece27
14 changed files with 254 additions and 111 deletions
|
@ -25,6 +25,10 @@ can use different ones for different files.
|
|||
-- [Skein hash](http://en.wikipedia.org/wiki/Skein_hash),
|
||||
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
|
||||
git-annex should use. The first one listed will be used by default when
|
||||
new files are added.
|
||||
|
|
|
@ -105,3 +105,5 @@ c:\temp\sbv>
|
|||
|
||||
# End of transcript or log.
|
||||
"""]]
|
||||
|
||||
[[!meta title="window's tiny mind is confused by some long paths used by git-annex"]]
|
||||
|
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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 …
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -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.
|
||||
"""]]
|
|
@ -1,93 +1,29 @@
|
|||
# Cross-compiles utilities needed for git-annex on Android,
|
||||
# and builds the Android app.
|
||||
|
||||
# Add Android cross-compiler to PATH (as installed by ghc-android)
|
||||
ANDROID_CROSS_COMPILER?=$(HOME)/.ghc/$(shell cat abiversion)/bin
|
||||
PATH:=$(ANDROID_CROSS_COMPILER):$(PATH)
|
||||
build:
|
||||
./buildapk 4
|
||||
./buildapk 5
|
||||
|
||||
# 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
|
||||
# Targets below are used by buildapk, which sets
|
||||
# GIT_ANNEX_ANDROID_SOURCETREE
|
||||
|
||||
# Where to store the source tree used to build utilities. This
|
||||
# directory will be created by `make source`.
|
||||
GIT_ANNEX_ANDROID_SOURCETREE?=$(HOME)/.android/git-annex-sourcetree
|
||||
source: $(GIT_ANNEX_ANDROID_SOURCETREE)
|
||||
|
||||
GITTREE=$(GIT_ANNEX_ANDROID_SOURCETREE)/git/installed-tree
|
||||
|
||||
VER=$(shell perl -e '$$_=<>;print m/\((.*?)\)/'<../../CHANGELOG)
|
||||
|
||||
build: start
|
||||
if [ ! -e "$(GIT_ANNEX_ANDROID_SOURCETREE)" ]; then $(MAKE) source; fi
|
||||
$(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
|
||||
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):
|
||||
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
|
||||
|
||||
$(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 && $(MAKE)
|
||||
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 && echo y | tools/update.sh || true
|
||||
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
145
standalone/android/buildapk
Executable 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
|
10
standalone/android/wrapper.pl
Normal file
10
standalone/android/wrapper.pl
Normal 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";
|
||||
}
|
Loading…
Add table
Reference in a new issue