guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#29875] [PATCH] gnu: qemu: Add wrapper for Samba.


From: Marius Bakke
Subject: [bug#29875] [PATCH] gnu: qemu: Add wrapper for Samba.
Date: Thu, 28 Dec 2017 18:35:55 +0100
User-agent: Notmuch/0.25.3 (https://notmuchmail.org) Emacs/25.3.1 (x86_64-pc-linux-gnu)

Rutger Helling <address@hidden> writes:

> This patch adds a small hack to get Samba support working on QEMU,
> without actually pulling it in as an input.

Awesome :)

> It seems to work surprisingly well. The only bad thing is that you need
> to explicitly install Samba in your profile for Samba support. There's
> no error if you try to run something like -net user,smb=/tmp without
> having Samba installed in your profile. QEMU will just merrily keep on
> running while not actually starting a Samba server.

Huh, I would have expected a warning at least.  But not complaining :)

> I've also updated the URL of QEMU.

Can you push that as a separate patch?

> From f45a7663f646b195222dc4426b19884147051f05 Mon Sep 17 00:00:00 2001
> From: Rutger Helling <address@hidden>
> Date: Thu, 28 Dec 2017 08:57:28 +0100
> Subject: [PATCH] gnu: qemu: Add wrapper for Samba.
>
> * gnu/packages/virtualization.scm (qemu)[arguments]: Change #:configure-flags 
> to
> a list, add --smbd flag. Add 'create-samba-wrapper phase.
> [home-page]: Update URL.

[...]

> diff --git a/gnu/packages/virtualization.scm b/gnu/packages/virtualization.scm
> index 0e4feb7b1..1584580ad 100644
> --- a/gnu/packages/virtualization.scm
> +++ b/gnu/packages/virtualization.scm
> @@ -96,7 +96,10 @@
>       '(;; Running tests in parallel can occasionally lead to failures, like:
>         ;; boot_sector_test: assertion failed (signature == SIGNATURE): 
> (0x00000000 == 0x0000dead)
>         #:parallel-tests? #f
> -       #:configure-flags '("--enable-usb-redir" "--enable-opengl")
> +       #:configure-flags (list "--enable-usb-redir" "--enable-opengl"
> +                               (string-append "--smbd="
> +                                              (assoc-ref %outputs "out")
> +                                              "/libexec/samba-wrapper"))

Reading the script, would it work to simply pass "--smbd=smbd" here?

[...]

> +         ;; Create a wrapper for Samba. This allows QEMU to use Samba without
> +         ;; pulling it in as an input. Note that you need to explicitly 
> install
> +         ;; Samba in your Guix profile for Samba support.
> +         (add-after 'install-info 'create-samba-wrapper
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let* ((out    (assoc-ref %outputs "out"))
> +                    (libexec (string-append out "/libexec")))
> +               (system* "touch" "samba-wrapper")
> +               (call-with-output-file "samba-wrapper"
> +                 (lambda (port)
> +                   (format port "#!/bin/sh
> + exec smbd $@")))
> +               (chmod "samba-wrapper" #o755)
> +               (install-file "samba-wrapper" libexec))
> +             #t))

The "touch" here is unnecessary.

If the above is insufficient, this LGTM.

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]