Merge branch 'master' of ssh://git-annex.branchable.com

This commit is contained in:
Joey Hess 2019-01-02 16:18:30 -04:00
commit 1aebc356e4
No known key found for this signature in database
GPG key ID: DB12DB0FF05F8F38
7 changed files with 230 additions and 0 deletions

View file

@ -0,0 +1,9 @@
[[!comment format=mdwn
username="yarikoptic"
avatar="http://cdn.libravatar.org/avatar/f11e9c84cb18d26a1748c33b48c924b4"
subject="the build details"
date="2019-01-02T01:14:39Z"
content="""
cowbuilder is used, underlying file system (dedicated to debian pkgs building) is ext4.
but is it a filesystem effect somehow or just a \"partially\" isolated environment aspect (such as those pbuilder/cowbuilder chroots)? The message `gpg: can't connect to the agent: IPC connect call failed` suggests that may be tests pass for you locally as connecting to your gpg agent?
"""]]

View file

@ -0,0 +1,20 @@
### Please describe the problem.
When you encrypt something to a master key, gpg actually encrypts to its corresponding encryption subkey, but the id of the master key gets recorded in the remote information. It is useful to be able to see the actual subkey id to make sure everything is encrypted as expected in a multi-subkey setup.
### What steps will reproduce the problem?
1. Have a master key with two encryption subkeys
2. Create a remote with `hybrid` encryption with `keyid` set to the keys email address or master key id
3. Use `git annex enableremote keyid+=` and the `!` suffix to add the second encryption key.
4. Try to use `git annex info` to see which subkeys can be used for decryption.
### What version of git-annex are you using? On what operating system?
7.20181211
### Please provide any additional information below.
I managed to do this for myself by thaking the `cypher` from `remote.log`, decoding base64 and running it through `gpg --list-packets`, but, I guess, it would be nicer to have an easy way to do this: maybe some flag for `git annex info` to do this dance for me, or even just record the subkey in `remote.log`.

View file

@ -0,0 +1,47 @@
### Please describe the problem.
### What steps will reproduce the problem?
Build git-annex with GHC 8.6.
### What version of git-annex are you using? On what operating system?
7.20181211, master
### Please provide any additional information below.
Following the implementation plan for the [MonadFail Proposal](https://wiki.haskell.org/MonadFail_Proposal), GHC 8.6 has enabled `-XMonadFailDesugaring` by default.
Some of the code in git-annex uses failable patterns in `do`-blocks, so it fails to compile starting from GHC 8.6, as there is no `MonadFail` instance for `Annex`. Here is an example of such an error:
Remote/Glacier.hs:165:17: error:
• No instance for (Control.Monad.Fail.MonadFail Annex)
arising from a do statement
with the failable pattern (_, Just h, _, pid)
• In a stmt of a 'do' block:
(_, Just h, _, pid) <- liftIO $ createProcess cmd
In the expression:
do let cmd = ...
(_, Just h, _, pid) <- liftIO $ createProcess cmd
ok <- ifM
(liftIO $ hIsEOF h)
(return False, sink =<< liftIO (L.hGetContents h))
liftIO $ hClose h
....
In an equation for go:
go (Just e)
= do let cmd = ...
(_, Just h, _, pid) <- liftIO $ createProcess cmd
ok <- ifM
(liftIO $ hIsEOF h)
(return False, sink =<< liftIO (L.hGetContents h))
....
|
165 | (_, Just h, _, pid) <- liftIO $ createProcess cmd
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
Just trying to start using it. I have built it with `-XNoMonadFailDesugaring` for now.

View file

@ -0,0 +1,109 @@
### Please describe the problem.
`git annex enable-tor` fails on Android/Termux (both when entering the command manually and in the webapp)
*(apologies if this is a duplicate, but I couldn't find anything related to this problem)*
### What steps will reproduce the problem?
Occurs reliably when trying to enable p2p pairing via tor (see below)
### What version of git-annex are you using? On what operating system?
* Version: 7.20181122-gbb94cc9f8
Build flags: Assistant Webapp Pairing S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify TorrentParser MagicMime Feeds Testsuite Dependency versions: aws-0.19 bloomfilter-2.0.1.0 cryptonite-0.25 DAV-1.3.2 feed-1.0.0.0 ghc-8.2.2 http-client-0.5.12 persistent-sqlite-2.8.1.2 torrent-10000.1.1 uuid-1.3.13 yesod-1.6.0
* Installed via the Termux app using this guide: [[https://git-annex.branchable.com/Android/]]
* Termux version 0.65
* tor installed in Termux via `pkg install tor`
* Rooted Android with SuperSU installed
### Please provide any additional information below.
##### In the webapp via 'Add another repository -> Share with a friend -> Let's get started':
[[!format txt
"""
Failed to enable tor
enable-tor
You will be prompted for root's password
mkdir: '//.cache': Read-only file system
Unable to write to //.cache/git-annex/locales/_data_data_com.termux_files_home_git-annex.linux; can't continue!
git-annex: Failed to run as root: /data/data/com.termux/files/home/git-annex.linux/git-annex enable-tor 10076
failed
git-annex: enable-tor: 1 failed
"""]]
A SuperSU prompt to confirm root permissions is shown during the process
##### On the Termux commandline (in the annex repo directory):
Need to use the full file path since git-annex isn't in $PATH
[[!format txt """
$ su
# /data/data/com.termux/files/home/git-annex.linux/git-annex enable-tor 10076
mkdir: '//.cache': Read-only file system
Unable to write to //.cache/git-annex/locales/_data_data_com.termux_files_home_git-annex.linux; can't continue!
"""]]
Seems like an environment variable isn't set correctly and/or is empty (hence the double // at the start), leading to an incorrect path.
Output of `env` (as root):
[[!format txt """
# env
_=/system/bin/env
ANDROID_DATA=/data
HOME=/
ANDROID_STORAGE=/storage
PWD=/data/data/com.termux/files/home/storage/shared/annex
TERMINFO=/system/etc/terminfo
TERM=xterm-256color
ANDROID_CACHE=/cache
SHLVL=1
DOWNLOAD_CACHE=/cache
LOGNAME=root
LANG=en_US.UTF-8
OLDPWD=/data/data/com.termux/files/home
BOOTCLASSPATH=/system/framework/core-oj.jar:/system/framework/core-libart.jar:/system/framework/conscrypt.jar:/system/framework/okhttp.jar:/system/framework/core-junit.jar:/system/framework/bouncycastle.jar:/system/framework/ext.jar:/system/framework/framework.jar:/system/framework/telephony-common.jar:/system/framework/voip-common.jar:/system/framework/ims-common.jar:/system/framework/apache-xml.jar:/system/framework/org.apache.http.legacy.boot.jar:/system/framework/telephony-ext.jar
SHELL=/su/bin/sush
ANDROID_BOOTLOGO=1
SYSTEMSERVERCLASSPATH=/system/framework/org.cyanogenmod.platform.jar:/system/framework/org.cyanogenmod.hardware.jar:/system/framework/services.jar:/system/framework/ethernet-service.jar:/system/framework/wifi-service.jar
LD_PRELOAD=libsigchain.so
ASEC_MOUNTPOINT=/mnt/asec
ANDROID_ASSETS=/system/app
EXTERNAL_STORAGE=/sdcard
USER=root
TMPDIR=/data/local/tmp
PATH=/sbin/su:/su/bin:/su/xbin:/system/bin:/system/xbin
HOSTNAME=mido
ANDROID_ROOT=/system
PREFIX=/data/data/com.termux/files/usr
"""]]
Output of `env` (as normal user):
[[!format txt """
$ env
LD_LIBRARY_PATH=/data/data/com.termux/files/usr/lib
LANG=en_US.UTF-8
PREFIX=/data/data/com.termux/files/usr
PWD=/data/data/com.termux/files/home/storage/shared/annex
HOME=/data/data/com.termux/files/home
TMPDIR=/data/data/com.termux/files/usr/tmp
SHELL=/data/data/com.termux/files/usr/bin/bash
TERM=xterm-256color
SHLVL=1
ANDROID_ROOT=/system
ANDROID_DATA=/data
EXTERNAL_STORAGE=/sdcard
PATH=/data/data/com.termux/files/usr/bin:/data/data/com.termux/files/usr/bin/applets:/data/data/com.termux/files/home/git-annex.linux
LD_PRELOAD=/data/data/com.termux/files/usr/lib/libtermux-exec.so
_=/data/data/com.termux/files/usr/bin/env
OLDPWD=/data/data/com.termux/files/home/storage/shared
"""]]
### Have you had any luck using git-annex before? (Sometimes we get tired of reading bug reports all day and a lil' positive end note does wonders)
Sure thing! git-annex is amazing and usually works really well. Using it to keep files in sync between my pc, laptop and phone.

View file

@ -0,0 +1,11 @@
[[!comment format=mdwn
username="Chymera"
avatar="http://cdn.libravatar.org/avatar/555d585d6d78c68894ac90fd1e984309"
subject="comment 2"
date="2019-01-02T12:08:19Z"
content="""
> If you run git annex info you can see how much of this space is from actual annexed objects local annex size
I don't understand what you mean, `git annex info` tells me nothing about the repository size, and I have no idea where to enter the “local annex size” string.
At any rate, no, I have already run `git annex dropunused` to get rid of all unused files. All the rest seems to be needed for some reason. My question was whether I can move all of this history to one of my volumes which have more space on them.
"""]]

View file

@ -0,0 +1,26 @@
Hello, I'm having some problems using any BLAKE2 backend (tried with BLAKE2B512E, BLAKE2S256E, and BLAKE2SP256E) on an AMD Turion II Neo N40L Dual-Core Processor. Using default, WORM, or SHA3_512E backend works but after switching to a BLAKE2 variant `git annex add` and `git annex migrate` exit with a SIGILL: `add testfile2 error: git-annex died of signal 4`.
## information from coredumpctl
Signal: 4 (ILL)
Command Line: /usr/bin/git-annex add testfile2
Message: Process 2481 (git-annex) of user 1000 dumped core.
Stack trace of thread 2481:
#0 0x00007f0db668e3e6 n/a (libHScryptonite-0.25-5E9EuEAz1M1JrY25iIyNbL-ghc8.6.3.so)
#1 0x00007f0db66901f5 blake2b_final (libHScryptonite-0.25-5E9EuEAz1M1JrY25iIyNbL-ghc8.6.3.so)
#2 0x00007f0db6637950 cryptonitezm0zi25zm5E9EuEAzz1M1JrY25iIyNbL_CryptoziHashziBlake2b_zdfHashAlgorithmBlake2bzu15_info (libHScryptonite-0.25-5E9EuEAz1M1JrY25iIyNbL-ghc8.6.3.so)
## git annex version
git-annex version: 7.20181211-g426bdbf11
build flags: Assistant Webapp Pairing S3(multipartupload)(storageclasses) WebDAV Inotify DBus DesktopNotify TorrentParser MagicMime Feeds Testsuite
dependency versions: aws-0.21 bloomfilter-2.0.1.0 cryptonite-0.25 DAV-1.3.3 feed-1.0.1.0 ghc-8.6.3 http-client-0.5.14 persistent-sqlite-2.8.2 torrent-10000.1.1 uuid-1.3.13 yesod-1.6.0
key/value backends: SHA256E SHA256 SHA512E SHA512 SHA224E SHA224 SHA384E SHA384 SHA3_256E SHA3_256 SHA3_512E SHA3_512 SHA3_224E SHA3_224 SHA3_384E SHA3_384 SKEIN256E SKEIN256 SKEIN512E SKEIN512 BLAKE2B256E BLAKE2B256 BLAKE2B512E BLAKE2B512 BLAKE2B160E BLAKE2B160 BLAKE2B224E BLAKE2B224 BLAKE2B384E BLAKE2B384 BLAKE2S256E BLAKE2S256 BLAKE2S160E BLAKE2S160 BLAKE2S224E BLAKE2S224 BLAKE2SP256E BLAKE2SP256 BLAKE2SP224E BLAKE2SP224 SHA1E SHA1 MD5E MD5 WORM URL
remote types: git gcrypt p2p S3 bup directory rsync web bittorrent webdav adb tahoe glacier ddar hook external
operating system: linux x86_64
supported repository versions: 5 7
upgrade supported from repository versions: 0 1 2 3 4 5 6
local repository version: 7
This is the newest version available in the archlinux repository.
I'd really like to use blake2 since it's a lot faster than sha2/3 and safer than WORM. Any idea on how to solve this issue?

View file

@ -0,0 +1,8 @@
Hi. I have a git-annex repo on a FAT32 file system that only replies:
git-annex: openFile: resource busy (file is locked)
to most commands. Any hint as to what I could do to fix it? It is a v7 repo.
git-annex version: 7.20181121
operating system: darwin x86_64