Thanks, applied.
On Fri, Sep 2, 2011 at 8:53 PM, Brad <b...@comstyle.com> wrote:
> Allow overriding the location of Samba's smbd.
>
> Pretty much every OS I look at has some means of
> changing this path (patching) so lets just make
> it easier for OS developers creating packages
> and/or end users to override the location.
>
> Signed-off-by: Brad Smith <b...@comstyle.com>
>
> ---
> configure | 9 +++++++++
> net.h | 5 -----
> net/slirp.c | 2 +-
> qemu-options.hx | 6 +++---
> 4 files changed, 13 insertions(+), 9 deletions(-)
>
> diff --git a/configure b/configure
> index ad60ea0..c669d4e 100755
> --- a/configure
> +++ b/configure
> @@ -413,6 +413,7 @@ SunOS)
> make="${MAKE-gmake}"
> install="${INSTALL-ginstall}"
> ld="gld"
> + smbd="${SMBD-/usr/sfw/sbin/smbd}"
> needs_libsunmath="no"
> solarisrev=`uname -r | cut -f2 -d.`
> # have to select again, because `uname -m` returns i86pc
> @@ -481,6 +482,7 @@ fi
> : ${make=${MAKE-make}}
> : ${install=${INSTALL-install}}
> : ${python=${PYTHON-python}}
> +: ${smbd=${SMBD-/usr/sbin/smbd}}
>
> if test "$mingw32" = "yes" ; then
> EXESUF=".exe"
> @@ -525,6 +527,8 @@ for opt do
> ;;
> --python=*) python="$optarg"
> ;;
> + --smbd=*) smbd="$optarg"
> + ;;
> --extra-cflags=*)
> ;;
> --extra-ldflags=*)
> @@ -941,6 +945,7 @@ echo " --extra-ldflags=LDFLAGS append extra linker
> flags LDFLAGS"
> echo " --make=MAKE use specified make [$make]"
> echo " --install=INSTALL use specified install [$install]"
> echo " --python=PYTHON use specified python [$python]"
> +echo " --smbd=SMBD use specified smbd [$smbd]"
> echo " --static enable static build [$static]"
> echo " --mandir=PATH install man pages in PATH"
> echo " --datadir=PATH install firmware in PATH"
> @@ -2666,6 +2671,9 @@ echo "LDFLAGS $LDFLAGS"
> echo "make $make"
> echo "install $install"
> echo "python $python"
> +if test "$slirp" = "yes" ; then
> + echo "smbd $smbd"
> +fi
> echo "host CPU $cpu"
> echo "host big endian $bigendian"
> echo "target list $target_list"
> @@ -2825,6 +2833,7 @@ if test "$profiler" = "yes" ; then
> fi
> if test "$slirp" = "yes" ; then
> echo "CONFIG_SLIRP=y" >> $config_host_mak
> + echo "CONFIG_SMBD_COMMAND=\"$smbd\"" >> $config_host_mak
> QEMU_INCLUDES="-I\$(SRC_PATH)/slirp $QEMU_INCLUDES"
> fi
> if test "$vde" = "yes" ; then
> diff --git a/net.h b/net.h
> index 5a7881c..9f633f8 100644
> --- a/net.h
> +++ b/net.h
> @@ -174,11 +174,6 @@ int do_netdev_del(Monitor *mon, const QDict *qdict,
> QObject **ret_data);
>
> #define DEFAULT_NETWORK_SCRIPT "/etc/qemu-ifup"
> #define DEFAULT_NETWORK_DOWN_SCRIPT "/etc/qemu-ifdown"
> -#ifdef __sun__
> -#define SMBD_COMMAND "/usr/sfw/sbin/smbd"
> -#else
> -#define SMBD_COMMAND "/usr/sbin/smbd"
> -#endif
>
> void qdev_set_nic_properties(DeviceState *dev, NICInfo *nd);
>
> diff --git a/net/slirp.c b/net/slirp.c
> index 3b39d21..c6cda5d 100644
> --- a/net/slirp.c
> +++ b/net/slirp.c
> @@ -529,7 +529,7 @@ static int slirp_smb(SlirpState* s, const char
> *exported_dir,
> fclose(f);
>
> snprintf(smb_cmdline, sizeof(smb_cmdline), "%s -s %s",
> - SMBD_COMMAND, smb_conf);
> + CONFIG_SMBD_COMMAND, smb_conf);
>
> if (slirp_add_exec(s->slirp, 0, smb_cmdline, &vserver_addr, 139) < 0) {
> slirp_smb_cleanup(s);
> diff --git a/qemu-options.hx b/qemu-options.hx
> index 35d95d1..e24a740 100644
> --- a/qemu-options.hx
> +++ b/qemu-options.hx
> @@ -1277,9 +1277,9 @@ or @file{C:\WINNT\SYSTEM32\DRIVERS\ETC\LMHOSTS}
> (Windows NT/2000).
>
> Then @file{@var{dir}} can be accessed in @file{\\smbserver\qemu}.
>
> -Note that a SAMBA server must be installed on the host OS in
> -@file{/usr/sbin/smbd}. QEMU was tested successfully with smbd versions from
> -Red Hat 9, Fedora Core 3 and OpenSUSE 11.x.
> +Note that a SAMBA server must be installed on the host OS.
> +QEMU was tested successfully with smbd versions from Red Hat 9,
> +Fedora Core 3 and OpenSUSE 11.x.
>
> @item
> hostfwd=[tcp|udp]:[@var{hostaddr}]:@var{hostport}-[@var{guestaddr}]:@var{guestport}
> Redirect incoming TCP or UDP connections to the host port @var{hostport} to
> --
> 1.7.6
>
>
>