2.2.4-pre Makefile install issue.

William Jojo jojowil at hvcc.edu
Fri Apr 26 10:19:02 GMT 2002

Just checked out CVS 2.2.4-pre this morning and noticed that some new
directories under $prefix are being used:

var/run and var/run/samba ?

the Makefile does not create these on "make install" and prohibits smbd
from starting with an entry regarding the smbd.pid. nmbd will start but
cannot create the nmbd.pid file.

Simply adding $(PIDDIR) to the installdirs dependency doesn't do the trick
because the problem is a bit larger than that.

The install-sh script uses -d to indicate the object is a directory to be
created and -m ### sets the chmod value.

install-sh was not intended (the way it's written) to handle multiple dirs
as it is being used by the installdirs: dependency in the Makefile. It

        $(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) \

but should be:

        $(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) $(BASEDIR)
        $(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) $(SBINDIR)
        $(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) $(BINDIR)
        $(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) $(LIBDIR)
        $(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) $(VARDIR)
        $(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) $(PIDDIR)
        $(SHELL) $(srcdir)/install-sh -d -m $(INSTALLPERMS) $(CODEPAGEDIR)

I tested it and solves the above mentioned problem. The script can handle
n-depth dirnames (such as PIDDIR) the way it's written today.


More information about the samba-technical mailing list