Merge pull request #2256 from ipfs/feat/gx-libp2p

vendor libp2p with gx
This commit is contained in:
Jeromy Johnson 2016-02-05 16:52:02 -08:00
commit 5a0b8023be
396 changed files with 735 additions and 17097 deletions

View File

@ -1 +1,6 @@
.git
.git/
!.git/HEAD
!.git/refs/
cmd/ipfs/ipfs
vendor/gx/
test/

View File

@ -13,6 +13,8 @@ env:
- TEST_NO_FUSE=1 TEST_VERBOSE=1 TEST_SUITE=test_go_expensive
- TEST_NO_FUSE=1 TEST_VERBOSE=1 TEST_SUITE=test_sharness_expensive
install: make install
script:
- make $TEST_SUITE

View File

@ -1,34 +1,79 @@
FROM alpine:3.3
MAINTAINER Brian Tiger Chow <btc@perfmode.com>
MAINTAINER Lars Gierth <lgierth@ipfs.io>
# There is a copy of this Dockerfile in test/sharness,
# which is optimized for build time, instead of image size.
#
# Please keep these two Dockerfiles in sync.
# Ports for Swarm TCP, Swarm uTP, API, Gateway
EXPOSE 4001
EXPOSE 4002/udp
EXPOSE 5001
EXPOSE 8080
# Volume for mounting an IPFS fs-repo
# This is moved to the bottom for technical reasons.
#VOLUME $IPFS_PATH
# IPFS API to use for fetching gx packages.
# This can be a gateway too, since its read-only API provides all gx needs.
# - e.g. /ip4/172.17.0.1/tcp/8080 if the Docker host
# has the IPFS gateway listening on the bridge interface
# provided by Docker's default networking.
# - if empty, the public gateway at ipfs.io is used.
ENV GX_IPFS ""
# The IPFS fs-repo within the container
ENV IPFS_PATH /data/ipfs
ENV GOPATH /go:/go/src/github.com/ipfs/go-ipfs/Godeps/_workspace
# Golang stuff
ENV GO_VERSION 1.5.3-r0
ENV GOPATH /go
ENV PATH /go/bin:$PATH
ENV SRC_PATH /go/src/github.com/ipfs/go-ipfs
EXPOSE 4001 5001 8080
# 4001 = Swarm, 5001 = API, 8080 = HTTP transport
# Get the go-ipfs sourcecode
COPY . $SRC_PATH
ADD bin/container_daemon /usr/local/bin/start_ipfs
ADD bin/container_shacheck /usr/local/bin/shacheck
ADD . /go/src/github.com/ipfs/go-ipfs
WORKDIR /go/src/github.com/ipfs/go-ipfs/cmd/ipfs
RUN adduser -D -h /data -u 1000 ipfs \
&& mkdir -p /data/ipfs && chown ipfs:ipfs /data/ipfs \
&& apk add --update bash ca-certificates git go \
&& go install -ldflags "-X github.com/ipfs/go-ipfs/repo/config.CurrentCommit=$(git rev-parse --short HEAD 2> /dev/null || echo unknown)" \
&& mv /go/bin/ipfs /usr/local/bin/ipfs \
&& chmod 755 /usr/local/bin/start_ipfs \
&& apk del --purge go git
WORKDIR /
RUN rm -rf /go/src/github.com/ipfs/go-ipfs
RUN apk add --update musl go=$GO_VERSION git bash wget ca-certificates \
# Setup user and fs-repo directory
&& mkdir -p $IPFS_PATH \
&& adduser -D -h $IPFS_PATH -u 1000 ipfs \
&& chown ipfs:ipfs $IPFS_PATH && chmod 755 $IPFS_PATH \
# Install gx
&& go get -u github.com/whyrusleeping/gx \
&& go get -u github.com/whyrusleeping/gx-go \
# Point gx to a specific IPFS API
&& ([ -z "$GX_IPFS" ] || echo $GX_IPFS > $IPFS_PATH/api) \
# Invoke gx
&& cd $SRC_PATH \
&& gx --verbose install --global \
# We get the current commit using this hack,
# so that we don't have to copy all of .git/ into the build context.
# This saves us quite a bit of image size.
&& ref="$(cat .git/HEAD | cut -d' ' -f2)" \
&& commit="$(cat .git/$ref | head -c 7)" \
&& echo "ldflags=-X github.com/ipfs/go-ipfs/repo/config.CurrentCommit=$commit" \
# Build and install IPFS and entrypoint script
&& cd $SRC_PATH/cmd/ipfs \
&& go build -ldflags "-X github.com/ipfs/go-ipfs/repo/config.CurrentCommit=$commit" \
&& cp ipfs /usr/local/bin/ipfs \
&& cp $SRC_PATH/bin/container_daemon /usr/local/bin/start_ipfs \
&& chmod 755 /usr/local/bin/start_ipfs \
# Remove all build-time dependencies
&& apk del --purge musl go git && rm -rf $GOPATH && rm -vf $IPFS_PATH/api
# Call uid 1000 "ipfs"
USER ipfs
VOLUME /data/ipfs
# Expose the fs-repo as a volume.
# We're doing this down here (and not at the top),
# so that the overlay directory is owned by the ipfs user.
# start_ipfs initializes an ephemeral fs-repo if none is mounted,
# which is why uid=1000 needs write permissions there.
VOLUME $IPFS_PATH
# This just makes sure that:
# 1. There's an fs-repo, and initializes one if there isn't.
# 2. The API and Gateway are accessible from outside the container.
ENTRYPOINT ["/usr/local/bin/start_ipfs"]
# build: docker build -t go-ipfs .
# run: docker run -p 4001:4001 -p 5001:5001 go-ipfs:latest
# run: docker run -p 8080:8080 -p 4001:4001 -p 5001:5001 go-ipfs:latest

View File

@ -10,7 +10,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs/fstestutil"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
type benchConfig struct {

View File

@ -6,7 +6,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
// Writes gathers data from FUSE Write calls.

View File

@ -6,7 +6,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
type nothing struct{}

View File

@ -5,7 +5,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
// SimpleFS is a trivial FS that just implements the Root method.

View File

@ -14,7 +14,7 @@ import (
"sync"
"time"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
import (

View File

@ -21,7 +21,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs/fstestutil/record"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fuseutil"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/syscallx"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
// TO TEST:

View File

@ -7,7 +7,7 @@ import (
pathpkg "path"
"strings"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
import (

View File

@ -10,7 +10,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs"
_ "github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs/fstestutil"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
var Usage = func() {

View File

@ -9,7 +9,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/bazil.org/fuse/fs/fstestutil"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
func init() {

View File

@ -3,7 +3,7 @@ package kingpin
import (
"io/ioutil"
"github.com/stretchr/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
"testing"
"time"

View File

@ -4,7 +4,7 @@ import (
"io/ioutil"
"testing"
"github.com/stretchr/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
)
func TestArgRemainder(t *testing.T) {

View File

@ -3,7 +3,7 @@ package kingpin
import (
"strings"
"github.com/stretchr/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
"testing"
)

View File

@ -4,7 +4,7 @@ import (
"io/ioutil"
"os"
"github.com/stretchr/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
"testing"
)

View File

@ -5,7 +5,7 @@ import (
"os"
"testing"
"github.com/stretchr/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
)
func TestParserExpandFromFile(t *testing.T) {

View File

@ -6,7 +6,7 @@ import (
"net/url"
"os"
"github.com/stretchr/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
"testing"
)

View File

@ -5,7 +5,7 @@ import (
"strings"
"testing"
"github.com/stretchr/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
)
func TestFormatTwoColumns(t *testing.T) {

View File

@ -1,7 +1,7 @@
package kingpin
import (
"github.com/stretchr/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
"testing"
)

View File

@ -3,7 +3,7 @@ package units
import (
"testing"
"github.com/stretchr/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
)
func TestBase2BytesString(t *testing.T) {

View File

@ -3,7 +3,7 @@ package missinggo
import (
"testing"
"github.com/stretchr/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
)
func TestSplitHostPort(t *testing.T) {

View File

@ -7,8 +7,8 @@ import (
"path/filepath"
"testing"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/require"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/anacrolix/missinggo"
)

View File

@ -4,7 +4,7 @@ import (
"container/list"
"io"
"github.com/cznic/b"
"gx/ipfs/QmVgtwPh2NNoZTSyYkr4Y3epaYACBKf26r8hV6EFA7xS6c/b"
)
type Iterator interface {

View File

@ -3,7 +3,7 @@ package missinggo
import (
"testing"
"github.com/stretchr/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
)
func TestParseHTTPContentRange(t *testing.T) {

View File

@ -3,7 +3,7 @@ package itertools
import (
"testing"
"github.com/stretchr/testify/require"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/require"
)
func TestGroupByKey(t *testing.T) {

View File

@ -3,7 +3,7 @@ package itertools
import (
"testing"
"github.com/stretchr/testify/require"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/require"
)
func TestIterator(t *testing.T) {

View File

@ -7,7 +7,7 @@ import (
"time"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/bradfitz/iter"
"github.com/stretchr/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
)
func TestTimer(t *testing.T) {

View File

@ -5,8 +5,8 @@ import (
"testing"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/bradfitz/iter"
"github.com/stretchr/testify/assert"
"github.com/stretchr/testify/require"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/assert"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/require"
)
func TestDoubleClose(t *testing.T) {

View File

@ -3,7 +3,7 @@ package missinggo
import (
"testing"
"github.com/stretchr/testify/require"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/require"
)
func cryHeard() bool {

View File

@ -9,7 +9,7 @@ import (
"os"
"os/signal"
"github.com/anacrolix/envpprof"
"gx/ipfs/QmazECKVXFsA3J6cHAqf8HeTDUB8zARjfo75nxE6o63AAp/envpprof"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/anacrolix/utp"
)

View File

@ -11,10 +11,10 @@ import (
"testing"
"time"
_ "github.com/anacrolix/envpprof"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/anacrolix/missinggo"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/bradfitz/iter"
"github.com/stretchr/testify/require"
"gx/ipfs/QmZwjfAKWe7vWZ8f48u7AGA1xYfzR1iCD9A2XSCYFRBWot/testify/require"
_ "gx/ipfs/QmazECKVXFsA3J6cHAqf8HeTDUB8zARjfo75nxE6o63AAp/envpprof"
)
func init() {

View File

@ -1,7 +1,7 @@
package ws
import (
"github.com/gorilla/websocket"
"gx/ipfs/QmUe1Ljrtwz5NSKqJRw5mgjthSSfW7g94hkGRqiQs5aJna/websocket"
"io"
"log"
"time"

View File

@ -2,8 +2,8 @@ package ws
import (
"bytes"
"github.com/gorilla/websocket"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/docker/spdystream"
"gx/ipfs/QmUe1Ljrtwz5NSKqJRw5mgjthSSfW7g94hkGRqiQs5aJna/websocket"
"io"
"log"
"net/http"

View File

@ -31,8 +31,8 @@ package io_test
import (
"bytes"
"encoding/binary"
"github.com/gogo/protobuf/test"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/gogo/protobuf/io"
"gx/ipfs/QmZ4Qi3GaRbjcx28Sme5eMH7RQjGkt8wHxt2a65oLaeFEV/gogo-protobuf/test"
goio "io"
"math/rand"
"testing"

View File

@ -17,7 +17,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/query"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-os-rename"
logging "github.com/ipfs/go-ipfs/vendor/QmQg1J6vikuXF9oDvm4wpdeAUvvkVEKW1EYDw9HhTMnP2b/go-log"
logging "gx/ipfs/Qmazh5oNUVsDZTs2g59rq8aYQqwpss8tcUWQzor5sCCEuH/go-log"
)
var log = logging.Logger("flatfs")

View File

@ -4,7 +4,7 @@ package ctxext
import (
"time"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
// WithDeadlineFraction returns a Context with a fraction of the

View File

@ -5,7 +5,7 @@ import (
"testing"
"time"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
// this test is on the context tool itself, not our stuff. it's for sanity on ours.

View File

@ -13,7 +13,7 @@ package ctxio
import (
"io"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
type ioret struct {

View File

@ -6,7 +6,7 @@ import (
"testing"
"time"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
func TestReader(t *testing.T) {

View File

@ -2,7 +2,7 @@ package msgio
import (
"bytes"
randbuf "github.com/jbenet/go-randbuf"
randbuf "gx/ipfs/QmYNGtJHgaGZkpzq8yG6Wxqm6EQTKqgpBfnyyGBKbZeDUi/go-randbuf"
"io"
"math/rand"
"testing"

View File

@ -3,7 +3,7 @@ package msgio
import (
"bytes"
"fmt"
randbuf "github.com/jbenet/go-randbuf"
randbuf "gx/ipfs/QmYNGtJHgaGZkpzq8yG6Wxqm6EQTKqgpBfnyyGBKbZeDUi/go-randbuf"
"io"
"math/rand"
"sync"

View File

@ -5,8 +5,8 @@ import (
"net"
"strings"
ma "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
utp "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr-net/utp"
ma "gx/ipfs/QmR3JkmZBKYXgNMNsNZawm914455Qof3PEopwuVSeXG7aV/go-multiaddr"
utp "gx/ipfs/QmYtzQmUwPFGxjCXctJ8e6GXS8sYfoXy2pdeMbS5SFWqRi/go-multiaddr-net/utp"
)
var errIncorrectNetAddr = fmt.Errorf("incorrect network addr conversion")

View File

@ -4,8 +4,8 @@ import (
"net"
"testing"
ma "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
mautp "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr-net/utp"
ma "gx/ipfs/QmR3JkmZBKYXgNMNsNZawm914455Qof3PEopwuVSeXG7aV/go-multiaddr"
mautp "gx/ipfs/QmYtzQmUwPFGxjCXctJ8e6GXS8sYfoXy2pdeMbS5SFWqRi/go-multiaddr-net/utp"
)
type GenFunc func() (ma.Multiaddr, error)

View File

@ -3,7 +3,7 @@ package manet
import (
"bytes"
ma "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
ma "gx/ipfs/QmR3JkmZBKYXgNMNsNZawm914455Qof3PEopwuVSeXG7aV/go-multiaddr"
)
// Loopback Addresses

View File

@ -6,8 +6,8 @@ import (
"fmt"
"os"
ma "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
manet "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr-net"
ma "gx/ipfs/QmR3JkmZBKYXgNMNsNZawm914455Qof3PEopwuVSeXG7aV/go-multiaddr"
manet "gx/ipfs/QmYtzQmUwPFGxjCXctJ8e6GXS8sYfoXy2pdeMbS5SFWqRi/go-multiaddr-net"
)
// flags

View File

@ -4,8 +4,8 @@ import (
"fmt"
"net"
ma "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
mautp "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr-net/utp"
ma "gx/ipfs/QmR3JkmZBKYXgNMNsNZawm914455Qof3PEopwuVSeXG7aV/go-multiaddr"
mautp "gx/ipfs/QmYtzQmUwPFGxjCXctJ8e6GXS8sYfoXy2pdeMbS5SFWqRi/go-multiaddr-net/utp"
)
// Conn is the equivalent of a net.Conn object. It is the

View File

@ -7,7 +7,7 @@ import (
"sync"
"testing"
ma "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
ma "gx/ipfs/QmR3JkmZBKYXgNMNsNZawm914455Qof3PEopwuVSeXG7aV/go-multiaddr"
)
func newMultiaddr(t *testing.T, m string) ma.Multiaddr {

View File

@ -7,7 +7,7 @@ import (
"os"
reuse "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-reuseport"
resolve "github.com/jbenet/go-net-resolve-addr"
resolve "gx/ipfs/Qma73Sqt13DzHzveZ667BBfraM7MuMrPepUXjmv812JhRS/go-net-resolve-addr"
)
func main() {

View File

@ -3,8 +3,8 @@ package peerstream_muxado
import (
"net"
muxado "github.com/inconshreveable/muxado"
smux "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-stream-muxer"
muxado "gx/ipfs/QmaZ9WavcC9EKocNHof8onR8JHci2Qt8AuybkFaxJdr51Q/muxado"
)
// stream implements smux.Stream using a ss.Stream

View File

@ -2,7 +2,7 @@ package goprocessctx
import (
goprocess "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/goprocess"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
// WithContext constructs and returns a Process that respects

View File

@ -5,7 +5,7 @@ import (
"time"
goprocess "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/goprocess"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
const (

View File

@ -5,7 +5,7 @@ import (
"time"
gp "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/goprocess"
ci "github.com/jbenet/go-cienv"
ci "gx/ipfs/QmZcUXuzsUSvxNj9pmU112V8L5kGUFMTYCdFcAbQ3Zj5cp/go-cienv"
)
var (

View File

@ -6,7 +6,7 @@ import (
"net"
"strings"
manet "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr-net"
manet "gx/ipfs/QmYtzQmUwPFGxjCXctJ8e6GXS8sYfoXy2pdeMbS5SFWqRi/go-multiaddr-net"
)
var ErrInvalidFormat = errors.New("invalid multiaddr-filter format")

View File

@ -8,7 +8,7 @@ import (
"fmt"
"time"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
func ExampleWithTimeout() {

View File

@ -14,7 +14,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/internal/iana"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv4"
"golang.org/x/net/icmp"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/icmp"
)
func ExampleConn_markingTCP() {

View File

@ -11,7 +11,7 @@ import (
"testing"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv4"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
var icmpStringTests = []struct {

View File

@ -14,8 +14,8 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/internal/iana"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv4"
"golang.org/x/net/icmp"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/icmp"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
var packetConnReadWriteMulticastUDPTests = []struct {

View File

@ -10,7 +10,7 @@ import (
"testing"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv4"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
var udpMultipleGroupListenerTests = []net.Addr{

View File

@ -10,7 +10,7 @@ import (
"testing"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv4"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
var packetConnMulticastSocketOptionTests = []struct {

View File

@ -12,7 +12,7 @@ import (
"testing"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv4"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
func benchmarkUDPListener() (net.PacketConn, net.Addr, error) {

View File

@ -14,8 +14,8 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/internal/iana"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv4"
"golang.org/x/net/icmp"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/icmp"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
func TestPacketConnReadWriteUnicastUDP(t *testing.T) {

View File

@ -11,7 +11,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/internal/iana"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv4"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
func TestConnUnicastSocketOptions(t *testing.T) {

View File

@ -13,7 +13,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/internal/iana"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv6"
"golang.org/x/net/icmp"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/icmp"
)
func ExampleConn_markingTCP() {

View File

@ -11,7 +11,7 @@ import (
"testing"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv6"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
var icmpStringTests = []struct {

View File

@ -14,8 +14,8 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/internal/iana"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv6"
"golang.org/x/net/icmp"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/icmp"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
var packetConnReadWriteMulticastUDPTests = []struct {

View File

@ -11,7 +11,7 @@ import (
"testing"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv6"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
var udpMultipleGroupListenerTests = []net.Addr{

View File

@ -10,7 +10,7 @@ import (
"testing"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv6"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
var packetConnMulticastSocketOptionTests = []struct {

View File

@ -13,7 +13,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/internal/iana"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv6"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
func benchmarkUDPListener() (net.PacketConn, net.Addr, error) {

View File

@ -12,7 +12,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/internal/iana"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv6"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
var supportsIPv6 bool = nettest.SupportsIPv6()

View File

@ -14,8 +14,8 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/internal/iana"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv6"
"golang.org/x/net/icmp"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/icmp"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
func TestPacketConnReadWriteUnicastUDP(t *testing.T) {

View File

@ -11,7 +11,7 @@ import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/internal/iana"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/ipv6"
"golang.org/x/net/internal/nettest"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/internal/nettest"
)
func TestConnUnicastSocketOptions(t *testing.T) {

View File

@ -14,19 +14,26 @@ all: help
godep:
go get github.com/tools/godep
gx:
go get -u github.com/whyrusleeping/gx
go get -u github.com/whyrusleeping/gx-go
deps: gx
gx --verbose install --global
# saves/vendors third-party dependencies to Godeps/_workspace
# -r flag rewrites import paths to use the vendored path
# ./... performs operation on all packages in tree
vendor: godep
godep save -r ./...
install:
install: build
cd cmd/ipfs && go install -ldflags=$(ldflags)
build:
build: deps
cd cmd/ipfs && go build -i -ldflags=$(ldflags)
nofuse:
nofuse: deps
cd cmd/ipfs && go install -tags nofuse -ldflags=$(ldflags)
clean:

101
README.md
View File

@ -1,16 +1,36 @@
# ipfs implementation in go.
# IPFS implementation in Go
[![GoDoc](https://godoc.org/github.com/ipfs/go-ipfs?status.svg)](https://godoc.org/github.com/ipfs/go-ipfs) [![Build Status](https://travis-ci.org/ipfs/go-ipfs.svg?branch=master)](https://travis-ci.org/ipfs/go-ipfs)
Ipfs is a global, versioned, peer-to-peer filesystem. It combines good ideas from
IPFS is a global, versioned, peer-to-peer filesystem. It combines good ideas from
Git, BitTorrent, Kademlia, SFS, and the Web. It is like a single bittorrent swarm,
exchanging git objects. IPFS provides an interface as simple as the HTTP web, but
with permanence built in. You can also mount the world at /ipfs.
For more info see: https://github.com/ipfs/ipfs
For more info see: https://github.com/ipfs/ipfs.
Please put all issues regarding IPFS _design_ in the
[ipfs repo issues](https://github.com/ipfs/ipfs/issues).
Please put all issues regarding go IPFS _implementation_ in [this repo](https://github.com/ipfs/go-ipfs/issues).
Please put all issues regarding Go IPFS _implementation_ in [this repo](https://github.com/ipfs/go-ipfs/issues).
## Table of Contents
- [Security Issues](#security-issues)
- [Install](#install)
- [Install prebuilt packages](#install-prebuilt-packages)
- [Build from Source](#build-from-source)
- [Prerequisite: Install Go](#prerequisite-install-go)
- [Download + Compile IPFS](#download--compile-ipfs)
- [Development Dependencies](#development-dependencies)
- [Updating](#updating)
- [Usage](#usage)
- [Getting Started](#getting-started)
- [Some things to try](#some-things-to-try)
- [Docker usage](#docker-usage)
- [Docker usage with VirtualBox/boot2docker (OSX and Windows)](#docker-usage-with-virtualboxboot2docker-osx-and-windows)
- [Troubleshooting](#troubleshooting)
- [Contributing](#contributing)
- [Todo](#todo)
- [License](#license)
## Security Issues
@ -22,9 +42,9 @@ If the issue is a protocol weakness that cannot be immediately exploited or some
## Install
The canonical download instructions for IPFS are over at: http://ipfs.io/docs/install/
The canonical download instructions for IPFS are over at: http://ipfs.io/docs/install/. It is **highly suggested** you follow those instructions if you are not interested in working on IPFS development.
## Install prebuilt packages
### Install prebuilt packages
We use [gobuilder.me](https://gobuilder.me), a great service that automatically builds a release on every commit.
@ -34,31 +54,33 @@ You can see the latest builds for your platform at these links:
- [`master` - development, stable](https://gobuilder.me/github.com/ipfs/go-ipfs/cmd/ipfs?branch=master)
From there:
- click "Download" on the build for your platform
- open/extract the archive
- move `ipfs` to your path (`install.sh` can do it for you)
- Click "Download" on the build for your platform.
- Open/extract the archive.
- Move `ipfs` to your path (`install.sh` can do it for you),
### Build from Source
## Build from Source
#### Prerequisite: Install Go
### Prerequisite: Install Go
First, you'll need go. If you don't have it: [Download Go 1.5.2+](https://golang.org/dl/).
First, you'll need Go. If you don't have it: [Download Go 1.5.2+](https://golang.org/dl/).
You'll need to add Go's bin directories to your `$PATH` environment variable e.g., by adding these lines to your `/etc/profile` (for a system-wide installation) or `$HOME/.profile`:
```
export PATH=$PATH:/usr/local/go/bin
export PATH=$PATH:$GOPATH/bin
```
(If you run into trouble, see the [Go install instructions](https://golang.org/doc/install))
(If you run into trouble, see the [Go install instructions](https://golang.org/doc/install)).
### Download + Compile IPFS
#### Download + Compile IPFS
Then simply:
Then:
```
go get -u github.com/ipfs/go-ipfs/cmd/ipfs
$ go get -d github.com/ipfs/go-ipfs
$ cd $GOPATH/src/github.com/ipfs/go-ipfs
$ make install
```
NOTES:
@ -69,17 +91,21 @@ all dependencies.
Compilation from source is recommended.
* If you are interested in development, please install the development
dependencies as well.
* *WARNING: older versions of OSX FUSE (for Mac OS X) can cause kernel panics when mounting!*
* *WARNING: Older versions of OSX FUSE (for Mac OS X) can cause kernel panics when mounting!*
We strongly recommend you use the [latest version of OSX FUSE](http://osxfuse.github.io/).
(See https://github.com/ipfs/go-ipfs/issues/177)
* For more details on setting up FUSE (so that you can mount the filesystem), see the docs folder
* For more details on setting up FUSE (so that you can mount the filesystem), see the docs folder.
* Shell command completion is available in `misc/completion/ipfs-completion.bash`. Read [docs/command-completion.md](docs/command-completion.md) to learn how to install it.
* See the [init examples](https://github.com/ipfs/examples/tree/master/examples/init) for how to connect IPFS to systemd or whatever init system your distro uses.
### Updating
ipfs has an updating tool that can be accessed through `ipfs update`. The tool is
not installed alongside ipfs in order to keep that logic independent of the main
codebase. To install ipfs update, either [download it here](https://gobuilder.me/github.com/ipfs/ipfs-update)
### Development Dependencies
If you make changes to the protocol buffers, you will need to install the [protoc compiler](https://github.com/google/protobuf).
## Updating
IPFS has an updating tool that can be accessed through `ipfs update`. The tool is
not installed alongside IPFS in order to keep that logic independent of the main
codebase. To install `ipfs update`, either [download it here](https://gobuilder.me/github.com/ipfs/ipfs-update)
or install it from source with `go get -u github.com/ipfs/ipfs-update`.
## Usage
@ -94,7 +120,7 @@ USAGE:
BASIC COMMANDS
init Initialize ipfs local configuration
add <path> Add a file to ipfs
add <path> Add an object to ipfs
cat <ref> Show ipfs object data
get <ref> Download ipfs objects
ls <ref> List links from an object
@ -141,7 +167,7 @@ USAGE:
See also: http://ipfs.io/docs/getting-started/
To start using ipfs, you must first initialize ipfs's config files on your
To start using IPFS, you must first initialize IPFS's config files on your
system, this is done with `ipfs init`. See `ipfs init --help` for information on
the optional arguments it takes. After initialization is complete, you can use
`ipfs mount`, `ipfs add` and any of the other commands to explore!
@ -159,15 +185,15 @@ Basic proof of 'ipfs working' locally:
### Docker usage
An ipfs docker image is hosted at [hub.docker.com/r/jbenet/go-ipfs](https://hub.docker.com/r/jbenet/go-ipfs/).
An IPFS docker image is hosted at [hub.docker.com/r/jbenet/go-ipfs](https://hub.docker.com/r/jbenet/go-ipfs/).
To make files visible inside the container you need to mount a host directory
with the `-v` option to docker. Choose a directory that you want to use to
import/export files from ipfs. You should also choose a directory to store
ipfs files that will persist when you restart the container.
import/export files from IPFS. You should also choose a directory to store
IPFS files that will persist when you restart the container.
export ipfs_staging=</absolute/path/to/somewhere/>
export ipfs_data=</absolute/path/to/somewhere_else/>
Make sure docker can access these folders:
sudo chmod -R 777 /absolute/path/to/somewhere/
@ -186,7 +212,7 @@ Wait for ipfs to start. ipfs is running when you see:
Gateway (readonly) server
listening on /ip4/0.0.0.0/tcp/8080
(you can now stop watching the log)
You can now stop watching the log.
Run ipfs commands:
@ -196,7 +222,6 @@ For example: connect to peers
docker exec ipfs_host ipfs swarm peers
Add files:
cp -r <something> $ipfs_staging
@ -209,16 +234,15 @@ Stop the running container:
#### Docker usage with VirtualBox/boot2docker (OSX and Windows)
Since docker is running in the boot2docker VM, you need to forward
relevant ports from the VM to your host for ipfs act normally. This is
relevant ports from the VM to your host for IPFS to act normally. This is
accomplished with the following command:
boot2docker ssh -L 5001:localhost:5001 -L 4001:localhost:4001 -L 8080:localhost:8080 -fN
### Troubleshooting
If you have previously installed ipfs before and you are running into
If you have previously installed IPFS before and you are running into
problems getting a newer version to work, try deleting (or backing up somewhere
else) your ipfs config directory (~/.ipfs by default) and rerunning `ipfs init`.
else) your IPFS config directory (~/.ipfs by default) and rerunning `ipfs init`.
This will reinitialize the config file to its defaults and clear out the local
datastore of any bad entries.
@ -226,18 +250,13 @@ For any other problems, check the [issues list](https://github.com/ipfs/go-ipfs/
and if you dont see your problem there, either come talk to us on irc (freenode #ipfs) or
file an issue of your own!
## Contributing
Please see [Contribute.md](contribute.md)!
## Todo
An IPFS alpha version has been released in February 2015. Things left to be done are all marked as [Issues](https://github.com/ipfs/go-ipfs/issues)
## Development Dependencies
If you make changes to the protocol buffers, you will need to install the [protoc compiler](https://github.com/google/protobuf).
An IPFS alpha version has been released in February 2015. Things left to be done are all marked as [issues](https://github.com/ipfs/go-ipfs/issues).
## License

View File

@ -13,6 +13,10 @@ func TestEmbeddedDocs(t *testing.T) {
}
func TestDirIndex(t *testing.T) {
t.Skip("skipping for now, code being tested is currently unused")
// TODO: import assets during init.
// this will require figuring out how to set the right paths up for
// referencing the code from its gx path
testNFiles(initDirIndex, 2, t, "assets")
}

View File

@ -1,17 +1,18 @@
#!/bin/bash
#!/bin/sh
user=$(whoami)
repo="$IPFS_PATH"
# Test whether the mounted directory is writable for us
if ( touch /data/ipfs/write_test 2>/dev/null ); then
rm /data/ipfs/write_test
else
echo "ERR: /data/ipfs is not writable for user 'ipfs' (UID 1000)"
if [ ! -w "$repo" 2>/dev/null ]; then
echo "error: $repo is not writable for user $user (uid=$(id -u $user))"
exit 1
fi
echo "Running $(ipfs version)..."
ipfs version
if [ -e /data/ipfs/config ]; then
echo "Found ipfs repository. Not initializing."
if [ -e "$repo/config" ]; then
echo "Found IPFS fs-repo at $repo"
else
ipfs init
ipfs config Addresses.API /ip4/0.0.0.0/tcp/5001

View File

@ -1,10 +0,0 @@
#!/bin/bash -xe
VERSION=$1
FILENAME=$2
ONLINE_SHA=$( curl "https://gobuilder.me/api/v1/github.com/ipfs/go-ipfs/cmd/ipfs/signed-hashes/${VERSION}" 2>/dev/null | grep -A 4 ${FILENAME} | grep sha1 | awk '{ print $3 }' )
echo "Checking SHA1: ${ONLINE_SHA} == $(sha1sum ${FILENAME} | awk '{print $1}')"
echo "${ONLINE_SHA} ${FILENAME}" | sha1sum -cw

View File

@ -11,10 +11,10 @@ import (
dsns "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/namespace"
dsq "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/query"
mh "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multihash"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
blocks "github.com/ipfs/go-ipfs/blocks"
key "github.com/ipfs/go-ipfs/blocks/key"
logging "github.com/ipfs/go-ipfs/vendor/QmQg1J6vikuXF9oDvm4wpdeAUvvkVEKW1EYDw9HhTMnP2b/go-log"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
logging "gx/ipfs/Qmazh5oNUVsDZTs2g59rq8aYQqwpss8tcUWQzor5sCCEuH/go-log"
)
var log = logging.Logger("blockstore")

View File

@ -8,7 +8,7 @@ import (
ds "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore"
dsq "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/query"
ds_sync "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/sync"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
blocks "github.com/ipfs/go-ipfs/blocks"
key "github.com/ipfs/go-ipfs/blocks/key"

View File

@ -2,9 +2,9 @@ package blockstore
import (
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/hashicorp/golang-lru"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"github.com/ipfs/go-ipfs/blocks"
key "github.com/ipfs/go-ipfs/blocks/key"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
// WriteCached returns a blockstore that caches up to |size| unique writes (bs.Put).

View File

@ -4,7 +4,7 @@ package set
import (
"github.com/ipfs/go-ipfs/blocks/bloom"
key "github.com/ipfs/go-ipfs/blocks/key"
logging "github.com/ipfs/go-ipfs/vendor/QmQg1J6vikuXF9oDvm4wpdeAUvvkVEKW1EYDw9HhTMnP2b/go-log"
logging "gx/ipfs/Qmazh5oNUVsDZTs2g59rq8aYQqwpss8tcUWQzor5sCCEuH/go-log"
)
var log = logging.Logger("blockset")

View File

@ -6,12 +6,12 @@ package blockservice
import (
"errors"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
blocks "github.com/ipfs/go-ipfs/blocks"
"github.com/ipfs/go-ipfs/blocks/blockstore"
key "github.com/ipfs/go-ipfs/blocks/key"
exchange "github.com/ipfs/go-ipfs/exchange"
logging "github.com/ipfs/go-ipfs/vendor/QmQg1J6vikuXF9oDvm4wpdeAUvvkVEKW1EYDw9HhTMnP2b/go-log"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
logging "gx/ipfs/Qmazh5oNUVsDZTs2g59rq8aYQqwpss8tcUWQzor5sCCEuH/go-log"
)
var log = logging.Logger("blockservice")

View File

@ -7,7 +7,6 @@ import (
ds "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore"
dssync "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/sync"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
blocks "github.com/ipfs/go-ipfs/blocks"
blockstore "github.com/ipfs/go-ipfs/blocks/blockstore"
blocksutil "github.com/ipfs/go-ipfs/blocks/blocksutil"
@ -15,6 +14,7 @@ import (
. "github.com/ipfs/go-ipfs/blockservice"
offline "github.com/ipfs/go-ipfs/exchange/offline"
u "github.com/ipfs/go-ipfs/util"
"gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
func TestBlocks(t *testing.T) {

View File

@ -2,12 +2,17 @@ machine:
environment:
TEST_NO_FUSE: 1
TEST_VERBOSE: 1
TEST_NO_DOCKER: 1
TRAVIS: 1
CIRCLE: 1
IMPORT_PATH: "github.com/ipfs/go-ipfs"
GOPATH: "$HOME/.go_workspace"
post:
- sudo rm -rf /usr/local/go
- if [ ! -e go1.5.linux-amd64.tar.gz ]; then curl -o go1.5.linux-amd64.tar.gz https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz; fi
- sudo tar -C /usr/local -xzf go1.5.linux-amd64.tar.gz
- if [ ! -e go1.5.2.linux-amd64.tar.gz ]; then curl -o go1.5.2.linux-amd64.tar.gz https://storage.googleapis.com/golang/go1.5.2.linux-amd64.tar.gz; fi
- sudo tar -C /usr/local -xzf go1.5.2.linux-amd64.tar.gz
services:
- docker
@ -15,10 +20,21 @@ dependencies:
pre:
# setup ipv6
- sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=0 net.ipv6.conf.default.disable_ipv6=0 net.ipv6.conf.all.disable_ipv6=0
- go get -u github.com/whyrusleeping/gx
- go get -u github.com/whyrusleeping/gx-go
override:
- mkdir -p "$HOME/.go_workspace/src/$IMPORT_PATH"
- cp -a ./* "$HOME/.go_workspace/src/$IMPORT_PATH"
- gx --verbose install --global
cache_directories:
- ~/go1.5.linux-amd64.tar.gz
- ~/go1.5.2.linux-amd64.tar.gz
- "$HOME/.go_workspace/src/gx/ipfs"
test:
override:
- make test_go_expensive
- make test_sharness_expensive
- make test_go_expensive:
pwd: "../.go_workspace/src/$IMPORT_PATH"
- make test_sharness_expensive:
pwd: "../.go_workspace/src/$IMPORT_PATH"

View File

@ -1,9 +1,7 @@
all: install
commit = $(shell git rev-parse --short HEAD 2> /dev/null || echo unknown)
ldflags = "-X "github.com/ipfs/go-ipfs/repo/config".CurrentCommit=$(commit)"
build:
go build -ldflags=$(ldflags)
cd ../../ && make build
install: build
go install
install:
cd ../../ && make install

View File

@ -12,8 +12,8 @@ import (
"sync"
_ "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/codahale/metrics/runtime"
ma "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
"github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr-net"
ma "gx/ipfs/QmR3JkmZBKYXgNMNsNZawm914455Qof3PEopwuVSeXG7aV/go-multiaddr"
"gx/ipfs/QmYtzQmUwPFGxjCXctJ8e6GXS8sYfoXy2pdeMbS5SFWqRi/go-multiaddr-net"
cmds "github.com/ipfs/go-ipfs/commands"
"github.com/ipfs/go-ipfs/core"
@ -21,10 +21,10 @@ import (
corehttp "github.com/ipfs/go-ipfs/core/corehttp"
corerepo "github.com/ipfs/go-ipfs/core/corerepo"
"github.com/ipfs/go-ipfs/core/corerouting"
conn "github.com/ipfs/go-ipfs/p2p/net/conn"
peer "github.com/ipfs/go-ipfs/p2p/peer"
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
util "github.com/ipfs/go-ipfs/util"
conn "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/net/conn"
peer "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/peer"
)
const (

View File

@ -7,13 +7,13 @@ import (
"os"
"path"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
assets "github.com/ipfs/go-ipfs/assets"
cmds "github.com/ipfs/go-ipfs/commands"
core "github.com/ipfs/go-ipfs/core"
namesys "github.com/ipfs/go-ipfs/namesys"
config "github.com/ipfs/go-ipfs/repo/config"
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
const nBitsForKeypairDefault = 2048

View File

@ -17,10 +17,9 @@ import (
"syscall"
"time"
ma "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr"
manet "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/go-multiaddr-net"
ma "gx/ipfs/QmR3JkmZBKYXgNMNsNZawm914455Qof3PEopwuVSeXG7aV/go-multiaddr"
manet "gx/ipfs/QmYtzQmUwPFGxjCXctJ8e6GXS8sYfoXy2pdeMbS5SFWqRi/go-multiaddr-net"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
cmds "github.com/ipfs/go-ipfs/commands"
cmdsCli "github.com/ipfs/go-ipfs/commands/cli"
cmdsHttp "github.com/ipfs/go-ipfs/commands/http"
@ -30,7 +29,8 @@ import (
config "github.com/ipfs/go-ipfs/repo/config"
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
u "github.com/ipfs/go-ipfs/util"
logging "github.com/ipfs/go-ipfs/vendor/QmQg1J6vikuXF9oDvm4wpdeAUvvkVEKW1EYDw9HhTMnP2b/go-log"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
logging "gx/ipfs/Qmazh5oNUVsDZTs2g59rq8aYQqwpss8tcUWQzor5sCCEuH/go-log"
)
// log is the command logger

View File

@ -9,7 +9,6 @@ import (
process "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/goprocess"
homedir "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/mitchellh/go-homedir"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
fsnotify "github.com/ipfs/go-ipfs/Godeps/_workspace/src/gopkg.in/fsnotify.v1"
commands "github.com/ipfs/go-ipfs/commands"
core "github.com/ipfs/go-ipfs/core"
@ -17,6 +16,7 @@ import (
coreunix "github.com/ipfs/go-ipfs/core/coreunix"
config "github.com/ipfs/go-ipfs/repo/config"
fsrepo "github.com/ipfs/go-ipfs/repo/fsrepo"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
var http = flag.Bool("http", false, "expose IPFS HTTP API")

View File

@ -18,11 +18,11 @@ import (
"os/signal"
"syscall"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
ci "github.com/ipfs/go-ipfs/p2p/crypto"
secio "github.com/ipfs/go-ipfs/p2p/crypto/secio"
peer "github.com/ipfs/go-ipfs/p2p/peer"
logging "github.com/ipfs/go-ipfs/vendor/QmQg1J6vikuXF9oDvm4wpdeAUvvkVEKW1EYDw9HhTMnP2b/go-log"
ci "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/crypto"
secio "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/crypto/secio"
peer "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/peer"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
logging "gx/ipfs/Qmazh5oNUVsDZTs2g59rq8aYQqwpss8tcUWQzor5sCCEuH/go-log"
)
var verbose = false

View File

@ -5,7 +5,7 @@ import (
"io"
"os"
logging "github.com/ipfs/go-ipfs/vendor/QmQg1J6vikuXF9oDvm4wpdeAUvvkVEKW1EYDw9HhTMnP2b/go-log"
logging "gx/ipfs/Qmazh5oNUVsDZTs2g59rq8aYQqwpss8tcUWQzor5sCCEuH/go-log"
)
var log = logging.Logger("seccat")

View File

@ -15,7 +15,7 @@ import (
"reflect"
"github.com/ipfs/go-ipfs/path"
logging "github.com/ipfs/go-ipfs/vendor/QmQg1J6vikuXF9oDvm4wpdeAUvvkVEKW1EYDw9HhTMnP2b/go-log"
logging "gx/ipfs/Qmazh5oNUVsDZTs2g59rq8aYQqwpss8tcUWQzor5sCCEuH/go-log"
)
var log = logging.Logger("command")

View File

@ -15,7 +15,7 @@ import (
cmds "github.com/ipfs/go-ipfs/commands"
config "github.com/ipfs/go-ipfs/repo/config"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
const (

View File

@ -12,11 +12,11 @@ import (
"sync"
cors "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/rs/cors"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"github.com/ipfs/go-ipfs/repo/config"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
cmds "github.com/ipfs/go-ipfs/commands"
logging "github.com/ipfs/go-ipfs/vendor/QmQg1J6vikuXF9oDvm4wpdeAUvvkVEKW1EYDw9HhTMnP2b/go-log"
logging "gx/ipfs/Qmazh5oNUVsDZTs2g59rq8aYQqwpss8tcUWQzor5sCCEuH/go-log"
)
var log = logging.Logger("commands/http")

View File

@ -9,11 +9,11 @@ import (
"strconv"
"time"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
"github.com/ipfs/go-ipfs/commands/files"
"github.com/ipfs/go-ipfs/core"
"github.com/ipfs/go-ipfs/repo/config"
u "github.com/ipfs/go-ipfs/util"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
type OptMap map[string]interface{}

View File

@ -8,17 +8,17 @@ import (
"sync"
"time"
host "github.com/ipfs/go-ipfs/p2p/host"
inet "github.com/ipfs/go-ipfs/p2p/net"
peer "github.com/ipfs/go-ipfs/p2p/peer"
config "github.com/ipfs/go-ipfs/repo/config"
math2 "github.com/ipfs/go-ipfs/thirdparty/math2"
lgbl "github.com/ipfs/go-ipfs/util/eventlog/loggables"
host "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/host"
inet "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/net"
peer "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/peer"
goprocess "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/goprocess"
procctx "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/goprocess/context"
periodicproc "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/goprocess/periodic"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
// ErrNotEnoughBootstrapPeers signals that we do not have enough bootstrap

View File

@ -4,9 +4,9 @@ import (
"fmt"
"testing"
peer "github.com/ipfs/go-ipfs/p2p/peer"
config "github.com/ipfs/go-ipfs/repo/config"
testutil "github.com/ipfs/go-ipfs/util/testutil"
peer "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/peer"
)
func TestSubsetWhenMaxIsGreaterThanLengthOfSlice(t *testing.T) {

View File

@ -8,18 +8,18 @@ import (
ds "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore"
dsync "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/ipfs/go-datastore/sync"
goprocessctx "github.com/ipfs/go-ipfs/Godeps/_workspace/src/github.com/jbenet/goprocess/context"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
bstore "github.com/ipfs/go-ipfs/blocks/blockstore"
key "github.com/ipfs/go-ipfs/blocks/key"
bserv "github.com/ipfs/go-ipfs/blockservice"
offline "github.com/ipfs/go-ipfs/exchange/offline"
dag "github.com/ipfs/go-ipfs/merkledag"
ci "github.com/ipfs/go-ipfs/p2p/crypto"
peer "github.com/ipfs/go-ipfs/p2p/peer"
path "github.com/ipfs/go-ipfs/path"
pin "github.com/ipfs/go-ipfs/pin"
repo "github.com/ipfs/go-ipfs/repo"
cfg "github.com/ipfs/go-ipfs/repo/config"
ci "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/crypto"
peer "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/peer"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
type BuildCfg struct {

View File

@ -10,8 +10,8 @@ import (
key "github.com/ipfs/go-ipfs/blocks/key"
cmds "github.com/ipfs/go-ipfs/commands"
bitswap "github.com/ipfs/go-ipfs/exchange/bitswap"
peer "github.com/ipfs/go-ipfs/p2p/peer"
u "github.com/ipfs/go-ipfs/util"
peer "gx/ipfs/QmUBogf4nUefBjmYjn6jfsfPJRkmDGSeMhNj4usRKq69f4/go-libp2p/p2p/peer"
)
var BitswapCmd = &cmds.Command{

View File

@ -8,7 +8,7 @@ import (
"github.com/ipfs/go-ipfs/core/corerepo"
coreunix "github.com/ipfs/go-ipfs/core/coreunix"
context "github.com/ipfs/go-ipfs/Godeps/_workspace/src/golang.org/x/net/context"
context "gx/ipfs/QmZy2y8t9zQH2a1b8q2ZSLKp17ATuJoCNxxyMFG5qFExpt/go-net/context"
)
const progressBarMinSize = 1024 * 1024 * 8 // show progress bar for outputs > 8MiB

Some files were not shown because too many files have changed in this diff Show More