From 5762ed4d7b5a1a03d5897467823822cc4b2cf5ad Mon Sep 17 00:00:00 2001 From: yarikoptic Date: Tue, 7 Jan 2025 21:06:35 +0000 Subject: [PATCH 1/6] Added a comment: odd system --- ..._764dae20267ed67c188fe414821b296b._comment | 65 +++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 doc/bugs/install_on_android_boox__58___xargs_Permission_denied/comment_3_764dae20267ed67c188fe414821b296b._comment diff --git a/doc/bugs/install_on_android_boox__58___xargs_Permission_denied/comment_3_764dae20267ed67c188fe414821b296b._comment b/doc/bugs/install_on_android_boox__58___xargs_Permission_denied/comment_3_764dae20267ed67c188fe414821b296b._comment new file mode 100644 index 0000000000..2477910be1 --- /dev/null +++ b/doc/bugs/install_on_android_boox__58___xargs_Permission_denied/comment_3_764dae20267ed67c188fe414821b296b._comment @@ -0,0 +1,65 @@ +[[!comment format=mdwn + username="yarikoptic" + avatar="http://cdn.libravatar.org/avatar/f11e9c84cb18d26a1748c33b48c924b4" + subject="odd system" + date="2025-01-07T21:06:35Z" + content=""" +``` +~ $ find git-annex.linux/ -iname xargs -ls + 13206 4 drwx------ 2 u0_a102 u0_a102 3488 Jul 2 2024 git-annex.linux/shimmed/xargs + 13207 68 -rwx------ 1 u0_a102 u0_a102 67856 Jul 2 2024 git-annex.linux/shimmed/xargs/xargs + 14834 0 lrwxrwxrwx 1 u0_a102 u0_a102 34 Jul 2 2024 git-annex.linux/exe/xargs -> ../lib/ld-linux-aarch64 +.so.1 + 14339 4 -rwx------ 1 u0_a102 u0_a102 128 Jul 2 2024 git-annex.linux/bin/xargs +~ $ echo 123 | git-annex.linux/bin/xargs echo +git-annex.linux/bin/xargs: 2: exec: /exe/xargs: Permission denied +~ $ file git-annex.linux/lib/ld-linux-aarch64.so.1 +git-annex.linux/lib/ld-linux-aarch64.so.1: ELF shared object, 64-bit LSB arm64, BuildID=c955aebf7720fc28ce7443a0599cde62b194 +e7b7, stripped +~ $ ls -ld git-annex.linux/lib/ld-linux-aarch64.so.1 +-rwx------ 1 u0_a102 u0_a102 145328 Apr 30 2024 git-annex.linux/lib/ld-linux-aarch64.so.1 +~ $ git-annex.linux/lib/ld-linux-aarch64.so.1 +Could not find a PHDR: broken executable? +Aborted + +~ $ ldd git-annex.linux/lib/ld-linux-aarch64.so.1 +git-annex.linux/lib/ld-linux-aarch64.so.1[1]: syntax error: unexpected '(' +~ $ file git-annex.linux/lib/ld-linux-aarch64.so.1 +git-annex.linux/lib/ld-linux-aarch64.so.1: ELF shared object, 64-bit LSB arm64, BuildID=c955aebf7720fc28ce7443a0599cde62b194 +e7b7, stripped +``` + +so architecture is right but something \"not-good-enough\" for Android in it? + +interestingly that `ldd` fiasco since seems to be that the + +``` +/bin $ nl -ba `which ldd` + 1 #!/system/bin/sh + 2 + 3 # Rather than have ldd and ldd64, this script does the right thing depending + 4 # on the argument. + 5 + 6 function error() { + 7 echo \"$1\" + 8 exit 1 + 9 } +``` + +and that `system/sh` does not support this syntax! (removal of `function ` seems to not help ..) but that seems to be how many copies of such file distributed [around](https://github.com/search?q=%22rather+than+have+ldd+and+ldd64%22&type=code) . `ldd` starts to work if I remove com.termux's `/bin/` from PATH and start system's `sh`... + +But overall that system feels really odd: + +``` +~ $ ls -ld / +drwxr-xr-x 29 root root 4096 Dec 31 2008 / +~ $ ls -l / +ls: cannot open directory '/': Permission denied +~ $ /wrongpath +bash: /wrongpath: Permission denied +``` + +so - even through permissions there, `ls` cannot list it with Permissions denied. The same error if just using non-existing path. But it is more appropriate if I am in the system shell, not termux's bash. + +full transcript of my meanderings around the boox system is [here](http://www.oneukrainian.com/tmp/boox-transcript-20250107-1.txt). +"""]] From 01ca99b0a77c1c06fc5cd5d90e53a996212e1aaf Mon Sep 17 00:00:00 2001 From: Atemu Date: Tue, 7 Jan 2025 21:11:41 +0000 Subject: [PATCH 2/6] --- ...files_aren__39__t_being_dropped__63__.mdwn | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 doc/forum/How_to_figure_out_why_files_aren__39__t_being_dropped__63__.mdwn diff --git a/doc/forum/How_to_figure_out_why_files_aren__39__t_being_dropped__63__.mdwn b/doc/forum/How_to_figure_out_why_files_aren__39__t_being_dropped__63__.mdwn new file mode 100644 index 0000000000..8d418c9cf7 --- /dev/null +++ b/doc/forum/How_to_figure_out_why_files_aren__39__t_being_dropped__63__.mdwn @@ -0,0 +1,31 @@ +I've got a repo on my laptop to which I copied some files in order to store it in the cold storage. All repos of the cold storage are in the same group and wanted/required expressions are set up such that the group wants exactly one copy. + +This has been working fine but now after I copied the keys, I'm in the situation where running `git annex sync --content --all` in the repo on the laptop doesn't drop the keys that now have a copy in the cold storage group. + +numcopies=3 and there are 4 trusted copies (including the laptop), so that should work. + +The laptop repo wants `groupwanted or not copies=cold:1`. + +groupwanted expressions: + +``` +groupwanted hot = ((not copies=hot:1) or (not copies=cold:1) or (not copies=cold:1 and unused)) or ((not copies=lukewarm:1) or (approxlackingcopies=1)) +groupwanted client = (approxlackingcopies=1) +groupwanted cold = (not copies=cold:1) or (not copies=cold:1 and unused) +groupwanted lukewarm = (not copies=cold:1) or (not copies=lukewarm:1) or (approxlackingcopies=1) +``` + +(I need to clean these up, I know.) + +There's one copy in client (laptop), hot, cold, and lukewarm and all of them are either reachable or trusted. + +I could drop stuff manually of course but the next sync would try to get them again, so that's no good. + +How can I figure out *why* a certain repo wants a certain key? I currently don't even know whether it's numcopies somehow or the wanted expression and then also which expression causes it. + +One way I just thought of for the latter part would be to evaluate the individual expressions for some key to see whether they match. I've done that in my head of course and came to the conclusion that it shouldn't be wanted but I'd like the logic inside git-annex to tell me what actually happens. I effectively need a way to debug wanted expressions. +Is there a way to evaluate an arbitrary wanted expression to a boolean given a key? + +``` +git-annex version: 10.20240927 +``` From 9677220765a5ba0ebde9ffbe59224aa83623c2ea Mon Sep 17 00:00:00 2001 From: yarikoptic Date: Tue, 7 Jan 2025 21:23:26 +0000 Subject: [PATCH 3/6] Added a comment --- ...omment_2_1f45d12d1dcf3e42148d0400165d3c3d._comment | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 doc/bugs/keeps_trying_to_commit_file_unlocked/comment_2_1f45d12d1dcf3e42148d0400165d3c3d._comment diff --git a/doc/bugs/keeps_trying_to_commit_file_unlocked/comment_2_1f45d12d1dcf3e42148d0400165d3c3d._comment b/doc/bugs/keeps_trying_to_commit_file_unlocked/comment_2_1f45d12d1dcf3e42148d0400165d3c3d._comment new file mode 100644 index 0000000000..ef408f971c --- /dev/null +++ b/doc/bugs/keeps_trying_to_commit_file_unlocked/comment_2_1f45d12d1dcf3e42148d0400165d3c3d._comment @@ -0,0 +1,11 @@ +[[!comment format=mdwn + username="yarikoptic" + avatar="http://cdn.libravatar.org/avatar/f11e9c84cb18d26a1748c33b48c924b4" + subject="comment 2" + date="2025-01-07T21:23:26Z" + content=""" +FWIW +- no assistant running +- reproduces still with 10.20250102+git5-ge8e36a90c1-1~ndall+1 +- reproduces on a full copy. I will send email with a URL (not sure if there are any secrets there, so do not want to send publicly) +"""]] From de84f3c9f3322e1cfb8e6f4184b2b3acc23c75e0 Mon Sep 17 00:00:00 2001 From: yarikoptic Date: Tue, 7 Jan 2025 22:01:20 +0000 Subject: [PATCH 4/6] Added a comment --- ..._145622307d038925777800645e0db7aa._comment | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 doc/bugs/keeps_ext_remote_after_all_urls_unregistered/comment_4_145622307d038925777800645e0db7aa._comment diff --git a/doc/bugs/keeps_ext_remote_after_all_urls_unregistered/comment_4_145622307d038925777800645e0db7aa._comment b/doc/bugs/keeps_ext_remote_after_all_urls_unregistered/comment_4_145622307d038925777800645e0db7aa._comment new file mode 100644 index 0000000000..4521744d4d --- /dev/null +++ b/doc/bugs/keeps_ext_remote_after_all_urls_unregistered/comment_4_145622307d038925777800645e0db7aa._comment @@ -0,0 +1,23 @@ +[[!comment format=mdwn + username="yarikoptic" + avatar="http://cdn.libravatar.org/avatar/f11e9c84cb18d26a1748c33b48c924b4" + subject="comment 4" + date="2025-01-07T22:01:20Z" + content=""" +**yes**: remote would need to *indicate to git-annex* that \"feature\". ATM git-annex already does that via `EXTENSIONS` to announce what it can do, and it seems that + +> The special remote can respond to that with its own EXTENSIONS message + +so it could have announced + + +``` +EXTENSIONS ABSENTIFNOURL +``` + +or alike. + +**yes** -- it is \"unusual\" as not every special remote would be \"URL-only\" remote. But there is AFAIK a growing number of custom remotes which are like that at least in `datalad` land: `datalad`, `datalad-archives`, [`datalad-uncurl`](https://docs.datalad.org/projects/next/en/latest/generated/datalad_next.annexremotes.uncurl.html) and likely others. Typically they are \"read-only\" remotes, and URL is used as the identifier for custom \"downloader\" support. + +It is interesting that bittorrent remote doesn't make them visible... never used, but wondered how my life would have been if I wanted to manage collection of torrent urls per each key... +"""]] From 7c9a3663956f169a527b479d6926f03fb750917e Mon Sep 17 00:00:00 2001 From: Atemu Date: Tue, 7 Jan 2025 22:28:16 +0000 Subject: [PATCH 5/6] Added a comment --- .../comment_1_a7f24e5001606edcedaedc2a9f3f654c._comment | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 doc/forum/How_to_figure_out_why_files_aren__39__t_being_dropped__63__/comment_1_a7f24e5001606edcedaedc2a9f3f654c._comment diff --git a/doc/forum/How_to_figure_out_why_files_aren__39__t_being_dropped__63__/comment_1_a7f24e5001606edcedaedc2a9f3f654c._comment b/doc/forum/How_to_figure_out_why_files_aren__39__t_being_dropped__63__/comment_1_a7f24e5001606edcedaedc2a9f3f654c._comment new file mode 100644 index 0000000000..2286b2f59e --- /dev/null +++ b/doc/forum/How_to_figure_out_why_files_aren__39__t_being_dropped__63__/comment_1_a7f24e5001606edcedaedc2a9f3f654c._comment @@ -0,0 +1,8 @@ +[[!comment format=mdwn + username="Atemu" + avatar="http://cdn.libravatar.org/avatar/6ac9c136a74bb8760c66f422d3d6dc32" + subject="comment 1" + date="2025-01-07T22:28:16Z" + content=""" +It appears git-annex find has commands that look like they can help debug wanted expressions (`--explain`, `--want-get`, `--want-drop`) but I couldn't figure out how to hold these flags correctly. +"""]] From 682fb1ada174321876989fafb54da4ddafb0dcd9 Mon Sep 17 00:00:00 2001 From: "octvs@17a99a7aaeb0c0e0a2375e14807b138740ba34e9" Date: Wed, 8 Jan 2025 08:25:04 +0000 Subject: [PATCH 6/6] Added a comment: failing with `Operation not petmitted` --- ..._347f59e0d8b982171528b267decc7ecf._comment | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 doc/special_remotes/adb/comment_7_347f59e0d8b982171528b267decc7ecf._comment diff --git a/doc/special_remotes/adb/comment_7_347f59e0d8b982171528b267decc7ecf._comment b/doc/special_remotes/adb/comment_7_347f59e0d8b982171528b267decc7ecf._comment new file mode 100644 index 0000000000..d469a6b06a --- /dev/null +++ b/doc/special_remotes/adb/comment_7_347f59e0d8b982171528b267decc7ecf._comment @@ -0,0 +1,25 @@ +[[!comment format=mdwn + username="octvs@17a99a7aaeb0c0e0a2375e14807b138740ba34e9" + nickname="octvs" + avatar="http://cdn.libravatar.org/avatar/e31212348b6392eb67daddf78fadfb1b" + subject="failing with `Operation not petmitted`" + date="2025-01-08T08:25:04Z" + content=""" +I recently faced with a fail + +``` +... +export pixel podcasts/.mp3 +adb: error: failed to copy '../../.git/annex/objects/17/vK/SHA256E-s57638506--06c92a06db07fa511271e5426c9447cb0fab551d7ba2b9c9d26d3c7e3f975b5c.mp3/SHA256E-s57638506--06c92a06db07fa511271e5426c9447cb0fab551d7ba2b9c9d26d3c7e3f975b5c.mp3' to '/storage/emulated/0/home/media/podcasts/not-related/.mp3': remote couldn't create file: Operation not permitted +../../.git/annex/objects/17/vK/SHA256E-s57638506--06c92a06db07...1 file pushed, 0 skipped. 37.0 MB/s (57638506 bytes in 1.487s + + adb failed to store file +failed +(recording state in git...) +export: 2 failed +``` + +Everything is done as usual on the phone, barring two all other files are +succesfully sent. Any clues what might be the cause? + +"""]]