From 1ec0327ed7ac30b2af52bad6b60194c036a6dcd6 Mon Sep 17 00:00:00 2001 From: Nick Craig-Wood Date: Fri, 26 May 2017 10:15:14 +0100 Subject: [PATCH] vendor: update cgofuse (because dep wanted to!) --- Gopkg.lock | 4 +- .../billziss-gh/cgofuse/.circleci/config.yml | 69 ------------------- .../github.com/billziss-gh/cgofuse/Dockerfile | 40 ----------- .../github.com/billziss-gh/cgofuse/README.md | 1 - .../billziss-gh/cgofuse/fuse/fsop.go | 45 ++++-------- .../billziss-gh/cgofuse/fuse/host.go | 11 ++- 6 files changed, 22 insertions(+), 148 deletions(-) delete mode 100644 vendor/github.com/billziss-gh/cgofuse/.circleci/config.yml delete mode 100644 vendor/github.com/billziss-gh/cgofuse/Dockerfile diff --git a/Gopkg.lock b/Gopkg.lock index bb80c047a..5fb3d16eb 100644 --- a/Gopkg.lock +++ b/Gopkg.lock @@ -33,8 +33,8 @@ memo = "8903edaabf2c61a2bb9386fb033b3ff7710880ee02387c7a3f5eaaee82cd6e67" [[projects]] name = "github.com/billziss-gh/cgofuse" packages = ["fuse"] - revision = "20507c2217acffc7b7d555d337754792e1a9af87" - version = "v1.0.1" + revision = "b402ef9fb28afcc443348ba2d46b5bfd88867fea" + version = "v1.0" [[projects]] name = "github.com/cpuguy83/go-md2man" diff --git a/vendor/github.com/billziss-gh/cgofuse/.circleci/config.yml b/vendor/github.com/billziss-gh/cgofuse/.circleci/config.yml deleted file mode 100644 index d5ea1d8e8..000000000 --- a/vendor/github.com/billziss-gh/cgofuse/.circleci/config.yml +++ /dev/null @@ -1,69 +0,0 @@ -version: 2 - -jobs: - - build: - machine: true - - environment: - PROJNAME: github.com/billziss-gh/cgofuse - - working_directory: ~/.go_workspace/src/github.com/billziss-gh/cgofuse - - steps: - - checkout - - - run: - name: Build cgofuse image - command: docker build -t cgofuse . - - - run: - name: Cross-compile cgofuse - command: | - go get -v github.com/karalabe/xgo - xgo \ - --image=cgofuse \ - --targets=darwin/386,darwin/amd64,linux/386,linux/amd64,windows/386,windows/amd64 \ - --buildmode=archive \ - ./fuse - - - run: - name: Prepare artifacts - command: | - mkdir -p /tmp/cgofuse.work/src/$PROJNAME/fuse - echo //go:binary-only-package >/tmp/cgofuse.work/src/$PROJNAME/fuse/host.go - echo package fuse >>/tmp/cgofuse.work/src/$PROJNAME/fuse/host.go - echo //go:binary-only-package >/tmp/cgofuse.work/src/$PROJNAME/fuse/fsop.go - echo package fuse >>/tmp/cgofuse.work/src/$PROJNAME/fuse/fsop.go - for f in fuse-*.[al]*; do - d=$(echo "$f" | sed 's/fuse-\([^-.]*\).*-\([^-.]*\)\..*/\1_\2/g') - mkdir -p /tmp/cgofuse.work/pkg/$d/$PROJNAME - cp "$f" /tmp/cgofuse.work/pkg/$d/$PROJNAME/fuse.a - done - mkdir -p /tmp/cgofuse.dist - GIT_DSC=$(git describe --long) - (cd /tmp/cgofuse.work && zip -rv - *) >/tmp/cgofuse.dist/cgofuse-$GIT_DSC.zip - - - store_artifacts: - path: /tmp/cgofuse.dist - - - deploy: - name: Make github release - command: | - if git describe --exact-match >/dev/null 2>&1; then - GIT_TAG=$(git describe --exact-match) - GIT_DSC=$(git describe --long) - go get -v github.com/aktau/github-release - github-release release \ - --user "$CIRCLE_PROJECT_USERNAME" \ - --repo "$CIRCLE_PROJECT_REPONAME" \ - --tag $GIT_TAG \ - --pre-release || true - github-release upload \ - --user "$CIRCLE_PROJECT_USERNAME" \ - --repo "$CIRCLE_PROJECT_REPONAME" \ - --tag $GIT_TAG \ - --file /tmp/cgofuse.dist/cgofuse-$GIT_DSC.zip \ - --name cgofuse-${GIT_TAG:1}.zip \ - --replace - fi diff --git a/vendor/github.com/billziss-gh/cgofuse/Dockerfile b/vendor/github.com/billziss-gh/cgofuse/Dockerfile deleted file mode 100644 index 942c88494..000000000 --- a/vendor/github.com/billziss-gh/cgofuse/Dockerfile +++ /dev/null @@ -1,40 +0,0 @@ -FROM \ - karalabe/xgo-latest - -MAINTAINER \ - Bill Zissimopoulos - -# add 32-bit and 64-bit architectures and install 7zip -RUN \ - dpkg --add-architecture i386 && \ - dpkg --add-architecture amd64 && \ - apt-get update && \ - apt-get install -y --no-install-recommends p7zip-full - -# install OSXFUSE -RUN \ - wget -q -O osxfuse.dmg --no-check-certificate \ - http://sourceforge.net/projects/osxfuse/files/osxfuse-2.8.3/osxfuse-2.8.3.dmg/download && \ - 7z e osxfuse.dmg 0.hfs &&\ - 7z e 0.hfs "FUSE for OS X/Install OSXFUSE 2.8.pkg" && \ - 7z e "Install OSXFUSE 2.8.pkg" 10.9/OSXFUSECore.pkg/Payload && \ - 7z e Payload && \ - 7z x Payload~ -o/tmp && \ - cp -R /tmp/usr/local/include/osxfuse /usr/local/include && \ - cp /tmp/usr/local/lib/libosxfuse_i64.2.dylib /usr/local/lib/libosxfuse.dylib - -# install LIBFUSE -RUN \ - apt-get install -y --no-install-recommends libfuse-dev:i386 && \ - apt-get install -y --no-install-recommends libfuse-dev:amd64 && \ - apt-get download libfuse-dev:i386 && \ - dpkg -x libfuse-dev*i386*.deb / - -# install WinFsp-FUSE -RUN \ - wget -q -O winfsp.zip --no-check-certificate \ - https://github.com/billziss-gh/winfsp/archive/v1.0.zip && \ - 7z e winfsp.zip 'winfsp-1.0/inc/fuse/*' -o/usr/local/include/winfsp - -ENV \ - OSXCROSS_NO_INCLUDE_PATH_WARNINGS 1 diff --git a/vendor/github.com/billziss-gh/cgofuse/README.md b/vendor/github.com/billziss-gh/cgofuse/README.md index 6a5e62b7c..e7c246202 100644 --- a/vendor/github.com/billziss-gh/cgofuse/README.md +++ b/vendor/github.com/billziss-gh/cgofuse/README.md @@ -2,7 +2,6 @@ [![Travis CI](https://img.shields.io/travis/billziss-gh/cgofuse.svg?label=osx/linux)](https://travis-ci.org/billziss-gh/cgofuse) [![AppVeyor](https://img.shields.io/appveyor/ci/billziss-gh/cgofuse.svg?label=windows)](https://ci.appveyor.com/project/billziss-gh/cgofuse) -[![CircleCI](https://img.shields.io/circleci/project/github/billziss-gh/cgofuse.svg?label=cross-build)](https://circleci.com/gh/billziss-gh/cgofuse) [![GoDoc](https://godoc.org/github.com/billziss-gh/cgofuse/fuse?status.svg)](https://godoc.org/github.com/billziss-gh/cgofuse/fuse) Cgofuse is a cross-platform FUSE library for Go. It is implemented using [cgo](https://golang.org/cmd/cgo/) and can be ported to any platform that has a FUSE implementation. diff --git a/vendor/github.com/billziss-gh/cgofuse/fuse/fsop.go b/vendor/github.com/billziss-gh/cgofuse/fuse/fsop.go index dfdaf2d31..161105688 100644 --- a/vendor/github.com/billziss-gh/cgofuse/fuse/fsop.go +++ b/vendor/github.com/billziss-gh/cgofuse/fuse/fsop.go @@ -12,15 +12,10 @@ // Package fuse allows the creation of user mode file systems in Go. // -// A user mode file system is a user mode process that receives file system operations -// from the OS FUSE layer and satisfies them in user mode. A user mode file system -// implements the interface FileSystemInterface either directly or by embedding a -// FileSystemBase struct which provides a default (empty) implementation of all methods -// in FileSystemInterface. -// -// In order to expose the user mode file system to the OS, the file system must be hosted -// (mounted) by a FileSystemHost. The FileSystemHost Mount() method is used for this -// purpose. +// A user mode file system must implement the methods in FileSystemInterface +// and be hosted (mounted) by a FileSystemHost. +// Alternatively a user mode file system can use the FileSystemBase struct which +// provides default implementations of the methods in FileSystemInterface. package fuse /* @@ -402,28 +397,18 @@ type Lock_t struct { } */ -// FileSystemInterface is the interface that a user mode interface must implement. -// -// The file system will receive an Init() call when the file system is created; -// the Init() call will happen prior to receiving any other file system calls. -// Note that there are no guarantees on the exact timing of when Init() is called. -// For example, it cannot be assumed that the file system is mounted at the time -// the Init() call is received. -// -// The file system will receive a Destroy() call when the file system is destroyed; -// the Destroy() call will always be the last call to be received by the file system. -// Note that depending on how the file system is terminated the file system may not -// receive the Destroy() call. For example, it will not receive the Destroy() call -// if the file system process is forcibly killed. -// -// Except for Init() and Destroy() all file system operations must return 0 on success -// or a FUSE error on failure. To return an error return the NEGATIVE value of a -// particular error. For example, to report "file not found" return -fuse.ENOENT. +// FileSystemInterface is the interface that all file systems must implement. +// The file system will receive an Init() call when it is mounted and a Destroy() +// call when it is unmounted (note that depending on how the file system is +// terminated the file system may not receive the Destroy() call). All other +// operations must return 0 on success or a FUSE error on failure. To return an +// error return the NEGATIVE value of a particular error. For example, to report +// "file not found" return -fuse.ENOENT. type FileSystemInterface interface { - // Init is called when the file system is created. + // Init is called when the file system is mounted. Init() - // Destroy is called when the file system is destroyed. + // Destroy is called when the file system is unmounted. Destroy() // Statfs gets file system statistics. @@ -541,12 +526,12 @@ var _ error = (*Error)(nil) type FileSystemBase struct { } -// Init is called when the file system is created. +// Init is called when the file system is mounted. // The FileSystemBase implementation does nothing. func (*FileSystemBase) Init() { } -// Destroy is called when the file system is destroyed. +// Destroy is called when the file system is unmounted. // The FileSystemBase implementation does nothing. func (*FileSystemBase) Destroy() { } diff --git a/vendor/github.com/billziss-gh/cgofuse/fuse/host.go b/vendor/github.com/billziss-gh/cgofuse/fuse/host.go index fd6020142..f7bbb84ed 100644 --- a/vendor/github.com/billziss-gh/cgofuse/fuse/host.go +++ b/vendor/github.com/billziss-gh/cgofuse/fuse/host.go @@ -15,13 +15,9 @@ package fuse /* #cgo darwin CFLAGS: -DFUSE_USE_VERSION=28 -D_FILE_OFFSET_BITS=64 -I/usr/local/include/osxfuse/fuse #cgo darwin LDFLAGS: -L/usr/local/lib -losxfuse - #cgo linux CFLAGS: -DFUSE_USE_VERSION=28 -D_FILE_OFFSET_BITS=64 -I/usr/include/fuse #cgo linux LDFLAGS: -lfuse - -// Use `set CPATH=C:\Program Files (x86)\WinFsp\inc\fuse` on Windows. -// The flag `I/usr/local/include/winfsp` only works on xgo and docker. -#cgo windows CFLAGS: -D_WIN32_WINNT=0x0600 -DFUSE_USE_VERSION=28 -I/usr/local/include/winfsp +#cgo windows CFLAGS: -D_WIN32_WINNT=0x0600 -DFUSE_USE_VERSION=28 #if !(defined(__APPLE__) || defined(__linux__) || defined(_WIN32)) #error platform not supported @@ -911,7 +907,7 @@ func hostInit(conn0 *C.struct_fuse_conn_info) (user_data unsafe.Pointer) { C.bool(host.capCaseInsensitive), C.bool(host.capReaddirPlus)) if nil != host.sigc { - signal.Notify(host.sigc, syscall.SIGINT, syscall.SIGTERM) + signal.Notify(host.sigc, syscall.SIGHUP, syscall.SIGINT, syscall.SIGTERM) } host.fsop.Init() return @@ -1027,6 +1023,9 @@ func (host *FileSystemHost) SetCapReaddirPlus(value bool) { // It is allowed for the mountpoint to be the empty string ("") in which case opts is assumed // to contain the mountpoint. It is also allowed for opts to be nil, although in this case the // mountpoint must be non-empty. +// +// The file system is considered mounted only after its Init() method has been called +// and before its Destroy() method has been called. func (host *FileSystemHost) Mount(mountpoint string, opts []string) bool { if 0 == C.hostInitializeFuse() { panic("cgofuse: cannot find winfsp")