I also run/compile Dovecot as a non-root user. What I think you want to do, instead of just moving the modules, is to provide a "--prefix" which will be the parent directory of bin, sbin, etc ... all the subdirectories where files will be installed.
My exact configure line is
./configure --prefix=/home/mario/tools/SunOS --with-gnu-ld=/_TOOLS_/dist/gnu-gcc-3.2.2-binutils-2.13.2.1/sparc-sun-solaris2.8/bin/ld --enable-shared --disable-nls --disable-ipv6 --enable-debug --without-vpopmail --without-pop3d
So all files get installed in my /home/mario/tools/SunOS tree. I then start dovecot with
/home/mario/tools/SunOS/sbin/dovecot
Mario
Imre Gergely wrote:
the same happens, now with this directory:
Making install in quota make[3]: Entering directory
/usr/src/gimre/rpm2/BUILD/dovecot-1.0.beta1/src/plugins/quota' make[4]: Entering directory
/usr/src/gimre/rpm2/BUILD/dovecot-1.0.beta1/src/plugins/quota' mkdir -p -- /usr/lib/dovecot/modules/imap /usr/lib/dovecot/modules/lda mkdir: cannot create directory/usr/lib/dovecot': Permission denied mkdir: cannot create directory
/usr/lib/dovecot': Permission denied make[4]: *** [install-exec-local] Error 1i think it has something to do with some DESTDIR variable. i don't know exactly, but take a look at this:
Making install in pop3 make[2]: Entering directory
/usr/src/gimre/rpm2/BUILD/dovecot-1.0.beta1/src/pop3' make[3]: Entering directory
/usr/src/gimre/rpm2/BUILD/dovecot-1.0.beta1/src/pop3' test -z "/var/tmp/root-dovecot-1.0.beta1/usr/libexec/dovecot" || mkdir -p -- "/var/tmp/root-dovecot-1.0.beta1/usr/libexec/dovecot" /bin/sh ../../libtool --mode=install /usr/bin/install -c 'pop3' '/var/tmp/root-dovecot-1.0.beta1/usr/libexec/dovecot/pop3' /usr/bin/install -c pop3 /var/tmp/root-dovecot-1.0.beta1/usr/libexec/dovecot/pop3 make[3]: Nothing to be done for `install-data-am'.it should install the plugins in /var/tmp/root-dovecot.../usr/lib/dovecot too. so builddir is /usr/src/gimre/rpm2/BUILD/dovecot-1.0.beta1 (rpmbuild creates this), and installdir (destdir) is in /var/tmp/root-dovecot-1.0.beta1, where make install should put all the files to be installed. i found this in the ChangeLog also:
2005-12-10 22:25 Timo Sirainen <tss@iki.fi>
* src/: lib-dict/Makefile.am, plugins/imap-quota/Makefile.am, plugins/quota/Makefile.am, plugins/trash/Makefile.am: Added missing header files. Fixed plugin install hooks to use DESTDIR.
somehow it doesn't work for me.
John Gray wrote:
Try adding:
--with-moduledir=/usr/lib/dovecot/modules
when calling configure. That fixed this for me.
It seems to me when need to fix the default value of moduledir to not confilict with the libdir (or libexecdir).
John
Imre Gergely wrote:
hi
i downloaded dovecot-1.0.beta1.tar.gz, did a rpmbuild -ta dovecot-1.0.beta1.tar.gz (which uses the dovecot.spec from the tar.gz), and got the following:
Making install in quota make[3]: Entering directory
/usr/src/gimre/rpm2/BUILD/dovecot-1.0.beta1/src/plugins/quota' make[4]: Entering directory
/usr/src/gimre/rpm2/BUILD/dovecot-1.0.beta1/src/plugins/quota' mkdir -p -- /usr/lib/dovecot/imap /usr/lib/dovecot/lda mkdir: cannot create directory/usr/lib/dovecot': Permission denied mkdir: cannot create directory
/usr/lib/dovecot': Permission denied make[4]: *** [install-exec-local] Error 1 make[4]: Leaving directory `/usr/src/gimre/rpm2/BUILD/dovecot-1.0.beta1/src/plugins/quota' make[3]: *** [install-am] Error 2so everything did compile alright, but it has some problems with installing the plugins. and i dunno why it tries to create those directories in the root directory. of course i'm compiling it as a non-root users, so it doesn't have any write permissions. and it normally shouldn't have to do an install in directories other then buildroot.
so what's the catch? if i disable from the src/Makefile.in to not compile the plugins, everything works fine, i got a nice rpm file. i'm on Fedora Core 4.
any help would be appreciated. thx.