OpenPKG CVS Repository http://cvs.openpkg.org/ ____________________________________________________________________________
Server: cvs.openpkg.org Name: Christoph Schug Root: /v/openpkg/cvs Email: [EMAIL PROTECTED] Module: openpkg-src Date: 16-May-2008 18:06:39 Branch: HEAD Handle: 2008051617063800 Added files: openpkg-src/dovecot11 dovecot11.patch dovecot11.spec fsl.dovecot rc.dovecot Log: new package: dovecot11 1.1.rc5 (IMAP4 & POP3 Server) Summary: Revision Changes Path 1.1 +392 -0 openpkg-src/dovecot11/dovecot11.patch 1.1 +324 -0 openpkg-src/dovecot11/dovecot11.spec 1.1 +28 -0 openpkg-src/dovecot11/fsl.dovecot 1.1 +80 -0 openpkg-src/dovecot11/rc.dovecot ____________________________________________________________________________ patch -p0 <<'@@ .' Index: openpkg-src/dovecot11/dovecot11.patch ============================================================================ $ cvs diff -u -r0 -r1.1 dovecot11.patch --- /dev/null 2008-05-16 18:02:34 +0200 +++ dovecot11.patch 2008-05-16 18:06:38 +0200 @@ -0,0 +1,392 @@ +Index: configure +--- configure.orig 2008-05-05 00:02:24.000000000 +0200 ++++ configure 2008-05-16 12:09:26.000000000 +0200 +@@ -31919,14 +31919,14 @@ + + if test $want_pgsql != no; then + # based on code from PHP +- for i in /usr /usr/local /usr/local/pgsql; do +- for j in include include/pgsql include/postgres include/postgresql ""; do ++ for i in @l_prefix@; do ++ for j in include/postgresql; do + if test -r "$i/$j/libpq-fe.h"; then + PGSQL_INCLUDE=$i/$j + fi + done +- for lib in lib lib64; do +- for j in $lib $lib/pgsql $lib/postgres $lib/postgresql ""; do ++ for lib in lib; do ++ for j in $lib; do + if test -f "$i/$j/libpq.so" || test -f "$i/$j/libpq.a"; then + PGSQL_LIBDIR=$i/$j + fi +Index: configure.in +--- configure.in.orig 2008-05-05 00:01:52.000000000 +0200 ++++ configure.in 2008-05-16 12:09:26.000000000 +0200 +@@ -1753,14 +1753,14 @@ + + if test $want_pgsql != no; then + # based on code from PHP +- for i in /usr /usr/local /usr/local/pgsql; do +- for j in include include/pgsql include/postgres include/postgresql ""; do ++ for i in @l_prefix@; do ++ for j in include/postgresql; do + if test -r "$i/$j/libpq-fe.h"; then + PGSQL_INCLUDE=$i/$j + fi + done +- for lib in lib lib64; do +- for j in $lib $lib/pgsql $lib/postgres $lib/postgresql ""; do ++ for lib in lib; do ++ for j in $lib; do + if test -f "$i/$j/libpq.so" || test -f "$i/$j/libpq.a"; then + PGSQL_LIBDIR=$i/$j + fi +Index: doc/dovecot-sql-example.conf +--- doc/dovecot-sql-example.conf.orig 2008-05-05 00:01:52.000000000 +0200 ++++ doc/dovecot-sql-example.conf 2008-05-16 12:09:26.000000000 +0200 +@@ -47,7 +47,8 @@ + # the default my.cnf location + # option_group - Read options from the given group (default: client) + # +-# You can connect to UNIX sockets by using host: host=/var/run/mysql.sock ++# You can connect to UNIX sockets by using host: ++# [EMAIL PROTECTED]@/var/mysql/mysql.sock + # Note that currently you can't use spaces in parameters. + # + # sqlite: +@@ -56,7 +57,7 @@ + # Examples: + # connect = host=192.168.1.1 dbname=users + # connect = host=sql.example.com dbname=virtual user=virtual password=blarg +-# connect = /etc/dovecot/authdb.sqlite ++# connect = @l_prefix@/etc/dovecot/authdb.sqlite + # + #connect = + +Index: dovecot-example.conf +--- dovecot-example.conf.orig 2008-05-05 00:01:52.000000000 +0200 ++++ dovecot-example.conf 2008-05-16 12:11:39.000000000 +0200 +@@ -11,16 +11,14 @@ + + # Default values are shown for each setting, it's not required to uncomment + # any of the lines. Exception to this are paths, they're just examples with +-# the real defaults being based on configure options. The paths listed here +-# are for configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var +-# --with-ssldir=/etc/ssl ++# the real defaults being based on configure options. + + # Base directory where to store runtime data. +-#base_dir = /var/run/dovecot/ ++#base_dir = @l_prefix@/var/dovecot/run + + # Protocols we want to be serving: imap imaps pop3 pop3s + # If you only want to use dovecot-auth, you can set this to "none". +-#protocols = imap imaps ++#protocols = imap + + # A space separated list of IP or host addresses where to listen in for + # connections. "*" listens in all IPv4 interfaces. "[::]" listens in all IPv6 +@@ -39,7 +37,7 @@ + # listen = *:10100 + # .. + # } +-#listen = * ++#listen = 127.0.0.1 + + # Disable LOGIN command and all other plaintext authentications unless + # SSL/TLS is used (LOGINDISABLED capability). Note that if the remote IP +@@ -82,17 +80,17 @@ + + # IP or host address where to listen in for SSL connections. Defaults + # to above if not specified. +-#ssl_listen = ++#ssl_listen = 127.0.0.1 + + # Disable SSL/TLS support. +-#ssl_disable = no ++#ssl_disable = yes + + # PEM encoded X.509 SSL/TLS certificate and private key. They're opened before + # dropping root privileges, so keep the key file unreadable by anyone but + # root. Included doc/mkcert.sh can be used to easily generate self-signed + # certificate, just make sure to update the domains in dovecot-openssl.cnf +-#ssl_cert_file = /etc/ssl/certs/dovecot.pem +-#ssl_key_file = /etc/ssl/private/dovecot.pem ++#ssl_cert_file = @l_prefix@/etc/dovecot/ssl/dovecot.crt ++#ssl_key_file = @l_prefix@/etc/dovecot/ssl/dovecot.key + + # If key file is password protected, give the password here. Alternatively + # give it when starting dovecot with -p parameter. +@@ -133,7 +131,7 @@ + # which login needs to be able to connect to. The sockets are created when + # running as root, so you don't have to worry about permissions. Note that + # everything in this directory is deleted when Dovecot is started. +-#login_dir = /var/run/dovecot/login ++#login_dir = @l_prefix@/var/dovecot/run/login + + # chroot login process to the login_dir. Only reason not to do this is if you + # wish to run the whole Dovecot without roots. <doc/wiki/Rootless.txt> +@@ -143,7 +141,7 @@ + # and don't use it anywhere else. The user must also belong to a group where + # only it has access, it's used to control access for authentication process. + # Note that this user is NOT used to access mails. <doc/wiki/UserIds.txt> +-#login_user = dovecot ++#login_user = @l_musr@ + + # Set max. process size in megabytes. If you don't use + # login_process_per_connection you might need to grow this. +@@ -503,7 +501,7 @@ + + protocol imap { + # Login executable location. +- #login_executable = /usr/libexec/dovecot/imap-login ++ #login_executable = @l_prefix@/libexec/dovecot/imap-login + + # IMAP executable location. Changing this allows you to execute other + # binaries before the imap process is executed. +@@ -515,7 +513,7 @@ + # /tmp/gdbhelper.* files: + # mail_executable = /usr/libexec/dovecot/gdbhelper /usr/libexec/dovecot/imap + # +- #mail_executable = /usr/libexec/dovecot/imap ++ #mail_executable = @l_prefix@/libexec/dovecot/imap + + # Maximum IMAP command line length in bytes. Some clients generate very long + # command lines with huge mailboxes, so you may need to raise this if you get +@@ -529,7 +527,7 @@ + # Support for dynamically loadable plugins. mail_plugins is a space separated + # list of plugins to load. + #mail_plugins = +- #mail_plugin_dir = /usr/lib/dovecot/imap ++ #mail_plugin_dir = @l_prefix@/lib/dovecot/imap + + # Send IMAP capabilities in greeting message. This makes it unnecessary for + # clients to request it with CAPABILITY command, so it saves one round-trip. +@@ -572,11 +570,11 @@ + + protocol pop3 { + # Login executable location. +- #login_executable = /usr/libexec/dovecot/pop3-login ++ #login_executable = @l_prefix@/libexec/dovecot/pop3-login + + # POP3 executable location. See IMAP's mail_executable above for examples + # how this could be changed. +- #mail_executable = /usr/libexec/dovecot/pop3 ++ #mail_executable = @l_prefix@/libexec/dovecot/pop3 + + # Don't try to set mails non-recent or seen with POP3 sessions. This is + # mostly intended to reduce disk I/O. With maildir it doesn't move files +@@ -636,7 +634,7 @@ + # Support for dynamically loadable plugins. mail_plugins is a space separated + # list of plugins to load. + #mail_plugins = +- #mail_plugin_dir = /usr/lib/dovecot/pop3 ++ #mail_plugin_dir = @l_prefix@/lib/dovecot/pop3 + + # Workarounds for various client bugs: + # outlook-no-nuls: +@@ -664,7 +662,7 @@ + # Support for dynamically loadable plugins. mail_plugins is a space separated + # list of plugins to load. + #mail_plugins = +- #mail_plugin_dir = /usr/lib/dovecot/lda ++ #mail_plugin_dir = @l_prefix@/lib/dovecot/lda + + # If user is over quota, return with temporary failure instead of + # bouncing the mail. +@@ -678,14 +676,14 @@ + #deliver_log_format = msgid=%m: %$ + + # Binary to use for sending mails. +- #sendmail_path = /usr/lib/sendmail ++ #sendmail_path = @l_prefix@/sbin/sendmail + + # Human readable error message for rejection mails. Use can use variables: + # %n = CRLF, %r = reason, %s = subject, %t = recipient + #rejection_reason = Your message to <%t> was automatically rejected:%n%r + + # UNIX socket path to master authentication server to find users. +- #auth_socket_path = /var/run/dovecot/auth-master ++ #auth_socket_path = @l_prefix@/var/dovecot/run/auth-master + } + + ## +@@ -693,7 +691,7 @@ + ## + + # Executable location +-#auth_executable = /usr/libexec/dovecot/dovecot-auth ++#auth_executable = @l_prefix@/libexec/dovecot/dovecot-auth + + # Set max. process size in megabytes. + #auth_process_size = 256 +@@ -783,7 +781,7 @@ + #auth_ntlm_use_winbind = no + + # Path for Samba's ntlm_auth helper binary. +-#auth_winbind_helper_path = /usr/bin/ntlm_auth ++#auth_winbind_helper_path = @l_prefix@/bin/ntlm_auth + + # Number of seconds to delay before replying to failed authentications. + #auth_failure_delay = 2 +@@ -816,7 +814,7 @@ + + #passdb passwd-file { + # File contains a list of usernames, one per line +- #args = /etc/dovecot.deny ++ #args = @l_prefix@/etc/dovecot/dovecot.deny + #deny = yes + #} + +@@ -899,13 +897,13 @@ + # SQL database <doc/wiki/AuthDatabase.SQL.txt> + #passdb sql { + # Path for SQL configuration file, see doc/dovecot-sql-example.conf +- #args = ++ #args = @l_prefix@/etc/dovecot/dovecot-sql.conf + #} + + # LDAP database <doc/wiki/AuthDatabase.LDAP.txt> + #passdb ldap { + # Path for LDAP configuration file, see doc/dovecot-ldap-example.conf +- #args = ++ #args = @l_prefix@/etc/dovecot/dovecot-ldap.conf + #} + + # vpopmail authentication <doc/wiki/AuthDatabase.VPopMail.txt> +@@ -962,13 +960,13 @@ + # SQL database <doc/wiki/AuthDatabase.SQL.txt> + #userdb sql { + # Path for SQL configuration file, see doc/dovecot-sql-example.conf +- #args = ++ #args = @l_prefix@/etc/dovecot/dovecot-sql.conf + #} + + # LDAP database <doc/wiki/AuthDatabase.LDAP.txt> + #userdb ldap { + # Path for LDAP configuration file, see doc/dovecot-ldap-example.conf +- #args = ++ #args = @l_prefix@/etc/dovecot/dovecot-ldap.conf + #} + + # vpopmail <doc/wiki/AuthDatabase.VPopMail.txt> +@@ -1013,7 +1011,7 @@ + # Master socket provides access to userdb information. It's typically + # used to give Dovecot's local delivery agent access to userdb so it + # can find mailbox locations. +- #path = /var/run/dovecot/auth-master ++ #path = @l_prefix@/dovecot/run/auth-master + #mode = 0600 + # Default user/group is the one who started dovecot-auth (root) + #user = +@@ -1023,7 +1021,7 @@ + # The client socket is generally safe to export to everyone. Typical use + # is to export it to your SMTP server so it can do SMTP AUTH lookups + # using it. +- #path = /var/run/dovecot/auth-client ++ #path = @l_prefix@/dovecot/run/auth-client + #mode = 0660 + #} + #} +@@ -1037,7 +1035,7 @@ + #auth external { + # socket connect { + # master { +-# path = /var/run/dovecot/auth-master ++# path = @l_prefix@/dovecot/run/auth-master + # } + # } + #} +@@ -1053,7 +1051,7 @@ + # referenced using URIs in format "proxy:<name>". + + dict { +- #quota = mysql:/etc/dovecot-dict-quota.conf ++ #quota = mysql:@l_prefix@/etc/dovecot-dict-quota.conf + } + + # Path to Berkeley DB's configuration file. See doc/dovecot-db.conf for an +@@ -1105,7 +1103,7 @@ + # one file for each mailbox, eg. INBOX or sub.mailbox. cache_secs parameter + # specifies how many seconds to wait between stat()ing dovecot-acl file + # to see if it changed. +- #acl = vfile:/etc/dovecot-acls:cache_secs=300 ++ #acl = vfile:@l_prefix@/etc/dovecot/dovecot-acls:cache_secs=300 + + # Convert plugin. If set, specifies the source storage path which is + # converted to destination storage (mail_location) when the user logs in. +@@ -1124,16 +1122,16 @@ + # until the message can be saved within quota limits. The configuration file + # is a text file where each line is in format: <priority> <mailbox name> + # Mails are first deleted in lowest -> highest priority number order +- #trash = /etc/dovecot-trash.conf ++ #trash = @l_prefix@/etc/dovecot/dovecot-trash.conf + + # Expire plugin. Mails are expunged from mailboxes after being there the + # configurable time. The first expiration date for each mailbox is stored in + # a dictionary so it can be quickly determined which mailboxes contain + # expired mails. The actual expunging is done in a nightly cronjob, which + # you must set up: +- # dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool ++ # dovecot --exec-mail ext @l_prefix@/libexec/dovecot/expire-tool + #expire = Trash 7 Spam 30 +- #expire_dict = db:/var/lib/dovecot/expire.db ++ #expire_dict = db:@l_prefix@/var/dovecot/lib/expire.db + + # Lazy expunge plugin. Currently works only with maildirs. When a user + # expunges mails, the mails are moved to a mailbox in another namespace +Index: src/deliver/deliver.c +--- src/deliver/deliver.c.orig 2008-05-05 00:01:52.000000000 +0200 ++++ src/deliver/deliver.c 2008-05-16 12:09:26.000000000 +0200 +@@ -41,7 +41,7 @@ + #include <syslog.h> + + #define DEFAULT_CONFIG_FILE SYSCONFDIR"/dovecot.conf" +-#define DEFAULT_SENDMAIL_PATH "/usr/lib/sendmail" ++#define DEFAULT_SENDMAIL_PATH "@l_prefix@/sbin/sendmail" + #define DEFAULT_ENVELOPE_SENDER "MAILER-DAEMON" + + /* After buffer grows larger than this, create a temporary file to /tmp +Index: src/master/master-settings.c +--- src/master/master-settings.c.orig 2008-05-05 00:01:54.000000000 +0200 ++++ src/master/master-settings.c 2008-05-16 12:09:26.000000000 +0200 +@@ -178,14 +178,14 @@ + MEMBER(syslog_facility) "mail", + + /* general */ +- MEMBER(protocols) "imap imaps", +- MEMBER(listen) "*", +- MEMBER(ssl_listen) "", ++ MEMBER(protocols) "imap", ++ MEMBER(listen) "127.0.0.1", ++ MEMBER(ssl_listen) "127.0.0.1", + +- MEMBER(ssl_disable) FALSE, ++ MEMBER(ssl_disable) TRUE, + MEMBER(ssl_ca_file) "", +- MEMBER(ssl_cert_file) SSLDIR"/certs/dovecot.pem", +- MEMBER(ssl_key_file) SSLDIR"/private/dovecot.pem", ++ MEMBER(ssl_cert_file) "@l_prefix@/etc/dovecot/ssl/dovecot.crt", ++ MEMBER(ssl_key_file) "@l_prefix@/etc/dovecot/ssl/dovecot.key", + MEMBER(ssl_key_password) "", + MEMBER(ssl_parameters_regenerate) 168, + MEMBER(ssl_cipher_list) "", +@@ -200,7 +200,7 @@ + /* login */ + MEMBER(login_dir) "login", + MEMBER(login_executable) NULL, +- MEMBER(login_user) "dovecot", ++ MEMBER(login_user) "@l_musr@", + MEMBER(login_greeting) "Dovecot ready.", + MEMBER(login_log_format_elements) "user=<%u> method=%m rip=%r lip=%l %c", + MEMBER(login_log_format) "%$: %s", +@@ -317,7 +317,7 @@ + MEMBER(anonymous_username) "anonymous", + MEMBER(krb5_keytab) "", + MEMBER(gssapi_hostname) "", +- MEMBER(winbind_helper_path) "/usr/bin/ntlm_auth", ++ MEMBER(winbind_helper_path) "@l_prefix@/bin/ntlm_auth", + MEMBER(failure_delay) 2, + + MEMBER(verbose) FALSE, @@ . patch -p0 <<'@@ .' Index: openpkg-src/dovecot11/dovecot11.spec ============================================================================ $ cvs diff -u -r0 -r1.1 dovecot11.spec --- /dev/null 2008-05-16 18:02:34 +0200 +++ dovecot11.spec 2008-05-16 18:06:39 +0200 @@ -0,0 +1,324 @@ +## +## dovecot11.spec -- OpenPKG RPM Package Specification +## Copyright (c) 2000-2008 OpenPKG Foundation e.V. <http://openpkg.net/> +## +## Permission to use, copy, modify, and distribute this software for +## any purpose with or without fee is hereby granted, provided that +## the above copyright notice and this permission notice appear in all +## copies. +## +## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED +## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR +## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND +## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT +## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +## SUCH DAMAGE. +## + +# package version +%define V_major 1.1 +%define V_minor rc5 +%define V_minor_sieve 5 +%define V_managesieve 0.10.2 + +# package information +Name: dovecot11 +Summary: IMAP4 & POP3 Server +URL: http://www.dovecot.org/ +Vendor: Timo Sirainen et al. +Packager: OpenPKG Foundation e.V. +Distribution: OpenPKG Community +Class: EVAL +Group: Mail +License: MIT+LGPL +Version: %{V_major}.%{V_minor} +Release: 20080516 + +# package options +%option with_fsl yes +%option with_pam yes +%option with_ldap no +%option with_mysql no +%option with_pgsql no +%option with_sqlite no +%option with_pop3d no +%option with_managesieve no +%option with_sieve yes + +# list of sources +Source0: http://www.dovecot.org/releases/%{V_major}/rc/dovecot-%{V_major}.%{V_minor}.tar.gz +Source1: http://www.dovecot.org/releases/sieve/dovecot-sieve-%{V_major}.%{V_minor_sieve}.tar.gz +Source2: fsl.dovecot +Source3: rc.dovecot +Patch0: dovecot11.patch +Patch1: http://www.rename-it.nl/dovecot/%{V_major}/dovecot-%{V_major}.%{V_minor}-managesieve-%{V_managesieve}.diff.gz + +# build information +Prefix: %{l_prefix} +BuildRoot: %{l_buildroot} +BuildPreReq: OpenPKG, openpkg >= 20060823 +PreReq: OpenPKG, openpkg >= 20060823, MTA +BuildPreReq: libiconv, openssl +PreReq: libiconv, openssl +%if "%{with_fsl}" == "yes" +BuildPreReq: fsl +PreReq: fsl +%endif +%if "%{with_ldap}" == "yes" +BuildPreReq: openldap +PreReq: openldap +%endif +%if "%{with_managesieve}" == "yes" +BuildPreReq: autoconf, automake, pkgconfig, libtool +BuildPreReq: gettext +PreReq: gettext +%endif +%if "%{with_pam}" == "yes" +BuildPreReq: PAM +PreReq: PAM +%endif +%if "%{with_mysql}" == "yes" +BuildPreReq: mysql, zlib +PreReq: mysql, zlib +%endif +%if "%{with_pgsql}" == "yes" +BuildPreReq: postgresql +PreReq: postgresql +%endif +%if "%{with_sqlite}" == "yes" +BuildPreReq: sqlite +PreReq: sqlite +%endif +AutoReq: no +AutoReqProv: no +Provides: dovecot = %{version}-%{release} + +%description + Dovecot is an Open Source IMAP and POP3 server, written with + security primarily in mind. Dovecot is an excellent choice for both + small and large installations. It's fast, simple to set up, requires + no special administration and it uses very little memory. + +%track + prog dovecot11 = { + version = %{V_major}.%{V_minor} + url = http://www.dovecot.org/download.html + regex = dovecot-(1\.1(\.(?:rc)\d+)+)\.tar\.gz + } + prog dovecot11:sieve = { + version = %{V_major}.%{V_minor_sieve} + url = http://www.dovecot.org/download.html + regex = dovecot-sieve-(%{V_major}(\.\d+)+)\.tar\.gz + } + prog dovecot11:managesieve = { + version = %{V_managesieve} + url = http://www.rename-it.nl/dovecot/%{V_major}/ + regex = dovecot-%{V_major}\.%{V_minor}-managesieve-(__VER__)\.diff\.gz + } + +%prep + %setup -q -n dovecot-%{V_major}.%{V_minor} +%if "%{with_sieve}" == "yes" + %setup -q -n dovecot-%{V_major}.%{V_minor} -T -D -a 1 +%endif + %{l_sed} <%{PATCH0} %{l_value -s -a} | %{l_patch} -p0 -b +%if "%{with_managesieve}" == "yes" + sleep 1 + %{l_gzip} -dc <%{PATCH1} | %{l_patch} -p1 -b + sleep 1 + autoreconf -i --force || true +%endif + +%build + cppflags="%{l_cppflags}" + ldflags="%{l_ldflags} %{l_fsl_ldflags}" + libs="%{l_fsl_libs}" + sql_drivers="" +%if "%{with_ldap}" == "yes" + libs="$libs -llber -lssl -lcrypto" +%endif +%if "%{with_mysql}" == "yes" + cppflags="$cppflags %{l_cppflags mysql}" + ldflags="$ldflags %{l_ldflags mysql}" + sql_drivers="$sql_drivers,mysql" +%endif +%if "%{with_pgsql}" == "yes" + libs="$libs -lssl -lcrypto -lcrypt" + sql_drivers="$sql_drivers,pgsql" +%endif +%if "%{with_sqlite}" == "yes" + sql_drivers="$sql_drivers,sqlite" +%endif + sql_drivers=`echo "$sql_drivers" | sed 's;^,;;'` + + CC="%{l_cc}" \ + CFLAGS="%{l_cflags -O}" \ + CPPFLAGS="$cppflags" \ + LDFLAGS="$ldflags" \ + LIBS="$libs" \ + ./configure \ + --prefix=%{l_prefix} \ + --sysconfdir=%{l_prefix}/etc/dovecot \ + --with-ssldir=%{l_prefix}/etc/dovecot/ssl \ + --datadir=%{l_prefix}/share/dovecot \ + --docdir=%{l_prefix}/share/dovecot/doc \ + --with-rundir=%{l_prefix}/var/dovecot/run \ + --with-libiconv-prefix=%{l_prefix} \ + --with-ssl=openssl \ + --with-deliver \ + --with-docs \ +%if "%{with_ldap}" == "yes" + --with-ldap \ +%else + --without-ldap \ +%endif +%if "%{with_mysql}" == "yes" || "%{with_pgsql}" == "yes" || "%{with_sqlite}" == "yes" + --with-sql \ + --with-sql-drivers="$sql_drivers" \ +%if "%{with_mysql}" == "yes" + --with-mysql \ +%else + --without-mysql \ +%endif +%if "%{with_pgsql}" == "yes" + --with-pgsql \ +%else + --without-pgsql \ +%endif +%if "%{with_sqlite}" == "yes" + --with-sqlite \ +%else + --without-sqlite \ +%endif +%else + --without-sql \ + --without-sql-drivers \ + --without-mysql \ + --without-pgsql \ + --without-sqlite \ +%endif +%if "%{with_pam}" == "yes" + --with-pam \ +%else + --without-pam \ +%endif +%if "%{with_pop3d}" == "yes" + --with-pop3d \ +%else + --without-pop3d \ +%endif + --without-gc \ + --without-gssapi \ + --without-lucene \ + --without-vpopmail \ + --enable-shared \ + --disable-static + %{l_make} %{l_mflags -O} + +%if "%{with_sieve}" == "yes" + # build optional Dovecot LDA sieve plugin + ( cd dovecot-sieve-%{V_major}.%{V_minor_sieve} + CC="%{l_cc}" \ + CFLAGS="%{l_cflags -O}" \ + CPPFLAGS="%{l_cppflags}" \ + LDFLAGS="%{l_ldflags}" \ + ./configure \ + --prefix=%{l_prefix} \ + --with-dovecot=.. + %{l_make} %{l_mflags -O} + ) || exit $? +%endif + +%install + rm -rf $RPM_BUILD_ROOT + %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" + +%if "%{with_sieve}" == "yes" + # install optional Dovecot LDA sieve plugin + ( cd dovecot-sieve-%{V_major}.%{V_minor_sieve} + %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT" + ) || exit $? +%endif + + # adjust file names of configuration files + ( cd $RPM_BUILD_ROOT%{l_prefix}/etc/dovecot + for i in dovecot dovecot-ldap dovecot-sql; do + mv ${i}{-example,}.conf + done + ) || exit $? + + # create additional dirctories + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/dovecot/ssl \ + $RPM_BUILD_ROOT%{l_prefix}/var/dovecot/log \ + $RPM_BUILD_ROOT%{l_prefix}/var/dovecot/run/login + + # install run-command script + %{l_shtool} mkdir -f -p -m 755 \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d +%if "%{with_pop3d}" == "yes" + cmd='/<\/\{0,1\}with_pop3d>/d' +%else + cmd='/<with_pop3d>/,/<\/with_pop3d>/d' +%endif + %{l_shtool} install -c -m 755 %{l_value -s -a} \ + -e "$cmd" \ + %{SOURCE rc.dovecot} \ + $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ + + # install OSSP fsl configuration + %{l_shtool} mkdir -f -p -m 755 $RPM_BUILD_ROOT%{l_prefix}/etc/fsl + %{l_shtool} install -c -m 644 %{l_value -s -a} \ + %{SOURCE fsl.dovecot} \ + $RPM_BUILD_ROOT%{l_prefix}/etc/fsl/ + + # strip installation + rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/dovecot/{,*}/*.la \ + >/dev/null 2>&1 || true + strip \ + $RPM_BUILD_ROOT%{l_prefix}/sbin/* \ + $RPM_BUILD_ROOT%{l_prefix}/libexec/dovecot/* \ + >/dev/null 2>&1 || true + + # generate file list + %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT %{l_files_std} \ + '%not %dir %{l_prefix}/etc/fsl' \ + '%config %{l_prefix}/etc/fsl/fsl.dovecot' \ + '%config %attr(0600,%{l_musr},%{l_mgrp}) %{l_prefix}/etc/dovecot/*' \ + '%config %attr(0640,%{l_musr},%{l_rgrp}) %{l_prefix}/etc/dovecot/dovecot.conf' \ + '%dir %attr(0700,%{l_susr},%{l_mgrp}) %{l_prefix}/etc/dovecot/ssl' \ + '%dir %attr(0755,%{l_susr},%{l_mgrp}) %{l_prefix}/var/dovecot' \ + '%dir %attr(0770,%{l_susr},%{l_rgrp}) %{l_prefix}/var/dovecot/log' \ + '%dir %attr(0755,%{l_susr},%{l_mgrp}) %{l_prefix}/var/dovecot/run' \ + '%dir %attr(0750,%{l_susr},%{l_mgrp}) %{l_prefix}/var/dovecot/run/login' \ + '%doc %{l_prefix}/share/dovecot/doc' \ + '%doc %{l_prefix}/share/dovecot/doc/wiki' + +%files -f files + +%clean + rm -rf $RPM_BUILD_ROOT + +%post + # after upgrade, restart service + [ $1 -eq 2 ] || exit 0 + eval `%{l_rc} dovecot status 2>/dev/null` + [ ".$dovecot_active" = .yes ] && %{l_rc} dovecot restart + exit 0 + +%preun + # before erase, stop service and remove log files + [ $1 -eq 0 ] || exit 0 + %{l_rc} dovecot stop 2>/dev/null + rm -f $RPM_INSTALL_PREFIX/var/dovecot/* >/dev/null 2>&1 || true + rm -f $RPM_INSTALL_PREFIX/var/dovecot/log/* >/dev/null 2>&1 || true + rm -f $RPM_INSTALL_PREFIX/var/dovecot/run/* >/dev/null 2>&1 || true + rm -f $RPM_INSTALL_PREFIX/var/dovecot/run/login/* >/dev/null 2>&1 || true + exit 0 + @@ . patch -p0 <<'@@ .' Index: openpkg-src/dovecot11/fsl.dovecot ============================================================================ $ cvs diff -u -r0 -r1.1 fsl.dovecot --- /dev/null 2008-05-16 18:02:34 +0200 +++ fsl.dovecot 2008-05-16 18:06:39 +0200 @@ -0,0 +1,28 @@ +## +## fsl.dovecot -- OSSP fsl configuration +## + +ident (dovecot.*)/.+ q{ + prefix( + prefix="%b %d %H:%M:%S %N <%L> $1[%P]: " + ) + -> { + debug: file( + path="@l_prefix@/var/dovecot/log/dovecot.log", + perm=0600 + ) + } +}; + +ident (deliver(.*))/.+ q{ + prefix( + prefix="%b %d %H:%M:%S %N <%L> $1[%P]: " + ) + -> { + debug: file( + path="@l_prefix@/var/dovecot/log/deliver.log", + perm=0600 + ) + } +}; + @@ . patch -p0 <<'@@ .' Index: openpkg-src/dovecot11/rc.dovecot ============================================================================ $ cvs diff -u -r0 -r1.1 rc.dovecot --- /dev/null 2008-05-16 18:02:34 +0200 +++ rc.dovecot 2008-05-16 18:06:39 +0200 @@ -0,0 +1,80 @@ [EMAIL PROTECTED]@/bin/openpkg rc +## +## rc.dovecot -- Run-Commands +## + +%config + dovecot_enable="$openpkg_rc_def" + dovecot_log_prolog="true" + dovecot_log_epilog="true" + dovecot_log_numfiles="10" + dovecot_log_minsize="1M" + dovecot_log_complevel="9" + dovecot_deliver_log_prolog="true" + dovecot_deliver_log_epilog="true" + dovecot_deliver_log_numfiles="10" + dovecot_deliver_log_minsize="1M" + dovecot_deliver_log_complevel="9" +<with_pop3d> + POP_type="dovecot" + POP_logfile="@l_prefix@/var/dovecot/log/dovecot.log" +</with_pop3d> + +%common + dovecot_pidfile="@l_prefix@/var/dovecot/run/master.pid" + dovecot_signal () { + [ -f $dovecot_pidfile ] && kill -$1 `cat $dovecot_pidfile` + } + +%status -u @l_susr@ -o + dovecot_usable="unknown" + dovecot_active="no" + rcService dovecot enable yes && \ + dovecot_signal 0 && dovecot_active="yes" + echo "dovecot_enable=\"$dovecot_enable\"" + echo "dovecot_usable=\"$dovecot_usable\"" + echo "dovecot_active=\"$dovecot_active\"" + +%start -u @l_susr@ + rcService dovecot enable yes || exit 0 + rcService dovecot active yes && exit 0 + @l_prefix@/sbin/dovecot + +%stop -u @l_susr@ + rcService dovecot enable yes || exit 0 + rcService dovecot active no && exit 0 + dovecot_signal TERM + sleep 2 + rm -f $dovecot_pidfile >/dev/null 2>&1 || true + +%restart -u @l_susr@ + rcService dovecot enable yes || exit 0 + rcService dovecot active no && exit 0 + rc dovecot stop start + +%reload -u @l_susr@ + rcService dovecot enable yes || exit 0 + rcService dovecot active no && exit 0 + dovecot_signal HUP + +%daily -u @l_susr@ + rcService dovecot enable yes || exit 0 + rcTmp -i + hintfile=`rcTmp -f -n hint` + shtool rotate -f \ + -n ${dovecot_log_numfiles} -s ${dovecot_log_minsize} -d \ + -z ${dovecot_log_complevel} -m 600 -o @l_susr@ -g @l_sgrp@ \ + -P "${dovecot_log_prolog}" \ + -E "${dovecot_log_epilog}; echo 1 >$hintfile" \ + @l_prefix@/var/dovecot/log/dovecot.log + if [ -s $hintfile ]; then + dovecot_signal USR1 + fi + rcTmp -k + shtool rotate -f \ + -n ${dovecot_deliver_log_numfiles} -s ${dovecot_deliver_log_minsize} -d \ + -z ${dovecot_deliver_log_complevel} -m 600 -o @l_rusr@ -g @l_rgrp@ \ + -P "${dovecot_deliver_log_prolog}" \ + -E "${dovecot_deliver_log_epilog}" \ + @l_prefix@/var/dovecot/log/deliver.log + @@ . ______________________________________________________________________ OpenPKG http://openpkg.org CVS Repository Commit List openpkg-cvs@openpkg.org