mirror of
https://github.com/project-zot/zot.git
synced 2026-06-17 21:17:58 +08:00
Fix building zot natively on FreeBSD (#3247)
fix: allow zot to build on a FreeBSD host (#3246) The build works as long as the protoc package is installed on the build host. This also fixes lint checks when building on FreeBSD, working around common lint complaints caused by the fact that rlim_t is int64 on FreeBSD. Signed-off-by: Doug Rabson <dfr@rabson.org>
This commit is contained in:
@@ -123,7 +123,7 @@ build-metadata: $(if $(findstring ui,$(BUILD_LABELS)), ui)
|
||||
go list $(GO_CMD_TAGS) -f '{{ join .GoFiles "\n" }}' ./... | sort -u
|
||||
|
||||
.PHONY: gen-protobuf
|
||||
gen-protobuf: check-not-freebds $(PROTOC)
|
||||
gen-protobuf: $(PROTOC)
|
||||
$(PROTOC) --experimental_allow_proto3_optional \
|
||||
--proto_path=$(TOP_LEVEL)/pkg/meta/proto \
|
||||
--go_out=$(TOP_LEVEL)/pkg/meta/proto \
|
||||
@@ -612,12 +612,6 @@ ifneq ($(shell go env GOOS),linux)
|
||||
$(error makefile target can be run only on linux)
|
||||
endif
|
||||
|
||||
.PHONY: check-not-freebds
|
||||
check-not-freebds:
|
||||
ifeq ($(shell go env GOOS),freebsd)
|
||||
$(error makefile target can't be run on freebsd)
|
||||
endif
|
||||
|
||||
.PHONY: check-compatibility
|
||||
check-compatibility:
|
||||
ifeq ($(OS),freebsd)
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ func DumpRuntimeParams(log log.Logger) {
|
||||
|
||||
err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit)
|
||||
if err == nil {
|
||||
evt = evt.Uint64("max. open files", uint64(rLimit.Cur)) //nolint: unconvert // required for *BSD
|
||||
evt = evt.Uint64("max. open files", uint64(rLimit.Cur)) //nolint: unconvert,gosec // required for *BSD
|
||||
}
|
||||
|
||||
if content, err := os.ReadFile("/proc/sys/net/core/somaxconn"); err == nil {
|
||||
|
||||
@@ -193,7 +193,7 @@ func worker(id int, zotPort, rootDir string) {
|
||||
}
|
||||
}
|
||||
|
||||
func setMaxOpenFilesLimit(limit uint64) (uint64, error) {
|
||||
func setMaxOpenFilesLimit(limit test.RlimT) (test.RlimT, error) {
|
||||
var rLimit syscall.Rlimit
|
||||
|
||||
err := syscall.Getrlimit(syscall.RLIMIT_NOFILE, &rLimit)
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
package common
|
||||
|
||||
type RlimT = int64
|
||||
@@ -0,0 +1,3 @@
|
||||
package common
|
||||
|
||||
type RlimT = uint64
|
||||
Reference in New Issue
Block a user