diff options
author | Peter Volkov <pva@gentoo.org> | 2009-03-30 16:05:46 +0000 |
---|---|---|
committer | Peter Volkov <pva@gentoo.org> | 2009-03-30 16:05:46 +0000 |
commit | ead8ee3624041e943d4548b5276ef65153fbed7d (patch) | |
tree | cdf3fabd0941d7b77b33a0eeaafacf4bd0c247ea /net-mail/qpopper | |
parent | alpha/arm/ia64/m68k/s390/sh/sparc stable wrt #263421 (diff) | |
download | gentoo-2-ead8ee3624041e943d4548b5276ef65153fbed7d.tar.gz gentoo-2-ead8ee3624041e943d4548b5276ef65153fbed7d.tar.bz2 gentoo-2-ead8ee3624041e943d4548b5276ef65153fbed7d.zip |
Version bump, bug #147182, thank Mike Lundy for lot's of improvments: apop USE flag, init script, xinetd config file, config file and misc cleanups. Also build with --enable-shy, bug #145069, thank Icebird for report. Now fail on dobin functions, bug #248087, thank Diego E. 'Flameeyes' Pettenò for report. New drac USE flag.
(Portage version: 2.2_rc28/cvs/Linux i686)
Diffstat (limited to 'net-mail/qpopper')
-rw-r--r-- | net-mail/qpopper/ChangeLog | 16 | ||||
-rw-r--r-- | net-mail/qpopper/files/qpopper-4.0.14-parallel-build.patch | 11 | ||||
-rw-r--r-- | net-mail/qpopper/files/qpopper.conf | 679 | ||||
-rw-r--r-- | net-mail/qpopper/files/qpopper.init.d | 21 | ||||
-rw-r--r-- | net-mail/qpopper/files/qpopper.xinetd | 16 | ||||
-rw-r--r-- | net-mail/qpopper/metadata.xml | 1 | ||||
-rw-r--r-- | net-mail/qpopper/qpopper-4.0.14.ebuild | 129 |
7 files changed, 871 insertions, 2 deletions
diff --git a/net-mail/qpopper/ChangeLog b/net-mail/qpopper/ChangeLog index 04d5390e07d2..69e6d2024579 100644 --- a/net-mail/qpopper/ChangeLog +++ b/net-mail/qpopper/ChangeLog @@ -1,6 +1,18 @@ # ChangeLog for net-mail/qpopper -# Copyright 2000-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-mail/qpopper/ChangeLog,v 1.25 2008/06/04 04:46:21 darkside Exp $ +# Copyright 2000-2009 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-mail/qpopper/ChangeLog,v 1.26 2009/03/30 16:05:46 pva Exp $ + +*qpopper-4.0.14 (30 Mar 2009) + + 30 Mar 2009; Peter Volkov <pva@gentoo.org> + +files/qpopper-4.0.14-parallel-build.patch, +files/qpopper.conf, + +files/qpopper.init.d, +files/qpopper.xinetd, metadata.xml, + +qpopper-4.0.14.ebuild: + Version bump, bug #147182, thank Mike Lundy for lot's of improvments: apop + USE flag, init script, xinetd config file, config file and misc cleanups. + Also build with --enable-shy, bug #145069, thank Icebird for report. Now + fail on dobin functions, bug #248087, thank Diego E. 'Flameeyes' Pettenò + for report. New drac USE flag. 04 Jun 2008; Jeremy Olexa <darkside@gentoo.org> qpopper-4.0.5-r3.ebuild: break out --enable-apop into a USE flag. Closes bug #106367, thanks to diff --git a/net-mail/qpopper/files/qpopper-4.0.14-parallel-build.patch b/net-mail/qpopper/files/qpopper-4.0.14-parallel-build.patch new file mode 100644 index 000000000000..26db2a73fd83 --- /dev/null +++ b/net-mail/qpopper/files/qpopper-4.0.14-parallel-build.patch @@ -0,0 +1,11 @@ +--- popper/Makefile.in.orig 2009-03-30 18:45:20.000000000 +0400 ++++ popper/Makefile.in 2009-03-30 18:45:34.000000000 +0400 +@@ -194,7 +194,7 @@ + -I${common_srcdir} ${common_dir}/libcommon.a \ + ${LIBS} ${LDFLAGS} + +-popauth: ${POPAUTHOBJS} ++popauth: ${POPAUTHOBJS} common_library + ${CC} -o popauth ${POPAUTHOBJS} ${NETWORK_LIBS} ${DBM_LIBS} \ + ${common_dir}/libcommon.a + diff --git a/net-mail/qpopper/files/qpopper.conf b/net-mail/qpopper/files/qpopper.conf new file mode 100644 index 000000000000..8ce96875c520 --- /dev/null +++ b/net-mail/qpopper/files/qpopper.conf @@ -0,0 +1,679 @@ +#--------------------------------------------------------------------- +# Sample Qpopper 4.0 configuration file. +# +# This file lists all Qpopper configuration file options. To use, +# copy the desired setting to your own configuration file, remove +# the leading '#' and set the desired value. +# +#--------------------------------------------------------------------- + + + +# An integer value for the number of seconds to announce in +# the CAPA response for the server's minimum login delay. +# +# Default: +# +# set announce-login-delay = + + +# An integer value for the number of days to announce in +# the CAPA response for the server's maximum message +# retention period. +# +# Default: +# +# set announce-expire = + + +# The full path to the bulletins directory. +# +# Default: /var/spool/bulls +# +# set bulldir = "/var/spool/bulls" + + +# Set TRUE to permit sessions to continue even if the +# bulletins database can't be accessed. This permits +# users to get their mail, but they might not see some +# bulletins for a while, or at all. +# +# Only valid when compiled with '--enable-bulldb'. +# +# Default: false. +# +# set bulldb-nonfatal = false + + +# Sets the maximum number of attempts to lock the bulletins +# database. You normally do not need to adjust this. This value +# should only be changed if you know if your system has usleep(3C) +# or not. On systems with usleep(3C), this can be a large value +# (the default is 75). On systems without usleep(3C), this should +# remain small (the default is 10). +# +# Only valid when compiled with '--enable-bulldb'. +# +# Default: 75 (10 on systems without usleep(3c)). +# +# set bulldb-max-tries = 75 + + +# Sets clear text handling options. Values are: +# o 'default' Clear text passwords are permitted for all users, +# except those in the APOP database +# o 'never' Clear text passwords are never permitted +# o 'always' Clear text passwords are always permitted +# o 'local' Clear text passwords are permitted on the local +# (127.*.*.*) loop back interface only +# o 'tls' Clear text passwords are permitted when TLS/SSL +# has been negotiated for the session +# o 'ssl' Same as tls +# +# The 'tls' and 'ssl' values are only valid if '--with-openssl' or +# '--with-sslplus' was used with ./configure. +# +# Default: default +# +# set clear-text-password = default + + +# Reads additional run-time options from the specified file. +# +# Caution. There are no restrictions on which options may +# appear in files specified with the '-f' command-line flag +# or the 'config-file' configuration file option in files +# chained from -f. Be certain that the file specified with +# '-f' or in any files it chains to are not writable by +# users. +# +# Default: none +# +# set config-file = /etc/mail/pop/qpopper.config + + +# Enables debug logging. Output is in syslog. If this option is used, +# it should be first, so that debug records are generated for subsequent +# options. +# +# Only valid if ./configure was run with '--enable-debugging' +# +# Default: false +# +# set debug = false + + +# Changes uppercase user names to lowercase. This permits users to +# configure their clients with user names in UPPER or MiXeD case. +# They can then login, assuming their actual user name is all +# lowercase. +# +# Default: false +# +# set downcase-user = false + + +# If '--with-drac' used with ./configure, this option specifies the DRAC +# host. +# +# Default: localhost +# +# set drac-host = localhost + + +# Enables Kerberos support. +# +# Only valid if ./configure run with '--enable-kerberos5'. +# +# Default: false +# +# set kerberos = false + + +# Specifies the Kerberos service to use (same as the compile time +# KERBEROS_SERVICE define). The default is rcmd, although the use of +# pop is popular. +# +# Only valid if ./configure run with '--enable-kerberos5'. +# +# Default: rcmd +# +# set kerberos-service = "rcmd" + + +# Checks if mail lock needs to be refreshed every this many messages. +# +# You normally do not need to adjust this. See "Performance" in the +# Qpopper Administrator's Guide for more information. +# +# Default: +# +# set mail-lock-check = + + +# Disables the reverse lookups on client IP addresses. +# +# Default: true +# +# set reverse-lookup = true + + +# Enables server mode by default. See the Qpopper Administrator's +# Guide for more information. +# +# Default: false +# +# set server-mode = false + + +# Enables statistics logging. After each session ends, a statistics +# record is written to the log. This record resembles the following +# example: 'stats randy 0 0 1 385 randy.example.org 192.168.2.4' and +# has the following meaning: +# Username: 'randy' +# Deleted messages: 0 +# Deleted octets: 0 +# Messages left on server: 1 +# Octets left on server: 385 +# Name of client machine: 'randy.example.org' +# IP address of client machine: '192.168.2.4' +# +# Default: false +# +# set statistics = false + + +# Sets the timeout for network reads. Qpopper terminates the +# connection with the client if no input is received in this +# many seconds. RFC 1939 states that this timeout must be +# 600 seconds (10 minutes). However, ideal settings in some +# cases are between 30 and 120 seconds. In other cases the 600 +# value is best, and sometimes a value in between is better. +# +# Default: 120 +# +# set timeout = 120 + + +# Enables debug logging if '--enable-debugging' was used with +# ./configure. All debug and standard log records are written to +# the specified file. If this option is used, it should be first, +# so that debug records are generated for subsequent options. +# +# If used without '--enable-debugging', redirects all log messages +# to the specified file but does not enable debug logging. +# +# Default: none +# +# set tracefile = + + +# Reads additional run-time options from a file named +# '.qpopper-options' in the user's home directory, if present. +# +# This file is normally owned by the user. +# +# Default: false +# +# set user-options = false + + +# Reads additional run-time options from a file named +# 'username.qpopper-options' in the spool directory. +# +# This file should not be owned by nor writable by the user. +# +# Default: false +# +# set spool-options = false + + +# When updating the spool at the end of a session, this option +# instructs Qpopper to rename the temporary file to the spool instead +# of copying it. This reduces I/O at session end by a third, but is +# likely to break programs such as biff or the shell's mail check +# feature. Use this option only if such programs are not used. It is +# safest to only enable this option when users do not have shell +# access to the mail server. +# +# See "Performance" in the Qpopper Administrator's Guide for more +# information. +# +# Default: false +# +# set fast-update = false + + +# When set, domains are trimmed from user names before use. For +# example, if a user named 'maida' enters her login name in her POP +# client as 'maida@example.org', Qpopper treats this as just 'maida'. +# +# Default: false +# +# set trim-domain = false + + +# Specifies TLS/SSL support. The permitted values are: +# o 'default' TLS/SSL is not supported +# o 'none' Same as default +# o 'stls' Enables support for the STLS command. This +# permits TLS/SSL negotiations on the +# standard (or any) port, allowing the same +# port to be used by TLS/SSL and regular +# clients. +# o 'alternate-port' Enables alternate-port TLS/SSL. Some older +# clients require this. (The usual port for +# alternate-port TLS/SSL with pop is 995.) +# +# Only valid when '--with-openssl' or '--with-sslplus' used with +# ./configure +# +# Default: default +# +# set tls-support = default + + +# Specifies the permitted cipher suites. See the OpenSSL documentation +# for syntax. You normally do not need to set this. +# +# Only valid when '--with-openssl' used with ./configure +# +# Default: +# +# set tls-cipher-list = + + +# Restricts the version of TLS/SSL recognized in session negotiations. +# You normally do not need to set this. Supported values are: +# o 'default' (same as SSLv23) +# o 'SSLv2' Forces Qpopper only to understand SSLv2 client hello +# messages. +# o 'SSLv3' Forces Qpopper only to understand SSLv3 client hello +# messages. This especially means that it does not +# understand SSLv2 client hello messages, which are +# widely used for compatibility reasons. +# o 'TLSv1' Forces Qpopper only to understand TLSv1 client hello +# messages. This especially means that it does not +# understand SSLv2 client hello messages, which are +# widely used for compatibility reasons. It also does +# not understand SSLv3 client hello messages. +# o 'SSLv23' Allows Qpopper to understand SSLv2, SSLv3, and TLSv1 +# client hello messages. This is the best choice when +# compatibility is a concern. This is the default +# value. +# o 'all' (same as SSLv23) +# +# Only valid when '--with-openssl' used with ./configure +# +# Default: default +# +# set tls-version = default + + +# Specifies the file containing the server's TLS/SSL certificate and +# encrypted private key. +# +# Only valid if '--with-sslplus' used with ./configure. +# +# Default: none +# +# set tls-identity-file = + + +# Specifies the passphrase to decrypt the server's private key (in the +# identify file). +# +# Only valid if '--with-sslplus' used with ./configure. +# +# Default: none +# +# set tls-passphrase = + + +# Specifies the file which contains the server's TLS/SSL certificate. +# This file may also contain the server's unencrypted private key. +# +# Only valid if '--with-openssl' used with ./configure +# +# Default: none +# +# +# set tls-server-cert-file = /etc/mail/certs/cert.pem + + +# Specifies a file which contains the server's TLS/SSL private key. +# Note: This private key must not be encrypted. +# +# If the private key is contained in the same file as the certificate +# (as specified with tls-server-cert-file), you do not need to set +# this option. +# +# Only valid if '--with-openssl' used with ./configure +# +# Default: none +# +# set tls-private-key-file = + + +# When set, Qpopper writes a log record at the end of a session +# containing the elapsed time for the session authentication, +# initialization. and cleanup. +# +# Default: false +# +# set timing = false + + +# When set, Qpopper checks for old .user.pop files in old locations +# when hash-spool or homedirmail is used. When reset, Qpopper skips +# this check, which speeds things up. +# +# Default: true +# +# set check-old-spool-loc = true + + +# When set, Qpopper checks for and creates if needed the hashed spool +# directories. When reset, Qpopper doesn't check for or create the +# hashed spool directories. Set to false if you precreate the +# directories. +# +# Default: true +# +# set check-hash-dir = true + + +# When set, Qpopper checks for expired passwords (if the platform +# permits). When reset, Qpopper omits this check. +# +# Default: true +# +# set check-password-expired = true + + +# Determines whether Qpopper updates the read/unread status of +# messages (a feature relied on by some mail clients). Also +# determines if Qpopper saves the message's unique identifier +# (UID) in the spool. +# +# When reset, it forces the UID for every message to be +# recalculated, using more CPU but potentially less I/O. +# +# See the "Performance" section of the Qpopper Administrator's Guide +# for more information. +# +# Default: true +# +# set update-status-headers = true + + +# Determines whether Qpopper enters update state when a session +# aborts. Resetting this option causes Qpopper to ignore any +# deletions if the session is aborted. +# +# Note that RFC 1939, section 6 prohibits the default behavior, +# but experience showed that otherwise users on noisy lines were +# often unable to delete their mail. Reset this option to inhibit +# the default behavior, and obey RFC 1939, but watch for users who +# download the same messages over and over, or whose spools fill up. +# +# Default: true +# +# set update-on-abort = true + + +# When set, Qpopper automatically and unconditionally deletes messages +# that have been downloaded using the RETR command (the normal command +# for accessing messages). +# +# Caution: This option could result in lost mail. Be sure to +# inform your users that the option is in effect before enabling. +# +# Default: false +# +# set auto-delete = false + + +# When set, Qpopper shows bulletins to users by groups (the group name +# is the second dot-separated element in each bulletin's name). See +# "Using Bulletins" in the Qpopper Administrator's Guide for more +# information. Use a group name of 'ALL' for all users. +# +# Default: false +# +# set group-bulletins = false + + +# When set to a 1 or 2, the subdirectory for the mail spools is +# determined from the user name by either (1) hashing the first four +# characters or (2) by using directories equal to the first letter and +# the second letter (if any). For example, if the spool directory is +# '/var/mail', the spool file for user 'maida' would be: +# '/var/mail/maida' hash-spool = 0 +# '/var/mail/o/maida' hash-spool = 1 +# '/var/mail/m/a/maida' hash-spool = 2 +# +# See the "Performance" section of the Qpopper Administrator's Guide +# for more information. +# +# Default: 0 +# +# set hash-spool = 0 + + +# To have the user's home directory be the spool location, set this +# option to be the correct file name for the spool. +# +# Default: none +# +# set home-dir-mail = ".mail" + + +# When set, instructs Qpopper to generate message unique identifiers +# (UIDs) using old (pre-3.x) style encoding. This is useful only if +# you also set 'update-status-headers' to false, have existing users +# with old (pre-3.x) spool files, and you want to keep the UIDs the +# same. +# +# Default: false +# +# set old-style-uid = false + + +# When set, Qpopper checks for and hides status messages created by +# University of Washington software. +# +# Default: false +# +# set UW-kluge = false + + +# When set, Qpopper keeps (does not delete) the '.user.pop' file (the +# temporary drop file). Normally this file is deleted when the +# session ends. Some sites like to retain it to determine the last +# time a user has accessed his or her mail. +# +# Default: false +# +# set keep-temp-drop = false + + +# When set, causes server mode to be on for users who are members of +# the specified group. See the "Enabling Server Mode" and +# "Performance" sections of the Qpopper Administrator's Guide for more +# information. +# +# Default: none +# +# set group-server-mode = + + +# When set, causes server mode to be off for users who are members of +# the specified group. See the "Enabling Server Mode" and +# "Performance" sections of the Qpopper Administrator's Guide for more +# information. +# +# Default: none +# +# set group-no-server-mode = + + +# Specifies a file that permits only users listed in the file to have +# Qpopper access. The format is a list of user names, one per line. +# +# Default: none +# +# set auth-file = + + +# Specifies a file that denies access to users listed in the file. +# The format is a list of user names, one per line. +# +# Default: none +# +# set nonauth-file = + + +# Set this option if you don't want Qpopper to display its version in +# the POP protocol banner or CAPA IMPLEMENTATION response of +# unauthenticated users. +# Some sites believe this improves security since it avoids advertising +# that an old version (perhaps with known vulnerabilities) is being +# used. Others feel is makes the site more likely to be attacked, +# since it also avoids advertising when running a secure version. +# +# Default: false +# +# set shy = false + + +# Set this to the full path to sendmail or other such program used to +# submit new messages. Qpopper uses this to implement XTND XMIT. +# +# The default is determined at compile time. +# +# +# set mail-command = /usr/sbin/sendmail + + +# Set this to the full path to the mail spool directory. +# +# The default is determined at compile time. +# +# set spool-dir = /var/spool/mail + + +# If you do not want '.user.pop' (temporary drop files) to be in the +# spool directory, set this to the full path to the directory to be +# used for temp drop files. Note that use of /tmp is not recommended, +# because a system reboot will wipe out the files. This could cause +# lost mail. +# +# Default: spool directory +# +# set temp-dir = + + +# The name of the temporary drop files. You should not normally set +# this option. +# +# Default: ".%s.pop" +# +# set temp-name = ".%s.pop" + + +# If you do not want user cache files to be in the same directory as +# temporary drop files, set this to the full path to the directory for +# cache files. Note that use of /tmp is not recommended, because a +# system reboot wipes out the files. +# +# Default: temp-dir +# +# set cache-dir = + + +# The name of the cache files. You should not normally set this +# option. +# +# Default: ".%s.cache" +# +# set cache-name = ".%s.cache" + + +# Specifies the maximum number of old bulletins seen by new users. +# +# Default: 1 +# +# set max-bulletins = 1 + + +# When set, Qpopper uses a method of opening lock files that may work +# over NFS. This has not been thoroughly tested, however. +# +# Default: false +# +# set no-atomic-open = false + + +# Qpopper sends network output to client in small chunks (for example, +# line-by-line when sending a message). By default, Qpopper +# aggregates data to be sent to clients in large chunks. This may be +# faster or slower, depending on specifics of both the client and +# server hardware and networking stacks as wel as network elements in +# between (such as routers). Also, some networking stacks do their +# own aggregation. +# +# Under congested network conditions, larger packets increase the +# incidence of lost packets and thus client or server timeouts, +# leading to "POP timeout" or "EOF" errors. +# +# When TLS/SSL is in effect, smaller packets increase the overhead +# needed to send data, which may result in worse performance. +# +# You can adjust the Qpopper behavior by setting this option. The +# values are: +# o 'default' Always send large chunks +# o 'always' Same as 'default' +# o 'never' Never aggregate data into large chunks +# o 'tls' Only aggregate data into large chunks when TLS/SSL +# has been negotiated for the session +# o 'ssl' Same as 'tls' +# +# Default: default +# +# set chunky-writes = default + + +# Specifies the log facility that Qpopper uses. +# +# Note that this does not apply to popauth, nor to the daemon in +# standalone mode. These continue to use the compile-time default. +# +# Values are: +# o 'mail' Qpopper logs to LOG_MAIL facility. +# o 'local0' Qpopper logs to LOG_LOCAL0 facility. +# o 'local1' Qpopper logs to LOG_LOCAL1 facility. +# o 'local2' Qpopper logs to LOG_LOCAL2 facility. +# o 'local3' Qpopper logs to LOG_LOCAL3 facility. +# o 'local4' Qpopper logs to LOG_LOCAL4 facility. +# o 'local5' Qpopper logs to LOG_LOCAL5 facility. +# o 'local6' Qpopper logs to LOG_LOCAL6 facility. +# o 'local7' Qpopper logs to LOG_LOCAL7 facility. +# +# Default: determined at compile time, usually LOG_LOCAL0 or +# LOG_MAIL, depending on the operating system. +# +# set log-facility = local1 + + +# When set, Qpopper logs successful authentications using the +# specified string. Within the string, an occurrence of '%0' is +# replaced with the Qpopper version, '%1' with the user name, '%2' +# with the user's host name, and '%3' with the user's IP address. +# +# Default: none, unless '--enable-log-login' used with ./configure, +# in which case "(v%0) POP login by user /"%1/" at (%2) %3" is used. +# +# set log-login = "(v%0) POP login by user /"%1/" at (%2) %3" + + diff --git a/net-mail/qpopper/files/qpopper.init.d b/net-mail/qpopper/files/qpopper.init.d new file mode 100644 index 000000000000..24a4cfb8a8fc --- /dev/null +++ b/net-mail/qpopper/files/qpopper.init.d @@ -0,0 +1,21 @@ +#!/sbin/runscript +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-mail/qpopper/files/qpopper.init.d,v 1.1 2009/03/30 16:05:45 pva Exp $ + +depend() { + need net +} + +start() { + ebegin "Starting qpopper" + start-stop-daemon --start --quiet --background \ + --exec /usr/sbin/popper -- -f /etc/qpopper.conf + eend $? +} + +stop() { + ebegin "Stopping qpopper" + start-stop-daemon --stop --quiet --exec /usr/sbin/popper + eend $? +} diff --git a/net-mail/qpopper/files/qpopper.xinetd b/net-mail/qpopper/files/qpopper.xinetd new file mode 100644 index 000000000000..16cc899f42cc --- /dev/null +++ b/net-mail/qpopper/files/qpopper.xinetd @@ -0,0 +1,16 @@ +# default: off +# description: The POP3 service allows remote users to access their mail \ +# using an POP3 client such as Netscape Communicator, mutt, \ +# or fetchmail. +service pop-3 +{ + socket_type = stream + wait = no + user = root + port = 110 + server = /usr/sbin/popper + server_args = -f /etc/qpopper.conf + log_on_success += USERID + log_on_failure += USERID + disable = yes +} diff --git a/net-mail/qpopper/metadata.xml b/net-mail/qpopper/metadata.xml index 4d9d869db726..f31c08160fa6 100644 --- a/net-mail/qpopper/metadata.xml +++ b/net-mail/qpopper/metadata.xml @@ -4,6 +4,7 @@ <herd>net-mail</herd> <use> <flag name="apop">Enables the pop.auth file in /etc/pop.auth</flag> + <flag name="drac">Enables DRAC support</flag> <flag name="mailbox">Enables mail spool file is in home directory ~/Mailbox</flag> </use> </pkgmetadata> diff --git a/net-mail/qpopper/qpopper-4.0.14.ebuild b/net-mail/qpopper/qpopper-4.0.14.ebuild new file mode 100644 index 000000000000..4a21bf978c5c --- /dev/null +++ b/net-mail/qpopper/qpopper-4.0.14.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-mail/qpopper/qpopper-4.0.14.ebuild,v 1.1 2009/03/30 16:05:46 pva Exp $ + +EAPI="2" +#inherit eutils flag-o-matic ssl-cert +inherit eutils ssl-cert + +MY_P=${PN}${PV} + +DESCRIPTION="A POP3 Server" +HOMEPAGE="http://www.eudora.com/products/unsupported/qpopper/index.html" +SRC_URI="ftp://ftp.qualcomm.com/eudora/servers/unix/popper/${MY_P}.tar.gz" + +LICENSE="qpopper ISOC-rfc" +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" +IUSE="debug drac gdbm mailbox pam ssl xinetd apop" + +DEPEND="virtual/mta + xinetd? ( virtual/inetd ) + gdbm? ( sys-libs/gdbm ) + !gdbm? ( ~sys-libs/db-1.85 ) + drac? ( mail-client/drac ) + pam? ( + >=sys-libs/pam-0.72 + >=net-mail/mailbase-0.00-r8 + ) + ssl? ( dev-libs/openssl )" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${MY_P} + +pkg_setup() { + use apop && enewuser pop +} + +src_prepare() { + # Test dirs are full of binary craft. Drop it. + rm -rf test/ ./mmangle/test ./popper/.nfsF8E5 + epatch "${FILESDIR}/${PN}-4.0.14-parallel-build.patch" + sed -i -e 's:-o popauth:& ${LDFLAGS}:' popper/Makefile.in +} + +src_configure() { +# append-flags -Wa,--noexecstack + + econf \ + $(use_enable !xinetd standalone) \ + $(use_enable debug debugging) \ + $(use_with ssl openssl) \ + $(use_with gdbm) \ + $(use_with pam pam pop3) \ + $(use_enable apop apop /etc/pop.auth) \ + $(use_enable mailbox home-dir-mail Mailbox) \ + $(use_with drac) \ + --enable-shy \ + --enable-popuid=pop \ + --enable-log-login \ + --enable-specialauth \ + --enable-log-facility=LOG_MAIL \ + --enable-uw-kludge-flag + + if ! use gdbm; then + sed -i -e 's|#define HAVE_GDBM_H|//#define HAVE_GDBM_H|g' config.h || die "sed failed" + fi +} + +src_install() { + if use apop; then + dosbin popper/popauth + fowners pop:root /usr/sbin/popauth + fperms 4110 /usr/sbin/popauth + doman man/popauth.8 + fi + + dosbin popper/popper || die + doman man/popper.8 || die + + insinto /etc + doins "${FILESDIR}/qpopper.conf" || die + + if use ssl; then + sed -i -e 's:^# \(set tls-server-cert-file\).*:\1 = /etc/mail/certs/cert.pem:' \ + -e 's:^# \(set tls-support\).*$:\1 = stls:'\ + "${D}/etc/qpopper.conf" + fi + + if use xinetd; then + insinto /etc/xinetd.d + newins "${FILESDIR}/qpopper.xinetd" pop-3 || die + else + newinitd "${FILESDIR}/qpopper.init.d" qpopper || die + fi + + dodoc README doc/{Release.Notes,Changes} || die + + docinto rfc + dodoc doc/rfc*.txt || die + dohtml doc/LMOS-FAQ.html || die + + insinto /usr/share/doc/${PF} + doins GUIDE.pdf || die +} + +pkg_postinst () { + if use ssl; then + install_cert /etc/mail/certs/cert + chown root:mail /etc/mail/certs + chmod 660 /etc/mail/certs + fi + if use apop; then + elog "To authenticate the users with APOP " + elog "you have to follow these steps:" + elog "" + elog "1) initialize the authentication database:" + elog " # popauth -init" + elog "2) new users can be added by root:" + elog " # popauth -user <user>" + elog " or removed:" + elog " # popauth -delete <user>" + elog " Other users can add themeselves or change their" + elog " password with the command popauth" + elog "3) scripts or other non-interactive processes can add or change" + elog " the passwords with the following command:" + elog " # popauth -user <user> <password>" + elog "" + fi +} |