mirror of
https://github.com/minio/minio.git
synced 2025-01-23 04:33:15 -05:00
Add simple FreeBSD support, make the minio project compilable
This commit is contained in:
parent
1b0bc814c4
commit
663f24064b
10
Makefile
10
Makefile
@ -19,10 +19,14 @@ endif
|
|||||||
ifeq ($(CPU), x86_64)
|
ifeq ($(CPU), x86_64)
|
||||||
HOST := $(HOST)64
|
HOST := $(HOST)64
|
||||||
else
|
else
|
||||||
|
ifeq ($(CPU), amd64)
|
||||||
|
HOST := $(HOST)64
|
||||||
|
else
|
||||||
ifeq ($(CPU), i686)
|
ifeq ($(CPU), i686)
|
||||||
HOST := $(HOST)32
|
HOST := $(HOST)32
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
#############################################
|
#############################################
|
||||||
@ -41,6 +45,10 @@ ifndef (OS)
|
|||||||
else
|
else
|
||||||
ifeq ($(HOST), Darwin32)
|
ifeq ($(HOST), Darwin32)
|
||||||
arch = clang
|
arch = clang
|
||||||
|
else
|
||||||
|
ifeq ($(HOST), FreeBSD64)
|
||||||
|
arch = gcc
|
||||||
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
endif
|
endif
|
||||||
@ -84,7 +92,7 @@ isa-l:
|
|||||||
|
|
||||||
@echo "Configuring $@:"
|
@echo "Configuring $@:"
|
||||||
@git clone -q https://github.com/minio/isa-l.git
|
@git clone -q https://github.com/minio/isa-l.git
|
||||||
@cd isa-l; make -f Makefile.unx arch=$(arch) >/dev/null; mv include isa-l;
|
@cd isa-l; ${MAKE} -f Makefile.unx arch=$(arch) >/dev/null; mv include isa-l;
|
||||||
|
|
||||||
lint:
|
lint:
|
||||||
@echo "Running $@:"
|
@echo "Running $@:"
|
||||||
|
@ -141,6 +141,9 @@ is_supported_os() {
|
|||||||
"Linux")
|
"Linux")
|
||||||
os="linux"
|
os="linux"
|
||||||
;;
|
;;
|
||||||
|
"FreeBSD")
|
||||||
|
os="freebsd"
|
||||||
|
;;
|
||||||
"Darwin")
|
"Darwin")
|
||||||
osx_host_version=$(env sw_vers -productVersion)
|
osx_host_version=$(env sw_vers -productVersion)
|
||||||
check_version "${osx_host_version}" "${OSX_VERSION}"
|
check_version "${osx_host_version}" "${OSX_VERSION}"
|
||||||
@ -155,7 +158,7 @@ is_supported_os() {
|
|||||||
is_supported_arch() {
|
is_supported_arch() {
|
||||||
local supported
|
local supported
|
||||||
case ${UNAME##* } in
|
case ${UNAME##* } in
|
||||||
"x86_64")
|
"x86_64" | "amd64")
|
||||||
supported=1
|
supported=1
|
||||||
;;
|
;;
|
||||||
"arm"*)
|
"arm"*)
|
||||||
|
@ -19,8 +19,8 @@ _init() {
|
|||||||
|
|
||||||
shopt -s extglob
|
shopt -s extglob
|
||||||
|
|
||||||
PWD=$(pwd)
|
PWD=$(pwd -P)
|
||||||
GOPATH=$(go env GOPATH)
|
GOPATH=$(cd "$(go env GOPATH)" ; env pwd -P)
|
||||||
}
|
}
|
||||||
|
|
||||||
main() {
|
main() {
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// +build darwin windows 386 arm !cgo
|
// +build freebsd darwin windows 386 arm !cgo
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Minio Cloud Storage, (C) 2014-2016 Minio, Inc.
|
* Minio Cloud Storage, (C) 2014-2016 Minio, Inc.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
// +build darwin windows 386 arm !cgo
|
// +build freebsd darwin windows 386 arm !cgo
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Minio Cloud Storage, (C) 2014-2016 Minio, Inc.
|
* Minio Cloud Storage, (C) 2014-2016 Minio, Inc.
|
||||||
|
44
pkg/disk/type_unix.go
Normal file
44
pkg/disk/type_unix.go
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
// +build freebsd
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Minio Cloud Storage, (C) 2015 Minio, Inc.
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
package disk
|
||||||
|
|
||||||
|
import (
|
||||||
|
"strconv"
|
||||||
|
"syscall"
|
||||||
|
)
|
||||||
|
|
||||||
|
// fsType2StringMap - list of filesystems supported by donut on linux
|
||||||
|
var fsType2StringMap = map[string]string{
|
||||||
|
"35": "UFS",
|
||||||
|
}
|
||||||
|
|
||||||
|
// getFSType returns the filesystem type of the underlying mounted filesystem
|
||||||
|
func getFSType(path string) (string, error) {
|
||||||
|
s := syscall.Statfs_t{}
|
||||||
|
err := syscall.Statfs(path, &s)
|
||||||
|
if err != nil {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
fsTypeHex := strconv.FormatInt(int64(s.Type), 16)
|
||||||
|
fsTypeString, ok := fsType2StringMap[fsTypeHex]
|
||||||
|
if ok == false {
|
||||||
|
return "UNKNOWN", nil
|
||||||
|
}
|
||||||
|
return fsTypeString, nil
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user