On Mon, Aug 29, 2011 at 4:49 AM, 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> > > --- > Makefile.objs | 2 ++ > configure | 7 +++++++ > net.h | 5 ----- > qemu-options.hx | 6 +++--- > 4 files changed, 12 insertions(+), 8 deletions(-) > > diff --git a/Makefile.objs b/Makefile.objs > index d1f3e5d..62c03f9 100644 > --- a/Makefile.objs > +++ b/Makefile.objs > @@ -166,6 +166,8 @@ slirp-obj-y += slirp.o mbuf.o misc.o sbuf.o socket.o > tcp_input.o tcp_output.o > slirp-obj-y += tcp_subr.o tcp_timer.o udp.o bootp.o tftp.o arp_table.o > common-obj-$(CONFIG_SLIRP) += $(addprefix slirp/, $(slirp-obj-y)) > > +net/slirp.o: QEMU_CFLAGS += -DSMBD_COMMAND=\"${SMBD}\"
Instead of -D, please put the command to config-host.h as something like CONFIG_SMBD_COMMAND. That requires also a small change to slirp.c. > + > # xen backend driver support > common-obj-$(CONFIG_XEN_BACKEND) += xen_backend.o xen_devconfig.o > common-obj-$(CONFIG_XEN_BACKEND) += xen_console.o xenfb.o xen_disk.o > xen_nic.o > diff --git a/configure b/configure > index ad60ea0..4795d05 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,7 @@ echo "LDFLAGS $LDFLAGS" > echo "make $make" > echo "install $install" > echo "python $python" > +echo "smbd $smbd" > echo "host CPU $cpu" > echo "host big endian $bigendian" > echo "target list $target_list" > @@ -3093,6 +3099,7 @@ echo "OBJCOPY=$objcopy" >> $config_host_mak > echo "LD=$ld" >> $config_host_mak > echo "WINDRES=$windres" >> $config_host_mak > echo "LIBTOOL=$libtool" >> $config_host_mak > +echo "SMBD=$smbd" >> $config_host_mak Then this is not needed. > echo "CFLAGS=$CFLAGS" >> $config_host_mak > echo "QEMU_CFLAGS=$QEMU_CFLAGS" >> $config_host_mak > echo "QEMU_INCLUDES=$QEMU_INCLUDES" >> $config_host_mak > 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/qemu-options.hx b/qemu-options.hx > index d86815d..1db76f1 100644 > --- a/qemu-options.hx > +++ b/qemu-options.hx > @@ -1273,9 +1273,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 > > > -- > This message has been scanned for viruses and > dangerous content by MailScanner, and is > believed to be clean. > > >