Commit graph

123 commits

Author SHA1 Message Date
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
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
Edward Betts
0750913136
correct spelling mistakes 2017-02-12 17:30:23 -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
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
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
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
d9d87fdbc9
Make the git-annex-standalone.deb prevent runshell from installing wrappers into $HOME/.ssh 2015-11-10 12:53:46 -04:00
Joey Hess
3e49f9fcab
runshell: Avoid failing when $HOME/.ssh does not exist and cannot be created. 2015-11-10 11:42:06 -04:00
Joey Hess
7133b68afe Linux standalone: Work around problem that prevented it from working properly if unpacked into a directory that contains ":" or ";" in its name. 2015-08-04 16:08:19 -04:00
Joey Hess
7bf40863d7 update cabal pin file for linux standalone to current stackage 2015-05-31 14:36:12 -04:00
Joey Hess
7dd1e364b2 update for TH-capable arm autobuilder
Only 1 patched haskell package is needed on arm now.
2015-05-31 14:05:05 -04:00
Joey Hess
5e1f1bd252 Linux standalone, OSX app: Improve runshell script to always quote shell vars, so that it will work when eg, untarred into a directory path with spaces in its name. 2015-05-26 15:38:54 -04:00
Joey Hess
911335247c if ~/.ssh does not exist and cannot be created, avoid failing 2015-04-20 13:15:01 -04:00
Joey Hess
5f73bc3a12 Removed dependency on haskell SHA library, instead using cryptohash >= 0.11.0. 2015-04-19 11:05:32 -04:00
Joey Hess
cfe20dd788 update pinned versions for android and armel to use new enough http-client for proxy support
I have not updated the autobuilder yet; these versions seem ok by
inspection.
2015-04-18 12:44:44 -04:00
Joey Hess
00b07d7155 Better fix for standalone tarball git-annex sync linker shim bug, that works for "git annex sync" as well as "git-annex sync". 2015-03-27 16:06:50 -04:00
Joey Hess
5be536e523 Fix bug introduced in the last release that broke git-annex sync when git-annex was installed from the standalone tarball.
This was introduced by commit 450ee53ab6

However, the same problem could affect other calls to programPath,
specifically some on the assistant. So, I fixed it at a deeper level.
2015-03-27 12:55:18 -04:00
Joey Hess
76cde095fe Linux standalone: Set LOCPATH=/dev/null to work around https://ghc.haskell.org/trac/ghc/ticket/7695
This prevents localization from working, but git-annex is not localized anyway.
2015-02-25 16:31:01 -04:00
Joey Hess
88fbb13ee3 Linux standalone: Improved process names of linker shimmed programs. 2015-02-16 19:36:26 -04:00
Joey Hess
c0a10d5907 add missing patches 2014-12-04 13:50:41 -04:00
Joey Hess
33d6057ca3 cabal unpack --pristine
Without --pristine, cabal will update the package's cabal file if a newer
one is available in hackage. But that can break applying patches.
Especially since the new version from hackage can apparently have dos line
endings, while the version from the tarball doesn't.
2014-12-04 01:02:36 -04:00
Joey Hess
9dbd2ff6c2 convert no-th linux build to use cabal.config with pinned versions for reproducability of builds 2014-12-03 21:25:46 -04:00
Joey Hess
068b99f09f cabal install with -j1 to work around ghc qemu threading bug 2014-12-03 21:11:22 -04:00
Joey Hess
748e21c69e fix params 2014-09-12 21:01:40 -04:00
Joey Hess
47164fb844 remove one shift too many 2014-09-12 15:36:56 -04:00
Joey Hess
1f9ff049a7 armel autobuilder now working again! 2014-08-15 10:58:04 -04:00
Joey Hess
aac85af12e typo 2014-08-14 16:57:53 -04:00
Joey Hess
cdc4ce2eed run only 1 install job at a time
In qemu-system-arm, more jobs seems to cause frequent qemu-related crashes.
2014-08-13 21:14:44 -04:00
Joey Hess
c17bac346f provide utf-8 locale to avoid silly build failure 2014-07-14 21:18:24 -04:00
Joey Hess
5d2759aa82
fix logic 2014-07-04 13:58:09 -04:00
Joey Hess
d86b8368db skein patch seems to be needed for arm as well as android
I don't understand why this patch is needed.
2014-06-10 14:13:50 -04:00
Joey Hess
0fcc805bc9 vector patch also needed for arm 2014-06-10 12:42:09 -04:00
Joey Hess
f70b2a53e8 fix QuickCheck install w/o TH 2014-05-22 15:23:50 -04:00
Your Name
5dfc43915a update haskell patches (incomplete) 2014-05-20 22:12:29 +00:00
Joey Hess
5903d20d5e Support symlinking git-annex and git-annex-shell from the Linux standalone bundle into PATH.
Unless busybox doesn't support readlink -f, then it just uses readlink and
symlinking won't work. Also, OSX has no readlink -f so not done there.

Thanks, jlebar.
2014-05-16 16:22:56 -04:00
Joey Hess
eba3a28a28 webapp: Support using git-annex on a remote server, which was installed from the standalone tarball or OSX app, and so does not have git-annex in PATH (and may also not have git or rsync in PATH).
* webapp: Support using git-annex on a remote server, which was installed
  from the standalone tarball or OSX app, and so does not have
  git-annex in PATH (and may also not have git or rsync in PATH).
* standalone tarball, OSX app: Install a ~/.ssh/git-annex-wrapper, which
  can be used to run git-annex, git, rsync, etc.
2014-04-20 18:39:10 -04:00
Joey Hess
6f9f9739eb
actually use patches from linux/haskell-patches 2014-03-10 13:53:01 -04:00
Joey Hess
f7cd43cfd0 really add patch.. 2014-03-10 13:31:23 -04:00
Joey Hess
35aa055039 add a patch to disable accept4, for compatability with older systems 2014-03-10 13:29:24 -04:00
Joey Hess
efafaec3c2 update 2014-03-07 02:23:56 -04:00
Joey Hess
4124a27ec9 make wrappers run git-shell, now that it's included, rather than git shell 2013-12-27 16:36:48 -04:00
Joey Hess
307c57b29b add git-shell wrappers 2013-12-27 16:06:11 -04:00
Joey Hess
706c74aa98 Include git-receive-pack, git-upload-pack, and git wrappers in the Linux standalone build, and OSX app, so they will be available when it's added to PATH. 2013-12-24 16:28:10 -04:00
Joey Hess
ccef06da41 allow building webapp with EvilSplicer for non-android arm
Was able to reuse many of the android patches, but several had to be
re-done. On Android, ghc is a stage2 build, so can compile, but not run TH
code. But debian's ghc on armel cannot even compile TH code, so it has
to be patched out.

Some haskell packages have been updated to new versions, including yesod
and DAV, and their patches had to be redone.

The Makefile now has 2 new targets. The first is run on a companion x86
system to do the build and get TH splices. Then the second target is run
the same source tree on the arm system to build without needing TH.

This commit was sponsored by Svenne Krap.
2013-12-18 21:41:17 +00:00
Joey Hess
13b0bf17d9 begin work on installing TH-using dependencies of webapp, for standalone armel build
Will move common patches out of android/haskell-patches.
2013-12-16 23:05:00 -04:00
Joey Hess
c26734c7da make linker path absolute 2013-12-16 02:17:15 -04:00
Joey Hess
99f6dd01b4 Linux standalone build now includes its own glibc and forces the linker to use it, to remove dependence on the host glibc. 2013-12-16 01:51:19 -04:00
Joey Hess
e7739cb011 add linux-gate and linux-vdso dummy libs
Just fixes a build warning; these files don't exist they are virtual DSOs
provided by the linux kernel.
2013-12-15 19:16:44 -04:00
Joey Hess
f4e0eec2a2 Include man pages in Linux and OSX standalone builds. 2013-12-15 16:27:46 -04:00
Joey Hess
6be19b0070 Programs from Linux and OSX standalone builds can now be symlinked into a directory in PATH as an alternative installation method, and will use readlink to find where the build was unpacked. 2013-12-15 15:57:41 -04:00
Joey Hess
54e0bd55b4 fun with exec 2013-07-23 17:31:51 -04:00
Joey Hess
66ba80ac04 add git-annex-shell wrapper to linux and OSX standalone bundles
This can be useful when not using the assistant, and putting the bundle in
PATH. This way, git-annex-shell is available for use by anything that ssh's
in.
2013-05-31 17:02:09 -04:00
Joey Hess
f84b8615e5 deal with $0 having spaces in it 2013-03-20 14:11:36 -04:00
Joey Hess
36b3c4c757 improve linux standalone bundle instuctions, mentioning the PATH setup option 2013-03-20 13:40:57 -04:00
Joey Hess
dd032bd84c furnish git with an (empty) template directory in standalone builds
This will stop git-init complaining about missing template directory.
2012-12-13 12:27:32 -04:00
Joey Hess
0931ad6be8 runshell: start sh, not $SHELL
$SHELL may need libraries not included in the bundle
2012-12-07 14:44:44 -04:00
Joey Hess
51aa988a9f Fix broken .config/git-annex/program installed by standalone tarball.
It was doubly broken; both missing a slash, and containing
"runshell git-annex", while some parts of the code expected it to be a
simple path to a program. This appears to include the transfer queue
runner, and the code that starts a new assistant process when switching to
another repository in the webapp.
2012-11-28 16:09:38 -04:00
Joey Hess
2525fefbb9 The standalone builds now unset their special path and library path variables before running the system web browser.
Should fix a crash reported on OSX.
2012-11-27 17:05:29 -04:00
Joey Hess
f89d6dd33e The standalone tarball's runshell now takes care of installing a ~/.ssh/git-annex-shell wrapper the first time it's run. 2012-10-29 14:40:28 -04:00
Joey Hess
e88e3ba85b standalone linux app nearly ready
also made several fixes that apply to the OSX app
2012-09-28 19:08:13 -04:00
Joey Hess
f0d75cd928 content removed from git annex 2012-09-28 18:52:45 -04:00
Joey Hess
ad0d927dba content removed from git annex 2012-09-28 18:52:44 -04:00
Joey Hess
fb31fbb4c9 content removed from git annex 2012-09-28 18:52:44 -04:00
Joey Hess
9142b4feb2 content removed from git annex 2012-09-28 18:52:44 -04:00
Joey Hess
115f05db25 building linux standalone tarballs 2012-09-28 18:21:39 -04:00