Re: [PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-28 Thread Jelmer Vernooij
On Tue, Nov 26, 2002 at 08:06:07AM +0100, Stefan (metze) Metzmacher wrote about 'Re: 
[PATCH] add 'modules path' and handle 'configure --with-configdir' right':
> here's the next version of the patch. (it's now attached :-)

I've applied a part of your patch, but I'm waiting with the
lp_modules_dir() stuff until we've resolved the problems around the
new module system - the loading of charset modules and ab's comments.

> I added --with-sambadatadir  witch is default ${datadir}/samba (--with-fhs) 
> or ${datadir}
> ${datadir} is ${prefix}/share by default, so $(sambadatadir) is 
> ${prefix}/share/samba or ${prefix}/share.

> the valid.dat ... files are now installed to sambadatadir

> I'm happy with this patch, but NOT with the name 'sambadatadir' DOES 
> ANYBODY HAVE ABETTER IDEA?
Need a new capslock key? ;-) Would the name datadir be ok to you - is
there anyone who has problems with putting the *.dat files not in the 
libdir ?

How's your winsdb stuff btw?

Jelmer



msg04706/pgp0.pgp
Description: PGP signature


Re: [PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-25 Thread Stefan (metze) Metzmacher
Hi Jelmer,

here's the next version of the patch. (it's now attached :-)

I added --with-sambadatadir  witch is default ${datadir}/samba (--with-fhs) 
or ${datadir}
${datadir} is ${prefix}/share by default, so $(sambadatadir) is 
${prefix}/share/samba or ${prefix}/share.

the valid.dat ... files are now installed to sambadatadir

I'm happy with this patch, but NOT with the name 'sambadatadir' DOES 
ANYBODY HAVE ABETTER IDEA?

I removed the modules/Makfile.ext_modules.in stuff

I think we should put ALL header files in include/   and then after make 
proto we can install all headers to ${prefix}/include/samba

so that the modules only have to include:
#include 



metze
-
Stefan "metze" Metzmacher <[EMAIL PROTECTED]>diff -Npur --exclude=CVS --exclude=*.bak --exclude=*.o --exclude=*.po --exclude=.#* 
HEAD/source/Makefile.in HEAD-fix/source/Makefile.in
--- HEAD/source/Makefile.in Tue Nov 26 07:19:11 2002
+++ HEAD-fix/source/Makefile.in Tue Nov 26 07:41:52 2002
@@ -56,8 +56,13 @@ INSTALLPERMS = 0755
 # These can be overridden by command line switches (see smbd(8))
 # or in smb.conf (see smb.conf(5))
 LOGFILEBASE = @logfilebase@
-CONFIGFILE = $(LIBDIR)/smb.conf
-LMHOSTSFILE = $(LIBDIR)/lmhosts
+CONFIGDIR = @configdir@
+CONFIGFILE = $(CONFIGDIR)/smb.conf
+LMHOSTSFILE = $(CONFIGDIR)/lmhosts
+# This is where modules are installed and searched by default
+MODULESDIR = @modulesdir@
+# This is where valid.dat,upcase.dat,lowcase.dat are installed and searched by default
+SAMBADATADIR = @sambadatadir@
 # This is where smbpasswd et al go
 PRIVATEDIR = @privatedir@
 
@@ -93,7 +98,8 @@ PATH_FLAGS2 = $(PATH_FLAGS1) -DBINDIR=\"
 PATH_FLAGS3 = $(PATH_FLAGS2) -DLMHOSTSFILE=\"$(LMHOSTSFILE)\" 
 PATH_FLAGS4 = $(PATH_FLAGS3) -DSWATDIR=\"$(SWATDIR)\"  -DLOCKDIR=\"$(LOCKDIR)\" 
-DPIDDIR=\"$(PIDDIR)\"
 PATH_FLAGS5 = $(PATH_FLAGS4) -DLIBDIR=\"$(LIBDIR)\" -DLOGFILEBASE=\"$(LOGFILEBASE)\"
-PATH_FLAGS = $(PATH_FLAGS5) $(PASSWD_FLAGS)
+PATH_FLAGS6 = $(PATH_FLAGS5) -DMODULESDIR=\"$(MODULESDIR)\" 
+-DSAMBADATADIR=\"$(SAMBADATADIR)\"
+PATH_FLAGS = $(PATH_FLAGS6) $(PASSWD_FLAGS)
 
 SBIN_PROGS = bin/smbd bin/nmbd bin/swat bin/wrepld @EXTRA_SBIN_PROGS@
 
@@ -573,7 +579,7 @@ nsswitch : SHOWFLAGS bin/winbindd bin/wb
 
 wins : SHOWFLAGS nsswitch/libnss_wins.@SHLIBEXT@
 
-modules: SHOWFLAGS $(MODULES)
+modules: SHOWFLAGS proto_exists $(MODULES)
 
 everything: all libsmbclient debug2html smbfilter talloctort
 
@@ -896,23 +902,23 @@ bin/tdbbackup: $(TDBBACKUP_OBJ) bin/.dum
 install: installbin installman installscripts installdat installswat 
 
 installdirs:
-   @$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)$(BASEDIR) 
$(DESTDIR)$(BINDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) 
$(DESTDIR)$(PRIVATEDIR)
+   @$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)$(BASEDIR) 
+$(DESTDIR)$(BINDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(SAMBADATADIR) 
+$(DESTDIR)$(MODULESDIR) $(DESTDIR)$(VARDIR) $(DESTDIR)$(PRIVATEDIR)
 
 installservers: all installdirs
-   @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) 
$(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS)
+   @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) 
+$(DESTDIR)$(SBINDIR) $(DESTDIR)$(SAMBADATADIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS)
 
 installbin: all installdirs
-   @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) 
$(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS)
-   @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) 
$(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(BIN_PROGS)
+   @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) 
+$(DESTDIR)$(SBINDIR) $(DESTDIR)$(SAMBADATADIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS)
+   @$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) 
+$(DESTDIR)$(BINDIR) $(DESTDIR)$(SAMBADATADIR) $(DESTDIR)$(VARDIR) $(BIN_PROGS)
 
-installmodules: all installdirs
-   @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) 
$(DESTDIR)$(BASEDIR) $(DESTDIR)$(LIBDIR) $(MODULES)
+installmodules: modules installdirs
+   @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) 
+$(DESTDIR)$(BASEDIR) $(DESTDIR)$(MODULESDIR) $(MODULES)
 
 installscripts: installdirs
@$(SHELL) $(srcdir)/script/installscripts.sh $(INSTALLPERMS) 
$(DESTDIR)$(BINDIR) $(SCRIPTS)
 
 installdat: installdirs
-   @$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(LIBDIR) $(srcdir)
+   @$(SHELL) $(srcdir)/script/installdat.sh $(DESTDIR)$(SAMBADATADIR) $(srcdir)
 
 installswat: installdirs
@$(SHELL) $(srcdir)/script/installswat.sh $(DESTDIR)$(SWATDIR) $(srcdir)
@@ -1001,11 +1007,11 @@ uninstallman:
@$(SHELL) $(srcdir)/script/uninstallman.sh $(DESTDIR)$(MANDIR) $(srcdir) 
$(man_langs)
 
 uninstallbin:
-   @$(

Re: [PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-25 Thread Stefan (metze) Metzmacher
Hi Jelmer,

here's the next version of the patch.

I added --with-sambadatadir  witch is default ${datadir}/samba (--with-fhs) 
or ${datadir}
${datadir} is ${prefix}/share by default, so $(sambadatadir) is 
${prefix}/share/samba or ${prefix}/share.

the valid.dat ... files are now installed to sambadatadir

I'm happy with this patch, but NOT with the name 'sambadatadir' DOES 
ANYBODY HAVE ABETTER IDEA?

I removed the modules/Makfile.ext_modules.in stuff

I think we should put ALL header files in include/   and then after make 
proto we can install all headers to ${prefix}/include/samba

so that the modules only have to include:
#include 



metze
-
Stefan "metze" Metzmacher <[EMAIL PROTECTED]>



Re: [PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-25 Thread Jelmer Vernooij


msg.pgp
Description: PGP message


Re: [PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-23 Thread Steve Langasek
On Sat, Nov 23, 2002 at 09:52:36PM +0100, Jelmer Vernooij wrote:

> > >There's already a directory for architecture specific library files -
> > >libexec.  We haven't needed to use this so much before so it probably
> > >isn't supported in configure.in.  How about $(LIBEXECDIR)/modules as
> > >a location for the vfs modules?
> What's the exact difference between lib and libexec? The FHS doesn't 
> seem to have libexec and some other OS'es seem to put executables that 
> are not to be called directly by users in libexec.

This is the distinction between the two as I understand it, and it's
certainly been the GNU explanation for the difference.  The FHS folds
libexec back into lib, however.  Since /usr/libexec/ contains only
subdirectories (in theory), this isn't much of a problem either way.

I fall on the FHS side of the fence, if only because it makes tab
completion easier. ;)

> > I would preferr to use LIBDIR/samba  , LIBDIR/samba/modules , 
> > LIBEXECDIR/samba or LIBEXEC/samba/modules (but I would like one of the 
> > first two)
> Most programs with modules put them in some directory in
> /usr/lib/ - that would be the best place imho, since the
> plugins are really just libraries that are only loaded 'manually'.

> > I also don't like the valid.dat , upcase.dat, lowcase.dat installed to 
> > LIBDIR they should go to LIBDIR/samba/ or CONFIGDIR/ (we should always use 
> > the subdir samba, exept BINDIR and SBINDIR)
> valid.dat, upcase.dat and lowcase.dat should be in $(PREFIX)/share/samba (for FHS at
> least)

Correct.  There's also the dichotomy between installing samba into a
private heirarchy (/usr/local/samba/share/), and installing it as part
of the system (/usr/local/share/samba/ or /usr/share/samba/).  This is
the problem with saying "we should always use the subdir samba", because
there are still unbelievers[1] who don't want this. :)

-- 
Steve Langasek
postmodern programmer

[1]  :)



msg04587/pgp0.pgp
Description: PGP signature


Re: [PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-23 Thread Jelmer Vernooij
On Sat, Nov 23, 2002 at 05:19:43PM +0100, Stefan (metze) Metzmacher wrote about 'Re: 
[PATCH] add 'modules path' and handle 'configure --with-configdir' right':
> At 11:23 23.11.2002 +1100, Tim Potter wrote:
> >On Fri, Nov 22, 2002 at 01:21:21PM +0100, Jelmer Vernooij wrote:

> >> > here's a patch that added the 'modules path' parameter.

> >> > lp_modules_path() is prefixed to all lp_modules() witch are not start 
> >with
> >> > '/' (not absolute pathes)

> >> > the default for lp_modules_path() is selectable by ./configure
> >> > --with-modulesdir=/modules
> >> > or $(LIBDIR)/samba  (when  --with-fhs) or $(LIBDIR)

> >> > make installmodules install the modules to lp_modules_path()

> >> > make modules now makes proto_exist
> >> Thanks a lot! These were on my todo list.I'll take a look at it later 
> >today
> >> (when I get back home, I'm currently at school)

> >There's already a directory for architecture specific library files -
> >libexec.  We haven't needed to use this so much before so it probably
> >isn't supported in configure.in.  How about $(LIBEXECDIR)/modules as
> >a location for the vfs modules?
What's the exact difference between lib and libexec? The FHS doesn't seem to have 
libexec and some other OS'es seem to put executables that are not to
be called directly by users in libexec.

> --libexecdir=DIRprogram executables in DIR [EPREFIX/libexec]

> --libdir=DIRobject code libraries in DIR [EPREFIX/lib]

> I think modules are object code libaries

> I would preferr to use LIBDIR/samba  , LIBDIR/samba/modules , 
> LIBEXECDIR/samba or LIBEXEC/samba/modules (but I would like one of the 
> first two)
Most programs with modules put them in some directory in
/usr/lib/ - that would be the best place imho, since the
plugins are really just libraries that are only loaded 'manually'.

> I also don't like the valid.dat , upcase.dat, lowcase.dat installed to 
> LIBDIR they should go to LIBDIR/samba/ or CONFIGDIR/ (we should always use 
> the subdir samba, exept BINDIR and SBINDIR)
valid.dat, upcase.dat and lowcase.dat should be in $(PREFIX)/share/samba (for FHS at
least)

jelmer
-- 
Jelmer Vernooij <[EMAIL PROTECTED]> - http://nl.linux.org/~jelmer/
 21:44:09 up 1 day,  5:55,  2 users,  load average: 0.51, 0.57, 0.53



msg04586/pgp0.pgp
Description: PGP signature


Re: [PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-23 Thread Stefan (metze) Metzmacher
At 11:23 23.11.2002 +1100, Tim Potter wrote:

On Fri, Nov 22, 2002 at 01:21:21PM +0100, Jelmer Vernooij wrote:

> > here's a patch that added the 'modules path' parameter.
> >
> > lp_modules_path() is prefixed to all lp_modules() witch are not start 
with
> > '/' (not absolute pathes)
> >
> > the default for lp_modules_path() is selectable by ./configure
> > --with-modulesdir=/modules
> > or $(LIBDIR)/samba  (when  --with-fhs) or $(LIBDIR)
> >
> > make installmodules install the modules to lp_modules_path()
> >
> > make modules now makes proto_exist
> Thanks a lot! These were on my todo list.I'll take a look at it later 
today
> (when I get back home, I'm currently at school)

There's already a directory for architecture specific library files -
libexec.  We haven't needed to use this so much before so it probably
isn't supported in configure.in.  How about $(LIBEXECDIR)/modules as
a location for the vfs modules?

--libexecdir=DIRprogram executables in DIR [EPREFIX/libexec]

--libdir=DIRobject code libraries in DIR [EPREFIX/lib]

I think modules are object code libaries

I would preferr to use LIBDIR/samba  , LIBDIR/samba/modules , 
LIBEXECDIR/samba or LIBEXEC/samba/modules (but I would like one of the 
first two)

I also don't like the valid.dat , upcase.dat, lowcase.dat installed to 
LIBDIR they should go to LIBDIR/samba/ or CONFIGDIR/ (we should always use 
the subdir samba, exept BINDIR and SBINDIR)

because of that I want to change lib_path() to libsamba_path() and 
dyn_LIDDIR to dyn_LIBSAMBADIR.



Tim.



metze
-
Stefan "metze" Metzmacher <[EMAIL PROTECTED]>




Re: [PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-22 Thread Tim Potter
On Fri, Nov 22, 2002 at 01:21:21PM +0100, Jelmer Vernooij wrote:

> > here's a patch that added the 'modules path' parameter.
> > 
> > lp_modules_path() is prefixed to all lp_modules() witch are not start with 
> > '/' (not absolute pathes)
> > 
> > the default for lp_modules_path() is selectable by ./configure 
> > --with-modulesdir=/modules
> > or $(LIBDIR)/samba  (when  --with-fhs) or $(LIBDIR)
> > 
> > make installmodules install the modules to lp_modules_path()
> > 
> > make modules now makes proto_exist
> Thanks a lot! These were on my todo list.I'll take a look at it later today 
> (when I get back home, I'm currently at school)

There's already a directory for architecture specific library files -
libexec.  We haven't needed to use this so much before so it probably
isn't supported in configure.in.  How about $(LIBEXECDIR)/modules as
a location for the vfs modules?


Tim.



Re: [PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-22 Thread Stefan Metzmacher
At 13:21 22.11.2002 +0100, Jelmer Vernooij wrote:

On Fri, Nov 22, 2002 at 11:36:48AM +0100, Stefan (metze) Metzmacher wrote:
> Hi Jelmer,
>
> here's a patch that added the 'modules path' parameter.
>
> lp_modules_path() is prefixed to all lp_modules() witch are not start with
> '/' (not absolute pathes)
>
> the default for lp_modules_path() is selectable by ./configure
> --with-modulesdir=/modules
> or $(LIBDIR)/samba  (when  --with-fhs) or $(LIBDIR)
>
> make installmodules install the modules to lp_modules_path()
>
> make modules now makes proto_exist
Thanks a lot! These were on my todo list.I'll take a look at it later today
(when I get back home, I'm currently at school)


:-)


> there's a new file modules/Makefile.ext_modules.in:
> here can extern modules be added then they're also catches by 'make 
modules'
I'm not so sure about this one - we should rather have a mechanism with which
external developers can compile modules without requiring the samba source 
code - and they can always add their module to Makefile.in and add it to 
$MODULES there.

but if the Makefile.in is updated it's possible to get conflicts...
most module need include/proto.h so I think we need the source code,
but if you have a better solution it'd be fine too.





---

Stefan Metzmacher

[EMAIL PROTECTED]




Re: [PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-22 Thread Jelmer Vernooij
On Fri, Nov 22, 2002 at 11:36:48AM +0100, Stefan (metze) Metzmacher wrote:
> Hi Jelmer,
> 
> here's a patch that added the 'modules path' parameter.
> 
> lp_modules_path() is prefixed to all lp_modules() witch are not start with 
> '/' (not absolute pathes)
> 
> the default for lp_modules_path() is selectable by ./configure 
> --with-modulesdir=/modules
> or $(LIBDIR)/samba  (when  --with-fhs) or $(LIBDIR)
> 
> make installmodules install the modules to lp_modules_path()
> 
> make modules now makes proto_exist
Thanks a lot! These were on my todo list.I'll take a look at it later today 
(when I get back home, I'm currently at school)

> there's a new file modules/Makefile.ext_modules.in:
> here can extern modules be added then they're also catches by 'make modules'
I'm not so sure about this one - we should rather have a mechanism with which 
external developers can compile modules without requiring the samba source code - and 
they can always add their module to Makefile.in and add it to $MODULES there.

Jelmer



Re: [PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-22 Thread Stefan (metze) Metzmacher
At 12:00 22.11.2002 +0100, Stefan (metze) Metzmacher wrote:

If you want me to send a new patch tell me.


anyway I'll send a new patch with a few more fixes.
But we have to discuss on IRC...



metze
-
Stefan "metze" Metzmacher <[EMAIL PROTECTED]>




Re: [PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-22 Thread Stefan (metze) Metzmacher


the patch doesn't compile fine.

- I forgot to add dyn_MODULESDIR to include/dynconfig.h

- in param/loadparm.c  szModulesPath shold be char * not char **

- add a warning to modules/Makefile.ext_modules.in : that the users should 
be careful with editing this file


If you want me to send a new patch tell me.

metze



[PATCH] add 'modules path' and handle 'configure --with-configdir' right

2002-11-22 Thread Stefan (metze) Metzmacher
Hi Jelmer,

here's a patch that added the 'modules path' parameter.

lp_modules_path() is prefixed to all lp_modules() witch are not start with 
'/' (not absolute pathes)

the default for lp_modules_path() is selectable by ./configure 
--with-modulesdir=/modules
or $(LIBDIR)/samba  (when  --with-fhs) or $(LIBDIR)

make installmodules install the modules to lp_modules_path()

make modules now makes proto_exist


there's a new file modules/Makefile.ext_modules.in:
here can extern modules be added then they're also catches by 'make modules'




metze
-
Stefan "metze" Metzmacher <[EMAIL PROTECTED]>diff -Npur --exclude=CVS --exclude=*.bak --exclude=*.o --exclude=*.po --exclude=.#* 
HEAD/source/Makefile.in HEAD-fix/source/Makefile.in
--- HEAD/source/Makefile.in Fri Nov 22 08:13:27 2002
+++ HEAD-fix/source/Makefile.in Fri Nov 22 11:17:14 2002
@@ -56,8 +56,11 @@ INSTALLPERMS = 0755
 # These can be overridden by command line switches (see smbd(8))
 # or in smb.conf (see smb.conf(5))
 LOGFILEBASE = @logfilebase@
-CONFIGFILE = $(LIBDIR)/smb.conf
-LMHOSTSFILE = $(LIBDIR)/lmhosts
+CONFIGDIR = @configdir@
+CONFIGFILE = $(CONFIGDIR)/smb.conf
+LMHOSTSFILE = $(CONFIGDIR)/lmhosts
+# This is where modules are installed and searched by default
+MODULESDIR = @modulesdir@
 # This is where smbpasswd et al go
 PRIVATEDIR = @privatedir@
 
@@ -93,7 +96,8 @@ PATH_FLAGS2 = $(PATH_FLAGS1) -DBINDIR=\"
 PATH_FLAGS3 = $(PATH_FLAGS2) -DLMHOSTSFILE=\"$(LMHOSTSFILE)\" 
 PATH_FLAGS4 = $(PATH_FLAGS3) -DSWATDIR=\"$(SWATDIR)\"  -DLOCKDIR=\"$(LOCKDIR)\" 
-DPIDDIR=\"$(PIDDIR)\"
 PATH_FLAGS5 = $(PATH_FLAGS4) -DLIBDIR=\"$(LIBDIR)\" -DLOGFILEBASE=\"$(LOGFILEBASE)\"
-PATH_FLAGS = $(PATH_FLAGS5) $(PASSWD_FLAGS)
+PATH_FLAGS6 = $(PATH_FLAGS5) -DMODULESDIR=\"$(MODULESDIR)\"
+PATH_FLAGS = $(PATH_FLAGS6) $(PASSWD_FLAGS)
 
 SBIN_PROGS = bin/smbd bin/nmbd bin/swat bin/wrepld @EXTRA_SBIN_PROGS@
 
@@ -113,7 +117,8 @@ SCRIPTS = $(srcdir)/script/smbtar $(srcd
 
 QUOTAOBJS=@QUOTAOBJS@
 
-MODULES = bin/vfs_audit.@SHLIBEXT@ bin/vfs_recycle.@SHLIBEXT@ 
bin/vfs_netatalk.@SHLIBEXT@ bin/developer.@SHLIBEXT@ @MODULE_MYSQL@ @MODULE_XML@
+include modules/Makefile.ext_modules
+MODULES = bin/vfs_audit.@SHLIBEXT@ bin/vfs_recycle.@SHLIBEXT@ 
+bin/vfs_netatalk.@SHLIBEXT@ bin/developer.@SHLIBEXT@ @MODULE_MYSQL@ @MODULE_XML@ 
+$(EXT_MODULES)
 
 ##
 # object file lists
@@ -569,7 +574,7 @@ nsswitch : SHOWFLAGS bin/winbindd bin/wb
 
 wins : SHOWFLAGS nsswitch/libnss_wins.@SHLIBEXT@
 
-modules: SHOWFLAGS $(MODULES)
+modules: SHOWFLAGS proto_exists $(MODULES)
 
 everything: all libsmbclient debug2html smbfilter talloctort
 
@@ -886,7 +891,7 @@ bin/tdbbackup: $(TDBBACKUP_OBJ) bin/.dum
 install: installbin installman installscripts installdat installswat 
 
 installdirs:
-   @$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)$(BASEDIR) 
$(DESTDIR)$(BINDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) 
$(DESTDIR)$(PRIVATEDIR)
+   @$(SHELL) $(srcdir)/script/installdirs.sh $(DESTDIR)$(BASEDIR) 
+$(DESTDIR)$(BINDIR) $(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(MODULESDIR) 
+$(DESTDIR)$(VARDIR) $(DESTDIR)$(PRIVATEDIR)
 
 installservers: all installdirs
@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) 
$(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS)
@@ -895,8 +900,8 @@ installbin: all installdirs
@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) 
$(DESTDIR)$(SBINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(SBIN_PROGS)
@$(SHELL) $(srcdir)/script/installbin.sh $(INSTALLPERMS) $(DESTDIR)$(BASEDIR) 
$(DESTDIR)$(BINDIR) $(DESTDIR)$(LIBDIR) $(DESTDIR)$(VARDIR) $(BIN_PROGS)
 
-installmodules: all installdirs
-   @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) 
$(DESTDIR)$(BASEDIR) $(DESTDIR)$(LIBDIR) $(MODULES)
+installmodules: modules installdirs
+   @$(SHELL) $(srcdir)/script/installmodules.sh $(INSTALLPERMS) 
+$(DESTDIR)$(BASEDIR) $(DESTDIR)$(MODULESDIR) $(MODULES)
 
 installscripts: installdirs
@$(SHELL) $(srcdir)/script/installscripts.sh $(INSTALLPERMS) 
$(DESTDIR)$(BINDIR) $(SCRIPTS)

diff -Npur --exclude=CVS --exclude=*.bak --exclude=*.o --exclude=*.po --exclude=.#* 
HEAD/source/configure.in HEAD-fix/source/configure.in
--- HEAD/source/configure.inFri Nov 22 08:13:31 2002
+++ HEAD-fix/source/configure.inFri Nov 22 11:18:12 2002
@@ -11,13 +11,15 @@ AC_PREFIX_DEFAULT(/usr/local/samba)
 
 AC_ARG_WITH(fhs, 
 [  --with-fhs  Use FHS-compliant paths (default=no)],
-configdir="${sysconfdir}/samba"
+configdir="\${sysconfdir}/samba"
+modulesdir="\${LIBDIR}/samba"
 lockdir="\${VARDIR}/cache/samba"
 piddir="\$(VARDIR)/run/samba"
 logfilebase="\${VARDIR}/log/samba"
 privatedir="\${CONFIGDIR}/private"
 swatdir="\${DATADIR}/samba/swat",