Commit Graph

494 Commits

Author SHA1 Message Date
Eric Drechsel e0a9699c63
Update bazil.org/fuse
move to vendor
fix (lots) of breakages due to API changes

bazil.org/fuse: 37bfa8be929171feec943f3496bc4befdeaf10db

Change-Id: Ic92faf7585371027f3c521f7a24ae56d70d18547
2016-04-09 12:40:02 -07:00
Tamás Gulácsi 7402cc0efd Delete misc unused objects
Using honnef.co/go/unused/cmd/unused

Change-Id: I672b3cb77f09e9bd80dcdc149cde4f7f2939e451
2016-04-06 17:59:51 +02:00
mpl bff04313b0 camput: use wantCapCtime
Technically, we don't need to, because we know that up.fileOpts is always
initialized when using camput file.
But we might as well be clean and consistent with the other options such
as wantVivify and wantFilePermanode.

Change-Id: I0ef157e5ade3095c42cdc288846fda8cf5db8a3c
2016-04-05 16:23:01 +02:00
Tamás Gulácsi 8d6b156a0b Misc syntax cleanup found by gosimple.
https://github.com/dominikh/go-simple

Thanks to Dominik Honnef for this great little tool!

Change-Id: I789b3a37e18f535df1ff0da47c0366ed01b2429e
2016-04-04 17:19:57 +02:00
Will Norris 77ed42edf8 add canonical import paths
The import path was added to the go file that included the package
documentation if one existed.  Otherwise, I used what seemed to be the
primary file for the package.

Fixes #689

Change-Id: If51be0e86529fd6f179e80af6781e639f8550fd2
2016-03-13 19:57:14 -07:00
mpl e0d719ba21 pkg/types: remove
Most of it replaced with vendor/go4.org/types and
vendor/go4.org/readerutil

u32 went where needed in pkg/blobserver/*
invertedBool went in pkg/types/serverconfig
atomics64 went in pkg/fs

Change-Id: I230426cda35be4b45ed67e869f14e6fdae89be22
2016-02-05 18:28:47 +01:00
Attila Tajti f0343c0fae camtool sync: local path support on Windows
Change-Id: I2d3e0c0bbd3f3ae50165d366e6a1093fceb36e5c
2016-01-11 12:00:37 +01:00
Brad Fitzpatrick 66f0ddac0e pkg/client: fix directory upload deadlock, clean up HTTP handling
Unexports pkg/client.Client.TransportForConfig in the process.

Fixes camlistore/camlistore#662

Change-Id: Ifc2d6b0fee70d5db86654897d2d377b343b6d38b
2015-12-29 23:39:29 -08:00
Brad Fitzpatrick 4086789731 pkg/httputil: also track protocol versions of HTTP response in StatsTransport 2015-12-29 13:36:50 -08:00
Brad Fitzpatrick fba8b457de pkg/client: wire up http2 support, unexported Client.InsecureTLS
Also add a flag to camtool discovery:

$ camtool discovery -httpversion
HTTP/2.0

Fixes camlistore/camlistore#661

Change-Id: I6db392e01bd176a2757ebdb4a0e881eebaec9b03
2015-12-29 11:33:38 -08:00
Brad Fitzpatrick 5a2fe47b73 cmd/camdeploy: fix build, embed a client ID/secret, accept region or zone
Much easier to use now.
2015-12-28 15:15:11 -08:00
Mathieu Lonjaret 09a6ca6ef5 Merge "vendor: move pkg/images dependencies from third_party" 2015-12-18 21:17:12 +00:00
mpl 6af01f6c71 vendor: move pkg/images dependencies from third_party
This change is in anticipation of moving pkg/images to go4.org, where it
should not depend on packages in third_party.

So:
third_party/github.com/nf/cr2 -> vendor/github.com/nf/cr2
third_party/github.com/rwcarlsen/goexif -> vendor/github.com/rwcarlsen/goexif
third_party/golang.org/x/image/tiff -> vendor/golang.org/x/image/tiff

Note that third_party/go/pkg/image/jpeg was also a dependency of
pkg/images. We had vendored image/jpeg from tip at the time because it
offered advantages over the version from Go1.3
(https://github.com/camlistore/camlistore/issues/463).
Since we now depend on Go1.5, we can go back to depend on the stdlib
version, so we simply remove third_party/go/pkg/image/jpeg and adjust
the imports accordingly.

Change-Id: Ifc8ffae0551102e644a0a0c67f3ff89e04df15c7
2015-12-18 22:15:33 +01:00
mpl 96d06ac2bd camget: fix flag conflicts
The conflict was introduced in cea5e332ce
by linking pkg/cmdmain in, which introduced its public flags.

Change-Id: I6374c2fb1657f6fd534c1342a5947ef6db16a3e2
2015-12-18 17:08:03 +01:00
mpl cea5e332ce vendor: go4.org/legal
At rev c3c16077b235db4c6b2a2a6121c2d429707f4ed4

And use it in new package pkg/camlegal

And remove pkg/legal

Change-Id: I5e398aa5f145a02a04d33719276fd2f8b82ab12b
2015-12-16 18:50:49 +01:00
Tamás Gulácsi 9f7e1df32b Remove pkg/context
Use golang.org/x/net/context instead.

Fixes #648.

Change-Id: I676a2f25458be97610a49d6f954f2102cbd373fa
2015-12-12 23:09:02 +01:00
mpl 1ffd5895e0 camtool/googinit: use cloud/storage Client instead of googlestorage
Issue #652

Change-Id: I54b2041acfa8f998e1fb082c54f6c7069615d8a7
2015-12-08 00:11:42 +01:00
mpl 40be4d8da2 vendor: go4.org/jsonconfig (and errorutil)
Previously pkg/jsonconfig and pkg/errorutil

Copied from go4.org at rev d1b8a2fb2de6160036e4801aa5e4d855571078b8

Change-Id: I673ed55b0825baa2607289b6082f205100261d7a
2015-12-01 17:21:49 +01:00
mpl 3dbaa49395 vendor: go4.org/oauthutil
Previously pkg/oauthutil

Imported from go4.org at rev
3970dd22c0e7e2397304ad626a20b72f8db41b58

Change-Id: Iffb751d03af9bc0c3008e5cd3833ed42fba0bdb1
2015-11-27 00:31:40 +01:00
mpl 12eddf9c19 vendor: go4.org/strutil go4.org/syncutil
They were internal packages (under pkg), which we are now moving to
go4.org, so we in turn need to vendor them in now.

Change-Id: I92224f731404d0bd4ca1c57492bed37cb3367ed4
2015-11-21 00:21:20 +01:00
mpl 6dfe405666 camput init: get client config from server help handler
This is particularly useful for getting clients fully configured for a
server on the same host.

Context:
https://github.com/scaleway-community/scaleway-camlistore/issues/2

Change-Id: I667dd32a80cba4e1e6f6a4ca86a0497a72047d30
2015-09-28 16:44:38 +02:00
Brad Fitzpatrick 6f58fc2426 Fix build, move more stuff from third_party to vendor. 2015-08-18 10:19:49 +02:00
Tamás Gulácsi 533433f163 cmd/camtool reindex-diskpacked: don't panic on high-level conf
If no metaIndex is specified, just go on, but don't panic.
Also try to clear the logic a little bit (don't overwrite indexConf).

Change-Id: I43e61ac3d5cd239cc113cb034ff3dd61eaaa14fd
2015-07-23 07:16:14 +02:00
Brad Fitzpatrick d6cb8d1c21 cmd/camput: fix typo in help description
Change-Id: Idfc07aff1a2b95009b1d42d962e08a96952f8977
2015-05-17 15:28:40 -07:00
mpl 750cc42bfe Merge "camput: add -contents_only flag" 2015-04-21 14:20:14 +00:00
mpl 5147aff319 google blobservers: migrate to golang.org/x/oauth2
Previous oauth2 (code.google.com/p/goauth2/oauth) still used in:
third_party/github.com/tgulacsi/picago
pkg/importer/picasa
pkg/importer/foursquare

Final cleanup in a subsequent CL.

Change-Id: I805d81fcaa651e03a17823c78abe5040d51346c3
2015-04-20 23:17:28 +02:00
mpl 8fc17c4d75 camput: add -contents_only flag
Allows to upload only the contents of a file, without any of its
attributes, i.e. the file JSON schema on top only has its camlitype,
and the file's parts, set.

Issue #42

Change-Id: I1d0ab8d7cff0f0350439553a37b618b941067c93
2015-04-08 18:21:56 +02:00
mpl da4b48926c camput file: move chanworker code to an internal chanworker pkg
First one of a series to refactor files.go

Change-Id: I4ec775674bca07c641d88f8392b2a03bb4c6fa7b
2015-03-30 17:51:18 +02:00
mpl f32e05bfb7 camdeploy: sync with pkg/deploy/gce.Deployer changes
Change-Id: I4d9ed8b46e3b278d8a249fed452d2cac3bd7ee5d
2015-02-04 23:24:26 +01:00
Brad Fitzpatrick e255841ca8 camtool: fix packblobs usage
I removed the --start option.

Change-Id: I66a2bfaf380131dc589fd67e721091d0ba59e8b6
2015-01-19 15:09:07 -08:00
Brad Fitzpatrick 7f954485be camtool: add 'packblobs' command
Update #532

Change-Id: I2012b750b482da878f5b9ced9e7cea5a2124bec8
2015-01-19 15:06:04 -08:00
Brad Fitzpatrick a99dc14885 cmd/camtool: add flag to send a raw SearchQuery; permits sending a sort field
Part of upcoming blobpacked migration tool.

Change-Id: If0e91aa90aab78936976e8b0d6b3bfe2e5a4c27a
2015-01-17 20:29:05 -08:00
mpl 22f45f14a5 Add new oauth2, use it in deploy/gce
third_party/golang.org/x/net/context at 67f25490433376b5f7da086c0b9283fcdeca3a7b
third_party/golang.org/x/oauth2 at 5361962df4497a7fc777f5c3bd1b5c7ac36c604c

I only updated camdeploy, and did not remove code.google.com/p/goauth2
yet, because I do not want to get distracted by potential breakages, so
we can first get the gce deploy wizard in.

Change-Id: Ifa7987a044c741d3f00f49f47b31e3e07bdf973d
2015-01-09 22:02:39 +01:00
Brad Fitzpatrick 72e5063d53 Merge "cammount: report errors from mount process" 2014-12-28 20:01:48 +00:00
Eric Drechsel fd66007592 cammount: report errors from mount process
Change-Id: I0d3ba508a5df48caac2c25c3b92517b5f3228251
2014-12-26 16:52:24 -08:00
Salmān Aljammāz 04bba70cc1 camput: s/name/title in usage string
fixes #544

Change-Id: Ie39e1fb1e26b80853f9d02d15187f221bf5dbaa6
2014-12-25 19:20:21 +00:00
Bill Thiede ba447185d4 third_party: Update bazil.org/fuse and set VolumeName.
import bazil.org/fuse at 1c23ef5845002b8878f67e7959b29d1e0ea41fe3

On Mac OS X, fuse.VolumeName keeps the directory name in Finder from
becoming 'OSXFUSE Volume #0 (mount_osxfusefs)', it is a nop on all
other platforms.

Change-Id: Ic9e248ea1921f6dfb6b04107a5f0ae8c51687c82
2014-11-29 19:06:54 -08:00
mpl f15ec3fe92 Merge "pkg/deploy/gce: lib + tool to deploy on Google Cloud" 2014-11-27 15:44:32 +00:00
mpl 99fe925efc pkg/deploy/gce: lib + tool to deploy on Google Cloud
http://camlistore.org/issue/531

Change-Id: I69ffe0544341d380bb844aef1dcca8a1ae441ea7
2014-11-26 22:50:27 +01:00
mpl 21a61dad40 Merge "index,camtool: try and cope better with broken exif" 2014-11-18 15:24:20 +00:00
mpl d7e5128bbe Merge "camget: actually check size of file on server" 2014-11-10 18:18:05 +00:00
mpl fda1399e9c index,camtool: try and cope better with broken exif
http://camlistore.org/issue/493

Change-Id: I40aebd67252cf82a3a5a143af6c258d7ed2aecda
2014-11-10 19:05:35 +01:00
Brad Fitzpatrick 3374899d40 Merge branch 'master' of https://camlistore.googlesource.com/camlistore 2014-11-08 18:17:20 -03:00
Brad Fitzpatrick dedfeaff29 strutil: add IsPlausibleJSON
Use it in camtool search, and for https://camlistore-review.googlesource.com/#/c/2888/

Change-Id: Ibae0b4aa346cc8c18ff6a4b4eef994cfddd42dda
2014-11-08 18:16:47 -03:00
mpl 43e0b72ec4 camget: actually check size of file on server
Also fix the other bug that was making the first bug only visible when
verbose :-)

http://camlistore.org/issue/526

Change-Id: Ia33bdc73a0eab4995f79abd7e9a37f08d3391f06
2014-11-03 23:00:54 +01:00
mpl 250664d8eb camput: use Errorf to print critical errors even when non-verbose
http://camlistore.org/issue/524

Change-Id: Ied24471288ea459785291281afa7316a257b6884
2014-11-03 22:15:36 +01:00
mpl f0c2f2db43 camtool makestatic: create dir on top of static-set
Change-Id: I6d71211450a195174ef8ac0ac5a66d44d6955927
2014-10-20 23:07:39 +02:00
Brad Fitzpatrick 3a43fd6430 camtool: add 'makestatic' subcommand
It converts a permanode set (with a bunch of camliMember) into a static-set.
Mostly for sharing a snapshot. Will likely evolve over time.

Change-Id: I9906750223a27e9a491c91f1ce2490c15d1d3986
2014-10-19 18:25:45 +02:00
Tamás Gulácsi bea59b29fa Remove kvfile-specific code from diskpacked.
In hope to use leveldb.

Change-Id: Ie9c166d48d6a2c1f52f9cfa29e703d8b8ad7f162
2014-09-23 22:40:07 +02:00
Brad Fitzpatrick 8f2bdd3a82 Few little fixes to 51ef6152f
Change-Id: Id319d1fa4ad725f1ce9178fd0fbd7f787880a6fa
2014-09-06 19:19:36 -07:00
Aaron Boodman 51ef6152fd Add -search argument to camput share.
Bug: https://code.google.com/p/camlistore/issues/detail?id=512

Change-Id: Ic0dd559c98589107fcdeade8784699cf6b2f1761
2014-09-06 18:50:21 -07:00
Fabian Wickborn 2aed1b8241 Renamed goexif folder to match upstream URL
In the advent of github.com/camlistore/goexif to be closed, this
commit renames the goexif folder in third_party to match the
upstream on GitHub.

The affected import paths have been rewritten accordingly.

Change-Id: I5a8871efd01987944b7f5e93979307857ae16fe7
2014-09-05 17:27:59 +02:00
mpl 3fbc92a4ae Merge "client&camput: use cmdmain.Stderr for logging" 2014-08-12 20:33:50 +00:00
mpl 0fa50c4355 client&camput: use cmdmain.Stderr for logging
And use -verbose in tests, for easier debugging.

Change-Id: Iac5e1a8e9c987f82fc221ce73c7e3ca10a86a924
2014-08-12 22:41:55 +02:00
mpl df7952b9ba mysql: create database now distinct from create tables
Because we do not want the database name to be optional with a
placeholder (/*DB*/) in the statement that creates the database, since
it is not actually optional there - as opposed to when creating tables.

Change-Id: I05351d76d95071492d763758a11454f219524510
2014-08-08 20:06:02 +02:00
mpl 44ac2e4a3e camtool/dbinit: replace dbname placeholder before creating table
Change-Id: I1a6c9f10c0731f5422a1d9780815e6e5235bb090
2014-08-08 17:44:17 +02:00
mpl 98d967ce39 camtool/dbinit: fix error printing
Change-Id: I749eae0207f5aa96bb342cf961d8511344acc26c
2014-08-08 17:24:48 +02:00
Brad Fitzpatrick c0a149ac3e Move GCE stuff out of camlistored into new package. Use from camtool.
Now camtool dumpconfig works on GCE too using the same mechanisms as camlistored.

Change-Id: I11c5311a6b7ace35fb0c6dd661ba9bdcad7820ed
2014-08-07 12:33:52 -07:00
Brad Fitzpatrick 1bfd1b7d98 camlistored, serverinit: allow server config from URLs.
paves the way for server config from GCE metadata, too.

Change-Id: I9e54e3ad79eb53e7ae96159f2aa02f4a017e8e11
2014-08-02 16:53:58 -07:00
mpl 26cb64e825 Introduce search.QueryDescriber interface. *client.Client implements it.
There are several places where we're using a *search.Handler, when we
only want to be able to do query and describe requests. When these
places need to be moved also out of the context of camlistored, (like
when making a server app such as the publisher), the QueryDescriber can
be used, and the adequate implementation (*search.Handler,
*client.Client, or any other) is used depending on the context.

Change-Id: Ie1c5bb6f1bbba32c24a8eb2d1175af95ffcc8335
2014-07-21 22:20:24 +02:00
Brad Fitzpatrick cc418dac8f Merge "legal: package for compiled-in licenses" 2014-07-11 17:08:59 +00:00
Piotr S. Staszewski 5e61e2d84e legal: package for compiled-in licenses
Initial implementation, printing helper and 'wiring' for cam* tools.

Change-Id: Icf8baa77ee1f12495be8f1a57b7d575d6918cb5c
2014-07-10 23:01:54 +02:00
Brad Fitzpatrick 4ac89ec630 Merge "Clarified use of camtool googinit" 2014-07-05 03:02:58 +00:00
Brad Fitzpatrick cc956829f3 Rename android.go files to androidx.go
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.
2014-07-08 11:18:40 -07:00
Robert Kroeger f40e2e6e61 Clarified use of camtool googinit
To avoid user confusion, force camtool googinit use to actually
specify if Google Cloud Storage or Google Drive auth setup is
desired.

Change-Id: I6541b4a589de2dda73b725fcaf7bcdadd3f60b65
2014-07-07 08:33:53 -06:00
tnt 5d8eeb534b Fixed wrong calls to formatting functions.
E.g: fmt.Println("%s", "hello world") -> fmt.Printf("%s", "hello world")

Change-Id: I51c0bd54c14173e074fafd86c83a5287fcdb1520
2014-06-30 22:05:22 +02:00
Brad Fitzpatrick 8a9ff86371 camget: add -skip_irregular flag for Windows users mostly
Change-Id: I8037d2f6a54e375eeeb7c79ecfedbbeaf547efed
2014-06-27 13:48:05 -07:00
Brad Fitzpatrick 20e952ce83 types: add NewOnceCloser, use it in camget
Change-Id: I465207031468a57f2840d5071fc27713d6184325
2014-05-31 16:08:02 +09:00
Brad Fitzpatrick 6914346584 Merge "Fix running out of FDs in camget" 2014-05-31 06:46:28 +00:00
Brad Fitzpatrick 26bdefc4b0 osutil: remove err error stutter, add osutil.ErrNotSupported
Change-Id: I483f30d3d4db39a9ffa0f83c1e055d7a59edba4b
2014-05-31 10:42:44 +09:00
Brian Gitonga Marete 53ab352fa7 pkg/schema, cmd/camget, cmd/camput: Support sockets.
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
2014-05-21 18:51:14 +03:00
Brian Gitonga Marete e9dd1af195 cmd/camget, cmd/camput, pkg/schema: Support FIFOs.
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
2014-05-21 14:52:23 +03:00
Robert Kroeger c6259885bf Fix running out of FDs in camget
camget runs out of FDs when fetching the contents of a directory with
many entries. Close the connections to the server more aggressively
to fix this.

Change-Id: Iabef20481d3ec12cc5f15e75edc01d0e1e883486
2014-05-18 11:16:48 -06:00
Steven L. Speek db1a4cf6aa search: Self-documenting atoms
Parse errors in the atoms have a position too
Easier to add new search predicates

Change-Id: I9d2e890b9afcfb524aafa8f1e4e1debc683555ac
2014-05-15 00:42:32 +02:00
mpl a001c61339 camtool sync, localdisk: cancel enumerate to avoid channel lock
http://camlistore.org/issue/433

Change-Id: Id20d759dc5192dd34e69a866d8dcd44ca106d63b
2014-05-09 01:36:38 +02:00
mpl 45ce6cfdd3 mysql: replace mymysql with go-sql-driver
from github.com/go-sql-driver/mysql at 9a7aa3606b82e2081a13a008ada88dfdb96c20fd

Context: http://camlistore.org/issue/428

Change-Id: Ia93ac35da02933bd03d2c6b7b8e5e549ba0472cb
2014-05-01 17:42:51 +02:00
Mathieu Lonjaret bd52105da6 Merge "camtool: added googinit command" 2014-04-24 13:57:25 +00:00
jakubbrzeski e38dfda67a camtool: added googinit command
It initializes drive or googlestorage.
Deleted gsinit command.

Change-Id: I4d3b82018df9eec4d726cf91fd11be527c9a778a
2014-04-24 13:12:47 +02:00
mpl 2b091db606 camput init: do not call DefaultSecretRingFile in init()
Because we fail in tests when calling methods that rely on default
paths. (See buildinfo.TestingLinked)

Change-Id: I4d3a99dd2ea83a8351a993353e5e7c29d3cb17a7
2014-03-31 18:01:04 +02:00
mpl cdc4ed5ae2 camput init: ring/key related fixes
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/364
         http://camlistore.org/issue/368

Change-Id: I2e51032ed0597da656db100d72f5588b37308e1a
2014-03-28 19:55:18 +01:00
Hernan Grecco a6e4f87bc7 Implemented an optional parameter (attr) in 'camtool claims' to filter by claim type
For example, to obtain all the versions for a given file use:

   $ camtool claims <permanode> --attr="camliContent"

Change-Id: Ibb267a0f95702faa0e7e763c99f99ee446559aac
2014-03-19 00:45:51 -03:00
Brad Fitzpatrick bf94a73859 Get rid of SeekFetcher vs StreamingFetcher distinction and complexity.
StreamingFetcher is now just Fetcher, and its FetchStreaming is now
just Fetch.

SeekFetcher is gone. Blobs are max 16 MB anyway, so we can slurp to
memory when needed. The main thing that cared about SeekFetcher
was the GET handler, ServeBlobref, because http.ServeContent needed
one for range requests. That's rewritten in an earlier commit, using
the FakeSeeker from another earlier commit.

Lot of code got simpler as a result.

Change-Id: Ib819413e48a8f9b8d97f596d0fbf771dab211f11
2014-03-14 12:29:13 -07:00
mpl dab702ea49 camtool sync: ignore diff identity with localdisk
When either the source or the destination is a localdisk, there is no
need to warn about differing identities.

Change-Id: Ia61779dd7907099c5ab58d9ca876cf4690f6fe05
2014-03-13 16:10:34 +01:00
Brad Fitzpatrick d10c9f070b Merge "cmd/camget: Support restoring symbolic links when writing to filesystem." 2014-03-11 03:51:01 +00:00
Brad Fitzpatrick bf892c7637 camtool: add search subcommand
Change-Id: I8738c2eb7eae4417778be39a4237e02d42965615
2014-03-10 19:47:30 -07:00
Brad Fitzpatrick 34d4513eb4 Merge "camtool list/sync: fix 3 bugs" 2014-03-09 05:22:31 +00:00
mpl 73526917a1 camtool list/sync: fix 3 bugs
1) revert to printing to stdout (broke in
08923e1c00) for actual output

2) do not warn about different identities when "syncing" to stdout

3) check blob was actually described before using its fields

Change-Id: Ibb3aa4c560e1b0036aba080807400e8820163cc9
2014-03-08 19:15:46 +01:00
Brian Gitonga Marete 0c4b67d3bf cmd/camget: Support restoring symbolic links when writing to filesystem.
This patch adds support for restoring symbolic links when camget is
called with the -o option.

This fixes an issue which caused `camget -o' to write an incomplete
snapshot to the target directory when it encountered a symlink.

Note that no attempt is made to restore the symlink metadata since: a)
A symlink's permissions do not matter and are fixed to 1777 on some
systems b) Go's os.Chtimes() always acts on the symlink target c)
os.Chown() is not currently called for any file in the current code.

Tested on Linux.

Change-Id: I7099592dcd5cc513c2685671be6f6b165f8f8053
2014-03-08 05:14:59 +03:00
Brad Fitzpatrick 76ba33b27a Move ListMissingDestinationBlobs from pkg/client to blobserver
Change-Id: I7489531fe2a1a5127b2212d5a5f80d4c4c614353
2014-03-06 15:04:15 -08:00
Brad Fitzpatrick f1a4aae0da camput: add --blobdir=discard debug option
Does a dry-run and just shows the final blobref, without writing data anywhere.

Change-Id: Ia234b642b5b9029ee4fd9c61bc7edcdcfa5ca858
2014-03-04 22:47:58 -08:00
Brad Fitzpatrick e3491e5515 camput: fix tests 2014-03-03 12:53:40 -08:00
mpl 08923e1c00 camtool sync: warn when src and dest have different identities
http://camlistore.org/issue/281

Change-Id: I2e2d595534b14476293a031b88e312de3e0b3f4a
2014-03-01 23:47:49 +01:00
Brad Fitzpatrick bbfcc27d85 sync: use blob.Ref.Less instead of stringify to compare, fix API wart, more tests
Change-Id: Iffd98463becbcf6d62dd666b38fb00572b34725b
2014-03-01 11:34:57 -08:00
Brad Fitzpatrick 26cbd36e0b camput, camtool: update docs
Change-Id: If54df42be3b95ec9f10782454bc247449e1a74e6
2014-02-27 21:23:01 -08:00
Brad Fitzpatrick 593e0f0f81 cmdmain, camput: PreExit should always run, not just in verbose mode
Change-Id: I6001a3474071a00f0ab56b031ac8c5504e5e9da5
2014-02-27 20:47:15 -08:00
mpl a73715c92a Merge "client: default to None auth if no auth in config" 2014-02-27 15:23:02 +00:00
mpl c4c4d6407a client: default to None auth if no auth in config
Defer warning until discovery fails.
Also fix SetupAuth error checks in camtool.

Change-Id: Ib554595603994e929d465e4e0de6acaf319d5b42
2014-02-27 01:37:59 +01:00
Brad Fitzpatrick bf35e5f011 camput: fix camput blob from stdin
Change-Id: Ic9997c408e1241e16dd4470b3f733ef3fb4f79c9
2014-02-25 14:34:26 -08:00
Brad Fitzpatrick 897591a444 camput: hermetic client config for test
Change-Id: I3c77b500da2d445851b0d8383a11e7f0942b2ff2
2014-02-23 10:59:41 -08:00
Brad Fitzpatrick ccacf76451 camput: re-enable deadlock test, now that it's fixed
And tweak limits a bit lower.

Change-Id: I7a38ffce37a997aa6ce9943e13605e76476f5646
2014-02-21 15:38:21 -08:00
Tamás Gulácsi 89fc2bb83e camput: limit upload concurrency (number of goroutines)
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
2014-02-21 21:31:13 +01:00
Brad Fitzpatrick 85e2e5e301 Fix crash with "go test -v -cpu=1,1 ./cmd/camput/"
Don't double-register the help flag. Only affects tests run twice, like above.

Change-Id: Ia235f2e2aa4a70e3b5a5c6fe21d8add90069664f
2014-02-21 10:59:34 -08:00
Brad Fitzpatrick 1333551de1 camput: predictably-failing disabled deadlock test
Change-Id: Ibf0877ac1b4e32ad32fe9592c487915130f9f488
2014-02-20 12:08:03 -08:00
Brad Fitzpatrick dfd94e505d camput: start of a deadlock test
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
2014-02-19 00:07:28 -08:00
Brad Fitzpatrick 77a34e060c camput: add a var for uploadWorkers
Change-Id: I529336ece16a35e25c33960589f706ebf8b2c5ec
2014-02-18 23:59:44 -08:00
Brad Fitzpatrick b023265043 camput: configurable timeout on env
Change-Id: Iffd0b404e48e4fd5235c22bdd00ad22c564fb0a0
2014-02-18 23:58:09 -08:00
Brad Fitzpatrick 685b44cd43 camput: don't show HTTP req stats when not using HTTP
Change-Id: I4d0c0dc44de84fe62f3ee2385bcd3875eb27be97
2014-02-18 23:56:22 -08:00
Brad Fitzpatrick 53ec1b496c camput: move debug flag registration to its own func, for use by tests later.
Also, don't call TransportForConfig on client when we're in blobdir mode.
Avoids a warning.

Change-Id: I5d618b7ab7d701b4c9d9086c8adedef7b447f62b
2014-02-18 21:24:52 -08:00
Brad Fitzpatrick 1509f266be camput: set os.Args from env.Run.args before test's cmdmain.Main runs
Not required now, but will be for future tests.

Change-Id: I50c469d4f4fa589494036f306c25fe60914fb902
2014-02-18 18:47:11 -08:00
Brad Fitzpatrick a199802898 camtool: document reindex-diskpacked better
Change-Id: Ib2f669ddf4fa493572a811b0564f104fbaeea05a
2014-02-11 19:24:08 -08:00
Brad Fitzpatrick 9a3a3795bb camtool: remove TODO
Change-Id: I3d9ac173335bd68b66bd8dfb5e0e40894aef3f79
2014-02-09 15:49:24 -08:00
Brad Fitzpatrick ca58231336 camtool: remove duplicated code
Change-Id: I2009b132a1c10e60132333b9942aa4b5943b3932
2014-02-09 15:48:07 -08:00
Brad Fitzpatrick 16b4d5c7e3 camtool: add discovery subcommand
Change-Id: Ic4cbc2777719301d3e4f3cdb0b14c10be6f64b3e
2014-02-09 15:16:47 -08:00
Tamás Gulácsi 97520583b8 Use 'uint32' instead of 'int64' for blob sizes everywhere.
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
2014-02-08 17:58:12 +01:00
Brad Fitzpatrick 5458321511 campit: add -blobdir flag for serverless mode.
Fixes camlistore.org/issue/362

Change-Id: If4c75b649cc4cc62f3e7a0ab07c61b088560c3e4
2014-02-07 11:02:07 -08:00
mpl 9add1d2c87 Merge "camtool list: introduce -describe to print camliType for each blob" 2014-01-31 23:10:54 +00:00
mpl 8084d6a4c7 camtool list: introduce -describe to print camliType for each blob
Change-Id: I73630dc135a169f5b24a403b5662e7ad617cb40d
2014-01-31 19:12:29 +01:00
Brad Fitzpatrick 48373fc8a7 camput: clean stale stuf in cachedir on start
Change-Id: Ie7b8d7da49703e5c430b8195202791445223cf25
2014-01-31 12:42:59 +01:00
Brad Fitzpatrick bda047eef7 camtool: add env camsrcroot
Change-Id: I701e81ab732d7574a227e8f01ca09ac91c608481
2014-01-31 12:21:04 +01:00
Brad Fitzpatrick 63d4bafd0c cammount: add -term flag, like -xterm but different
Change-Id: Idd81e345c4995a0ee939a2b4fe01d339f44ba526
2014-01-31 12:20:50 +01:00
Brad Fitzpatrick e2dc7a9256 camput: make uploading a directory tree less verbose. maybe too much.
Change-Id: Ia33588f4adc5af76bdca9ea8d26cec2340a94b30
2014-01-31 11:50:08 +01:00
Brad Fitzpatrick d77426ed6e camput: remove some android TODOs, now done
Change-Id: I206808f59bbf5a8f8dae35586b61180e0d404374
2014-01-30 17:29:41 +01:00
Brad Fitzpatrick 3f27e4f708 Add android camput pre-exit hook.
Change-Id: I30f9771e5562ece6a35d44cc8ab57c305a2899cb
2014-01-30 17:29:28 +01:00
Brad Fitzpatrick eb27581da7 httputil: add DecodeJSON and CloseBody helpers, then use them everywhere
httputil.CloseBody closes a http.Response.Body nicely, such that it's
more likely to be re-used.

httputil.DecodeJSON parses JSON from a Response.Body and closes the
body. It also keeps a temporary copy of the input, for error messages.

Then use them everywhere, to improve HTTP TCP connection re-use.

And misc other clean-ups.

Change-Id: I5dc44be0165b13659459ed29ce5ab44c17d9739f
2014-01-28 22:00:52 -08:00
Brad Fitzpatrick a70b554023 pkg/client, camput: don't stat each chunk before uploading
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.
2014-01-27 16:07:15 -08:00
Tommi Virtanen 6cda29582b third_party: Switch FUSE library to bazil.org/fuse
import bazil.org/fuse at f6649cd46fb76b1e04ba9eeffb773cb189278d31
remove code.google.com/p/rsc/fuse.

Huge thanks to Tommi Virtanen for the fuse support.

Change-Id: I44b95ac1ea344648593c7376f83ca675a56077b3
2014-01-24 13:28:08 -08:00
mpl 448f266d72 rename pkg/serverconfig to pkg/serverinit
To avoid awkwardness with future pkg/types/serverconfig

http://camlistore.org/issue/339

Change-Id: If8a00941cdc269d6bcfe0f76c596154d5969bf0d
2014-01-23 17:18:46 +01:00
Brad Fitzpatrick a384ff188d Get rid of CAMLI_DEV_KEYBLOBS / keyblobs / etc.
Fixes camlistore.org/issue/277

Change-Id: I7f380f9d18785f600fa0c442d5a19cd118782788
2014-01-20 13:47:08 -08:00
Brad Fitzpatrick 4550d494ba cammount: more friendly UI
Change-Id: Iec402e623407f2b22d54de952e38b1da0958f529
2014-01-16 19:52:11 -08:00
Brad Fitzpatrick 2086406552 Client fixes and cleanups:
* 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.
2014-01-15 18:32:02 -08:00
Brad Fitzpatrick 94ff6ac141 pkg/search, pkg/client, cmd/camtool: add 'camtool claims' subcommand
Change-Id: Id9d8381facd97a946c3582b226d433ab59b18da7
2014-01-14 11:48:49 -08:00
Brad Fitzpatrick d3b0e933b9 camtool: add describe command
Change-Id: I956c4a76f00bc96f2e5f2b1e5b19a1b656dd1585
2014-01-11 16:46:03 -08:00
Brad Fitzpatrick 0841e93514 Merge branch 'master' of https://camlistore.googlesource.com/camlistore 2014-01-11 16:22:02 -08:00
Brad Fitzpatrick 67a2425ea7 Add camtool list subcommand.
Alias for sync --dest=stdout

Change-Id: Ic3714e3728852c09073f3adafe539ce494d5e219
2014-01-11 15:28:40 -08:00
Brad Fitzpatrick 9c87b07d74 Merge "if permanode or root name provided to cammount, create new mutDir, and mount it" 2014-01-10 22:14:28 +00:00
mpl b5d29a181f client,camget: add -cert to specify trusted cert with share URLs
http://camlistore.org/issue/330

Change-Id: I6d060fe4804d6cf9baa3686243e3ab93839ec9ac
2014-01-09 12:05:38 -08:00
Kristopher Cost 7ce12d53f4 if permanode or root name provided to cammount, create new mutDir, and mount it
Change-Id: I97b7508ccb3c564178cb4f0a7b9ff238e486d957
2014-01-09 11:32:45 -08:00
mpl 52a16e3483 Merge "pkg/client: auth and (camtool) TLS fixes" 2014-01-09 19:24:17 +00:00
mpl 1db2e7eaf3 pkg/client: auth and (camtool) TLS fixes
1) disallow auth from env when not in dev mode or on android
2) allow insecureTLS with flag in debug mode
3) set transport so that insecureTLS or trustedCert modes work

http://camlistore.org/issue/325

Change-Id: I6d8056bb75ffff5f002dfe9bd631ae996dc4e5ef
2014-01-09 11:23:40 -08:00
Mateus Braga 3d4ccbe0f4 Remove unused NewSetAttributeClaim in RunCommand
Change-Id: I092020f675296e729e3dfe15d97a42682dd13ab9
2014-01-08 11:11:57 -02:00
mpl 10d863e323 Merge "pkg/client: multi servers config" 2014-01-06 07:24:52 +00:00
mpl bf8c463d0a pkg/client: multi servers config
http://camlistore.org/issue/309

Change-Id: I22bbbf6a808a772272f153b2535d693bd986d13a
2014-01-05 23:19:43 -08:00
Aaron Racine 07a42aaa40 camput: Skip base directories where IsIgnoredFile() returns true.
camput currently panics if a base directory is ignored.  Fixes issue 314.

Change-Id: I9466b4576b1134994e5e53e1067e0435ddba0fdf
2014-01-02 18:41:54 -08:00
Brad Fitzpatrick 33c42a2326 Remove message about gnupg-agent.
Change-Id: Ibe239b079e52b520e87dec194c6166aabcc02f63
2013-12-29 14:46:04 -08:00
mpl 2588ff8c83 camtool: apparently forgot to add index.go in 2d85e017ff
Change-Id: I6b7ce9e70b15d622935950ac8b1f06d843590659
2013-12-29 00:03:58 +01:00
Brad Fitzpatrick 9fd329df80 Merge "cmd/camtool: (re)index command" 2013-12-26 17:29:03 +00:00
mpl 2d85e017ff cmd/camtool: (re)index command
http://camlistore.org/issue/193

Change-Id: I498f92bdc153f44dc84d4b47f03c47a8e7b54ad9
2013-12-26 18:23:15 +01:00
Dustin Sallings 3f967a1111 camput: set handlerConfig=true when generating a config
Change-Id: I10ca5274a90640dd72f7c678f1000cf0ddf5adf9
2013-12-25 01:53:02 -08:00
Brad Fitzpatrick 649390b9ef camtool: make diskpacked-reindex command a bit more user-friendly
Change-Id: Ic7cde2f453f5cd2716d929800b297cb766826acd
2013-12-24 20:16:36 -08:00
mpl 4a87b954fb Merge "pkg/index: move postgresql to sorted + some fixes" 2013-12-23 23:49:14 +00:00