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"
build-erasure:
@$(MAKE) $(MAKE_OPTIONS) -C pkgs/erasure/isal lib
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkgs/erasure
@$(MAKE) $(MAKE_OPTIONS) -C pkg/erasure/isal lib
@godep go test -race -coverprofile=cover.out github.com/minio-io/minio/pkg/erasure
build-signify:
@$(MAKE) $(MAKE_OPTIONS) -C pkgs/signify
@$(MAKE) $(MAKE_OPTIONS) -C pkg/signify
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:
@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/pkgs/crypto/md5c/
@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/pkg/crypto/md5c/
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:
@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:
@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:
@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:
@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
@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:
@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-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:
@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
@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
@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"
save: restore

@ -1,38 +1,21 @@
## 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's design is inspired by Amazon's S3 for its API and Facebook's Haystack for its immutable data structure.
### Install BUILD dependencies
[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
```
### Download
### 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 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
```
-- No releases have been made yet --
### Join Community
* [Howto Contribute](./CONTRIB.md)
* [![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)
* IRC join channel #minio @ irc.freenode.net
* 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)

@ -1,5 +1,26 @@
#!/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.. "
## Check all dependencies are present
@ -28,4 +49,4 @@ if [ "x${MISSING}" != "x" ]; then
echo
exit 1
fi
echo "SUCCESS"
echo "Done"

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

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

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

@ -9,7 +9,7 @@ import (
"text/template"
"time"
"github.com/minio-io/minio/pkgs/utils"
"github.com/minio-io/minio/pkg/utils"
)
type source struct {
@ -19,7 +19,7 @@ type source struct {
const (
// 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 {

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

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

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

Loading…
Cancel
Save