gnu: qemu-kvm: Add patch to have multiple SMB shares.
* gnu/packages/qemu.scm (qemu-kvm/smb-shares): New variable. * gnu/packages/patches/qemu-multiple-smb-shares.patch: New file. * Makefile.am (dist_patch_DATA): Add it.master
parent
d510ab4614
commit
161ed5476d
|
@ -202,6 +202,7 @@ dist_patch_DATA = \
|
||||||
gnu/packages/patches/mcron-install.patch \
|
gnu/packages/patches/mcron-install.patch \
|
||||||
gnu/packages/patches/perl-no-sys-dirs.patch \
|
gnu/packages/patches/perl-no-sys-dirs.patch \
|
||||||
gnu/packages/patches/procps-make-3.82.patch \
|
gnu/packages/patches/procps-make-3.82.patch \
|
||||||
|
gnu/packages/patches/qemu-multiple-smb-shares.patch \
|
||||||
gnu/packages/patches/readline-link-ncurses.patch \
|
gnu/packages/patches/readline-link-ncurses.patch \
|
||||||
gnu/packages/patches/shishi-gets-undeclared.patch \
|
gnu/packages/patches/shishi-gets-undeclared.patch \
|
||||||
gnu/packages/patches/tar-gets-undeclared.patch \
|
gnu/packages/patches/tar-gets-undeclared.patch \
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
This file extends `-smb' to add a share for the Nix store, and changes
|
||||||
|
the name of the default share.
|
||||||
|
|
||||||
|
--- a/net/slirp.c
|
||||||
|
+++ b/net/slirp.c
|
||||||
|
@@ -515,8 +515,12 @@ static int slirp_smb(SlirpState* s, const char *exported_dir,
|
||||||
|
"log file=%s/log.smbd\n"
|
||||||
|
"smb passwd file=%s/smbpasswd\n"
|
||||||
|
"security = share\n"
|
||||||
|
- "[qemu]\n"
|
||||||
|
- "path=%s\n"
|
||||||
|
+ "[store]\n"
|
||||||
|
+ "path=/nix/store\n"
|
||||||
|
+ "read only=yes\n"
|
||||||
|
+ "guest ok=yes\n"
|
||||||
|
+ "[xchg]\n"
|
||||||
|
+ "path=%s/xchg\n"
|
||||||
|
"read only=no\n"
|
||||||
|
"guest ok=yes\n",
|
||||||
|
s->smb_dir,
|
|
@ -22,6 +22,7 @@
|
||||||
#:use-module (guix utils)
|
#:use-module (guix utils)
|
||||||
#:use-module ((guix licenses) #:select (gpl2))
|
#:use-module ((guix licenses) #:select (gpl2))
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages autotools)
|
#:use-module (gnu packages autotools)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
|
@ -96,6 +97,18 @@ underway to get the required changes upstream.")
|
||||||
;; Many files are GPLv2+, but some are GPLv2-only---e.g., `memory.c'.
|
;; Many files are GPLv2+, but some are GPLv2-only---e.g., `memory.c'.
|
||||||
(license gpl2)))
|
(license gpl2)))
|
||||||
|
|
||||||
|
(define-public qemu-kvm/smb-shares
|
||||||
|
;; A patched QEMU-KVM where `-net smb' yields two shares instead of one: one
|
||||||
|
;; for the store, and another one for exchanges with the host.
|
||||||
|
(package (inherit qemu-kvm)
|
||||||
|
(name "qemu-kvm-with-multiple-smb-shares")
|
||||||
|
(inputs `(,@(package-inputs qemu-kvm)
|
||||||
|
("patch/smb-shares"
|
||||||
|
,(search-patch "qemu-multiple-smb-shares.patch"))))
|
||||||
|
(arguments
|
||||||
|
`(#:patches (list (assoc-ref %build-inputs "patch/smb-shares"))
|
||||||
|
,@(package-arguments qemu-kvm)))))
|
||||||
|
|
||||||
(define-public qemu
|
(define-public qemu
|
||||||
;; The real one, with a complete target list.
|
;; The real one, with a complete target list.
|
||||||
(package (inherit qemu-kvm)
|
(package (inherit qemu-kvm)
|
||||||
|
|
Reference in New Issue