cannot parse manifest for check-in: tip
(1) By anonymous on 2018-10-20 16:15:57 [link] [source]
hi thanks for this sweet fossil.
brief, i installed it on android. i scp'ed my repo in. i served a directory. it works. i click files. it works. 12 to 24 hours later i received cannot parse manifest for check-in: tip . i have a handful of repo same error on all.
within the 12 to 24 hour on 1 repo i enabled search. i browse the web ui looking at my files and writting a few tickets. i also used ssh-keygen (dont know if it is related and secured my host but it happens after this). that is all,
i tried to rebuild after the error not what i expected i may have read wrong.
help ? Thanks.can i fix it? before the rebuild.
(2) By Stephan Beal (stephan) on 2018-10-20 16:25:56 in reply to 1 [link] [source]
i'm guessing here, but were those repos served from a microSD card? It sounds very much like they've been corrupted.
Something to try: scp the repos back to a desktop OS and try to serve them there just to test. This might (MIGHT) be a problem with the build on android, and not with the repos themselves.
The reason i suggest this: the first few times i ported some of my C software to ARM platforms i discovered many cases where i had used the char
data type and assumed it was (like integers) signed. i knew, from when i learned C in the 90s, that that was not guaranteed, but i had never encountered a platform on which chars were unsigned by default, so i hadn't been careful about that in my code. So... i had cases where i intended to use small negative numbers but they were instead interpreted as small positive numbers (e.g. -1 wrapped around to 255).
It's conceivable that the errors you're seeing a side-effects of platform portability bugs, rather than actual corruption.
(3) By anonymous on 2018-10-20 16:45:33 in reply to 2 [link] [source]
Interesting! Maybe we need to audit the Fossil code for signed char use.
On the other hand, this does not explain why OP's repos worked ok initially.
I wonder if it may have something to do with storage access permissions in Android. After all to use Fossil one needs a terminal prompt (app?). Depending how that terminal is installed may explain it's storage permissions. Just a guess.
(4) By skywalk on 2020-03-24 14:44:43 in reply to 1 [link] [source]
Does Fossil support Android builds?
(5) By Kees Nuyt (knu) on 2020-03-24 19:04:52 in reply to 4 [link] [source]
Does Fossil support Android builds?
It has been done before, but I found it hard to use.
--
Regards,
Kees Nuyt
(6) By anonymous on 2020-03-24 21:37:00 in reply to 2 [link] [source]
where i had used the char data type and assumed it was (like integers) signed.
This is one reason I was glad that C99 introduced standard integer types: int8_t, uint8_t, int16_t, uint16_t,
etc.
(7) By skywalk on 2020-03-25 18:07:42 in reply to 5 [link] [source]
Thanks, I did not see that. I am pondering sync'ng to my phone or android tablet with Fossil. Has anyone tried this?
(8) By anonymous on 2020-03-25 20:00:23 in reply to 7 [link] [source]
What about just downloading the served repo content (trunk) as a zip from browser?
Copy the repo file to dropbox, ggdrive etc? You could as well try dumping the repo db and serve up a compressed dump. Or even sync it to chisel and access from there.
(9) By skywalk on 2020-03-26 15:07:18 in reply to 8 [link] [source]
Well, I am trying to avoid manual steps like copying to the cloud. It was just an attempt to expand fossil server to an android terminal.
(10) By anonymous on 2020-03-26 19:17:55 in reply to 9 [link] [source]
I'd start with Android NDK.
Cross-compile Fossil to your target arch/OS ver. Fossil needs just zip and openssl; zip is included in source, you can try to build without ssl first, then try to wrench in openssl.
When ready, the fossil binary could be side-loaded using adb
. I assume you've got your device rooted, otherwise there's little point in this exercise.
(11) By skywalk on 2020-03-26 21:01:35 in reply to 10 [link] [source]
Yes, I will have to experiment with a simpler code base before trying that! Rooting limits the audience. I prefer a blessed app store approach.
(12) By anonymous on 2020-03-27 08:57:06 in reply to 11 [source]
Just tried it with current NDK r21 (on Linux x86_64).
I targeted for Jelly Bean (android-21), but ended up running it on Lollipop on Samsung phone, non-rooted.
These are the steps, no heroics necessary :)
----------
export CC=$NDK_PATH/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang
cd fossil
./configure --with-openssl=none
make
### enable USB debugging from Developer menu in phone Device Options
### connect the device via USB
### if connected ok, the device shows up as 'device' in
sudo adb devices
## and you can get into shell
sudo adb shell
## copy the fossil onto the device and run it from shell
sudo adb push fossil /data/local/tmp
sudo adb shell
> cd /data/local/tmp
> export HOME=$PWD
> export PATH=$PWD:$PATH
> fossil version
WARNING: linker: ./fossil: unused DT entry: type 0x6ffffef5 arg 0x1464
WARNING: linker: ./fossil: unused DT entry: type 0x6ffffffe arg 0x1ba8
WARNING: linker: ./fossil: unused DT entry: type 0x6fffffff arg 0x2
This is fossil version 2.11 [e5653a4ceb] 2020-03-26 18:54:02 UTC
----------
Well, a little wrinkle with the warnings. May be because I ran it on Lollipop, but targeted for Jelly Bean, or may be some config flag missing.
Anyways, it runs OK, creates and handles the repos. I was able to start it in server mode fossil server
and then see the repo's page in the browser at http://localhost:8080
. All this without root.
(13) By skywalk on 2020-03-27 13:43:37 in reply to 12 [link] [source]
WOW! Thanks for investigating! This should go on a Fossil sticky page.
(14) By Stephan Beal (stephan) on 2020-03-27 14:34:12 in reply to 13 [link] [source]
Thanks for investigating! This should go on a Fossil sticky page.
i'm willing to port it into an embedded doc. In your opinion, should this go into:
http://fossil-scm.org/fossil/doc/tip/www/build.wiki
or into an Android-specific build page? It seems kind of fringe-case, IMO, for the main build docs, but i don't have strong feelings against it.
(15) By skywalk on 2020-03-27 14:41:36 in reply to 14 [link] [source]
I prefer the build page. Searches for "Android", "iOS" can link to the build page. Thanks!
(16) By Stephan Beal (stephan) on 2020-03-27 15:20:13 in reply to 12 [link] [source]
These instructions have been adapted into the build docs:
https://fossil-scm.org/fossil/doc/trunk/www/build.wiki
See what is currently section 6.0. There's a link there to a StackOverflow post which describes the potential source of, and possible solutions for, the "DT entry" warnings.
The adaptation was primarily copy/paste, with a small bit of text expansion. Please report any bugs i may have inadvertently introduced.