Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
dms3
go-dms3
Commits
01f9ef3c
Commit
01f9ef3c
authored
Jan 10, 2015
by
Juan Batiz-Benet
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added fuseversion for osxfuse
parent
05a0a944
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
162 additions
and
0 deletions
+162
-0
Godeps/Godeps.json
Godeps/Godeps.json
+4
-0
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/README.md
...workspace/src/github.com/jbenet/go-fuse-version/README.md
+45
-0
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/fuseprint/.gitignore
...rc/github.com/jbenet/go-fuse-version/fuseprint/.gitignore
+1
-0
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/fuseprint/README.md
...src/github.com/jbenet/go-fuse-version/fuseprint/README.md
+1
-0
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/fuseprint/index.go
.../src/github.com/jbenet/go-fuse-version/fuseprint/index.go
+21
-0
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/version.go
...orkspace/src/github.com/jbenet/go-fuse-version/version.go
+37
-0
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/version_bsd.go
...pace/src/github.com/jbenet/go-fuse-version/version_bsd.go
+11
-0
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/version_darwin.go
...e/src/github.com/jbenet/go-fuse-version/version_darwin.go
+24
-0
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/version_linux.go
...ce/src/github.com/jbenet/go-fuse-version/version_linux.go
+9
-0
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/version_windows.go
.../src/github.com/jbenet/go-fuse-version/version_windows.go
+9
-0
No files found.
Godeps/Godeps.json
View file @
01f9ef3c
...
...
@@ -108,6 +108,10 @@
"ImportPath"
:
"github.com/jbenet/go-datastore"
,
"Rev"
:
"6a1c83bda2a71a9bdc936749fdb507df958ed949"
},
{
"ImportPath"
:
"github.com/jbenet/go-fuse-version"
,
"Rev"
:
"ff72c39433f95ada15f116fa493a51eeec2bd52e"
},
{
"ImportPath"
:
"github.com/jbenet/go-is-domain"
,
"Rev"
:
"93b717f2ae17838a265e30277275ee99ee7198d6"
...
...
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/README.md
0 → 100644
View file @
01f9ef3c
# go-fuse-version
Simple package to get the user's FUSE libraries information.
-
Godoc: https://godoc.org/github.com/jbenet/go-fuse-version
**Warning**
Currently only supports OSXFUSE. if you want more, add them, it's really trivial now.
## Example
```
Go
package main
import (
"fmt"
"os"
fuseversion "github.com/jbenet/go-fuse-version"
)
func main() {
sys, err := fuseversion.LocalFuseSystems()
if err != nil {
fmt.Fprintf(os.Stderr, "%s\n", err)
os.Exit(1)
}
fmt.Printf("FuseVersion, AgentVersion, Agent\n")
for _, s := range *sys {
fmt.Printf("%s, %s, %s\n", s.FuseVersion, s.AgentVersion, s.AgentName)
}
}
```
## fuseprint
If you dont use Go, you can also install the example as the silly util fuseprint:
```
> go get github.com/jbenet/go-fuse-version/fuseprint
> go install github.com/jbenet/go-fuse-version/fuseprint
> fuseprint
FuseVersion, AgentVersion, Agent
27, 2.7.2, OSXFUSE
```
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/fuseprint/.gitignore
0 → 100644
View file @
01f9ef3c
fuseprint
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/fuseprint/README.md
0 → 120000
View file @
01f9ef3c
../README.md
\ No newline at end of file
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/fuseprint/index.go
0 → 100644
View file @
01f9ef3c
package
main
import
(
"fmt"
"os"
fuseversion
"github.com/jbenet/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-fuse-version"
)
func
main
()
{
sys
,
err
:=
fuseversion
.
LocalFuseSystems
()
if
err
!=
nil
{
fmt
.
Fprintf
(
os
.
Stderr
,
"%s
\n
"
,
err
)
os
.
Exit
(
1
)
}
fmt
.
Printf
(
"FuseVersion, AgentVersion, Agent
\n
"
)
for
_
,
s
:=
range
*
sys
{
fmt
.
Printf
(
"%s, %s, %s
\n
"
,
s
.
FuseVersion
,
s
.
AgentVersion
,
s
.
AgentName
)
}
}
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/version.go
0 → 100644
View file @
01f9ef3c
// package fuseversion simply exposes the version of FUSE installed
// in the user's machine. For reasoning, see:
// - https://github.com/jbenet/go-ipfs/issues/177
// - https://github.com/jbenet/go-ipfs/issues/202
// - https://github.com/osxfuse/osxfuse/issues/175#issuecomment-61888505
package
fuseversion
type
Systems
map
[
string
]
FuseSystem
type
FuseSystem
struct
{
// FuseVersion is the version of the FUSE protocol
FuseVersion
string
// AgentName identifies the system implementing FUSE, or Agent
AgentName
string
// AgentVersion is the version of the Agent program
// (it fights for the user! Sometimes it fights the user...)
AgentVersion
string
}
// LocalFuseSystems returns a map of FuseSystems, keyed by name.
// For example:
//
// systems := fuseversion.LocalFuseSystems()
// for n, sys := range systems {
// fmt.Printf("%s, %s, %s", n, sys.FuseVersion, sys.AgentVersion)
// }
// // Outputs:
// // OSXFUSE, , 2.7.2
//
func
LocalFuseSystems
()
(
*
Systems
,
error
)
{
return
getLocalFuseSystems
()
// implemented by each platform
}
var
notImplYet
=
`Error: not implemented for %s yet. :(
Please do it: https://github.com/jbenet/go-fuse-version`
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/version_bsd.go
0 → 100644
View file @
01f9ef3c
// +build dragonfly freebsd netbsd openbsd
package
fuseversion
import
(
"runtime"
)
func
getLocalFuseSystems
()
(
*
Systems
,
error
)
{
return
nil
,
fmt
.
Sprintf
(
notImplYet
,
runtime
.
GOARCH
())
}
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/version_darwin.go
0 → 100644
View file @
01f9ef3c
package
fuseversion
// #cgo CFLAGS: -I /usr/local/include/osxfuse/ -D_FILE_OFFSET_BITS=64 -DFUSE_USE_VERSION=25
// #cgo LDFLAGS: /usr/local/lib/libosxfuse.dylib
//
// #include <fuse/fuse.h>
// #include <fuse/fuse_common.h>
// #include <fuse/fuse_darwin.h>
import
"C"
import
"fmt"
func
getLocalFuseSystems
()
(
*
Systems
,
error
)
{
sys
:=
Systems
{}
sys
[
"OSXFUSE"
]
=
getOSXFUSE
()
return
&
sys
,
nil
}
func
getOSXFUSE
()
FuseSystem
{
return
FuseSystem
{
FuseVersion
:
fmt
.
Sprintf
(
"%d"
,
int
(
C
.
fuse_version
())),
AgentName
:
"OSXFUSE"
,
AgentVersion
:
C
.
GoString
(
C
.
osxfuse_version
()),
}
}
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/version_linux.go
0 → 100644
View file @
01f9ef3c
package
fuseversion
import
(
"runtime"
)
func
getLocalFuseSystems
()
(
*
Systems
,
error
)
{
return
nil
,
fmt
.
Sprintf
(
notImplYet
,
runtime
.
GOARCH
())
}
Godeps/_workspace/src/github.com/jbenet/go-fuse-version/version_windows.go
0 → 100644
View file @
01f9ef3c
package
fuseversion
import
(
"runtime"
)
func
getLocalFuseSystems
()
(
*
Systems
,
error
)
{
return
nil
,
fmt
.
Sprintf
(
notImplYet
,
runtime
.
GOARCH
())
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment