Subject: bug#26797: qemu looks for smbd at /usr/sbin

From: Marius Bakke <[email-masked]>
Date: Sat, 06 May 2017 16:42:59 +0200

Ludovic Courtès <[email-masked]> writes:

> Ricardo Wurmus <[email-masked]> skribis:
>
>> Qemu comes with support for sharing files with a guest via Samba.  This
>> is done by appending something like this to the qemu-system-*
>> invocation:
>>
>>     … -net user,smb=$HOME/Downloads -net nic
>>
>> Qemu needs to be told *at configure time* where the smbd executable will
>> be at runtime.  By default this is /usr/sbin/smbd.  Users can work
>> around this problem by installing the “samba” package and creating a
>> link from /usr/sbin/smbd to the actual executable.
>>
>> It would be better to fix this, but this would require adding samba as a
>> dependency to Qemu, so that the location can be set at configure time.
>> Alternatively, we could patch Qemu to look for smbd depending on an
>> environment variable.
>
> See commit b344c505f4dff2ecbe981f0a0a3c3d67b222dcca, which removed the
> dependency and Samba.  Prior to that commit, QEMU recorded the absolute
> file name of ‘smbd’.
>
> The problem is that Samba is big:
>
> --8<---------------cut here---------------start------------->8---
> $ guix size qemu |tail -1
> total: 710.5 MiB
> $ guix size qemu samba |tail -1
> total: 1203.5 MiB
> --8<---------------cut here---------------end--------------->8---
>
> Thus it’d be best if we modified QEMU to search for ‘smbd’ in $PATH.

Tangentially, would it make sense to add a "qemu-full" package? I'd like
to add RBD support when Ceph is stable on Hydra, but that adds another
~300MiB to the closure (and a very expensive dependency..).