%define debug_package %nil %define oname mc %define rel 2024-10-02T08-27-28Z %define ver RELEASE %define commit 060b0762fb17e26829fdcc5b43e42fdc437aeefc %define shortcommit %(c=%{commit}; echo ${c:0:12}) %define secscan 1 Name: minio-client Version: 20241002 Release: 1 Summary: MinIO client License: ASL 2.0 URL: https://min.io Source0: https://github.com/minio/mc/archive/RELEASE.%{rel}/%{oname}-%{ver}.%{rel}.tar.gz Group: Development/Other BuildRequires: golang >= 1.13 BuildRequires: git-core BuildRequires: upx %if %{secscan} BuildRequires: clamav BuildRequires: trivy %endif %description MinIO Client is a replacement for ls, cp, mkdir, diff and rsync commands for filesystems and object storage. %prep %setup -qn %{oname}-RELEASE.%{rel} %if %{secscan} clamscan -ir . trivy fs --scanners vuln --format cosign-vuln . %endif %build export GOPROXY=direct #make BUILD_LDFLAGS="-X cmd.Version=RELEASE.%{rel}" GO111MODULE=on CGO_ENABLED=0 go build -trimpath -tags kqueue \ -ldflags="-s -w \ -X github.com/minio/mc/cmd.Version=%{ver} \ -X github.com/minio/mc/cmd.ReleaseTag=%{ver}.%{rel} \ -X github.com/minio/mc/cmd.CommitID=%{commit} \ -X github.com/minio/mc/cmd.ShortCommitID=%{shortcommit}" \ -o bin/%{name} upx bin/%{name} %install install -Dm0755 bin/%{name} %{buildroot}%{_bindir}/%{name} %files %doc README.md LICENSE %{_bindir}/%{name} %check export GOPROXY=direct go test ./... %if %{secscan} clamscan -ir %{buildroot} %endif