A full restructure

master
Harshavardhana 10 years ago
parent bdc4c3ebe7
commit 6b36b5c551
  1. 0
      BUILDDEPS.md
  2. 17
      CONTRIB.md
  3. 40
      DEVELOPER.md
  4. 34
      Makefile
  5. 35
      README.md
  6. 23
      checkdeps.sh
  7. 8
      cmd/crypto/crypto-options.go
  8. 2
      cmd/minio/common.go
  9. 4
      cmd/minio/erasure.go
  10. 0
      cmd/new-cmd/.gitignore
  11. 0
      cmd/new-cmd/README.md
  12. 0
      cmd/new-cmd/formatter.go
  13. 4
      cmd/new-cmd/minio-cli.go
  14. 0
      cmd/new-cmd/templates/README.tmpl
  15. 0
      cmd/new-cmd/templates/main.tmpl
  16. 0
      cmd/new-cmd/templates/options.tmpl
  17. 2
      isal
  18. 0
      pkg/checksum/crc32c/Makefile
  19. 0
      pkg/checksum/crc32c/asm.S
  20. 0
      pkg/checksum/crc32c/crc32c.go
  21. 0
      pkg/checksum/crc32c/crc32c_amd64.S
  22. 0
      pkg/checksum/crc32c/crc32c_test.go
  23. 0
      pkg/checksum/crc32c/doc.go
  24. 0
      pkg/cpu/Makefile
  25. 0
      pkg/cpu/cpu.go
  26. 0
      pkg/cpu/cpu.h
  27. 0
      pkg/cpu/cpu_amd64.S
  28. 0
      pkg/cpu/cpu_test.go
  29. 0
      pkg/cpu/doc.go
  30. 0
      pkg/crypto/md5/md5.go
  31. 0
      pkg/crypto/md5/md5_test.go
  32. 0
      pkg/crypto/md5c/md5.c
  33. 0
      pkg/crypto/md5c/md5.h
  34. 0
      pkg/crypto/md5c/md5_test.go
  35. 0
      pkg/crypto/md5c/md5c.go
  36. 0
      pkg/crypto/sha1/asm.S
  37. 2
      pkg/crypto/sha1/sha1.go
  38. 0
      pkg/crypto/sha1/sha1_amd64.S
  39. 0
      pkg/crypto/sha1/sha1_test.go
  40. 0
      pkg/crypto/sha256/TODO
  41. 0
      pkg/crypto/sha256/asm.S
  42. 0
      pkg/crypto/sha256/sha256-avx-asm.S
  43. 0
      pkg/crypto/sha256/sha256-avx2-asm.S
  44. 0
      pkg/crypto/sha256/sha256-ssse3-asm.S
  45. 0
      pkg/crypto/sha256/sha256.go
  46. 0
      pkg/crypto/sha256/sha256_test.go
  47. 0
      pkg/crypto/sha512/TODO
  48. 0
      pkg/crypto/sha512/asm.S
  49. 0
      pkg/crypto/sha512/sha512-avx-asm.S
  50. 0
      pkg/crypto/sha512/sha512-avx2-asm.S
  51. 0
      pkg/crypto/sha512/sha512-ssse3-asm.S
  52. 0
      pkg/crypto/sha512/sha512.go
  53. 0
      pkg/crypto/sha512/sha512_test.go
  54. 0
      pkg/erasure/.gitignore
  55. 0
      pkg/erasure/Makefile
  56. 0
      pkg/erasure/cauchy_test.go
  57. 0
      pkg/erasure/common.h
  58. 0
      pkg/erasure/ctypes.go
  59. 0
      pkg/erasure/decode.c
  60. 0
      pkg/erasure/decode.go
  61. 0
      pkg/erasure/doc.go
  62. 0
      pkg/erasure/encode.c
  63. 0
      pkg/erasure/encode.go
  64. 0
      pkg/erasure/isal/.gitignore
  65. 0
      pkg/erasure/isal/LICENSE
  66. 0
      pkg/erasure/isal/LICENSE.INTEL
  67. 0
      pkg/erasure/isal/Makefile
  68. 0
      pkg/erasure/isal/Makefile.nmake
  69. 0
      pkg/erasure/isal/README.md
  70. 0
      pkg/erasure/isal/RELEASE-NOTES.INTEL
  71. 0
      pkg/erasure/isal/docs/isa-l_open_src_2.10.pdf
  72. 0
      pkg/erasure/isal/include/ec-base.h
  73. 0
      pkg/erasure/isal/include/erasure-code.h
  74. 0
      pkg/erasure/isal/include/erasure/tests.h
  75. 0
      pkg/erasure/isal/include/erasure/types.h
  76. 0
      pkg/erasure/isal/include/gf-vect-mul.h
  77. 0
      pkg/erasure/isal/include/reg-sizes.asm
  78. 0
      pkg/erasure/isal/make.inc
  79. 0
      pkg/erasure/isal/src/Makefile
  80. 0
      pkg/erasure/isal/src/ec-base.c
  81. 0
      pkg/erasure/isal/src/ec-highlevel-func.c
  82. 0
      pkg/erasure/isal/src/ec-multibinary.asm
  83. 0
      pkg/erasure/isal/src/erasure-code-base-perf.c
  84. 0
      pkg/erasure/isal/src/erasure-code-base-test.c
  85. 0
      pkg/erasure/isal/src/erasure-code-perf.c
  86. 0
      pkg/erasure/isal/src/erasure-code-sse-perf.c
  87. 0
      pkg/erasure/isal/src/erasure-code-sse-test.c
  88. 0
      pkg/erasure/isal/src/erasure-code-test.c
  89. 0
      pkg/erasure/isal/src/gf-2vect-dot-prod-avx.asm
  90. 0
      pkg/erasure/isal/src/gf-2vect-dot-prod-avx2.asm
  91. 0
      pkg/erasure/isal/src/gf-2vect-dot-prod-sse-perf.c
  92. 0
      pkg/erasure/isal/src/gf-2vect-dot-prod-sse-test.c
  93. 0
      pkg/erasure/isal/src/gf-2vect-dot-prod-sse.asm
  94. 0
      pkg/erasure/isal/src/gf-3vect-dot-prod-avx.asm
  95. 0
      pkg/erasure/isal/src/gf-3vect-dot-prod-avx2.asm
  96. 0
      pkg/erasure/isal/src/gf-3vect-dot-prod-sse-perf.c
  97. 0
      pkg/erasure/isal/src/gf-3vect-dot-prod-sse-test.c
  98. 0
      pkg/erasure/isal/src/gf-3vect-dot-prod-sse.asm
  99. 0
      pkg/erasure/isal/src/gf-4vect-dot-prod-avx.asm
  100. 0
      pkg/erasure/isal/src/gf-4vect-dot-prod-avx2.asm
  101. Some files were not shown because too many files have changed in this diff Show More

@ -1,17 +0,0 @@
### Contribution Guidelines
We welcome your contributions. To make the process as seamless as possible, we ask for the following:
* Go ahead and fork the project and make your changes. We encourage pull requests to discuss code changes.
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request
* If you have additional dependencies for ``minio``, ``minio`` manages its depedencies using [godep](https://github.com/tools/godep)
- Run `go get foo/bar`
- Edit your code to import foo/bar
- Run `make save` from top-level directory (or `godep restore && godep save ./...`).
* When you're ready to create a pull request, be sure to:
- Have test cases for the new code. If you have questions about how to do it, please ask in your pull request.
- Run go fmt
- Squash your commits into a single commit. git rebase -i. It's okay to force update your pull request.
- Make sure go test -race ./... passes, and go build completes.

@ -0,0 +1,40 @@
### Setup your Minio Github Repository
Fork [Minio upstream](https://github.com/Minio-io/minio/fork) source repository to your own personal repository. Copy the URL and pass it to ``go get`` command. Go uses git to clone a copy into your project workspace folder.
```sh
$ git clone https://github.com/$USER_ID/minio
$ cd minio
$ mkdir -p ${GOPATH}/src/github.com/minio-io
$ ln -s ${PWD} $GOPATH/src/github.com/minio-io/
```
### Compiling Minio from source
Minio uses ``Makefile`` to wrap around some of the limitations of ``go build``. To compile Minio source, simply change to your workspace folder and type ``make``.
```sh
$ cd $GOPATH/src/github.com/$USER_ID/minio/
$ make
Checking if proper environment variables are set.. Done
...
Checking dependencies for Minio.. Done
...
...
Installed minio into /home/userid/work/minio/gopath/bin
Installed new-cmd into /home/userid/work/minio/gopath/bin
```
### Developer Guidelines
``minio`` community welcomes your contribution. To make the process as seamless as possible, we ask for the following:
* Go ahead and fork the project and make your changes. We encourage pull requests to discuss code changes.
- Fork it
- Create your feature branch (git checkout -b my-new-feature)
- Commit your changes (git commit -am 'Add some feature')
- Push to the branch (git push origin my-new-feature)
- Create new Pull Request
* If you have additional dependencies for ``minio``, ``minio`` manages its depedencies using [godep](https://github.com/tools/godep)
- Run `go get foo/bar`
- Edit your code to import foo/bar
- Run `make save` from top-level directory (or `godep restore && godep save ./...`).
* When you're ready to create a pull request, be sure to:
- Have test cases for the new code. If you have questions about how to do it, please ask in your pull request.
- Run go fmt
- Squash your commits into a single commit. git rebase -i. It's okay to force update your pull request.
- Make sure go test -race ./... passes, and go build completes.

@ -11,54 +11,54 @@ getdeps: checkdeps
@go get golang.org/x/tools/cmd/cover && echo "Installed cover" @go get golang.org/x/tools/cmd/cover && echo "Installed cover"
build-erasure: build-erasure:
@$(MAKE) $(MAKE_OPTIONS) -C pkgs/erasure/isal lib @$(MAKE) $(MAKE_OPTIONS) -C pkg/erasure/isal lib
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/erasure @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/erasure
build-signify: build-signify:
@$(MAKE) $(MAKE_OPTIONS) -C pkgs/signify @$(MAKE) $(MAKE_OPTIONS) -C pkg/signify
build-cpu: build-cpu:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/cpu @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/cpu
build-md5: build-md5:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/crypto/md5/ @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/crypto/md5/
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/crypto/md5c/ @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/crypto/md5c/
build-sha1: build-sha1:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/crypto/sha1/ @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/crypto/sha1/
build-sha256: build-sha256:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/crypto/sha256/ @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/crypto/sha256/
build-sha512: build-sha512:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/crypto/sha512/ @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/crypto/sha512/
build-crc32c: build-crc32c:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/checksum/crc32c @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/checksum/crc32c
build-scsi: build-scsi:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/scsi @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/scsi
build-split: build-strbyteconv build-split: build-strbyteconv
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/split @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/split
build-strbyteconv: build-strbyteconv:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/strbyteconv @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/strbyteconv
build-storage: build-storage-append build-storage-encoded build-storage: build-storage-append build-storage-encoded
build-storage-append: build-storage-append:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/storage/appendstorage @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/storage/appendstorage
build-storage-encoded: build-storage-encoded:
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/storage/encodedstorage @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/storage/encodedstorage
cover: build-erasure build-signify build-split build-crc32c build-cpu build-scsi build-storage build-md5 build-sha1 build-sha256 build-sha512 cover: build-erasure build-signify build-split build-crc32c build-cpu build-scsi build-storage build-md5 build-sha1 build-sha256 build-sha512
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/gateway @godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/gateway
install: build-erasure install: build-erasure
@godep go install github.com/minio-io/minio/cmd/minio && echo "Installed minio into ${GOPATH}/bin" @godep go install github.com/minio-io/minio/cmd/minio && echo "Installed minio into ${GOPATH}/bin"
@godep go install github.com/minio-io/minio/cmd/minio-cli && echo "Installed minio-cli into ${GOPATH}/bin" @godep go install github.com/minio-io/minio/cmd/new-cmd && echo "Installed new-cmd into ${GOPATH}/bin"
@godep go install github.com/minio-io/minio/cmd/crypto && echo "Installed crypto into ${GOPATH}/bin" @godep go install github.com/minio-io/minio/cmd/crypto && echo "Installed crypto into ${GOPATH}/bin"
save: restore save: restore

@ -1,38 +1,21 @@
## Introduction ## Introduction
[![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Minio-io/minio?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
Minio is an open source object storage released under [Apache license v2](./LICENSE) . It uses ``Rubberband Erasure`` coding to dynamically protect the data. Minio is an open source object storage released under [Apache license v2](./LICENSE) . It uses ``Rubberband Erasure`` coding to dynamically protect the data.
Minio's design is inspired by Amazon's S3 for its API and Facebook's Haystack for its immutable data structure. Minio's design is inspired by Amazon's S3 for its API and Facebook's Haystack for its immutable data structure.
### Install BUILD dependencies ### Download
[Build Dependencies](./DEVELOPERS.md)
### Setup your Minio Github Repository
Fork [Minio upstream](https://github.com/Minio-io/minio/fork) source repository to your own personal repository. Copy the URL and pass it to ``go get`` command. Go uses git to clone a copy into your project workspace folder.
```sh
$ go get -u github.com/$USER_ID/minio
$ cd $GOPATH/src/github.com/$USER_ID/minio/
$ git remote add upstream https://github.com/Minio-io/minio.git
```
### Compiling Minio from source -- No releases have been made yet --
Minio uses ``Makefile`` to wrap around some of the limitations of ``go build``. To compile Minio source, simply change to your workspace folder and type ``make``.
```sh
$ cd $GOPATH/src/github.com/$USER_ID/minio/
$ make
Checking dependencies for Minio.. SUCCESS
...
...
Installed minio into /home/harsha/.gvm/pkgsets/go1.4/global/bin
Installed minio-cli into /home/harsha/.gvm/pkgsets/go1.4/global/bin
```
### Join Community ### Join Community
* [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Minio-io/minio?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
* [Howto Contribute](./CONTRIB.md)
* IRC join channel #minio @ irc.freenode.net * IRC join channel #minio @ irc.freenode.net
* Google Groups - minio-dev@googlegroups.com * Google Groups - minio-dev@googlegroups.com
### Developers
* [Get Source](./DEVELOPER.md)
* [Build Dependencies](./BUILDDEPS.md)
* [Development Workflow](./DEVELOPER.md#developer-guidelines)
[![Analytics](https://ga-beacon.appspot.com/UA-56860620-3/minio/readme)](https://github.com/igrigorik/ga-beacon) [![Analytics](https://ga-beacon.appspot.com/UA-56860620-3/minio/readme)](https://github.com/igrigorik/ga-beacon)

@ -1,5 +1,26 @@
#!/bin/sh #!/bin/sh
echo -n "Checking if proper environment variables are set.. "
echo ${GOROOT:?} 2>&1 >/dev/null
if [ $? -eq 1 ]; then
echo "ERROR"
echo "GOROOT environment variable missing, please refer to Go installation document"
echo "https://github.com/Minio-io/minio/blob/master/BUILDDEPS.md#install-go-13"
exit 1
fi
echo ${GOPATH:?} 2>&1 >/dev/null
if [ $? -eq 1 ]; then
echo "ERROR"
echo "GOPATH environment variable missing, please refer to Go installation document"
echo "https://github.com/Minio-io/minio/blob/master/BUILDDEPS.md#install-go-13"
exit 1
fi
echo "Done"
echo "Using GOPATH=${GOPATH} and GOROOT=${GOROOT}"
echo -n "Checking dependencies for Minio.. " echo -n "Checking dependencies for Minio.. "
## Check all dependencies are present ## Check all dependencies are present
@ -28,4 +49,4 @@ if [ "x${MISSING}" != "x" ]; then
echo echo
exit 1 exit 1
fi fi
echo "SUCCESS" echo "Done"

@ -25,10 +25,10 @@ import (
"os" "os"
"github.com/codegangsta/cli" "github.com/codegangsta/cli"
"github.com/minio-io/minio/pkgs/crypto/md5" "github.com/minio-io/minio/pkg/crypto/md5"
"github.com/minio-io/minio/pkgs/crypto/sha1" "github.com/minio-io/minio/pkg/crypto/sha1"
"github.com/minio-io/minio/pkgs/crypto/sha256" "github.com/minio-io/minio/pkg/crypto/sha256"
"github.com/minio-io/minio/pkgs/crypto/sha512" "github.com/minio-io/minio/pkg/crypto/sha512"
) )
var Options = []cli.Command{ var Options = []cli.Command{

@ -10,7 +10,7 @@ import (
"strings" "strings"
"github.com/codegangsta/cli" "github.com/codegangsta/cli"
"github.com/minio-io/minio/pkgs/strbyteconv" "github.com/minio-io/minio/pkg/strbyteconv"
) )
// config representing cli input // config representing cli input

@ -6,8 +6,8 @@ import (
"io" "io"
"os" "os"
"github.com/minio-io/minio/pkgs/storage" "github.com/minio-io/minio/pkg/storage"
es "github.com/minio-io/minio/pkgs/storage/encodedstorage" es "github.com/minio-io/minio/pkg/storage/encodedstorage"
) )
func erasureGetList(config inputConfig, objectPath string) (io.Reader, error) { func erasureGetList(config inputConfig, objectPath string) (io.Reader, error) {

@ -9,7 +9,7 @@ import (
"text/template" "text/template"
"time" "time"
"github.com/minio-io/minio/pkgs/utils" "github.com/minio-io/minio/pkg/utils"
) )
type source struct { type source struct {
@ -19,7 +19,7 @@ type source struct {
const ( const (
// Relative path from GOPATH default // Relative path from GOPATH default
TEMPLATEREPO = "/src/github.com/minio-io/minio/templates/" TEMPLATEREPO = "/src/github.com/minio-io/minio/cmd/minio-cli/templates/"
) )
type option struct { type option struct {

@ -1 +1 @@
pkgs/erasure/isal pkg/erasure/isal

@ -28,7 +28,7 @@ import (
"io" "io"
"unsafe" "unsafe"
"github.com/minio-io/minio/pkgs/cpu" "github.com/minio-io/minio/pkg/cpu"
) )
const ( const (

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

Loading…
Cancel
Save