* [bug#61682] [PATCH v2] gnu: buildah: Add 'buildah' package
2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
@ 2023-02-23 7:04 ` Zongyuan Li via Guix-patches via
2023-02-23 11:31 ` Zongyuan Li via Guix-patches via
` (4 subsequent siblings)
5 siblings, 0 replies; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-02-23 7:04 UTC (permalink / raw)
To: 61682; +Cc: zongyuan.li
Introduce new 'buildah' package
Changes since v1:
* fix phase-name typo in modify-phases
* gnu/packages/containers.scm: New 'buildah' package
---
gnu/packages/containers.scm | 68 +++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 50dfa88421..3844e4e700 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -41,6 +41,7 @@ (define-module (gnu packages containers)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
@@ -406,3 +407,70 @@ (define-public podman
volumes mounted into those containers, and pods made from groups of
containers.")
(license license:asl2.0)))
+
+(define-public buildah
+ (package
+ (name "buildah")
+ (version "1.29.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containers/buildah")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags #~(list #$(string-append "CC="
+ (cc-for-target))
+ (string-append "PREFIX="
+ #$output))
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-env
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "HOME" "/tmp")))
+ (add-after 'unpack 'avoid-building-tools
+ (lambda _
+ (substitute* "Makefile"
+ (("^docs: install\\.tools")
+ "docs:"))))
+ (add-after 'unpack 'avoid-unnecessary-targets
+ (lambda _
+ (substitute* "Makefile"
+ (("^all: .*")
+ "all: bin/buildah docs"))))
+ (add-after 'unpack 'use-doc-tools
+ (lambda _
+ (substitute* "docs/Makefile"
+ (("../tests/tools/build/go-md2man")
+ (which "go-md2man")))))
+ (add-after 'install 'install-completions
+ (lambda _
+ (invoke "make" "install.completions"
+ (string-append "PREFIX="
+ #$output)))))))
+ (inputs (list btrfs-progs
+ cni-plugins
+ conmon
+ eudev
+ glib
+ go-github-com-go-md2man
+ gpgme
+ libassuan
+ libseccomp
+ lvm2
+ runc))
+ (native-inputs (list bats git go-1.18 perl pkg-config))
+ (synopsis
+ "Facilitates building Open Container Initiative (OCI) container images")
+ (description
+ "Buildah is an open source, Linux-based tool used to build Open Container
+Initiative (OCI)-compatible containers. With Buildah, you can use your
+favorite tools to create efficient container images from an existing base image
+or from scratch using an empty image.")
+ (home-page "https://buildah.io")
+ (license license:asl2.0)))
--
2.37.1 (Apple Git-137.1)
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [bug#61682] [PATCH v2] gnu: buildah: Add 'buildah' package
2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
2023-02-23 7:04 ` [bug#61682] [PATCH v2] " Zongyuan Li via Guix-patches via
@ 2023-02-23 11:31 ` Zongyuan Li via Guix-patches via
2023-02-23 12:26 ` Zongyuan Li via Guix-patches via
` (3 subsequent siblings)
5 siblings, 0 replies; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-02-23 11:31 UTC (permalink / raw)
To: 61682; +Cc: Zongyuan Li
Introduce new 'buildah' package
Changes since v1:
* fix phase-name typo in modify-phases
* gnu/packages/containers.scm: New 'buildah' package
---
gnu/packages/containers.scm | 68 +++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 50dfa88421..3844e4e700 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -41,6 +41,7 @@ (define-module (gnu packages containers)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
@@ -406,3 +407,70 @@ (define-public podman
volumes mounted into those containers, and pods made from groups of
containers.")
(license license:asl2.0)))
+
+(define-public buildah
+ (package
+ (name "buildah")
+ (version "1.29.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containers/buildah")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags #~(list #$(string-append "CC="
+ (cc-for-target))
+ (string-append "PREFIX="
+ #$output))
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-env
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "HOME" "/tmp")))
+ (add-after 'unpack 'avoid-building-tools
+ (lambda _
+ (substitute* "Makefile"
+ (("^docs: install\\.tools")
+ "docs:"))))
+ (add-after 'unpack 'avoid-unnecessary-targets
+ (lambda _
+ (substitute* "Makefile"
+ (("^all: .*")
+ "all: bin/buildah docs"))))
+ (add-after 'unpack 'use-doc-tools
+ (lambda _
+ (substitute* "docs/Makefile"
+ (("../tests/tools/build/go-md2man")
+ (which "go-md2man")))))
+ (add-after 'install 'install-completions
+ (lambda _
+ (invoke "make" "install.completions"
+ (string-append "PREFIX="
+ #$output)))))))
+ (inputs (list btrfs-progs
+ cni-plugins
+ conmon
+ eudev
+ glib
+ go-github-com-go-md2man
+ gpgme
+ libassuan
+ libseccomp
+ lvm2
+ runc))
+ (native-inputs (list bats git go-1.18 perl pkg-config))
+ (synopsis
+ "Facilitates building Open Container Initiative (OCI) container images")
+ (description
+ "Buildah is an open source, Linux-based tool used to build Open Container
+Initiative (OCI)-compatible containers. With Buildah, you can use your
+favorite tools to create efficient container images from an existing base image
+or from scratch using an empty image.")
+ (home-page "https://buildah.io")
+ (license license:asl2.0)))
--
2.39.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [bug#61682] [PATCH v2] gnu: buildah: Add 'buildah' package
2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
2023-02-23 7:04 ` [bug#61682] [PATCH v2] " Zongyuan Li via Guix-patches via
2023-02-23 11:31 ` Zongyuan Li via Guix-patches via
@ 2023-02-23 12:26 ` Zongyuan Li via Guix-patches via
2023-02-24 5:20 ` Liliana Marie Prikler
2023-02-23 12:50 ` Zongyuan Li via Guix-patches via
` (2 subsequent siblings)
5 siblings, 1 reply; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-02-23 12:26 UTC (permalink / raw)
To: zongyuan.li; +Cc: 61682
Introduce new 'buildah' package
Changes since v1:
* fix phase-name typo in modify-phases
* gnu/packages/containers.scm: New 'buildah' package
---
gnu/packages/containers.scm | 68 +++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 50dfa88421..3844e4e700 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -41,6 +41,7 @@ (define-module (gnu packages containers)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
@@ -406,3 +407,70 @@ (define-public podman
volumes mounted into those containers, and pods made from groups of
containers.")
(license license:asl2.0)))
+
+(define-public buildah
+ (package
+ (name "buildah")
+ (version "1.29.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containers/buildah")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags #~(list #$(string-append "CC="
+ (cc-for-target))
+ (string-append "PREFIX="
+ #$output))
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-env
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "HOME" "/tmp")))
+ (add-after 'unpack 'avoid-building-tools
+ (lambda _
+ (substitute* "Makefile"
+ (("^docs: install\\.tools")
+ "docs:"))))
+ (add-after 'unpack 'avoid-unnecessary-targets
+ (lambda _
+ (substitute* "Makefile"
+ (("^all: .*")
+ "all: bin/buildah docs"))))
+ (add-after 'unpack 'use-doc-tools
+ (lambda _
+ (substitute* "docs/Makefile"
+ (("../tests/tools/build/go-md2man")
+ (which "go-md2man")))))
+ (add-after 'install 'install-completions
+ (lambda _
+ (invoke "make" "install.completions"
+ (string-append "PREFIX="
+ #$output)))))))
+ (inputs (list btrfs-progs
+ cni-plugins
+ conmon
+ eudev
+ glib
+ go-github-com-go-md2man
+ gpgme
+ libassuan
+ libseccomp
+ lvm2
+ runc))
+ (native-inputs (list bats git go-1.18 perl pkg-config))
+ (synopsis
+ "Facilitates building Open Container Initiative (OCI) container images")
+ (description
+ "Buildah is an open source, Linux-based tool used to build Open Container
+Initiative (OCI)-compatible containers. With Buildah, you can use your
+favorite tools to create efficient container images from an existing base image
+or from scratch using an empty image.")
+ (home-page "https://buildah.io")
+ (license license:asl2.0)))
--
2.39.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [bug#61682] [PATCH v2] gnu: buildah: Add 'buildah' package
2023-02-23 12:26 ` Zongyuan Li via Guix-patches via
@ 2023-02-24 5:20 ` Liliana Marie Prikler
2023-02-24 7:12 ` Zongyuan Li via Guix-patches via
0 siblings, 1 reply; 17+ messages in thread
From: Liliana Marie Prikler @ 2023-02-24 5:20 UTC (permalink / raw)
To: Zongyuan Li; +Cc: 61682
Am Donnerstag, dem 23.02.2023 um 12:26 +0000 schrieb Zongyuan Li:
> Introduce new 'buildah' package
>
> Changes since v1:
>
> * fix phase-name typo in modify-phases
>
> * gnu/packages/containers.scm: New 'buildah' package
> ---
> gnu/packages/containers.scm | 68
> +++++++++++++++++++++++++++++++++++++
> 1 file changed, 68 insertions(+)
>
> diff --git a/gnu/packages/containers.scm
> b/gnu/packages/containers.scm
> index 50dfa88421..3844e4e700 100644
> --- a/gnu/packages/containers.scm
> +++ b/gnu/packages/containers.scm
> @@ -41,6 +41,7 @@ (define-module (gnu packages containers)
> #:use-module (gnu packages gnupg)
> #:use-module (gnu packages golang)
> #:use-module (gnu packages linux)
> + #:use-module (gnu packages perl)
> #:use-module (gnu packages python)
> #:use-module (gnu packages networking)
> #:use-module (gnu packages pkg-config)
> @@ -406,3 +407,70 @@ (define-public podman
> volumes mounted into those containers, and pods made from groups of
> containers.")
> (license license:asl2.0)))
> +
> +(define-public buildah
> + (package
> + (name "buildah")
> + (version "1.29.0")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/containers/buildah")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> +
> "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
> + (build-system gnu-build-system)
As fun as it sounds to build Go stuff with just a Makefile, you have a
lot of vendored code unaccounted for.
> + (arguments
> + (list #:make-flags #~(list #$(string-append "CC="
> + (cc-for-target))
> + (string-append "PREFIX="
> + #$output))
> + #:tests? #f
> + #:phases #~(modify-phases %standard-phases
> + (delete 'configure)
> + (add-after 'unpack 'set-env
> + (lambda* (#:key inputs #:allow-other-keys)
> + (setenv "HOME" "/tmp")))
> + (add-after 'unpack 'avoid-building-tools
> + (lambda _
> + (substitute* "Makefile"
> + (("^docs: install\\.tools")
> + "docs:"))))
> + (add-after 'unpack 'avoid-unnecessary-
> targets
> + (lambda _
> + (substitute* "Makefile"
> + (("^all: .*")
> + "all: bin/buildah docs"))))
> + (add-after 'unpack 'use-doc-tools
> + (lambda _
> + (substitute* "docs/Makefile"
> + (("../tests/tools/build/go-md2man")
> + (which "go-md2man")))))
> + (add-after 'install 'install-completions
> + (lambda _
> + (invoke "make" "install.completions"
> + (string-append "PREFIX="
> + #$output)))))))
> + (inputs (list btrfs-progs
> + cni-plugins
> + conmon
> + eudev
> + glib
> + go-github-com-go-md2man
> + gpgme
> + libassuan
> + libseccomp
> + lvm2
> + runc))
> + (native-inputs (list bats git go-1.18 perl pkg-config))
> + (synopsis
> + "Facilitates building Open Container Initiative (OCI) container
> images")
Try to stay short in your synopsis.
> + (description
> + "Buildah is an open source,
Buzzword.
> Linux-based tool used to build Open Container
> +Initiative (OCI)-compatible containers.
Perhaps use @abbrev?
> With Buildah, you can use your
> +favorite tools to create efficient container images from an existing
> base image
Can I use Guix to do that?
Cheers
^ permalink raw reply [flat|nested] 17+ messages in thread
* [bug#61682] [PATCH v2] gnu: buildah: Add 'buildah' package
2023-02-24 5:20 ` Liliana Marie Prikler
@ 2023-02-24 7:12 ` Zongyuan Li via Guix-patches via
0 siblings, 0 replies; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-02-24 7:12 UTC (permalink / raw)
To: Liliana Marie Prikler; +Cc: 61682
Thanks your review! I will try to use go-build-system.
I noticed that ‘podman’ package also uses makefile. Maybe we could improve that later too?
Li
> On Feb 24, 2023, at 13:20, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
>
> Am Donnerstag, dem 23.02.2023 um 12:26 +0000 schrieb Zongyuan Li:
>> Introduce new 'buildah' package
>>
>> Changes since v1:
>>
>> * fix phase-name typo in modify-phases
>>
>> * gnu/packages/containers.scm: New 'buildah' package
>> ---
>> gnu/packages/containers.scm | 68
>> +++++++++++++++++++++++++++++++++++++
>> 1 file changed, 68 insertions(+)
>>
>> diff --git a/gnu/packages/containers.scm
>> b/gnu/packages/containers.scm
>> index 50dfa88421..3844e4e700 100644
>> --- a/gnu/packages/containers.scm
>> +++ b/gnu/packages/containers.scm
>> @@ -41,6 +41,7 @@ (define-module (gnu packages containers)
>> #:use-module (gnu packages gnupg)
>> #:use-module (gnu packages golang)
>> #:use-module (gnu packages linux)
>> + #:use-module (gnu packages perl)
>> #:use-module (gnu packages python)
>> #:use-module (gnu packages networking)
>> #:use-module (gnu packages pkg-config)
>> @@ -406,3 +407,70 @@ (define-public podman
>> volumes mounted into those containers, and pods made from groups of
>> containers.")
>> (license license:asl2.0)))
>> +
>> +(define-public buildah
>> + (package
>> + (name "buildah")
>> + (version "1.29.0")
>> + (source (origin
>> + (method git-fetch)
>> + (uri (git-reference
>> + (url "https://github.com/containers/buildah")
>> + (commit (string-append "v" version))))
>> + (file-name (git-file-name name version))
>> + (sha256
>> + (base32
>> +
>> "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
>> + (build-system gnu-build-system)
> As fun as it sounds to build Go stuff with just a Makefile, you have a
> lot of vendored code unaccounted for.
>> + (arguments
>> + (list #:make-flags #~(list #$(string-append "CC="
>> + (cc-for-target))
>> + (string-append "PREFIX="
>> + #$output))
>> + #:tests? #f
>> + #:phases #~(modify-phases %standard-phases
>> + (delete 'configure)
>> + (add-after 'unpack 'set-env
>> + (lambda* (#:key inputs #:allow-other-keys)
>> + (setenv "HOME" "/tmp")))
>> + (add-after 'unpack 'avoid-building-tools
>> + (lambda _
>> + (substitute* "Makefile"
>> + (("^docs: install\\.tools")
>> + "docs:"))))
>> + (add-after 'unpack 'avoid-unnecessary-
>> targets
>> + (lambda _
>> + (substitute* "Makefile"
>> + (("^all: .*")
>> + "all: bin/buildah docs"))))
>> + (add-after 'unpack 'use-doc-tools
>> + (lambda _
>> + (substitute* "docs/Makefile"
>> + (("../tests/tools/build/go-md2man")
>> + (which "go-md2man")))))
>> + (add-after 'install 'install-completions
>> + (lambda _
>> + (invoke "make" "install.completions"
>> + (string-append "PREFIX="
>> + #$output)))))))
>> + (inputs (list btrfs-progs
>> + cni-plugins
>> + conmon
>> + eudev
>> + glib
>> + go-github-com-go-md2man
>> + gpgme
>> + libassuan
>> + libseccomp
>> + lvm2
>> + runc))
>> + (native-inputs (list bats git go-1.18 perl pkg-config))
>> + (synopsis
>> + "Facilitates building Open Container Initiative (OCI) container
>> images")
> Try to stay short in your synopsis.
>> + (description
>> + "Buildah is an open source,
> Buzzword.
>> Linux-based tool used to build Open Container
>> +Initiative (OCI)-compatible containers.
> Perhaps use @abbrev?
>
>> With Buildah, you can use your
>> +favorite tools to create efficient container images from an existing
>> base image
> Can I use Guix to do that?
>
> Cheers
^ permalink raw reply [flat|nested] 17+ messages in thread
* [bug#61682] [PATCH v2] gnu: buildah: Add 'buildah' package
2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
` (2 preceding siblings ...)
2023-02-23 12:26 ` Zongyuan Li via Guix-patches via
@ 2023-02-23 12:50 ` Zongyuan Li via Guix-patches via
2023-03-24 10:14 ` [bug#61682] [PATCH v3 0/1] " Zongyuan Li via Guix-patches via
2023-03-25 10:23 ` [bug#61682] [PATCH v4 0/1] " Zongyuan Li via Guix-patches via
5 siblings, 0 replies; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-02-23 12:50 UTC (permalink / raw)
To: 61682; +Cc: Zongyuan Li
Introduce new 'buildah' package
Changes since v1:
* fix phase-name typo in modify-phases
* gnu/packages/containers.scm: New 'buildah' package
---
gnu/packages/containers.scm | 68 +++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 50dfa88421..3844e4e700 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -41,6 +41,7 @@ (define-module (gnu packages containers)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages golang)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages perl)
#:use-module (gnu packages python)
#:use-module (gnu packages networking)
#:use-module (gnu packages pkg-config)
@@ -406,3 +407,70 @@ (define-public podman
volumes mounted into those containers, and pods made from groups of
containers.")
(license license:asl2.0)))
+
+(define-public buildah
+ (package
+ (name "buildah")
+ (version "1.29.0")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containers/buildah")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "16kc19m5in819624c3np4aqb9hkjc93d34y4958jqy1k3p2p5rir"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags #~(list #$(string-append "CC="
+ (cc-for-target))
+ (string-append "PREFIX="
+ #$output))
+ #:tests? #f
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-env
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "HOME" "/tmp")))
+ (add-after 'unpack 'avoid-building-tools
+ (lambda _
+ (substitute* "Makefile"
+ (("^docs: install\\.tools")
+ "docs:"))))
+ (add-after 'unpack 'avoid-unnecessary-targets
+ (lambda _
+ (substitute* "Makefile"
+ (("^all: .*")
+ "all: bin/buildah docs"))))
+ (add-after 'unpack 'use-doc-tools
+ (lambda _
+ (substitute* "docs/Makefile"
+ (("../tests/tools/build/go-md2man")
+ (which "go-md2man")))))
+ (add-after 'install 'install-completions
+ (lambda _
+ (invoke "make" "install.completions"
+ (string-append "PREFIX="
+ #$output)))))))
+ (inputs (list btrfs-progs
+ cni-plugins
+ conmon
+ eudev
+ glib
+ go-github-com-go-md2man
+ gpgme
+ libassuan
+ libseccomp
+ lvm2
+ runc))
+ (native-inputs (list bats git go-1.18 perl pkg-config))
+ (synopsis
+ "Facilitates building Open Container Initiative (OCI) container images")
+ (description
+ "Buildah is an open source, Linux-based tool used to build Open Container
+Initiative (OCI)-compatible containers. With Buildah, you can use your
+favorite tools to create efficient container images from an existing base image
+or from scratch using an empty image.")
+ (home-page "https://buildah.io")
+ (license license:asl2.0)))
--
2.39.1
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [bug#61682] [PATCH v3 0/1] gnu: buildah: Add 'buildah' package
2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
` (3 preceding siblings ...)
2023-02-23 12:50 ` Zongyuan Li via Guix-patches via
@ 2023-03-24 10:14 ` Zongyuan Li via Guix-patches via
2023-03-24 10:14 ` [bug#61682] [PATCH v3 1/1] " Zongyuan Li via Guix-patches via
2023-03-25 10:23 ` [bug#61682] [PATCH v4 0/1] " Zongyuan Li via Guix-patches via
5 siblings, 1 reply; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-03-24 10:14 UTC (permalink / raw)
To: 61682, liliana.prikler; +Cc: Zongyuan Li
Introduce new 'buildah' package
Changes since v2:
* Use go-build-system to avoid vendered code in Makefile
* Bump version to the latest v1.29.1
* Remove some unused dependencies
Zongyuan Li (1):
gnu: buildah: Add 'buildah' package
gnu/packages/containers.scm | 73 +++++++++++++++++++++++++++++++++++++
1 file changed, 73 insertions(+)
--
2.37.1 (Apple Git-137.1)
^ permalink raw reply [flat|nested] 17+ messages in thread
* [bug#61682] [PATCH v3 1/1] gnu: buildah: Add 'buildah' package
2023-03-24 10:14 ` [bug#61682] [PATCH v3 0/1] " Zongyuan Li via Guix-patches via
@ 2023-03-24 10:14 ` Zongyuan Li via Guix-patches via
2023-03-24 18:00 ` Liliana Marie Prikler
0 siblings, 1 reply; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-03-24 10:14 UTC (permalink / raw)
To: 61682, liliana.prikler; +Cc: Zongyuan Li
gnu: buildah: Add 'buildah' package
Introduce new 'buildah' package
* gnu/packages/containers.scm: New 'buildah' package
---
gnu/packages/containers.scm | 73 +++++++++++++++++++++++++++++++++++++
1 file changed, 73 insertions(+)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index b316588ea2..c20bcdaba3 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -406,3 +406,76 @@ (define-public podman
volumes mounted into those containers, and pods made from groups of
containers.")
(license license:asl2.0)))
+
+(define-public buildah
+ (package
+ (name "buildah")
+ (version "1.29.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containers/buildah")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1mcqkz68fjccdla1bgxw57w268a586brm6x28fcm6x425ah0w07h"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/containers/buildah/cmd/buildah"
+ #:unpack-path "github.com/containers/buildah"
+ ; Some dependencies require go-1.18 to build
+ #:go go-1.18
+ #:tests? #f
+ #:build-flags
+ ; These information is constructed in 'buildah' Makefile.
+ #~(list (string-append "-ldflags=-X main.GitCommit="
+ "faf0d4fcbaede00f4e615dc5cc2ccc816f240cfe"
+ " -X main.cniVersion=v1.1.2"))
+ #:install-source? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-install-docs
+ (lambda* (#:key unpack-path #:allow-other-keys)
+ (substitute* (string-append "src/"
+ unpack-path
+ "/docs/Makefile")
+ (("../tests/tools/build/go-md2man")
+ (which "go-md2man")))
+ (substitute* (string-append "src/"
+ unpack-path
+ "/docs/Makefile")
+ (("/usr/local") (string-append #$output)))))
+ (add-after 'build 'build-docs
+ (lambda* (#:key unpack-path #:allow-other-keys)
+ (let*
+ ((doc-path (string-append "src/" unpack-path "/docs")))
+ (invoke "make" "-C" doc-path))))
+ (add-after 'install 'install-docs
+ (lambda* (#:key unpack-path #:allow-other-keys)
+ (let*
+ ((doc-path (string-append "src/" unpack-path "/docs")))
+ (invoke "make" "-C" doc-path "install")))))))
+ (inputs (list btrfs-progs
+ cni-plugins
+ conmon
+ eudev
+ glib
+ gpgme
+ libassuan
+ libseccomp
+ lvm2
+ runc))
+ (native-inputs
+ (list go-github-com-go-md2man
+ gnu-make
+ pkg-config))
+ (synopsis
+ "Facilitates building Open Container Initiative (OCI) container images")
+ (description
+ "Buildah is an open source, Linux-based tool used to build Open Container
+Initiative (OCI)-compatible containers. With Buildah, you can use your
+favorite tools to create efficient container images from an existing base image
+or from scratch using an empty image.")
+ (home-page "https://buildah.io")
+ (license license:asl2.0)))
--
2.37.1 (Apple Git-137.1)
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [bug#61682] [PATCH v3 1/1] gnu: buildah: Add 'buildah' package
2023-03-24 10:14 ` [bug#61682] [PATCH v3 1/1] " Zongyuan Li via Guix-patches via
@ 2023-03-24 18:00 ` Liliana Marie Prikler
2023-03-25 9:15 ` Zongyuan Li via Guix-patches via
0 siblings, 1 reply; 17+ messages in thread
From: Liliana Marie Prikler @ 2023-03-24 18:00 UTC (permalink / raw)
To: Zongyuan Li, 61682
Am Freitag, dem 24.03.2023 um 10:14 +0000 schrieb Zongyuan Li:
> gnu: buildah: Add 'buildah' package
>
> Introduce new 'buildah' package
>
> * gnu/packages/containers.scm: New 'buildah' package
> ---
> gnu/packages/containers.scm | 73
> +++++++++++++++++++++++++++++++++++++
> 1 file changed, 73 insertions(+)
>
> diff --git a/gnu/packages/containers.scm
> b/gnu/packages/containers.scm
> index b316588ea2..c20bcdaba3 100644
> --- a/gnu/packages/containers.scm
> +++ b/gnu/packages/containers.scm
> @@ -406,3 +406,76 @@ (define-public podman
> volumes mounted into those containers, and pods made from groups of
> containers.")
> (license license:asl2.0)))
> +
> +(define-public buildah
> + (package
> + (name "buildah")
> + (version "1.29.1")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/containers/buildah")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> +
> "1mcqkz68fjccdla1bgxw57w268a586brm6x28fcm6x425ah0w07h"))))
> + (build-system go-build-system)
> + (arguments
> + (list #:import-path
> "github.com/containers/buildah/cmd/buildah"
> + #:unpack-path "github.com/containers/buildah"
> + ; Some dependencies require go-1.18 to build
> + #:go go-1.18
> + #:tests? #f
#:tests? #f always needs an explanation
> + #:build-flags
> + ; These information is constructed in 'buildah'
> Makefile.
> + #~(list (string-append "-ldflags=-X main.GitCommit="
> +
> "faf0d4fcbaede00f4e615dc5cc2ccc816f240cfe"
I think we should either look towards dropping this flag, or
alternatively let-bind the git commit and use it in the version and
origin as well.
> + " -X main.cniVersion=v1.1.2"))
> + #:install-source? #f
> + #:phases
> + #~(modify-phases %standard-phases
> + (add-after 'unpack 'prepare-install-docs
> + (lambda* (#:key unpack-path #:allow-other-keys)
> + (substitute* (string-append "src/"
> + unpack-path
> + "/docs/Makefile")
> + (("../tests/tools/build/go-md2man")
> + (which "go-md2man")))
> + (substitute* (string-append "src/"
> + unpack-path
> + "/docs/Makefile")
> + (("/usr/local") (string-append #$output)))))
> + (add-after 'build 'build-docs
> + (lambda* (#:key unpack-path #:allow-other-keys)
> + (let*
> + ((doc-path (string-append "src/" unpack-path
> "/docs")))
> + (invoke "make" "-C" doc-path))))
> + (add-after 'install 'install-docs
> + (lambda* (#:key unpack-path #:allow-other-keys)
> + (let*
> + ((doc-path (string-append "src/" unpack-path
> "/docs")))
> + (invoke "make" "-C" doc-path "install")))))))
> + (inputs (list btrfs-progs
> + cni-plugins
> + conmon
> + eudev
> + glib
> + gpgme
> + libassuan
> + libseccomp
> + lvm2
> + runc))
> + (native-inputs
> + (list go-github-com-go-md2man
> + gnu-make
> + pkg-config))
> + (synopsis
> + "Facilitates building Open Container Initiative (OCI) container
> images")
Simplify to "Build Open Container Initiative images"
> + (description
> + "Buildah is an open source, Linux-based tool used to build Open
> Container
Drop open source and Linux-based, they're meaningless filler.
> +Initiative (OCI)-compatible containers. With Buildah, you can use
Use @acronym{OCI, Open Container Initiative}. Avoid invoking the
department of redundancy department, also known as the redundant
acronym syndrome syndrome.
> your
> +favorite tools to create efficient container images from an existing
> base image
> +or from scratch using an empty image.")
This second sentence is still as empty as the first time I reviewed it.
Consider dropping it as well.
Cheers
^ permalink raw reply [flat|nested] 17+ messages in thread
* [bug#61682] [PATCH v4 0/1] gnu: buildah: Add 'buildah' package
2023-02-21 14:35 [bug#61682] [PATCH] gnu: buildah: Add 'buildah' package Zongyuan Li via Guix-patches via
` (4 preceding siblings ...)
2023-03-24 10:14 ` [bug#61682] [PATCH v3 0/1] " Zongyuan Li via Guix-patches via
@ 2023-03-25 10:23 ` Zongyuan Li via Guix-patches via
2023-03-25 10:25 ` [bug#61682] [PATCH v4 1/1] " Zongyuan Li via Guix-patches via
5 siblings, 1 reply; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-03-25 10:23 UTC (permalink / raw)
To: 61682; +Cc: liliana.prikler, Zongyuan Li
gnu: buildah: Add 'buildah' package
We do not run any tests because buildah needs 'root' user
to make tests work.
Changes since v3:
* Remove build flags
* Simplify synopsis and description
Zongyuan Li (1):
gnu: buildah: Add 'buildah' package
gnu/packages/containers.scm | 66 +++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
--
2.37.1 (Apple Git-137.1)
^ permalink raw reply [flat|nested] 17+ messages in thread
* [bug#61682] [PATCH v4 1/1] gnu: buildah: Add 'buildah' package
2023-03-25 10:23 ` [bug#61682] [PATCH v4 0/1] " Zongyuan Li via Guix-patches via
@ 2023-03-25 10:25 ` Zongyuan Li via Guix-patches via
2023-03-25 11:09 ` Liliana Marie Prikler
2023-06-08 21:27 ` bug#61682: [PATCH] " Ludovic Courtès
0 siblings, 2 replies; 17+ messages in thread
From: Zongyuan Li via Guix-patches via @ 2023-03-25 10:25 UTC (permalink / raw)
To: 61682; +Cc: liliana.prikler, Zongyuan Li
gnu: buildah: Add 'buildah' package
Introduce new 'buildah' package
* gnu/packages/containers.scm: New 'buildah' package
---
gnu/packages/containers.scm | 66 +++++++++++++++++++++++++++++++++++++
1 file changed, 66 insertions(+)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index b316588ea2..43d215ea6a 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -406,3 +406,69 @@ (define-public podman
volumes mounted into those containers, and pods made from groups of
containers.")
(license license:asl2.0)))
+
+(define-public buildah
+ (package
+ (name "buildah")
+ (version "1.29.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containers/buildah")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1mcqkz68fjccdla1bgxw57w268a586brm6x28fcm6x425ah0w07h"))))
+ (build-system go-build-system)
+ (arguments
+ (list #:import-path "github.com/containers/buildah/cmd/buildah"
+ #:unpack-path "github.com/containers/buildah"
+ ; Some dependencies require go-1.18 to build
+ #:go go-1.18
+ #:tests? #f
+ #:install-source? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'prepare-install-docs
+ (lambda* (#:key unpack-path #:allow-other-keys)
+ (substitute* (string-append "src/"
+ unpack-path
+ "/docs/Makefile")
+ (("../tests/tools/build/go-md2man")
+ (which "go-md2man")))
+ (substitute* (string-append "src/"
+ unpack-path
+ "/docs/Makefile")
+ (("/usr/local") (string-append #$output)))))
+ (add-after 'build 'build-docs
+ (lambda* (#:key unpack-path #:allow-other-keys)
+ (let*
+ ((doc-path (string-append "src/" unpack-path "/docs")))
+ (invoke "make" "-C" doc-path))))
+ (add-after 'install 'install-docs
+ (lambda* (#:key unpack-path #:allow-other-keys)
+ (let*
+ ((doc-path (string-append "src/" unpack-path "/docs")))
+ (invoke "make" "-C" doc-path "install")))))))
+ (inputs (list btrfs-progs
+ cni-plugins
+ conmon
+ eudev
+ glib
+ gpgme
+ libassuan
+ libseccomp
+ lvm2
+ runc))
+ (native-inputs
+ (list go-github-com-go-md2man
+ gnu-make
+ pkg-config))
+ (synopsis
+ "Build Open Container Initiative images")
+ (description
+ "Buildah is used to build Open Container Initiative
+@acronym{OCI, Open Container Initiative} compatible containers.")
+ (home-page "https://buildah.io")
+ (license license:asl2.0)))
--
2.37.1 (Apple Git-137.1)
^ permalink raw reply related [flat|nested] 17+ messages in thread
* [bug#61682] [PATCH v4 1/1] gnu: buildah: Add 'buildah' package
2023-03-25 10:25 ` [bug#61682] [PATCH v4 1/1] " Zongyuan Li via Guix-patches via
@ 2023-03-25 11:09 ` Liliana Marie Prikler
2023-06-08 21:27 ` bug#61682: [PATCH] " Ludovic Courtès
1 sibling, 0 replies; 17+ messages in thread
From: Liliana Marie Prikler @ 2023-03-25 11:09 UTC (permalink / raw)
To: Zongyuan Li, 61682
Am Samstag, dem 25.03.2023 um 10:25 +0000 schrieb Zongyuan Li:
> gnu: buildah: Add 'buildah' package
>
> Introduce new 'buildah' package
>
> * gnu/packages/containers.scm: New 'buildah' package
gnu: Add buildah.
* gnu/packages/containers.scm (buildah): New variable.
> ---
> gnu/packages/containers.scm | 66
> +++++++++++++++++++++++++++++++++++++
> 1 file changed, 66 insertions(+)
>
> diff --git a/gnu/packages/containers.scm
> b/gnu/packages/containers.scm
> index b316588ea2..43d215ea6a 100644
> --- a/gnu/packages/containers.scm
> +++ b/gnu/packages/containers.scm
> @@ -406,3 +406,69 @@ (define-public podman
> volumes mounted into those containers, and pods made from groups of
> containers.")
> (license license:asl2.0)))
> +
> +(define-public buildah
> + (package
> + (name "buildah")
> + (version "1.29.1")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/containers/buildah")
> + (commit (string-append "v" version))))
> + (file-name (git-file-name name version))
> + (sha256
> + (base32
> +
> "1mcqkz68fjccdla1bgxw57w268a586brm6x28fcm6x425ah0w07h"))))
> + (build-system go-build-system)
> + (arguments
> + (list #:import-path
> "github.com/containers/buildah/cmd/buildah"
> + #:unpack-path "github.com/containers/buildah"
> + ; Some dependencies require go-1.18 to build
Single ; comments go on the same line.
> + #:go go-1.18
> + #:tests? #f
Again, no comment for #:tests? #f?
> + #:install-source? #f
> + #:phases
> + #~(modify-phases %standard-phases
> + (add-after 'unpack 'prepare-install-docs
> + (lambda* (#:key unpack-path #:allow-other-keys)
> + (substitute* (string-append "src/"
> + unpack-path
> + "/docs/Makefile")
> + (("../tests/tools/build/go-md2man")
> + (which "go-md2man")))
> + (substitute* (string-append "src/"
> + unpack-path
> + "/docs/Makefile")
> + (("/usr/local") (string-append #$output)))))
> + (add-after 'build 'build-docs
> + (lambda* (#:key unpack-path #:allow-other-keys)
> + (let*
> + ((doc-path (string-append "src/" unpack-path
> "/docs")))
> + (invoke "make" "-C" doc-path))))
> + (add-after 'install 'install-docs
> + (lambda* (#:key unpack-path #:allow-other-keys)
> + (let*
> + ((doc-path (string-append "src/" unpack-path
> "/docs")))
> + (invoke "make" "-C" doc-path "install")))))))
> + (inputs (list btrfs-progs
> + cni-plugins
> + conmon
> + eudev
> + glib
> + gpgme
> + libassuan
> + libseccomp
> + lvm2
> + runc))
> + (native-inputs
> + (list go-github-com-go-md2man
> + gnu-make
> + pkg-config))
> + (synopsis
> + "Build Open Container Initiative images")
> + (description
> + "Buildah is used to build Open Container Initiative
> +@acronym{OCI, Open Container Initiative} compatible containers.")
Open Container Initiative Open Container Initiative compatible
containers.
Cheers
^ permalink raw reply [flat|nested] 17+ messages in thread
* bug#61682: [PATCH] gnu: buildah: Add 'buildah' package
2023-03-25 10:25 ` [bug#61682] [PATCH v4 1/1] " Zongyuan Li via Guix-patches via
2023-03-25 11:09 ` Liliana Marie Prikler
@ 2023-06-08 21:27 ` Ludovic Courtès
1 sibling, 0 replies; 17+ messages in thread
From: Ludovic Courtès @ 2023-06-08 21:27 UTC (permalink / raw)
To: Zongyuan Li; +Cc: 61682-done, liliana.prikler
[-- Attachment #1: Type: text/plain, Size: 298 bytes --]
Hi,
Zongyuan Li <zongyuan.li@c0x0o.me> skribis:
> gnu: buildah: Add 'buildah' package
>
> Introduce new 'buildah' package
>
> * gnu/packages/containers.scm: New 'buildah' package
Finally applied with the changes below, most of which were suggested by
Liliana.
Thanks,
Ludo’.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Type: text/x-patch, Size: 2647 bytes --]
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 839d81cd0e..eb7699c505 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -414,8 +414,10 @@ (define-public buildah
(arguments
(list #:import-path "github.com/containers/buildah/cmd/buildah"
#:unpack-path "github.com/containers/buildah"
- ; Some dependencies require go-1.18 to build
+
+ ;; Some dependencies require go-1.18 to build.
#:go go-1.18
+
#:tests? #f
#:install-source? #f
#:phases
@@ -433,14 +435,12 @@ (define-public buildah
(("/usr/local") (string-append #$output)))))
(add-after 'build 'build-docs
(lambda* (#:key unpack-path #:allow-other-keys)
- (let*
- ((doc-path (string-append "src/" unpack-path "/docs")))
- (invoke "make" "-C" doc-path))))
+ (let ((doc (string-append "src/" unpack-path "/docs")))
+ (invoke "make" "-C" doc))))
(add-after 'install 'install-docs
(lambda* (#:key unpack-path #:allow-other-keys)
- (let*
- ((doc-path (string-append "src/" unpack-path "/docs")))
- (invoke "make" "-C" doc-path "install")))))))
+ (let ((doc (string-append "src/" unpack-path "/docs")))
+ (invoke "make" "-C" doc "install")))))))
(inputs (list btrfs-progs
cni-plugins
conmon
@@ -455,10 +455,23 @@ (define-public buildah
(list go-github-com-go-md2man
gnu-make
pkg-config))
- (synopsis
- "Build Open Container Initiative images")
+ (synopsis "Build @acronym{OCI, Open Container Initiative} images")
(description
- "Buildah is used to build Open Container Initiative
-@acronym{OCI, Open Container Initiative} compatible containers.")
+ "Buildah is a command-line tool to build @acronym{OCI, Open Container
+Initiative} container images. More generally, it can be used to:
+
+@itemize
+@item
+create a working container, either from scratch or using an image as a
+starting point;
+@item
+create an image, either from a working container or via the instructions
+in a @file{Dockerfile};
+@item
+mount a working container's root filesystem for manipulation;
+@item
+use the updated contents of a container's root filesystem as a filesystem
+layer to create a new image.
+@end itemize")
(home-page "https://buildah.io")
(license license:asl2.0)))
^ permalink raw reply related [flat|nested] 17+ messages in thread