Commit graph

688 commits

Author SHA1 Message Date
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
Joey Hess
008e991ff5
run only 1 job
Seeing interrmittent build failures that may be related to stack's
concurrency
2017-10-22 15:02:43 -04:00
Joey Hess
87c6f506e7
disable haddock 2017-10-22 14:50:09 -04:00
Joey Hess
0e766a41c6
try lts-9.10 with old win32
toolchain issue is preventing nightly from building anything on windows
2017-10-22 14:20:54 -04:00
Joey Hess
11928ae432
add IfElse version 2017-10-22 14:08:45 -04:00
Joey Hess
fda47b0a01
switch to nightly-2017-10-22 for newer win32 2017-10-22 14:03:10 -04:00
Joey Hess
79f56fd449
point packages dir at top 2017-10-22 13:59:42 -04:00
Joey Hess
84a517dbcb
windows-specific stack.yaml to enable Win32 2017-10-22 13:58:21 -04:00
Joey Hess
7391c49305
temporarily disable rm to get building 2017-10-22 13:42:46 -04:00
Joey Hess
bc08ef886d
better fix for rm path 2017-10-22 13:40:01 -04:00
Joey Hess
836e70424d
add cygwin bin to path 2017-10-22 13:39:26 -04:00
Joey Hess
35c807b5bc
remove msysgit cruft 2017-10-22 13:38:11 -04:00
Joey Hess
b744588459
remove ghc --version
using stack, version is pinned
2017-10-22 13:37:18 -04:00
Joey Hess
122205e99d
force update 2017-10-22 13:22:55 -04:00
Joey Hess
59a0308f5f
update windows build scripts to use stack
Not tested yet.

The EvilLinker workaround is removed. That got fixed in ghc 8.0.1,
(per https://ghc.haskell.org/trac/ghc/ticket/8596)
which will finally be used by the windows autobuilder now.

I have not deleted the EvilLinker yet (or closed its bugs).

This commit was sponsored by John Peloquin on Patreon.
2017-10-17 13:00:29 -04:00
Joey Hess
ddff4ebc84
log ghc version 2017-10-16 15:29:45 -04:00
Joey Hess
19f0f42cf3
avoid cloning xss-sanitize when clone already exists 2017-10-16 15:19:22 -04:00
Joey Hess
c8cc32335f
try working around strange cabal install bug for xss-sanitize 2017-10-16 15:11:50 -04:00
Joey Hess
1b6b951cc0
try explicitly installin xss-sanitize 2017-08-23 12:37:16 -04:00
Joey Hess
24a6634934
stop removing cabal 2017-08-23 11:31:14 -04:00
Joey Hess
79020a9c26
avoid broken version of xss-sanitize
https://github.com/yesodweb/haskell-xss-sanitize/issues/17
2017-08-17 17:12:48 -04:00
Joey Hess
677fa66249
temporarily --force-reinstalls 2017-08-17 13:57:47 -04:00
Joey Hess
cd4c97156e
force update of cabal libs 2017-08-17 11:00:37 -04:00
Edward Betts
0750913136
correct spelling mistakes 2017-02-12 17:30:23 -04:00
Joey Hess
ab66bbfeb6
Merge branch 'master' into no-xmpp 2016-12-24 15:01:55 -04:00
Joey Hess
95c8b37544
Linux standalone: Improve generation of locale definition files, supporting locales such as, en_GB.UTF-8. 2016-12-19 17:03:52 -04:00
Joey Hess
be5cd15311
urk
test failures were being ignored for complex reasons, new autobuilder broke that; bring it back
2016-12-01 12:18:00 -04:00
Joey Hess
d58148031b
remove xmpp support
I've long considered the XMPP support in git-annex a wart.
It's nice to remove it.

(This also removes the NetMessager, which was only used for XMPP, and the
daemonstatus's desynced list (likewise).)

Existing XMPP remotes should be ignored by git-annex.

This commit was sponsored by Brock Spratlen on Patreon.
2016-11-14 14:53:08 -04:00
Joey Hess
aacd9b190d
Linux standalone: Include locale files in the bundle, and generate locale definition files for the locales in use when starting runshell.
Currently only done for utf-8 locales because the charset can easily be
told for those. Other locales don't include the charset in their name.

The locale definition is generated under git-annex.linux/locales.
So, this only works if the user can write there.

If locale generation fails for any reason, it's silently skipped.

The git-annex-standalone.deb installs the bundle under /usr, so this locale
generation won't work for non-root users.
2016-10-04 16:37:43 -04:00
Joey Hess
a93e38e8fc
add LOCPATH to GIT_ANNEX_STANDLONE_ENV 2016-10-04 15:32:58 -04:00
Joey Hess
c079811226
Linux standalone: Add back the LOCPATH=/dev/null hack to avoid the system locale-archive being read.
Version mismatches between the system locale-archive and the glibc in the
bundle have been observed to cause git crashes.

Unfortunately, this causes locales to not be used in the linux standalone
bundle, as was the case until version 6.20160419.

glibc hardcodes the path to /usr/lib/locale/locale-archive and does not
let an environment variable cause a different locale-archive file to be used.

The only other option to include locales in the bundle would be to include
exploded locale definition directories in the bundle for a number of
locales, generated by localedef. But these take at least 300 kb per locale,
and there are a great many locales; it would be hundreds of megabytes to
include them all.

(Hmm, we could include localdef in the bundle, and check LANG in runshell
and compile the locale directories on the fly. This would need
/usr/share/i18n/ and /usr/lib/locale-archive to be included in the bundle.
It's.. doable.)

I know this is going to once again cause users of the bundle to complain
that eg, ls doesn't show their unicode filenames right. Better than strange
crashes though.
2016-10-04 12:53:09 -04:00
Joey Hess
dceb0cc627
typo 2016-09-06 14:51:15 -04:00
Joey Hess
b9e2061b2a
stop removing old builds again 2016-09-06 14:38:47 -04:00
Joey Hess
833a80ae89
pin mwc-random to last known working version on windows 2016-09-06 14:18:04 -04:00
Joey Hess
fd02af6136
constrain cryptonite version to avoid windows build fail
https://github.com/haskell-crypto/cryptonite/issues/99
2016-09-06 13:50:55 -04:00
Joey Hess
022382160a
try using cabal constraint 2016-09-06 13:25:02 -04:00
Joey Hess
d242e21968
perisstent-sqlite-2.2.1 fails to build on windows 2016-09-06 13:13:07 -04:00
Joey Hess
b786400671
remove old cabal install libraries to try to fix windows autobuilder 2016-09-06 12:58:51 -04:00
Joey Hess
a8f2f29da1
pin crytonite on android to 0.15, which is the version I've been using 2016-06-09 15:34:37 -04:00
Joey Hess
9b73c85952
Android: Icon refresh. Thanks, freewheelinfranks. 2016-05-03 13:27:06 -04:00
Joey Hess
9f6c29fb38
pin unix to already installed version
This prevents multiple versions of unix, from ghc and needed by newer
versions of some packages conflicting.

Had to update the bytestring and blaze-builder pins follow-on from this
change.
2016-04-28 14:21:57 -04:00
Joey Hess
6566795e4f
pin directory to last version that doesn't break MissingH
https://github.com/jgoerzen/missingh/issues/31
2016-04-28 13:02:56 -04:00
Joey Hess
f947781fa0
Avoid setting LOCPATH in linux standalone builds now that ghc has been fixed to not hang when it cannot find locale files. 2016-04-20 12:40:11 -04:00
Joey Hess
39165d4bf7
update android git to 2.8.0.rc3, fixing recent security holes 2016-03-17 23:22:28 -04:00
Joey Hess
276a67184c
fix typo in flags 2016-03-09 13:39:00 -04:00
Joey Hess
40c15871d5
remove LGPL, after removing the LGPLed file 2016-03-05 11:24:05 -04:00
Joey Hess
471a211d21
Include magic database in the linux and OSX standalone builds. 2016-02-26 11:54:15 -04:00
Joey Hess
67dc0d238f
disable new build flags for android build 2016-02-23 10:59:59 -04:00
Joey Hess
5f11e3cd26
fix path to extra dir 2016-02-19 16:51:40 -04:00
Joey Hess
398d93d4d2
Linux and OSX standalone builds put the bundled gpg last in PATH, so any system gpg will be preferred over it. 2016-02-19 16:19:19 -04:00
Joey Hess
95bbdb8680
Revert "workaround try #3"
This reverts commit 3fe79c0d1b.

Didn't cause the overall build to fail either.
2016-02-17 14:07:54 -04:00
Joey Hess
3fe79c0d1b
workaround try #3 2016-02-16 17:07:17 -04:00
Joey Hess
cceff0e46c
wow, this windows sh is super busted. try another hack 2016-02-15 16:15:23 -04:00