~ajhalili2006/ppa

67c23b19b7c16ddae45955ce213c7f756bf4eccf — Andrei Jiroh Halili 5 months ago dd172c2
feat(alpine/testing/terraform): recover package from upstream commit history

This commit is where I also bumped the version to v1.6.5 from upstream.

Removed from aports in https://gitlab.alpinelinux.org/alpine/aports/-/commit/234ade565c59592259d65fdb8909eaccf46be3bc due
to legal issues per https://gitlab.alpinelinux.org/alpine/aports/-/issues/15193. I only checked in
the package recipe for Terraform so I could still
use it in Alpine while planning about the transition to OpenTofu
or to Plumi in near future for my IaaC repo.

Signed-off-by: Andrei Jiroh Halili <ajhalili2006@andreijiroh.eu.org>
A alpine/testing/terraform/APKBUILD => alpine/testing/terraform/APKBUILD +50 -0
@@ 0,0 1,50 @@
# Contributor: Andrei Jiroh Eugenio Halili <ajhalili2006@andreijiroh.eu.org>
# Maintainer: Andrei Jiroh Eugenio Halili <ajhalili2006@andreijiroh.eu.org>
pkgname=terraform
pkgver=1.6.5
pkgrel=0
pkgdesc="Building, changing and combining infrastructure safely and efficiently"
url="https://www.terraform.io"
arch="all"
license="BUSL-1.0"
subpackages="$pkgname-dev $pkgname-doc"
source="https://github.com/hashicorp/terraform/archive/v$pkgver/terraform-$pkgver.tar.gz"
makedepends="go"
checkdepends="openssh-client"
source="
	$pkgname-$pkgver.tar.gz::https://github.com/hashicorp/terraform/archive/refs/tags/v$pkgver.tar.gz
	test-skip-test-mtlsserver-nocertfails.patch
	"
options="net"

export GOCACHE="${GOCACHE:-"$srcdir/go-cache"}"
export GOTMPDIR="${GOTMPDIR:-"$srcdir"}"
export GOMODCACHE="${GOMODCACHE:-"$srcdir/go"}"
export GOFLAGS="$GOFLAGS -modcacherw"

build() {
	go build -v -o bin/$pkgname \
		-ldflags "-X main.GitCommit=v$pkgver -X github.com/hashicorp/terraform/version.Prerelease="
}

check() {
	case "$CARCH" in
	arm*|x86)
		go list . | xargs -t -n4 \
			go test -timeout=2m -parallel=4
		;;
	*)
		go test ./...
		;;
	esac
	bin/$pkgname -v
}

package() {
	install -Dm755 "$builddir"/bin/$pkgname -t "$pkgdir"/usr/bin
}

sha512sums="
588b00bc86905021d5efb41ba62306c2a41c9cd2225fb1aeb956a7845be15d6aa3c7d0365e3b779ea7da415a562094ba091e6a4644add72ba3abe169f3a7d36a  terraform-1.6.5.tar.gz
d1862dfcd4f3e1e176baa255af664f891b1d6114de24546463f6a799220245a523d9643192efc05575aab41cd1dd72190d9bb5204eb03190043f5ef4f4471f7a  test-skip-test-mtlsserver-nocertfails.patch
"

A alpine/testing/terraform/test-skip-test-mtlsserver-nocertfails.patch => alpine/testing/terraform/test-skip-test-mtlsserver-nocertfails.patch +12 -0
@@ 0,0 1,12 @@
diff --git a/internal/backend/remote-state/http/server_test.go b/internal/backend/remote-state/http/server_test.go
index 58c084f..970e315 100644
--- a/internal/backend/remote-state/http/server_test.go
+++ b/internal/backend/remote-state/http/server_test.go
@@ -253,6 +253,7 @@ func NewHttpTestServer(opts ...httpServerOpt) (*httptest.Server, error) {
 }
 
 func TestMTLSServer_NoCertFails(t *testing.T) {
+	t.Skip("unexpected test failure: remote error: tls: certificate required")
 	// Ensure that no calls are made to the server - everything is blocked by the tls.RequireAndVerifyClientCert
 	ctrl := gomock.NewController(t)
 	defer ctrl.Finish()