GNU bug report logs - #44721
[PATCH] gnu: Add terraform.

Previous Next

Package: guix-patches;

Reported by: EuAndreh <eu <at> euandre.org>

Date: Wed, 18 Nov 2020 13:32:01 UTC

Severity: normal

Tags: moreinfo, patch

Merged with 30806

Done: Sharlatan Hellseher <sharlatanus <at> gmail.com>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 44721 in the body.
You can then email your comments to 44721 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#44721; Package guix-patches. (Wed, 18 Nov 2020 13:32:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to EuAndreh <eu <at> euandre.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 18 Nov 2020 13:32:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: guix-patches <at> gnu.org
Cc: EuAndreh <eu <at> euandre.org>
Subject: [PATCH] gnu: Add terraform.
Date: Wed, 18 Nov 2020 10:31:10 -0300
* gnu/packages/terraform.scm (terraform): New variable.
---
 gnu/packages/terraform.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/terraform.scm b/gnu/packages/terraform.scm
index b9313bbd4a..233859629c 100644
--- a/gnu/packages/terraform.scm
+++ b/gnu/packages/terraform.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2018 Christopher Baines <mail <at> cbaines.net>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me <at> tobias.gr>
+;;; Copyright © 2020 EuAndreh <eu <at> euandre.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -47,3 +48,27 @@ the inputs and outputs for modules of the Terraform infrastructure management
 tool.  These can be shown, or written to a file in JSON or Markdown formats.")
     (home-page "https://github.com/segmentio/terraform-docs")
     (license license:expat)))
+
+(define-public terraform
+  (package
+    (name "terraform")
+    (version "0.13.5")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://github.com/hashicorp/terraform")
+                    (commit (string-append "v" version))))
+              (sha256
+               (base32
+                "0q8x6fhhkh4spddbqsxbsc2fp0r5p5010awgkb628s9vz111ws3r"))))
+    (build-system go-build-system)
+    (arguments
+     '(#:import-path "github.com/hashicorp/terraform"))
+    (synopsis "Tool for building, changing, and versioning infrastructure")
+    (description
+     "Terraform enables you to safely and predictably create, change, and
+improve infrastructure.  It is an open source tool that codifies APIs into
+declarative configuration files that can be shared amongst team members,
+treated as code, edited, reviewed, and versioned.")
+    (home-page "https://www.terraform.io/")
+    (license license:mpl2.0)))
-- 
2.29.2





Information forwarded to guix-patches <at> gnu.org:
bug#44721; Package guix-patches. (Fri, 20 Nov 2020 09:23:01 GMT) Full text and rfc822 format available.

Message #8 received at 44721 <at> debbugs.gnu.org (full text, mbox):

From: Christopher Baines <mail <at> cbaines.net>
To: EuAndreh <eu <at> euandre.org>
Cc: 44721 <at> debbugs.gnu.org
Subject: Re: [bug#44721] [PATCH] gnu: Add terraform.
Date: Fri, 20 Nov 2020 09:21:50 +0000
[Message part 1 (text/plain, inline)]
EuAndreh via Guix-patches via <guix-patches <at> gnu.org> writes:

> * gnu/packages/terraform.scm (terraform): New variable.
> ---
>  gnu/packages/terraform.scm | 25 +++++++++++++++++++++++++
>  1 file changed, 25 insertions(+)
>
> diff --git a/gnu/packages/terraform.scm b/gnu/packages/terraform.scm
> index b9313bbd4a..233859629c 100644
> --- a/gnu/packages/terraform.scm
> +++ b/gnu/packages/terraform.scm
> @@ -1,6 +1,7 @@
>  ;;; GNU Guix --- Functional package management for GNU
>  ;;; Copyright © 2018 Christopher Baines <mail <at> cbaines.net>
>  ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me <at> tobias.gr>
> +;;; Copyright © 2020 EuAndreh <eu <at> euandre.org>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -47,3 +48,27 @@ the inputs and outputs for modules of the Terraform infrastructure management
>  tool.  These can be shown, or written to a file in JSON or Markdown formats.")
>      (home-page "https://github.com/segmentio/terraform-docs")
>      (license license:expat)))
> +
> +(define-public terraform
> +  (package
> +    (name "terraform")
> +    (version "0.13.5")
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/hashicorp/terraform")
> +                    (commit (string-append "v" version))))
> +              (sha256
> +               (base32
> +                "0q8x6fhhkh4spddbqsxbsc2fp0r5p5010awgkb628s9vz111ws3r"))))
> +    (build-system go-build-system)
> +    (arguments
> +     '(#:import-path "github.com/hashicorp/terraform"))
> +    (synopsis "Tool for building, changing, and versioning infrastructure")
> +    (description
> +     "Terraform enables you to safely and predictably create, change, and
> +improve infrastructure.  It is an open source tool that codifies APIs into
> +declarative configuration files that can be shared amongst team members,
> +treated as code, edited, reviewed, and versioned.")
> +    (home-page "https://www.terraform.io/")
> +    (license license:mpl2.0)))

Hi,

Thanks for the patch. I've also written a package definition like this,
which works, but isn't yet suitable for inclusion in Guix, because it
misrepresents the dependencies/inputs.

Terraform has a number of dependencies, but this package does
not. Properly packaging it for Guix will require packaging those
dependencies, then making a package definition which actually uses those
dependencies.

I'm hopeful that the recent progress with importers for Go packages will
help with this, but I haven't checked myself, maybe you can take a look?

Thanks,

Chris

(there's also some Terraform related discussion here
https://issues.guix.info/30806 )
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#44721; Package guix-patches. (Sun, 22 Nov 2020 22:12:02 GMT) Full text and rfc822 format available.

Message #11 received at 44721 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: Christopher Baines <mail <at> cbaines.net>
Cc: , 44721 <at> debbugs.gnu.org
Subject: Re: [bug#44721] [PATCH] gnu: Add terraform.
Date: Sun, 22 Nov 2020 19:11:09 -0300
Christopher Baines <mail <at> cbaines.net> writes:

> Hi,
>
> Thanks for the patch. I've also written a package definition like this,
> which works, but isn't yet suitable for inclusion in Guix, because it
> misrepresents the dependencies/inputs.
>
> Terraform has a number of dependencies, but this package does
> not. Properly packaging it for Guix will require packaging those
> dependencies, then making a package definition which actually uses those
> dependencies.

Hi there. Thanks for the explanation.

I didn't inspect the dependencies of Terraform itself. I just tried
using the "go-build-system" and tested the resulting binary.

I'll check the linked discussions to better understand and further
investigate.




Information forwarded to guix-patches <at> gnu.org:
bug#44721; Package guix-patches. (Mon, 23 Nov 2020 03:01:01 GMT) Full text and rfc822 format available.

Message #14 received at 44721 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: Christopher Baines <mail <at> cbaines.net>
Cc: , 44721 <at> debbugs.gnu.org
Subject: Re: [bug#44721] [PATCH] gnu: Add terraform.
Date: Sun, 22 Nov 2020 21:37:59 -0300
EuAndreh <eu <at> euandre.org> writes:

> Hi there. Thanks for the explanation.
>
> I didn't inspect the dependencies of Terraform itself. I just tried
> using the "go-build-system" and tested the resulting binary.

Interestingly, the package compiled successfully and the final binary
was generated. I didn't test any functionality, though.

I wonder if the compilation should have failed, instead. I'll try the
package again and see if it is actually working.

I looked into the issue you pointed, and my package definition was
smaller and simpler, indeed. But those didn't seem to produce a binary
at the end. I wonder if mine worked because I used a newer version.




Information forwarded to guix-patches <at> gnu.org:
bug#44721; Package guix-patches. (Mon, 23 Nov 2020 12:04:01 GMT) Full text and rfc822 format available.

Message #17 received at 44721 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: Christopher Baines <mail <at> cbaines.net>
Cc: , 44721 <at> debbugs.gnu.org
Subject: Re: [bug#44721] [PATCH] gnu: Add terraform.
Date: Mon, 23 Nov 2020 09:03:37 -0300
Now I get it: the Terraform repo used to vendor all of its dependencies,
and has just stopped doing it recently [0].

But the release tarball still contains all of the vendored dependencies.
I'm still not sure if that is deliberate, or just left over from the
previous model of vendoring everything from the source code repository
itself.

I'll check if the vendoring on the release tarball is deliberate now,
and start packaging the dependencies as Christopher sugested.

[0]: https://github.com/hashicorp/terraform/pull/26358




Information forwarded to guix-patches <at> gnu.org:
bug#44721; Package guix-patches. (Mon, 23 Nov 2020 12:13:02 GMT) Full text and rfc822 format available.

Message #20 received at 44721 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: Christopher Baines <mail <at> cbaines.net>
Cc: , 44721 <at> debbugs.gnu.org
Subject: Re: [bug#44721] [PATCH] gnu: Add terraform.
Date: Mon, 23 Nov 2020 09:12:34 -0300
EuAndreh <eu <at> euandre.org> writes:

> Now I get it: the Terraform repo used to vendor all of its dependencies,
> and has just stopped doing it recently [0].
>
> But the release tarball still contains all of the vendored dependencies.
> I'm still not sure if that is deliberate, or just left over from the
> previous model of vendoring everything from the source code repository
> itself.
>
> I'll check if the vendoring on the release tarball is deliberate now,
> and start packaging the dependencies as Christopher sugested.
>
> [0]: https://github.com/hashicorp/terraform/pull/26358

The commit [0] that removed the vendoring was done in September 24th,
and the release of v0.13.5 [1] was done in October 21st.

However the release of v0.13.5 was a backport, and didn't include the
commit that removed the vendoring. Only v0.14.0-rc1 (the current latest
release) onwards that has removed the vendoring.

So the "go-build-system" just worked because all of the dependencies
were already there. Switching to v0.14.0-rc1 should probably break the
build, and require the dependencies to be packaged individually.

[0]: https://github.com/hashicorp/terraform/commit/a7c5a72c3d079fd65b29dd99c1cd0210a4dd1d57
[1]: https://github.com/hashicorp/terraform/releases/tag/v0.13.5




Information forwarded to guix-patches <at> gnu.org:
bug#44721; Package guix-patches. (Tue, 24 Nov 2020 18:01:02 GMT) Full text and rfc822 format available.

Message #23 received at 44721 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: Christopher Baines <mail <at> cbaines.net>
Cc: , 44721 <at> debbugs.gnu.org
Subject: Re: [bug#44721] [PATCH] gnu: Add terraform.
Date: Tue, 24 Nov 2020 14:33:34 -0300
> Switching to v0.14.0-rc1 should probably break the
> build, and require the dependencies to be packaged individually.

It does break, I'll start doing it.

It would probably be better to work on a golang importer, and I'm more
inclined to do that to package Terraform instead of packaging every
dependency manually.

This will take a bit more work than I initially planned for, but I'm
still up for it.




Information forwarded to guix-patches <at> gnu.org:
bug#44721; Package guix-patches. (Wed, 25 Nov 2020 22:50:01 GMT) Full text and rfc822 format available.

Message #26 received at 44721 <at> debbugs.gnu.org (full text, mbox):

From: Marius Bakke <marius <at> gnu.org>
To: EuAndreh <eu <at> euandre.org>,  Christopher Baines <mail <at> cbaines.net>
Cc: 44721 <at> debbugs.gnu.org
Subject: Re: [bug#44721] [PATCH] gnu: Add terraform.
Date: Wed, 25 Nov 2020 23:49:09 +0100
[Message part 1 (text/plain, inline)]
EuAndreh via Guix-patches via <guix-patches <at> gnu.org> skriver:

>> Switching to v0.14.0-rc1 should probably break the
>> build, and require the dependencies to be packaged individually.
>
> It does break, I'll start doing it.
>
> It would probably be better to work on a golang importer, and I'm more
> inclined to do that to package Terraform instead of packaging every
> dependency manually.
>
> This will take a bit more work than I initially planned for, but I'm
> still up for it.

There is a Go importer on the patch tracker:

  https://issues.guix.gnu.org/44178

Two even, if you follow the URLs!

It should make things a little easier.  :-)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to guix-patches <at> gnu.org:
bug#44721; Package guix-patches. (Thu, 26 Nov 2020 00:01:01 GMT) Full text and rfc822 format available.

Message #29 received at 44721 <at> debbugs.gnu.org (full text, mbox):

From: EuAndreh <eu <at> euandre.org>
To: Marius Bakke <marius <at> gnu.org>, Christopher Baines <mail <at> cbaines.net>
Cc: , 44721 <at> debbugs.gnu.org
Subject: Re: [bug#44721] [PATCH] gnu: Add terraform.
Date: Wed, 25 Nov 2020 20:34:43 -0300
Marius Bakke <marius <at> gnu.org> writes:

> It should make things a little easier.  :-)

Hmm, that is great! Thanks for the reference!

It certainly makes things a little easier.




Merged 30806 44721. Request was from Sarah Morgensen <iskarian <at> mgsn.dev> to control <at> debbugs.gnu.org. (Mon, 13 Sep 2021 01:19:01 GMT) Full text and rfc822 format available.

Reply sent to Sharlatan Hellseher <sharlatanus <at> gmail.com>:
You have taken responsibility. (Mon, 17 Feb 2025 01:04:01 GMT) Full text and rfc822 format available.

Notification sent to EuAndreh <eu <at> euandre.org>:
bug acknowledged by developer. (Mon, 17 Feb 2025 01:04:02 GMT) Full text and rfc822 format available.

Message #36 received at 44721-done <at> debbugs.gnu.org (full text, mbox):

From: Sharlatan Hellseher <sharlatanus <at> gmail.com>
To: 44721-done <at> debbugs.gnu.org
Subject: [PATCH] gnu: Add terraform.
Date: Mon, 17 Feb 2025 01:03:37 +0000
[Message part 1 (text/plain, inline)]
Hi,


Terraform is not free software
https://github.com/hashicorp/terraform/blob/main/LICENSE

Consider to package OpenTofu as alternate free fork.

Closing as not applied.


Oleg
[Message part 2 (text/html, inline)]

Reply sent to Sharlatan Hellseher <sharlatanus <at> gmail.com>:
You have taken responsibility. (Mon, 17 Feb 2025 01:04:02 GMT) Full text and rfc822 format available.

Notification sent to Christopher Baines <mail <at> cbaines.net>:
bug acknowledged by developer. (Mon, 17 Feb 2025 01:04:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Mon, 17 Mar 2025 11:24:14 GMT) Full text and rfc822 format available.

This bug report was last modified 53 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.