GNU bug report logs -
#75494
[PATCH] gnu: Add dhcpcd.
Previous Next
Reported by: soeren <at> soeren-tempel.net
Date: Sat, 11 Jan 2025 12:59:01 UTC
Severity: normal
Tags: patch
Done: Zheng Junjie <zhengjunjie <at> iscas.ac.cn>
Bug is archived. No further changes may be made.
Full log
Message #10 received at 75494-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
soeren <at> soeren-tempel.net writes:
> From: Sören Tempel <soeren <at> soeren-tempel.net>
>
> * gnu/packages/admin.scm (dhcpcd): new procedure.
>
> Signed-off-by: Sören Tempel <soeren <at> soeren-tempel.net>
see https://guix.gnu.org/manual/devel/en/html_node/Commit-Access.html#Commit-Policy
| When pushing a commit on behalf of somebody else, please add a
|‘Signed-off-by’ line at the end of the commit log message—e.g., with
|‘git am --signoff’. This improves tracking of who did what.
So you don't need to add this line
> ---
> This adds an alternative to isc-dhcpd which has reached its end-of-life
> in 2022 (i.e. three years ago!) and hasn't been maintained and patched
> upstream since [1]. This patch has been extracted from #68675 [2] in the
> hopes that it will be easier to get the package merged first and then
> propose either a standalone services [3] or a service integrated into
> dhcp-client-service-type [4] separatly afterwards.
>
> [1]: https://issues.guix.gnu.org/68619
> [2]: https://issues.guix.gnu.org/68675
> [3]: https://github.com/nmeum/guix-channel/blob/b1b80697a9d35ca015ce56ccf3031f91f2bf554f/src/nmeum/services/networking.scm#L130-L132
> [4]: https://issues.guix.gnu.org/68675#10
>
> gnu/packages/admin.scm | 56 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 56 insertions(+)
>
> diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm
> index 7fd05341993..2e9640a9e1e 100644
> --- a/gnu/packages/admin.scm
> +++ b/gnu/packages/admin.scm
> @@ -1712,6 +1712,62 @@ (define-public isc-dhcp
> (license license:mpl2.0)
> (properties '((cpe-name . "dhcp"))))))
>
> +(define-public dhcpcd
> + (package
> + (name "dhcpcd")
> + (version "10.0.6")
> + (source
> + (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/NetworkConfiguration/dhcpcd")
> + (commit (string-append "v" version))))
> + (sha256
> + (base32 "07n7d5wsmy955i6l8rkcmxhgxjygj2cxgpw79id2hx9w41fbkl5l"))
> + (file-name (git-file-name name version))))
adjust to
(origin
(uri ...)
(file-name ...)
(sha256 ...))
It's a general habit
> + (inputs (list bash-minimal))
please test the cross-compilation next time.
I add coreutils-minimal for rm, add sed for sed, and move eudev from
native-inputs to inputs, because this is a compile-time library
dependency.
> + (native-inputs (list eudev))
> + (build-system gnu-build-system)
> + (arguments
> + (list
> + #:test-target "test"
> + #:configure-flags #~(list "--enable-ipv6"
> + "--enable-privsep"
> + "--privsepuser=dhcpcd"
> + (string-append "--dbdir=" "/var/db/dhcpcd")
> + (string-append "--rundir=" "/var/run/dhcpcd")
> + (string-append "CC=" #$(cc-for-target)))
> + #:phases #~(modify-phases %standard-phases
> + (add-after 'unpack 'do-not-create-dbdir
> + (lambda _
> + ;; Make sure that the Makefile doesn't attempt to create
> + ;; /var/db/dhcpcd for which it doesn't have permissions.
> + (substitute* "src/Makefile"
> + (("\\$\\{INSTALL\\} -m \\$\\{DBMODE\\} -d \\$\\{DESTDIR\\}\\$\\{DBDIR\\}")
I added a \ to avoid being too long
> + ""))))
> + (add-before 'build 'setenv
> + (lambda _
> + (setenv "HOST_SH" (which "sh"))))
> + (add-after 'install 'wrap-hooks
> + (lambda* (#:key inputs outputs #:allow-other-keys)
> + (let* ((out (assoc-ref outputs "out"))
> + (libexec (string-append out "/libexec"))
> + (sed (search-input-file inputs "/bin/sed"))
> + (rm (search-input-file inputs "/bin/rm")))
> + (wrap-program (string-append libexec
> + "/dhcpcd-run-hooks")
adjust to (string-append #$output "/libexec/dhcpcd-run-hooks").
> + `("PATH" ":" suffix
> + (,(dirname sed)
> + ,(dirname rm))))))))))
> + (home-page "https://roy.marples.name/projects/dhcpcd")
> + (synopsis "Feature-rich DHCP and DHCPv6 client")
> + (description
> + "Provides a DHCP and a DHCPv6 client. Additionally,
> +dhcpcd is also an IPv4LL (aka ZeroConf) client. In layperson's terms,
> +dhcpcd runs on your machine and silently configures your computer to work
> +on the attached networks without trouble and mostly without configuration.")
> + (license license:bsd-2)))
> +
> (define-public radvd
> (package
> (name "radvd")
>
> base-commit: bd24a13c572f1c4cf0e104adc7ca81fe71fee632
pushed, closing.
[signature.asc (application/pgp-signature, inline)]
This bug report was last modified 118 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.