unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
From: Vivien Kraus via Guix-patches via <guix-patches@gnu.org>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 52009@debbugs.gnu.org
Subject: [bug#52009] [PATCH core-updates-frozen] openresolv: Wrap it.
Date: Mon, 22 Nov 2021 23:10:46 +0100	[thread overview]
Message-ID: <87zgpvkfeu.fsf@planete-kraus.eu> (raw)
In-Reply-To: <877dczn9p0.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 939 bytes --]


Ludovic Courtès <ludo@gnu.org> writes:
> Vivien Kraus <vivien@planete-kraus.eu> skribis:
>> +         (add-after 'install 'wrap-program
>> +           (lambda* (#:key inputs outputs #:allow-other-keys)
>> +             (let ((out (assoc-ref outputs "out"))
>> +                   (coreutils (assoc-ref inputs "coreutils")))
>> +               (wrap-program (string-append out "/sbin/resolvconf")
>> +                 `("PATH" ":" = (,(string-append coreutils "/bin"))))))))))
>> +    (inputs
>> +     `(("bash-minimal" ,bash-minimal)
>> +       ("coreutils" ,coreutils)))
>
> Since /sbin/resolvconf is a shell script, how about, instead of wrapping
> it, inserting with ‘substitute*’ something like:
>
>   PATH=/gnu/store/…-coreutils/bin:$PATH
>
> somewhere at the top?

Good idea.

> (We could also use ‘coreutils-minimal’ here.)

It contains the required binaries, so let’s go with it.

Vivien


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: Warpping openresolv, with coreutils-minimal and shell code --]
[-- Type: text/x-patch, Size: 1860 bytes --]

From 8b26dda4284de0c3db8aa40c5d9ddd6130ded590 Mon Sep 17 00:00:00 2001
From: Vivien Kraus <vivien@planete-kraus.eu>
Date: Sat, 20 Nov 2021 23:48:17 +0100
Subject: [PATCH] gnu: openresolv: Wrap resolvconf.

* gnu/packages/dns.scm (openresolv) [phases]: Wrap resolvconf to set PATH, for
coreutils programs mkdir and rm.
* gnu/packages/dns.scm (openresolv) [inputs]: Add coreutils, and bash-minimal
to run the wrapper and the wrapped script.
---
 gnu/packages/dns.scm | 17 ++++++++++++++++-
 1 file changed, 16 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/dns.scm b/gnu/packages/dns.scm
index b289aa999e..f025b2242b 100644
--- a/gnu/packages/dns.scm
+++ b/gnu/packages/dns.scm
@@ -1417,7 +1417,22 @@ (define-public openresolv
        #:configure-flags
        (list (string-append "--sysconfdir=/etc"))
        #:make-flags
-       (list (string-append "SYSCONFDIR=/" (assoc-ref %outputs "out") "/etc"))))
+       (list (string-append "SYSCONFDIR=/" (assoc-ref %outputs "out") "/etc"))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'install 'wrap-program
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let ((out (assoc-ref outputs "out"))
+                   (coreutils (assoc-ref inputs "coreutils-minimal")))
+               (substitute* (string-append out "/sbin/resolvconf")
+                 (("RESOLVCONF=\"\\$0\"")
+                  (format #f "\
+RESOLVCONF=\"$0\"
+PATH=~a/bin:$PATH"
+                          coreutils)))))))))
+    (inputs
+     `(("bash-minimal" ,bash-minimal)
+       ("coreutils-minimal" ,coreutils-minimal)))
     (home-page "https://roy.marples.name/projects/openresolv/")
     (synopsis "Resolvconf POSIX compliant implementation, a middleman for resolv.conf")
     (description "openresolv is an implementation of @command{resolvconf}, the
-- 
2.34.0


  reply	other threads:[~2021-11-22 22:15 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-20 23:04 [bug#52009] [PATCH core-updates-frozen] openresolv: Wrap it Vivien Kraus via Guix-patches via
2021-11-22 21:48 ` Ludovic Courtès
2021-11-22 22:10   ` Vivien Kraus via Guix-patches via [this message]
2021-11-22 22:39     ` bug#52009: " Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zgpvkfeu.fsf@planete-kraus.eu \
    --to=guix-patches@gnu.org \
    --cc=52009@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    --cc=vivien@planete-kraus.eu \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).