diff mbox series

[bug#61680] gnu: podman: Add 'docker' alias script as 'docker' output

Message ID 20230221143401.42099-1-zongyuan.li@c0x0o.me
State New
Headers show
Series [bug#61680] gnu: podman: Add 'docker' alias script as 'docker' output | expand

Commit Message

Zongyuan Li Feb. 21, 2023, 2:34 p.m. UTC
* 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(-)

--
2.37.1 (Apple Git-137.1)

Comments

Liliana Marie Prikler Feb. 22, 2023, 5:19 a.m. UTC | #1
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
Zongyuan Li Feb. 22, 2023, 5:52 a.m. UTC | #2
> 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?
Liliana Marie Prikler Feb. 22, 2023, 7:23 p.m. UTC | #3
Am Mittwoch, dem 22.02.2023 um 05:52 +0000 schrieb
lWP6SrZsSwhCy5tUxadDfg:
> 
> 
> > 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
diff mbox series

Patch

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