add udev dependancy tu rc-local service

This commit is contained in:
Yann Dupont 2023-06-30 09:34:18 +02:00
parent d3eca235a5
commit 1a43419c39
2 changed files with 60 additions and 1 deletions

View file

@ -74,3 +74,62 @@
(synopsis "Manage containers, images, pods, and their volumes")
(description "Podman (the POD MANager) is a tool for managing containers and images, volumes mounted into those containers, and pods made from groups of containers.")
(license license:asl2.0)))
(define-public podman-with-overlayfs
(package
(name "podman")
(version "4.5.1")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/containers/podman")
(commit (string-append "v" version))))
(sha256 (base32 "145v7cq1y1v5kjdlg0vl70y693flagw4m60vm95wizibrf4byv9w"))
(modules '((guix build utils)))
(snippet '(begin
(substitute* "Makefile" ((".*hack/btrfs.*") ""))
; we build without doc
(substitute* "Makefile" (("all: binaries docs") "all: binaries"))
(substitute* "Makefile" (("install: install.bin install.remote install.man install.systemd") "install: install.bin install.remote install.systemd"))))))
(build-system gnu-build-system)
(arguments
(list
#:make-flags
#~(list #$(string-append "CC=" (cc-for-target))
(string-append "PREFIX=" #$output))
#:tests? #f
#: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 _
(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 gnu:cni-plugins gnu:conmon gnu:crun gpgme go-github-com-go-md2man iptables libassuan libseccomp libselinux gnu:slirp4netns))
(native-inputs (list bats git go-1.18 pkg-config python))
(home-page "https://podman.io")
(synopsis "Manage containers, images, pods, and their volumes")
(description "Podman (the POD MANager) is a tool for managing containers and images, volumes mounted into those containers, and pods made from groups of containers.")
(license license:asl2.0)))

View file

@ -31,7 +31,7 @@
(shepherd-service
(provision '(rc-local))
(documentation "Run rc-local.")
(requirement '(user-processes))
(requirement '(user-processes udev))
(respawn? #f)
(one-shot? #t)
(start #~(make-forkexec-constructor