Commit graph

640 commits

Author SHA1 Message Date
Joey Hess
fa44bca8b3
linux standalone: When LOCPATH is already set, use it instead of the bundled locales.
It can be set to an empty string to use the system locales too. Of course
whether that will work depends on the amount of divergence.

This commit was supported by the NSF-funded DataLad project.
2018-08-20 12:20:54 -04:00
Joey Hess
a8a0f7fc58
refuse to run if we can't write to HOME 2018-07-10 14:20:23 -04:00
Joey Hess
eb08deefa5
Revert "fall back to /tmp for LOCPATH if HOME does not exist or not writable"
This reverts commit f991c8c526.

On second thought, this makes it unbearably slow and leaves far too much
cruft behind.
2018-07-10 14:15:47 -04:00
Joey Hess
f991c8c526
fall back to /tmp for LOCPATH if HOME does not exist or not writable
In this case, we can't clean up old locale caches, but presumably the
system has something to clean up /tmp eventually.
2018-07-10 13:26:35 -04:00
Joey Hess
e802323071
deal with the persistent locpath issue
linux standalone: Generate locale files in ~/.cache/git-annex/locales/ so
they're available even when the standalone tarball is installed in a
directory owned by root.

This avoids a full-on reference counting cleanup hell, by letting old
locale caches linger as long as the standalone bundle directory associated
with them is still around. Old ones get cleaned up.

In the case where the directory has a new bundle unpacked over top of it,
the old locale cache is invalidated and rebuilt. Of course, running
programs using that may get confused, but this was already the case, and
unpacking over top of a bundle is probably not a good idea anyhow.

To support that, added a buildid file, which only needs to be unique across
builds of git-annex with different libc versions. sha1sum of git-annex
seems good enough for that.

Removed debian/patches/standalone-no-LOCPATH as it's no longer
necessary.

This commit was supported by the NSF-funded DataLad project.
2018-07-10 12:13:19 -04:00
Joey Hess
a1b55056fc
Make Build/BuildVersion update embedded version number
This way, autobuilders can run it before building, in a tree where
git-annex was already built, and get the current git rev embedded in the
build.

Before, the version number only updated when the setup program was run,
which was up to cabal and not on every build.
2018-06-26 10:36:54 -04:00
Joey Hess
22f49f216e
get android building the security fix
Had to update http-client and network, with follow-on dep changes.

This commit was sponsored by Brock Spratlen on Patreon.
2018-06-21 10:23:04 -04:00
Joey Hess
991265e724
version deps
need at least http-client-0.4.31 to build now, and connection-0.2.6
2018-06-19 19:55:22 -04:00
Joey Hess
71f450f677
use proot to support Android 8
runshell: Use proot when running on Android, to work around Android 8's
ill-advised seccomp filtering of system calls, including ones crucial for
reliable thread locking. (This will only work with termux's version of
proot.)

See https://github.com/termux/termux-packages/issues/420#issuecomment-386636938

This commit was sponsored by andrea rota.
2018-05-08 13:55:10 -04:00
Joey Hess
b2accf9da1
Assistant: Fix installation of menus, icons, etc when run from within runshell.
runshell followed by git annex webapp didn't install that stuff, because
GIT_ANNEX_APP_BASE is not set. Running git-annex.linux/git-annex-webapp did
install that stuff, since that script set the env var. I noticed this with
the termux port whose instructions currently go that way.

Seems the right thing to do is to move the env var setting to runshell.
2018-04-25 17:58:00 -04:00
Joey Hess
118ed8f92b
runshell: hacks for termux; add tip
Added some tweaks to make git-annex work in termux on Android. The regular
arm standalone tarball now works in termux.

I guess the test for "$base/bin/git" is not really necessary, since it
tests for git-annex. Since that gets deleted on android, removed that test.

These are pretty hackish hacks, especially adding it to PATH. The goal is
to make it work well enough out of the box on Android.

This commit was sponsored by Eric Drechsel on Patreon.
2018-04-25 13:48:37 -04:00
Joey Hess
dd7ab91f97
runshell: Unset LD_PRELOAD
Preloaded libraries from the host system may not get along with the bundled
linker.

This was observed by users in termux:

ERROR: ld.so: object '/data/data/com.termux/files/usr/lib/libtermux-exec.so' from LD_PRELOAD cannot be preloaded (wrong ELF class:
ELFCLASS64): ignored.
Bad system call

But it could also affect more usual systems; the preloaded library might rely
on symbols from the host libc that are not available or have the wrong versions
in the bundled libc. Unsetting LD_PRELOAD entirely seems safest.
2018-04-25 13:40:48 -04:00
Joey Hess
4d75c3d48e
avoid wrapping symlinks 2018-04-16 18:31:10 -04:00
Joey Hess
0a74404c97
move orig/ to .orig
gcc looks for programs in a path relative to its executable's location..
2018-04-16 17:47:35 -04:00
Joey Hess
f821b0e046
fix path 2018-04-16 17:34:27 -04:00
Joey Hess
1bed62bda9
android: try harder to force PIE for android 5+
This may work around ghc's -no-pie flag. Untested.
2018-04-16 17:30:21 -04:00
Joey Hess
db9524bfcc
update for wget removal 2018-04-06 21:15:31 -04:00
Joey Hess
786c7cc06a
updated licenses.gz
Removed a few things that are not in the bundle anymore.

Checked all the bundled C libraries and executables and added some
missing license information for new dependencies.

Did not check for new haskell libraries.
2018-04-03 13:36:04 -04:00
Joey Hess
10390a6378
Linux standalone arm build no longer supports Linux kernels older than 2.6.28
As it was getting too expensive to patch out use of the "new" syscalls

We could revisit this if someone has hardware with an older kernel
that's still being maintained, but I've verified that the Synology
NAS that had used a too old kernel version has been updated to 2.6.32.
2017-11-21 13:29:14 -04:00
Joey Hess
abb14f529e
fix build of patched network 2017-11-21 13:20:56 -04:00
Joey Hess
b411d6c412
freshen patch 2017-11-21 13:11:16 -04:00
Joey Hess
cd97752626
update to lts-9,9
with aws updated to 0.17.1

The old version of this file no longer builds on the arm autobuilder,
running Debian unstable.
2017-11-21 13:03:20 -04:00
Joey Hess
25854c73db
still need stack-windows.yaml to specify newer versions of Win32 and unix-compat 2017-11-09 13:54:05 -04:00
Joey Hess
a0c38d7c96
use win32 2.6.1.0
That has my patches merged into it, so stack-windows.yaml is not needed
any longer.

This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2017-11-09 13:39:07 -04:00
Joey Hess
3d42168364
fix path 2017-10-26 13:42:54 -04:00
Joey Hess
d451d333d8
use upgraded stack 2017-10-26 12:15:00 -04:00
Joey Hess
932d4211a4
upgrade stack to avoid https://github.com/commercialhaskell/stack/issues/2960 2017-10-26 11:40:28 -04:00
Joey Hess
099ff702ea
improve cleanup 2017-10-26 11:34:14 -04:00
Joey Hess
6e202b8dc9
Revert "debugging strange old version of git-annex in windows installer bundle"
This reverts commit 1a338ed920.
2017-10-26 11:32:04 -04:00
Joey Hess
1a338ed920
debugging strange old version of git-annex in windows installer bundle 2017-10-26 11:21:27 -04:00
Joey Hess
50c0fb7336
unify stack build and stack install
For some reason, when stack install is run separately, it seems to be
installing a previous build from a different temp dir. WTF?
2017-10-26 10:10:02 -04:00
Joey Hess
d428f66cdd
simplify build 2017-10-25 17:54:33 -04:00
Joey Hess
9be00f2537
try to put git for windows first
I think there'a a cygwin git in path confusing things
2017-10-25 14:52:08 -04:00
Joey Hess
357a6e6709
work around stack-work directory path bug
fatal: Invalid path '/cygdrive/c/jenkins/workspace/git-annex-master/git-annex/.stack-work/downloaded/C:\jenkins\workspace\git-annex-master\git-annex\.stack-work\downloaded\56E6vnUQljVi': No such file or directory
2017-10-25 14:49:35 -04:00
Joey Hess
833b3f06cd
build for windows with forked win32 package that has terminateProcessId
Get ugly reversion out of CHANGELOG.

Also, relocated the windows stack.yaml to top, and updated windows build
instructions.

This commit was sponsored by Henrik Riomar on Patreon.
2017-10-25 14:45:23 -04:00
Joey Hess
0156ea7f53
expand comment 2017-10-25 14:02:49 -04:00
Joey Hess
54e596894f
Windows: Remove wget from bundle; it needs libraries that are not included, and git for windows includes curl which git-annex will use instead.
wget was broken even in the previous old release of the windows bundle,
this is not new breakage. msys-idn-11.dll and probably more would be needed
to use it. git for windows includes msys-idn2-0.dll instead.
2017-10-25 13:51:31 -04:00
Joey Hess
7dc477a4fc
fix build-version creation 2017-10-25 13:37:51 -04:00
Joey Hess
dd6d0cc9af
fix path
git-annex is installed into . by Build/NullSoftInstaller, so use that
for running git-annex test
2017-10-25 00:23:18 -04:00
Joey Hess
2a2e30f729
make dir 2017-10-25 00:19:10 -04:00
Joey Hess
3761f5a052
try different path 2017-10-25 00:09:58 -04:00
Joey Hess
cea1fed395
try different path 2017-10-25 00:07:39 -04:00
Joey Hess
7688d64564
add bin path 2017-10-25 00:02:25 -04:00
Joey Hess
c03c1d800e
avoid stack runghc
Seems to want to recompile git-annex before running unrelated program.

stack ghc does not have that problem
2017-10-24 13:46:53 -04:00
Joey Hess
0804599941
--no-haddock 2017-10-24 13:37:57 -04:00
Joey Hess
21d6df8f91
use windows stack.yaml for additional stack commands 2017-10-24 13:30:51 -04:00
Joey Hess
2c71f4a3a8
remove unncessary withcyg 2017-10-24 12:05:00 -04:00
Joey Hess
6f7db3df09
add to PATH 2017-10-24 12:02:14 -04:00
Joey Hess
a732dbee31
get rsync before build 2017-10-22 15:22:24 -04:00
Joey Hess
c745480882
typo 2017-10-22 15:20:26 -04:00