Recent comments posted to this site:

I too would be grateful to know Joey's view on the state of v6. I would like to replace my direct mode repos.

I'm not sure that the criteria for v6 being suitable for production is that Joey is willing to set it as the default -- there might be reasons other than stability/bugginess not to set it as the default.

Comment by spwhitton Sat Apr 21 19:47:10 2018
Is 64-bit still a problem now that git-annex has switched over from rsync to its own transport?
Comment by grawity Sat Apr 21 09:52:31 2018

Ooops…, I missed this comment.

I am not exactly sure what the best approach will be, but I have some thoughts. Yes, I can make an example of a folder structure I think could work well. I'll try to explain all the positives and negatives of various approaches below.

The standard for application installation on the mac is to deliver a dmg that when double-clicked opens a small Finder window that contains the application (.app bundle), a link to /Applications and a background image with an arrow hinting that users should drag the .app file onto to the /Applications link (which causes Finder to initiate a copy).

Currently, after installing git-annex from the dmg, when you double-click the git-annex.app folder git-annex-webapp is launched.

1) One approach, to bundling git-annex-turtle would be to place git-annex-turtle inside the git-annex.app folder. That would mean, however, users need to ctrl-click then click Show Package Contents then browse the file structure until they find git-annex-turtle, then double-click it to launch it. That would be a bit confusing, and not very Mac-y. This could be slightly mitigated by adding an installer for git-annex that asks users if they want to auto-launch git-annex-turtle on login-in, but then we still have the issue of them not being able to re-launch it if they ever quit it. Also, installers are not very popular on the Mac.

2) Another approach would be for the dmg file to contain a folder that contains two items git-annex.app and git-annex-turtle.app. Users would then drag the entire folder to their /Applications folder. Then git-annex-webapp would be launchable (from Finder) by double-clicking on /Applications/git-annex/git-annex.app, and git-annex-turtle would be launch-able by double-clicking on /Applications/git-annex/git-annex-turtle.app. The biggest drawback with this approach is that it would change all of the absolute paths to the binaries inside git-annex.app.

For example, I currently have the following line in my bash_profile:

export PATH=/Applications/git-annex.app/Contents/MacOS:$PATH

This would need to change to

export PATH=/Applications/git-annex/git-annex.app/Contents/MacOS:$PATH

I think we probably don't want to make all users have to update all their paths to git-annex binaries.

This approach, of having a folder with multiple apps is quite rare. Users, really expect their /Applications folder to only contain .app files with nice icons that they can double-click to launch things. I could only find a handful of examples of apps that are doing this (all cross-platform apps): Blender, Supercollider, Unity, Adobe (sometimes), Autodesk.

3) Another approach would be to just include both the existing git-annex.app and git-annex-turtle.app (as they are) in the git-annex.dmg file. Then I could create a nice background image that suggests users should drag both git-annex.app and git-annex-turtle.app to their /Applications folder. Then users would have /Applications/git-annex.app and /Applications/git-annex-turtle.app installed. The main drawback here is that users need to know to drag both files to their /Applications folder, and they are slightly more likely to not always upgrade them, and there is the potential for them to just drag git-annex-turtle to /Applications and not git-annex, and wonder why one doesn't work. Or uninstall git-annex at some point, and then again, wonder why git-annex-turtle no longer works.

Currently I am leaning towards this last option. But, I think 2) could work as well, although it would be unfortunate to break people's paths.

Andrew

Comment by andrew Fri Apr 20 18:24:21 2018
@andrew.grangaard, I just wanted to note that git-annex is no longer available as a cask. It is just available as a formula, ie brew install git-annex see Homebrew.
Comment by andrew Fri Apr 20 13:21:27 2018

Joey - is there some way to pass flags to youtube-dl?

For example the --extract-audio flag allows the extraction of just the audio stream.

Comment by svw Fri Apr 20 05:57:39 2018

``` Here's everything that has been logged by the git-annex assistant, as well as by programs it has run. [2018-04-17 21:55:06.712567732] main: starting assistant version 6.20170101 [2018-04-17 21:55:06.754681296] Cronner: You should enable consistency checking to protect your data.

No known network monitor available through dbus; falling back to polling

No known volume monitor available through dbus; falling back to mtab polling (scanning...) [2018-04-17 21:55:06.920804804] Watcher: Performing startup scan (started...) WebApp crashed: unable to bind to local socket CallStack (from HasCallStack): error, called at ./Utility/WebApp.hs:124:19 in main:Utility.WebApp [2018-04-17 21:55:07.19622235] WebApp: warning WebApp crashed: unable to bind to local socket CallStack (from HasCallStack): error, called at ./Utility/WebApp.hs:124:19 in main:Utility.WebApp [2018-04-17 21:57:06.821805552] main: starting assistant version 6.20170101 [2018-04-17 21:57:06.858432032] Cronner: You should enable consistency checking to protect your data.

No known network monitor available through dbus; falling back to polling (scanning...) [2018-04-17 21:57:07.025115165] Watcher: Performing startup scan (started...)

No known volume monitor available through dbus; falling back to mtab polling WebApp crashed: unable to bind to local socket CallStack (from HasCallStack): error, called at ./Utility/WebApp.hs:124:19 in main:Utility.WebApp [2018-04-17 21:57:07.243030677] WebApp: warning WebApp crashed: unable to bind t o local socket CallStack (from HasCallStack): error, called at ./Utility/WebApp.hs:124:19 in main:Utility.WebApp [2018-04-17 21:59:07.137839178] main: starting assistant version 6.20170101 [2018-04-17 21:59:07.177856054] Cronner: You should enable consistency checking to protect your data.

No known network monitor available through dbus; falling back to polling

No known volume monitor available through dbus; falling back to mtab polling

(scanning...) [2018-04-17 22:24:10.365052622] Watcher: Performing startup scan (started...) (merging synced/git-annex into git-annex...) (recording state in git...)

 Performed startup scan

```

Comment by moaxey Tue Apr 17 22:52:15 2018
There is now an adb special remote.
Comment by lykos Tue Apr 17 08:38:32 2018
thank you Joey. It seems to be healed now (after rm ../.git/annex/index*, since there also was .lck file, just killed them together, annex fsck didn't raise any alarm)
Comment by yarikoptic Tue Apr 17 03:52:55 2018

Even with gcc and ld wrapped to pass -pie and strip -no-pie, ghc is not producing PIE binaries. Verified with "readelf -s git-annex | grep main", and the address for main is a full address not an offset.

The same android gcc toolchain does produce PIE executables by default when building C code.

Unclear why..

Comment by joey Mon Apr 16 23:49:20 2018

Apparently this might have to do with ghc passing -no-pie to GCC, and they added a -fPIE flag to request a PIE. https://ghc.haskell.org/trac/ghc/ticket/13702

Since the git-annex for android autobuilder uses a hacked up ghc cross compiler for android, which is quite out of date, that would need to be updated, as well as probably refeshing all the cabal library patches and hacks for android.

Comment by joey Mon Apr 16 20:36:19 2018