Go 1.4 (Go tip currently) defines a new GOOS=android, and a GOOS.go file is ignored on
other operating systems. But these android.go aren't actually meant to be only run on
GOOS=android, since we just build Linux binaries on Android for now.
This patch:
1. Introduces a JSON schema for unix domain sockets (socket files).
2. Adds support for the new schema to pkg/schema.
3. Adds support for uploading and restoring sockets to camput and
camget respectively.
Depends on CL 2706 (https://camlistore-review.googlesource.com/2706/)
Change-Id: Ib0d6e9f9ebd348f55efee5a08cd774f3969d0760
This patch:
1. Introduces a JSON schema for FIFOs (named pipes).
2. Adds support for uploading and restoring FIFOs to camput and camget
respectively.
It includes tests for the basic schema support in pkg/schema and
integration tests for camput and camget.
This CL does not add FIFO support to the HTTP server and fs (cammount
support) code. Those will be addressed in a subsequent patch.
Change-Id: Iab926073c36e653d25e693a559178bea9bf19b9a
Because we fail in tests when calling methods that rely on default
paths. (See buildinfo.TestingLinked)
Change-Id: I4d3a99dd2ea83a8351a993353e5e7c29d3cb17a7
1) Removed exec call to gpg, because it automatically looks in .gnupg/,
which we don't use anymore as a default.
2) Now taking into account global --secret-keyring flag.
This flag is now in osutil.
3) New or modified funcs in osutil
4) Made sure --gpgkey works too.
5) Cleaned up error messages and hints.
Context: http://camlistore.org/issue/364http://camlistore.org/issue/368
Change-Id: I2e51032ed0597da656db100d72f5588b37308e1a
Use separate workers for directory uploads.
Limit upload concurrency to 3+2+3 (normal+directories+stat)
goroutines on Android, and 10+5+10 otherwise.
Thanks to the predictably failing test (1333551)
which we can test against, we can eliminate the need for
unbounded number of upload goroutines (see ee4550b).
Change-Id: Idac4c94b7d7ec4fc6c6a77fed111e0ece0843545
Currently disabled until it's working reliably. See comments in code.
Much of this is from Tamás Gulácsi in https://camlistore-review.googlesource.com/#/c/2128/
Change-Id: I2fe2abfdee98584c698a2ac52202f13dda9beef2
Not just in blob.SizedRef, but in blobserver.Fetch and
blobserver.FetchStreaming, too.
Blobs have a max size of 10-32 MB anyway, and the index.Corpus is now using
uint32 to save memory.
Change-Id: I1172445c2f9463fdaee55bfe0f1218d44be4aa53
Trust the have cache for skipping uploads.
Reduces total number of HTTP requests.
Also, set Transport's MaxIdleConnsPerHost to be the same as
our HTTP concurrency level, to not keep re-creating TCP
connections.
* Fix TODO about moving camput file's havecache up a layer into
camput itself. So now it's used for all commands (camput permanode,
camput attr, etc). Reduces HTTP requests.
* Fix camlistore.org/issue/343 -- don't do stats before uploads
in cases where it's useless. Adds a field to UploadHandle.
* Fix camlistore.org/issue/344: upload the public key whenever
uploading a signed blob. Usually this is a no-op because of the
have cache.
* Use zero (or <=0 rather), not -1, to mean unknown on UploadHandle
Size.
* More docs on public stuff.
Changed some keys to be consistent with the server config, and removed
some others.
We're now using jsonconfig to get the keys and validate the config.
Removed some unused funcs/methods, moved some global vars as members of a client.
Also, having two possible defaults for the secret keyring
(.config/camlistore/identity-secring.gpg and .gnupg/secring.gpg)
was annoying and confusing imho, so I removed the latter.
http://camlistore.org/issue/259
Change-Id: Icf79fa8822b62b5d91843698861dd19cb553607a
This is just a start. AndroidStatsTransport and AndroidStatusReceiver and most (all?)
of pkg/client/android.go should migrate too.
Change-Id: Id4140730bbdd218fdf7ba7cedc7870ce5164e06c