[PATCH] gnu: podman: Add 'docker' alias script as 'docker' output

  • Done
  • quality assurance status badge
Details
4 participants
  • Danny Milosavljevic
  • Liliana Marie Prikler
  • Ludovic Courtès
  • Zongyuan Li
Owner
unassigned
Submitted by
Zongyuan Li
Severity
normal
Z
Z
Zongyuan Li wrote on 21 Feb 2023 15:34
(address . guix-patches@gnu.org)(name . Zongyuan Li)(address . zongyuan.li@c0x0o.me)
20230221143401.42099-1-zongyuan.li@c0x0o.me
* gnu/packages/containers.scm: New 'docker' output for podman

Signed-off-by: Zongyuan Li <zongyuan.li@c0x0o.me>
---
gnu/packages/containers.scm | 157 +++++++++++++++++++-----------------
1 file changed, 83 insertions(+), 74 deletions(-)

Toggle diff (171 lines)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 272b67c38d..80c4aaa400 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -312,83 +312,92 @@ (define-public podman
(package
(name "podman")
(version "4.3.1")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/containers/podman")
- (commit (string-append "v" version))))
- (modules '((guix build utils)))
- ;; FIXME: Btrfs libraries not detected by these scripts.
- (snippet '(substitute* "Makefile"
- ((".*hack/btrfs.*") "")))
- (sha256
- (base32 "05hv4xdf06n728lmsx793zygypc9i404bgcgpy0fyrg8c2s11q2h"))
- (file-name (git-file-name name version))))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/containers/podman")
+ (commit (string-append "v" version))))
+ (modules '((guix build utils)))
+ ;; FIXME: Btrfs libraries not detected by these scripts.
+ (snippet '(substitute* "Makefile"
+ ((".*hack/btrfs.*")
+ "")))
+ (sha256
+ (base32
+ "05hv4xdf06n728lmsx793zygypc9i404bgcgpy0fyrg8c2s11q2h"))
+ (file-name (git-file-name name version))))

(build-system gnu-build-system)
+ (outputs '("out" "docker"))
(arguments
- (list
- #:make-flags
- #~(list #$(string-append "CC=" (cc-for-target))
- (string-append "PREFIX=" #$output))
- #:tests? #f ; /sys/fs/cgroup not set up in guix sandbox
- #:test-target "test"
- #:phases
- #~(modify-phases %standard-phases
- (delete 'configure)
- (add-after 'unpack 'set-env
- (lambda* (#:key inputs #:allow-other-keys)
- ;; when running go, things fail because
- ;; HOME=/homeless-shelter.
- (setenv "HOME" "/tmp")))
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- ;; (invoke "strace" "-f" "bin/podman" "version")
- (invoke "make" "localsystem")
- (invoke "make" "remotesystem"))))
- (add-after 'unpack 'fix-hardcoded-paths
- (lambda _
- (substitute* (find-files "libpod" "\\.go")
- (("exec.LookPath[(][\"]slirp4netns[\"][)]")
- (string-append "exec.LookPath(\""
- (which "slirp4netns") "\")")))
- (substitute* "hack/install_catatonit.sh"
- (("CATATONIT_PATH=\"[^\"]+\"")
- (string-append "CATATONIT_PATH=" (which "true"))))
- (substitute* "vendor/github.com/containers/common/pkg/config/config_linux.go"
- (("/usr/local/libexec/podman")
- (string-append #$output "/bin")))
- (substitute* "vendor/github.com/containers/common/pkg/config/default.go"
- (("/usr/libexec/podman/conmon") (which "conmon"))
- (("/usr/local/libexec/cni")
- (string-append #$(this-package-input "cni-plugins")
- "/bin"))
- (("/usr/bin/crun") (which "crun")))))
- (add-after 'install 'install-completions
- (lambda _
- (invoke "make" "install.completions"
- (string-append "PREFIX=" #$output)))))))
- (inputs
- (list btrfs-progs
- cni-plugins
- conmon
- crun
- gpgme
- go-github-com-go-md2man
- iptables
- libassuan
- libseccomp
- libselinux
- slirp4netns))
- (native-inputs
- (list bats
- git
- go
- ; strace ; XXX debug
- pkg-config
- python))
+ (list #:make-flags #~(list #$(string-append "CC="
+ (cc-for-target))
+ (string-append "PREFIX="
+ #$output))
+ #:tests? #f ;/sys/fs/cgroup not set up in guix sandbox
+ #:test-target "test"
+ #:phases #~(modify-phases %standard-phases
+ (delete 'configure)
+ (add-after 'unpack 'set-env
+ (lambda* (#:key inputs #:allow-other-keys)
+ (setenv "HOME" "/tmp")))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "make" "localsystem")
+ (invoke "make" "remotesystem"))))
+ (add-after 'unpack 'fix-hardcoded-paths
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* (find-files "libpod" "\\.go")
+ (("exec.LookPath[(][\"]slirp4netns[\"][)]")
+ (string-append "exec.LookPath(\""
+ (which "slirp4netns") "\")")))
+ (substitute* "hack/install_catatonit.sh"
+ (("CATATONIT_PATH=\"[^\"]+\"")
+ (string-append "CATATONIT_PATH="
+ (which "true"))))
+ (substitute* "vendor/github.com/containers/common/pkg/config/config_linux.go"
+ (("/usr/local/libexec/podman")
+ (string-append #$output "/bin")))
+ (substitute* "vendor/github.com/containers/common/pkg/config/default.go"
+ (("/usr/libexec/podman/conmon")
+ (which "conmon"))
+ (("/usr/local/libexec/cni")
+ (string-append #$(this-package-input
+ "cni-plugins") "/bin"))
+ (("/usr/bin/crun")
+ (which "crun")))
+ (substitute* "docker"
+ (("/usr/bin/podman")
+ (string-append (assoc-ref outputs "out")
+ "/bin/podman")))))
+ (add-after 'install 'install-docker
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((docker (assoc-ref outputs "docker")))
+ (install-file "docker"
+ (string-append docker "/bin")) #t)))
+ (add-after 'install 'install-completions
+ (lambda _
+ (invoke "make" "install.completions"
+ (string-append "PREFIX="
+ #$output)))))))
+ (inputs (list btrfs-progs
+ cni-plugins
+ conmon
+ crun
+ gpgme
+ go-github-com-go-md2man
+ iptables
+ libassuan
+ libseccomp
+ libselinux
+ slirp4netns))
+ (native-inputs (list bats
+ git
+ go
+ ;; strace ; XXX debug
+ pkg-config
+ python))
(home-page "https://podman.io")
(synopsis "Manage containers, images, pods, and their volumes")
(description
--
2.37.1 (Apple Git-137.1)
L
L
Liliana Marie Prikler wrote on 22 Feb 2023 06:19
f807e5a48baae089ce34f65a27a0d551f54898cf.camel@gmail.com
Am Dienstag, dem 21.02.2023 um 14:34 +0000 schrieb Zongyuan Li:
Toggle quote (1 lines)
> * gnu/packages/containers.scm: New 'docker' output for podman
That ChangeLog looks somewhat incomplete.

Toggle quote (1 lines)
> Signed-off-by: Zongyuan Li <zongyuan.li@c0x0o.me>
Signed-off-by is for committers signing off the commits.

Toggle quote (44 lines)
> ---
>  gnu/packages/containers.scm | 157 +++++++++++++++++++---------------
> --
>  1 file changed, 83 insertions(+), 74 deletions(-)
>
> diff --git a/gnu/packages/containers.scm
> b/gnu/packages/containers.scm
> index 272b67c38d..80c4aaa400 100644
> --- a/gnu/packages/containers.scm
> +++ b/gnu/packages/containers.scm
> @@ -312,83 +312,92 @@ (define-public podman
>    (package
>      (name "podman")
>      (version "4.3.1")
> -    (source
> -     (origin
> -       (method git-fetch)
> -       (uri (git-reference
> -             (url "https://github.com/containers/podman")
> -             (commit (string-append "v" version))))
> -       (modules '((guix build utils)))
> -       ;; FIXME: Btrfs libraries not detected by these scripts.
> -       (snippet '(substitute* "Makefile"
> -                   ((".*hack/btrfs.*") "")))
> -       (sha256
> -        (base32
> "05hv4xdf06n728lmsx793zygypc9i404bgcgpy0fyrg8c2s11q2h"))
> -       (file-name (git-file-name name version))))
> +    (source (origin
> +              (method git-fetch)
> +              (uri (git-reference
> +                    (url "https://github.com/containers/podman")
> +                    (commit (string-append "v" version))))
> +              (modules '((guix build utils)))
> +              ;; FIXME: Btrfs libraries not detected by these
> scripts.
> +              (snippet '(substitute* "Makefile"
> +                          ((".*hack/btrfs.*")
> +                           "")))
> +              (sha256
> +               (base32
> +               
> "05hv4xdf06n728lmsx793zygypc9i404bgcgpy0fyrg8c2s11q2h"))
> +              (file-name (git-file-name name version))))
Don't mix style changes with functional ones. `guix style', while
recommended in the manual, often does more harm than good.

Toggle quote (1 lines)
> +    (outputs '("out" "docker"))
Since this is a very non-standard output, perhaps try describing it
with a output-synopsis package property.

Cheers
L
L
lWP6SrZsSwhCy5tUxadDfg wrote on 22 Feb 2023 06:52
(name . Liliana Marie Prikler)(address . liliana.prikler@gmail.com)(address . 61680@debbugs.gnu.org)
FC2D5660-C1E7-4FBB-A46E-E0A5F102265A@c0x0o.me
Toggle quote (62 lines)
> On Feb 22, 2023, at 13:19, Liliana Marie Prikler <liliana.prikler@gmail.com> wrote:
>
> Am Dienstag, dem 21.02.2023 um 14:34 +0000 schrieb Zongyuan Li:
>> * gnu/packages/containers.scm: New 'docker' output for podman
> That ChangeLog looks somewhat incomplete.
>
>> Signed-off-by: Zongyuan Li <zongyuan.li@c0x0o.me>
> Signed-off-by is for committers signing off the commits.
>
>> ---
>> gnu/packages/containers.scm | 157 +++++++++++++++++++---------------
>> --
>> 1 file changed, 83 insertions(+), 74 deletions(-)
>>
>> diff --git a/gnu/packages/containers.scm
>> b/gnu/packages/containers.scm
>> index 272b67c38d..80c4aaa400 100644
>> --- a/gnu/packages/containers.scm
>> +++ b/gnu/packages/containers.scm
>> @@ -312,83 +312,92 @@ (define-public podman
>> (package
>> (name "podman")
>> (version "4.3.1")
>> - (source
>> - (origin
>> - (method git-fetch)
>> - (uri (git-reference
>> - (url "https://github.com/containers/podman")
>> - (commit (string-append "v" version))))
>> - (modules '((guix build utils)))
>> - ;; FIXME: Btrfs libraries not detected by these scripts.
>> - (snippet '(substitute* "Makefile"
>> - ((".*hack/btrfs.*") "")))
>> - (sha256
>> - (base32
>> "05hv4xdf06n728lmsx793zygypc9i404bgcgpy0fyrg8c2s11q2h"))
>> - (file-name (git-file-name name version))))
>> + (source (origin
>> + (method git-fetch)
>> + (uri (git-reference
>> + (url "https://github.com/containers/podman")
>> + (commit (string-append "v" version))))
>> + (modules '((guix build utils)))
>> + ;; FIXME: Btrfs libraries not detected by these
>> scripts.
>> + (snippet '(substitute* "Makefile"
>> + ((".*hack/btrfs.*")
>> + "")))
>> + (sha256
>> + (base32
>> +
>> "05hv4xdf06n728lmsx793zygypc9i404bgcgpy0fyrg8c2s11q2h"))
>> + (file-name (git-file-name name version))))
> Don't mix style changes with functional ones. `guix style', while
> recommended in the manual, often does more harm than good.
>
>> + (outputs '("out" "docker"))
> Since this is a very non-standard output, perhaps try describing it
> with a output-synopsis package property.
>
> Cheers

Thanks for the review. I will take a look :)
By the way, should I post a new v2 patch in a new thread, or just continue with this one?
L
L
Liliana Marie Prikler wrote on 22 Feb 2023 20:23
(name . lWP6SrZsSwhCy5tUxadDfg)(address . zongyuan.li@c0x0o.me)(address . 61680@debbugs.gnu.org)
c967cd177300a105075403d152130bb32f61c08b.camel@gmail.com
Am Mittwoch, dem 22.02.2023 um 05:52 +0000 schrieb
lWP6SrZsSwhCy5tUxadDfg:
Toggle quote (69 lines)
>
>
> > On Feb 22, 2023, at 13:19, Liliana Marie Prikler
> > <liliana.prikler@gmail.com> wrote:
> >
> > Am Dienstag, dem 21.02.2023 um 14:34 +0000 schrieb Zongyuan Li:
> > > * gnu/packages/containers.scm: New 'docker' output for podman
> > That ChangeLog looks somewhat incomplete.
> >
> > > Signed-off-by: Zongyuan Li <zongyuan.li@c0x0o.me>
> > Signed-off-by is for committers signing off the commits.
> >
> > > ---
> > >  gnu/packages/containers.scm | 157 +++++++++++++++++++-----------
> > > ----
> > > --
> > >  1 file changed, 83 insertions(+), 74 deletions(-)
> > >
> > > diff --git a/gnu/packages/containers.scm
> > > b/gnu/packages/containers.scm
> > > index 272b67c38d..80c4aaa400 100644
> > > --- a/gnu/packages/containers.scm
> > > +++ b/gnu/packages/containers.scm
> > > @@ -312,83 +312,92 @@ (define-public podman
> > >    (package
> > >      (name "podman")
> > >      (version "4.3.1")
> > > -    (source
> > > -     (origin
> > > -       (method git-fetch)
> > > -       (uri (git-reference
> > > -             (url "https://github.com/containers/podman")
> > > -             (commit (string-append "v" version))))
> > > -       (modules '((guix build utils)))
> > > -       ;; FIXME: Btrfs libraries not detected by these scripts.
> > > -       (snippet '(substitute* "Makefile"
> > > -                   ((".*hack/btrfs.*") "")))
> > > -       (sha256
> > > -        (base32
> > > "05hv4xdf06n728lmsx793zygypc9i404bgcgpy0fyrg8c2s11q2h"))
> > > -       (file-name (git-file-name name version))))
> > > +    (source (origin
> > > +              (method git-fetch)
> > > +              (uri (git-reference
> > > +                    (url "https://github.com/containers/podman")
> > > +                    (commit (string-append "v" version))))
> > > +              (modules '((guix build utils)))
> > > +              ;; FIXME: Btrfs libraries not detected by these
> > > scripts.
> > > +              (snippet '(substitute* "Makefile"
> > > +                          ((".*hack/btrfs.*")
> > > +                           "")))
> > > +              (sha256
> > > +               (base32
> > > +
> > > "05hv4xdf06n728lmsx793zygypc9i404bgcgpy0fyrg8c2s11q2h"))
> > > +              (file-name (git-file-name name version))))
> > Don't mix style changes with functional ones.  `guix style', while
> > recommended in the manual, often does more harm than good.
> >
> > > +    (outputs '("out" "docker"))
> > Since this is a very non-standard output, perhaps try describing it
> > with a output-synopsis package property.
> >
> > Cheers
>
> Thanks for the review. I will take a look :)
> By the way, should I post a new v2 patch in a new thread, or just
> continue with this one?
Established practise is to bump the reroll count (-v2 -v3 ...) and
reply to the existing thread.

Cheers
Z
Z
Zongyuan Li wrote on 23 Feb 2023 07:56
[PATCH v2] gnu: podman: Add 'docker' alias script as 'docker' output
(address . 61680@debbugs.gnu.org)
20230223065633.51256-1-zongyuan.li@c0x0o.me
Introduces a output named 'docker' in podman package. This
output provides a 'docker' alias for podman. Since their
cmd interface are identical, this simple script just act
the same as 'alias docker=podman', with some additional
checks and notification.

Changes since v1:

* Add more details in commit messages
* Revert style format
* Add output-synopsis for 'docker' output

* gnu/packages/containers.scm: New 'docker' output for podman
---
gnu/packages/containers.scm | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index 272b67c38d..50dfa88421 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -327,6 +327,9 @@ (define-public podman
(file-name (git-file-name name version))))

(build-system gnu-build-system)
+ (outputs '("out" "docker"))
+ (properties
+ `((output-synopsis "docker" "docker alias for podman")))
(arguments
(list
#:make-flags
@@ -349,7 +352,7 @@ (define-public podman
(invoke "make" "localsystem")
(invoke "make" "remotesystem"))))
(add-after 'unpack 'fix-hardcoded-paths
- (lambda _
+ (lambda* (#:key outputs #:allow-other-keys)
(substitute* (find-files "libpod" "\\.go")
(("exec.LookPath[(][\"]slirp4netns[\"][)]")
(string-append "exec.LookPath(\""
@@ -365,7 +368,14 @@ (define-public podman
(("/usr/local/libexec/cni")
(string-append #$(this-package-input "cni-plugins")
"/bin"))
- (("/usr/bin/crun") (which "crun")))))
+ (("/usr/bin/crun") (which "crun")))
+ (substitute* "docker"
+ (("/usr/bin/podman") (string-append (assoc-ref outputs "out")
+ "/bin/podman")))))
+ (add-after 'install 'install-docker
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((docker (assoc-ref outputs "docker")))
+ (install-file "docker" (string-append docker "/bin")) #t)))
(add-after 'install 'install-completions
(lambda _
(invoke "make" "install.completions"
--
2.37.1 (Apple Git-137.1)
L
L
Ludovic Courtès wrote on 2 Mar 2023 19:35
Re: bug#61680: [PATCH] gnu: podman: Add 'docker' alias script as 'docker' output
(name . Zongyuan Li)(address . zongyuan.li@c0x0o.me)
87356n3sti.fsf_-_@gnu.org
Hi,

Zongyuan Li <zongyuan.li@c0x0o.me> skribis:

Toggle quote (14 lines)
> Introduces a output named 'docker' in podman package. This
> output provides a 'docker' alias for podman. Since their
> cmd interface are identical, this simple script just act
> the same as 'alias docker=podman', with some additional
> checks and notification.
>
> Changes since v1:
>
> * Add more details in commit messages
> * Revert style format
> * Add output-synopsis for 'docker' output
>
> * gnu/packages/containers.scm: New 'docker' output for podman

Regarding the commit log, please check ‘git log’ and the “Submitting
Patches” of the manual for convention. We can tweak that for you if you
want, but basically it’s about describe what has changed, not why.

Toggle quote (15 lines)
> gnu/packages/containers.scm | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
> index 272b67c38d..50dfa88421 100644
> --- a/gnu/packages/containers.scm
> +++ b/gnu/packages/containers.scm
> @@ -327,6 +327,9 @@ (define-public podman
> (file-name (git-file-name name version))))
>
> (build-system gnu-build-system)
> + (outputs '("out" "docker"))
> + (properties
> + `((output-synopsis "docker" "docker alias for podman")))

Are there downsides to having the ‘docker’ command directly in “out”?

I would prefer that because it’d be more easily discovered.

Toggle quote (26 lines)
> (arguments
> (list
> #:make-flags
> @@ -349,7 +352,7 @@ (define-public podman
> (invoke "make" "localsystem")
> (invoke "make" "remotesystem"))))
> (add-after 'unpack 'fix-hardcoded-paths
> - (lambda _
> + (lambda* (#:key outputs #:allow-other-keys)
> (substitute* (find-files "libpod" "\\.go")
> (("exec.LookPath[(][\"]slirp4netns[\"][)]")
> (string-append "exec.LookPath(\""
> @@ -365,7 +368,14 @@ (define-public podman
> (("/usr/local/libexec/cni")
> (string-append #$(this-package-input "cni-plugins")
> "/bin"))
> - (("/usr/bin/crun") (which "crun")))))
> + (("/usr/bin/crun") (which "crun")))
> + (substitute* "docker"
> + (("/usr/bin/podman") (string-append (assoc-ref outputs "out")
> + "/bin/podman")))))
> + (add-after 'install 'install-docker
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((docker (assoc-ref outputs "docker")))
> + (install-file "docker" (string-append docker "/bin")) #t)))

No need for a trailing #t.

Thanks,
Ludo’.
Z
Z
Zongyuan Li wrote on 3 Mar 2023 07:30
(name . Ludovic Courtès)(address . ludo@gnu.org)
D05294D0-C310-4092-8F68-A2B6C239A922@c0x0o.me
Hi,

Thanks for the review, Ludovic

Toggle quote (7 lines)
> On Mar 3, 2023, at 02:35, Ludovic Courtès <ludo@gnu.org> wrote:
>
> Regarding the commit log, please check ‘git log’ and the “Submitting
> Patches” of the manual for convention. We can tweak that for you if you
> want, but basically it’s about describe what has changed, not why.


I will try to fix it in next version, but I’m ok if you want to tweak that.

Toggle quote (4 lines)
> Are there downsides to having the ‘docker’ command directly in “out”?
>
> I would prefer that because it’d be more easily discovered.

‘docker’ alias in podman will conflict with the real docker package.
If user wants both podman and docker package installed on their
system, it’s better to put alias in a seperate output.

Toggle quote (2 lines)
> No need for a trailing #t.

ACK

Li
Z
Z
Zongyuan Li wrote on 3 Mar 2023 09:08
[PATCH v3] gnu: podman: Add 'docker' alias script as 'docker' output
(address . 61680@debbugs.gnu.org)
20230303080821.81649-1-zongyuan.li@c0x0o.me
gnu: podman: Add 'docker' alias script as 'docker' output

changes since v2:

* Remove redundant trailing #t
* Adjust commit log

* gnu/packages/containers.scm (podman): New 'docker' output for podman
---
gnu/packages/containers.scm | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)

Toggle diff (39 lines)
diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
index b402bbde6a..b316588ea2 100644
--- a/gnu/packages/containers.scm
+++ b/gnu/packages/containers.scm
@@ -327,6 +327,9 @@ (define-public podman
(file-name (git-file-name name version))))

(build-system gnu-build-system)
+ (outputs '("out" "docker"))
+ (properties
+ `((output-synopsis "docker" "docker alias for podman")))
(arguments
(list
#:make-flags
@@ -349,7 +352,7 @@ (define-public podman
(invoke "make" "localsystem")
(invoke "make" "remotesystem"))))
(add-after 'unpack 'fix-hardcoded-paths
- (lambda _
+ (lambda* (#:key outputs #:allow-other-keys)
(substitute* (find-files "libpod" "\\.go")
(("exec.LookPath[(][\"]slirp4netns[\"][)]")
(string-append "exec.LookPath(\""
@@ -365,7 +368,14 @@ (define-public podman
(("/usr/local/libexec/cni")
(string-append #$(this-package-input "cni-plugins")
"/bin"))
- (("/usr/bin/crun") (which "crun")))))
+ (("/usr/bin/crun") (which "crun")))
+ (substitute* "docker"
+ (("/usr/bin/podman") (string-append (assoc-ref outputs "out")
+ "/bin/podman")))))
+ (add-after 'install 'install-docker
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((docker (assoc-ref outputs "docker")))
+ (install-file "docker" (string-append docker "/bin")))))
(add-after 'install 'install-completions
(lambda _
(invoke "make" "install.completions"
--
2.37.1 (Apple Git-137.1)
Z
Z
Zongyuan Li wrote on 24 Mar 2023 11:29
(address . 61680@debbugs.gnu.org)
F51A53C2-BBA7-4805-88AF-41421FC7B039@c0x0o.me
Ping. Any further information?

Thanks

Toggle quote (56 lines)
> On Mar 3, 2023, at 16:08, Zongyuan Li <zongyuan.li@c0x0o.me> wrote:
>
> gnu: podman: Add 'docker' alias script as 'docker' output
>
> changes since v2:
>
> * Remove redundant trailing #t
> * Adjust commit log
>
> * gnu/packages/containers.scm (podman): New 'docker' output for podman
> ---
> gnu/packages/containers.scm | 14 ++++++++++++--
> 1 file changed, 12 insertions(+), 2 deletions(-)
>
> diff --git a/gnu/packages/containers.scm b/gnu/packages/containers.scm
> index b402bbde6a..b316588ea2 100644
> --- a/gnu/packages/containers.scm
> +++ b/gnu/packages/containers.scm
> @@ -327,6 +327,9 @@ (define-public podman
> (file-name (git-file-name name version))))
>
> (build-system gnu-build-system)
> + (outputs '("out" "docker"))
> + (properties
> + `((output-synopsis "docker" "docker alias for podman")))
> (arguments
> (list
> #:make-flags
> @@ -349,7 +352,7 @@ (define-public podman
> (invoke "make" "localsystem")
> (invoke "make" "remotesystem"))))
> (add-after 'unpack 'fix-hardcoded-paths
> - (lambda _
> + (lambda* (#:key outputs #:allow-other-keys)
> (substitute* (find-files "libpod" "\\.go")
> (("exec.LookPath[(][\"]slirp4netns[\"][)]")
> (string-append "exec.LookPath(\""
> @@ -365,7 +368,14 @@ (define-public podman
> (("/usr/local/libexec/cni")
> (string-append #$(this-package-input "cni-plugins")
> "/bin"))
> - (("/usr/bin/crun") (which "crun")))))
> + (("/usr/bin/crun") (which "crun")))
> + (substitute* "docker"
> + (("/usr/bin/podman") (string-append (assoc-ref outputs "out")
> + "/bin/podman")))))
> + (add-after 'install 'install-docker
> + (lambda* (#:key outputs #:allow-other-keys)
> + (let* ((docker (assoc-ref outputs "docker")))
> + (install-file "docker" (string-append docker "/bin")))))
> (add-after 'install 'install-completions
> (lambda _
> (invoke "make" "install.completions"
> --
> 2.37.1 (Apple Git-137.1)
>
D
D
Danny Milosavljevic wrote 46 hours ago
merged podman:docker to guix master
(address . 61680-done@debbugs.gnu.org)
20241223104449.033531122267@dd30410.kasserver.com
Hi,

I've merged a variant of that patch to guix master as commit 66f64e0ee81143f8273ecd5a99e8303034278b5d.
Closed
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 61680@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 61680
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch