%define gobuild(o:) go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/generic-hardened-ld '" -a -v -x %{?**}; Name: opentofu Version: 1.6.2 Release: 1 Summary: OpenTofu lets you declaratively manage your cloud infrastructure License: 0BSD AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND MIT AND MPL-2.0 URL: https://github.com/opentofu/opentofu Source0: https://github.com/opentofu/opentofu/archive/refs/tags/v%{version}.tar.gz Source1: %{name}-%{version}-vendor.tar.gz BuildRequires: golang >= 1.20 %description OpenTofu is an OSS tool for building, changing, and versioning infrastructure safely and efficiently. OpenTofu can manage existing and popular service providers as well as custom in-house solutions. %prep %autosetup -n %{name}-%{version} -p1 -b1 %build export LDFLAGS="-X github.com/opentofu/opentofu/version.dev=no" %gobuild -o bin/tofu ./cmd/tofu %install install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp bin/* %{buildroot}%{_bindir}/ %if %{with check} %check for test in "TestResourceProvider_ApplyCustomWorkingDirectory" "TestGet_cancel" \ "TestInit_cancelModules" \ ; do awk -i inplace '/^func.*'"$test"'\(/ { print; print "\tt.Skip(\"disabled failing test\")"; next}1' $(grep -rl $test) done %gocheck %endif %files %license LICENSE %{?with_vendor:vendor/modules.txt} %doc docs BUILDING.md CODE_OF_CONDUCT.md DEBUGGING.md MIGRATION_GUIDE.md %doc SECURITY.md README.md CHANGELOG.md CONTRIBUTING.md TSC_SUMMARY.md %doc WEEKLY_UPDATES.md %{_bindir}/tofu %changelog * Tue Mar 05 2024 lijian - 1.6.2-1 - Initial package