On Thu, 2008-11-06 at 16:32 +0100, Marc Beyer wrote:
Compilation fails, output of configure and make are given below. The cause of this is almost certainly that this version of HP-UX does define the QCMD macro in sys/quota.h (checked in the ifdef line 26 dovecot-1.1.6/src/plugins/quota/quota-fs.h) as well as the dqblk struct, but the latter with different fields than the Linux version. Older versions of HP-UX seem not to have contained this macro(? can't check this at the moment), which is probably why it was used to distinguish between HP-UX and Linux in quota-fs.h.
Does the new HP-UX version happen to support also group quotas? If so, I could make it use the Linux code by just disabling the inode quotas. But I'd guess the QCMD macro was added just for making it easier to compile Linux code and trying to use group quotas would fail. So perhaps the HP-UX vs. Linux check could just be changed. Does the patch below help? diff -r ed4d6f6e4da7 src/plugins/quota/quota-fs.h --- a/src/plugins/quota/quota-fs.h Fri Nov 21 14:35:46 2008 +0200 +++ b/src/plugins/quota/quota-fs.h Fri Nov 21 14:58:03 2008 +0200 @@ -23,7 +23,7 @@ #ifdef HAVE_QUOTACTL # ifdef HAVE_SYS_QUOTA_H -# ifdef QCMD +# ifndef _HPUX_SOURCE # define FS_QUOTA_LINUX # else # define FS_QUOTA_HPUX