mirror of
https://github.com/mail-in-a-box/mailinabox.git
synced 2024-11-22 02:17:26 +00:00
merge #406 - dovecot-lucene & packaging
This commit is contained in:
commit
1760eaa601
@ -1,12 +1,11 @@
|
|||||||
POSTGREY_VERSION=1.35-1+miab1
|
POSTGREY_VERSION=1.35-1+miab1
|
||||||
|
DOVECOT_VERSION=2.2.9-1ubuntu2.1+miab1
|
||||||
|
|
||||||
all: clean build_postgrey build_dovecot_lucene
|
all: clean build_postgrey build_dovecot_lucene
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
# Clean.
|
# Clean.
|
||||||
rm -rf /tmp/build
|
rm -rf /tmp/build
|
||||||
|
|
||||||
# Prepare to build source packages.
|
|
||||||
mkdir -p /tmp/build
|
mkdir -p /tmp/build
|
||||||
|
|
||||||
build_postgrey: clean
|
build_postgrey: clean
|
||||||
@ -50,10 +49,10 @@ build_dovecot_lucene: clean
|
|||||||
(cd /tmp/build/dovecot-2.2.9; dpkg-buildpackage -S -us -uc -nc)
|
(cd /tmp/build/dovecot-2.2.9; dpkg-buildpackage -S -us -uc -nc)
|
||||||
|
|
||||||
# Sign the packages.
|
# Sign the packages.
|
||||||
#debsign /tmp/build/dovecot_2.2.9-1ubuntu2.1_amd64.changes
|
debsign /tmp/build/dovecot_$(DOVECOT_VERSION)_source.changes
|
||||||
|
|
||||||
# Upload it.
|
# Upload it.
|
||||||
#dput ppa:mail-in-a-box/ppa /tmp/build/dovecot_2.2.9-1ubuntu2.1_amd64.changes
|
dput ppa:mail-in-a-box/ppa /tmp/build/dovecot_$(DOVECOT_VERSION)_source.changes
|
||||||
|
|
||||||
# TESTING BINARY PACKAGE
|
# TESTING BINARY PACKAGE
|
||||||
# Install build dependencies and build dependencies we've added in our patch,
|
# Install build dependencies and build dependencies we've added in our patch,
|
||||||
|
@ -8,6 +8,8 @@ Packages
|
|||||||
|
|
||||||
* postgrey, a fork of [postgrey](http://postgrey.schweikert.ch/) based on the [latest Debian package](http://git.debian.org/?p=collab-maint/postgrey.git), with a modification to whitelist senders that are whitelisted by [dnswl.org](https://www.dnswl.org/) (i.e. don't greylist mail from known good senders).
|
* postgrey, a fork of [postgrey](http://postgrey.schweikert.ch/) based on the [latest Debian package](http://git.debian.org/?p=collab-maint/postgrey.git), with a modification to whitelist senders that are whitelisted by [dnswl.org](https://www.dnswl.org/) (i.e. don't greylist mail from known good senders).
|
||||||
|
|
||||||
|
* dovecot-lucene, [dovecot's lucene full text search plugin](http://wiki2.dovecot.org/Plugins/FTS/Lucene), which isn't built by Ubuntu's dovecot package maintainer unfortunately.
|
||||||
|
|
||||||
Building
|
Building
|
||||||
--------
|
--------
|
||||||
|
|
||||||
@ -30,9 +32,9 @@ To build:
|
|||||||
# Build & upload to launchpad.
|
# Build & upload to launchpad.
|
||||||
vagrant ssh -- "cd /vagrant && make"
|
vagrant ssh -- "cd /vagrant && make"
|
||||||
|
|
||||||
To use on a Mail-in-a-Box box, add the PPA and then upgrade packages:
|
Mail-in-a-Box adds our PPA during setup, but if you need to do that yourself for testing:
|
||||||
|
|
||||||
apt-add-repository ppa:mail-in-a-box/ppa
|
apt-add-repository ppa:mail-in-a-box/ppa
|
||||||
apt-get update
|
apt-get update
|
||||||
apt-get upgrade
|
apt-get install postgrey dovecot-lucene
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
--- a/debian/control
|
--- a/debian/control
|
||||||
+++ b/debian/control
|
+++ b/debian/control
|
||||||
@@ -1,210 +1,22 @@
|
@@ -1,210 +1,23 @@
|
||||||
Source: dovecot
|
Source: dovecot
|
||||||
Section: mail
|
Section: mail
|
||||||
Priority: optional
|
Priority: optional
|
||||||
@ -13,11 +13,14 @@
|
|||||||
+Build-Depends: debhelper (>= 7.2.3~), dpkg-dev (>= 1.16.1), pkg-config, libssl-dev, libpam0g-dev, libldap2-dev, libpq-dev, libmysqlclient-dev, libsqlite3-dev, libsasl2-dev, zlib1g-dev, libkrb5-dev, drac-dev (>= 1.12-5), libbz2-dev, libdb-dev, libcurl4-gnutls-dev, libexpat-dev, libwrap0-dev, dh-systemd, po-debconf, lsb-release, libclucene-dev (>= 2.3), liblzma-dev, libexttextcat-dev, libstemmer-dev, hardening-wrapper, dh-autoreconf, autotools-dev
|
+Build-Depends: debhelper (>= 7.2.3~), dpkg-dev (>= 1.16.1), pkg-config, libssl-dev, libpam0g-dev, libldap2-dev, libpq-dev, libmysqlclient-dev, libsqlite3-dev, libsasl2-dev, zlib1g-dev, libkrb5-dev, drac-dev (>= 1.12-5), libbz2-dev, libdb-dev, libcurl4-gnutls-dev, libexpat-dev, libwrap0-dev, dh-systemd, po-debconf, lsb-release, libclucene-dev (>= 2.3), liblzma-dev, libexttextcat-dev, libstemmer-dev, hardening-wrapper, dh-autoreconf, autotools-dev
|
||||||
Standards-Version: 3.9.4
|
Standards-Version: 3.9.4
|
||||||
Homepage: http://dovecot.org/
|
Homepage: http://dovecot.org/
|
||||||
Vcs-Git: git://git.debian.org/git/collab-maint/dovecot.git
|
-Vcs-Git: git://git.debian.org/git/collab-maint/dovecot.git
|
||||||
Vcs-Browser: http://git.debian.org/?p=collab-maint/dovecot.git
|
-Vcs-Browser: http://git.debian.org/?p=collab-maint/dovecot.git
|
||||||
|
+Vcs-Git: https://github.com/mail-in-a-box/mailinabox
|
||||||
|
+Vcs-Browser: https://github.com/mail-in-a-box/mailinabox
|
||||||
|
|
||||||
-Package: dovecot-core
|
-Package: dovecot-core
|
||||||
-Architecture: any
|
+Package: dovecot-lucene
|
||||||
|
Architecture: any
|
||||||
-Depends: ${shlibs:Depends}, ${misc:Depends}, libpam-runtime (>= 0.76-13.1), openssl, adduser, ucf (>= 2.0020), ssl-cert (>= 1.0-11ubuntu1), lsb-base (>= 3.2-12ubuntu3)
|
-Depends: ${shlibs:Depends}, ${misc:Depends}, libpam-runtime (>= 0.76-13.1), openssl, adduser, ucf (>= 2.0020), ssl-cert (>= 1.0-11ubuntu1), lsb-base (>= 3.2-12ubuntu3)
|
||||||
-Suggests: ntp, dovecot-gssapi, dovecot-sieve, dovecot-pgsql, dovecot-mysql, dovecot-sqlite, dovecot-ldap, dovecot-imapd, dovecot-pop3d, dovecot-lmtpd, dovecot-managesieved, dovecot-solr, ufw
|
-Suggests: ntp, dovecot-gssapi, dovecot-sieve, dovecot-pgsql, dovecot-mysql, dovecot-sqlite, dovecot-ldap, dovecot-imapd, dovecot-pop3d, dovecot-lmtpd, dovecot-managesieved, dovecot-solr, ufw
|
||||||
-Recommends: ntpdate
|
-Recommends: ntpdate
|
||||||
@ -25,12 +28,14 @@
|
|||||||
-Replaces: dovecot-common (<< 1:2.0.14-2~), mailavenger (<< 0.8.1-4)
|
-Replaces: dovecot-common (<< 1:2.0.14-2~), mailavenger (<< 0.8.1-4)
|
||||||
-Breaks: dovecot-common (<< 1:2.0.14-2~), mailavenger (<< 0.8.1-4)
|
-Breaks: dovecot-common (<< 1:2.0.14-2~), mailavenger (<< 0.8.1-4)
|
||||||
-Description: secure POP3/IMAP server - core files
|
-Description: secure POP3/IMAP server - core files
|
||||||
- Dovecot is a mail server whose major goals are security and extreme
|
+Depends: ${shlibs:Depends}, ${misc:Depends}, dovecot-core (>= 1:2.2.9-1ubuntu2.1)
|
||||||
- reliability. It tries very hard to handle all error conditions and verify
|
+Description: secure POP3/IMAP server - Lucene support
|
||||||
- that all data is valid, making it nearly impossible to crash. It supports
|
Dovecot is a mail server whose major goals are security and extreme
|
||||||
- mbox/Maildir and its own dbox/mdbox formats, and should also be pretty
|
reliability. It tries very hard to handle all error conditions and verify
|
||||||
- fast, extensible, and portable.
|
that all data is valid, making it nearly impossible to crash. It supports
|
||||||
- .
|
mbox/Maildir and its own dbox/mdbox formats, and should also be pretty
|
||||||
|
fast, extensible, and portable.
|
||||||
|
.
|
||||||
- This package contains the Dovecot main server and its command line utility.
|
- This package contains the Dovecot main server and its command line utility.
|
||||||
-
|
-
|
||||||
-Package: dovecot-dev
|
-Package: dovecot-dev
|
||||||
@ -151,17 +156,15 @@
|
|||||||
- This package provides LDAP support for Dovecot.
|
- This package provides LDAP support for Dovecot.
|
||||||
-
|
-
|
||||||
-Package: dovecot-gssapi
|
-Package: dovecot-gssapi
|
||||||
+Package: dovecot-lucene
|
-Architecture: any
|
||||||
Architecture: any
|
-Depends: ${shlibs:Depends}, ${misc:Depends}, dovecot-core (= ${binary:Version})
|
||||||
Depends: ${shlibs:Depends}, ${misc:Depends}, dovecot-core (= ${binary:Version})
|
|
||||||
-Description: secure POP3/IMAP server - GSSAPI support
|
-Description: secure POP3/IMAP server - GSSAPI support
|
||||||
+Description: secure POP3/IMAP server - Lucene support
|
- Dovecot is a mail server whose major goals are security and extreme
|
||||||
Dovecot is a mail server whose major goals are security and extreme
|
- reliability. It tries very hard to handle all error conditions and verify
|
||||||
reliability. It tries very hard to handle all error conditions and verify
|
- that all data is valid, making it nearly impossible to crash. It supports
|
||||||
that all data is valid, making it nearly impossible to crash. It supports
|
- mbox/Maildir and its own dbox/mdbox formats, and should also be pretty
|
||||||
mbox/Maildir and its own dbox/mdbox formats, and should also be pretty
|
- fast, extensible, and portable.
|
||||||
fast, extensible, and portable.
|
- .
|
||||||
.
|
|
||||||
- This package provides GSSAPI authentication support for Dovecot.
|
- This package provides GSSAPI authentication support for Dovecot.
|
||||||
-
|
-
|
||||||
-Package: dovecot-sieve
|
-Package: dovecot-sieve
|
||||||
@ -216,7 +219,9 @@
|
|||||||
- This package contains configuration files for dovecot.
|
- This package contains configuration files for dovecot.
|
||||||
- .
|
- .
|
||||||
- This package modifies postfix's configuration to integrate with dovecot
|
- This package modifies postfix's configuration to integrate with dovecot
|
||||||
+ This package provides Lucene full text search support for Dovecot.
|
+ This package provides Lucene full text search support for Dovecot. It has been modified by Mail-in-a-Box
|
||||||
|
+ to supply a dovecot-lucene package compatible with the official ubuntu trusty dovecot-core.
|
||||||
|
|
||||||
diff --git a/debian/dovecot-lucene.links b/debian/dovecot-lucene.links
|
diff --git a/debian/dovecot-lucene.links b/debian/dovecot-lucene.links
|
||||||
new file mode 100644
|
new file mode 100644
|
||||||
index 0000000..6ffcbeb
|
index 0000000..6ffcbeb
|
||||||
@ -247,11 +252,9 @@ index 0000000..3d933a5
|
|||||||
+++ b/debian/dovecot-lucene.triggers
|
+++ b/debian/dovecot-lucene.triggers
|
||||||
@@ -0,0 +1 @@
|
@@ -0,0 +1 @@
|
||||||
+activate register-dovecot-plugin
|
+activate register-dovecot-plugin
|
||||||
diff --git a/debian/rules b/debian/rules
|
|
||||||
index dcee2f6..9533a4a 100755
|
|
||||||
--- a/debian/rules
|
--- a/debian/rules
|
||||||
+++ b/debian/rules
|
+++ b/debian/rules
|
||||||
@@ -40,6 +40,7 @@ config-stamp: configure
|
@@ -40,6 +40,7 @@
|
||||||
--with-solr \
|
--with-solr \
|
||||||
--with-ioloop=best \
|
--with-ioloop=best \
|
||||||
--with-libwrap \
|
--with-libwrap \
|
||||||
@ -259,7 +262,7 @@ index dcee2f6..9533a4a 100755
|
|||||||
--host=$(DEB_HOST_GNU_TYPE) \
|
--host=$(DEB_HOST_GNU_TYPE) \
|
||||||
--build=$(DEB_BUILD_GNU_TYPE) \
|
--build=$(DEB_BUILD_GNU_TYPE) \
|
||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
@@ -95,6 +96,10 @@ install: build
|
@@ -95,6 +96,10 @@
|
||||||
dh_testroot
|
dh_testroot
|
||||||
dh_clean -k
|
dh_clean -k
|
||||||
dh_installdirs
|
dh_installdirs
|
||||||
@ -270,7 +273,7 @@ index dcee2f6..9533a4a 100755
|
|||||||
$(MAKE) install DESTDIR=$(CURDIR)/debian/dovecot-core
|
$(MAKE) install DESTDIR=$(CURDIR)/debian/dovecot-core
|
||||||
$(MAKE) -C $(PIGEONHOLE_DIR) install DESTDIR=$(CURDIR)/debian/dovecot-core
|
$(MAKE) -C $(PIGEONHOLE_DIR) install DESTDIR=$(CURDIR)/debian/dovecot-core
|
||||||
rm `find $(CURDIR)/debian -name '*.la'`
|
rm `find $(CURDIR)/debian -name '*.la'`
|
||||||
@@ -209,7 +214,7 @@ binary-arch: build install
|
@@ -209,7 +214,7 @@
|
||||||
dh_installdocs -a
|
dh_installdocs -a
|
||||||
dh_installexamples -a
|
dh_installexamples -a
|
||||||
dh_installpam -a
|
dh_installpam -a
|
||||||
@ -279,7 +282,7 @@ index dcee2f6..9533a4a 100755
|
|||||||
dh_systemd_enable
|
dh_systemd_enable
|
||||||
dh_installinit -pdovecot-core --name=dovecot
|
dh_installinit -pdovecot-core --name=dovecot
|
||||||
dh_systemd_start
|
dh_systemd_start
|
||||||
@@ -220,10 +225,10 @@ binary-arch: build install
|
@@ -220,10 +225,10 @@
|
||||||
dh_lintian -a
|
dh_lintian -a
|
||||||
dh_installchangelogs -a ChangeLog
|
dh_installchangelogs -a ChangeLog
|
||||||
dh_link -a
|
dh_link -a
|
||||||
@ -292,3 +295,25 @@ index dcee2f6..9533a4a 100755
|
|||||||
dh_makeshlibs -a -n
|
dh_makeshlibs -a -n
|
||||||
dh_installdeb -a
|
dh_installdeb -a
|
||||||
dh_shlibdeps -a
|
dh_shlibdeps -a
|
||||||
|
--- a/debian/changelog
|
||||||
|
+++ a/debian/changelog
|
||||||
|
@@ -1,3 +1,9 @@
|
||||||
|
+dovecot (1:2.2.9-1ubuntu2.1+miab1) trusty; urgency=low
|
||||||
|
+
|
||||||
|
+ * Changed to just build dovecot-lucene for Mail-in-a-box PPA
|
||||||
|
+
|
||||||
|
+ -- Joshua Tauberer <jt@occams.info> Sat, 14 May 2015 16:13:00 -0400
|
||||||
|
+
|
||||||
|
dovecot (1:2.2.9-1ubuntu2.1) trusty-security; urgency=medium
|
||||||
|
|
||||||
|
* SECURITY UPDATE: denial of service via SSL connection exhaustion
|
||||||
|
--- a/debian/copyright 2014-03-07 07:26:37.000000000 -0500
|
||||||
|
+++ b/debian/copyright 2015-05-23 18:17:42.668005535 -0400
|
||||||
|
@@ -1,3 +1,7 @@
|
||||||
|
+This package is a fork by Mail-in-a-box (https://mailinabox.email). Original
|
||||||
|
+copyright statement follows:
|
||||||
|
+----------------------------------------------------------------------------
|
||||||
|
+
|
||||||
|
This package was debianized by Jaldhar H. Vyas <jaldhar@debian.org> on
|
||||||
|
Tue, 3 Dec 2002 01:10:07 -0500.
|
||||||
|
|
||||||
|
@ -18,11 +18,14 @@
|
|||||||
source setup/functions.sh # load our functions
|
source setup/functions.sh # load our functions
|
||||||
source /etc/mailinabox.conf # load global vars
|
source /etc/mailinabox.conf # load global vars
|
||||||
|
|
||||||
# Install packages...
|
|
||||||
|
# Install packages for dovecot. These are all core dovecot plugins,
|
||||||
|
# but dovecot-lucene is packaged by *us* in the Mail-in-a-Box PPA,
|
||||||
|
# not by Ubuntu.
|
||||||
|
|
||||||
apt_install \
|
apt_install \
|
||||||
dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-sqlite sqlite3 \
|
dovecot-core dovecot-imapd dovecot-pop3d dovecot-lmtpd dovecot-sqlite sqlite3 \
|
||||||
dovecot-sieve dovecot-managesieved
|
dovecot-sieve dovecot-managesieved dovecot-lucene
|
||||||
|
|
||||||
# The `dovecot-imapd`, `dovecot-pop3d`, and `dovecot-lmtpd` packages automatically
|
# The `dovecot-imapd`, `dovecot-pop3d`, and `dovecot-lmtpd` packages automatically
|
||||||
# enable IMAP, POP and LMTP protocols.
|
# enable IMAP, POP and LMTP protocols.
|
||||||
@ -92,6 +95,17 @@ tools/editconf.py /etc/dovecot/conf.d/20-imap.conf \
|
|||||||
tools/editconf.py /etc/dovecot/conf.d/20-pop3.conf \
|
tools/editconf.py /etc/dovecot/conf.d/20-pop3.conf \
|
||||||
pop3_uidl_format="%08Xu%08Xv"
|
pop3_uidl_format="%08Xu%08Xv"
|
||||||
|
|
||||||
|
# Full Text Search - Enable full text search of mail using dovecot's lucene plugin,
|
||||||
|
# which *we* package and distribute (dovecot-lucene package).
|
||||||
|
tools/editconf.py /etc/dovecot/conf.d/10-mail.conf \
|
||||||
|
mail_plugins="\$mail_plugins fts fts_lucene"
|
||||||
|
cat > /etc/dovecot/conf.d/90-plugin-fts.conf << EOF;
|
||||||
|
plugin {
|
||||||
|
fts = lucene
|
||||||
|
fts_lucene = whitespace_chars=@.
|
||||||
|
}
|
||||||
|
EOF
|
||||||
|
|
||||||
# ### LDA (LMTP)
|
# ### LDA (LMTP)
|
||||||
|
|
||||||
# Enable Dovecot's LDA service with the LMTP protocol. It will listen
|
# Enable Dovecot's LDA service with the LMTP protocol. It will listen
|
||||||
|
@ -3,7 +3,21 @@ source setup/functions.sh # load our functions
|
|||||||
# Basic System Configuration
|
# Basic System Configuration
|
||||||
# -------------------------
|
# -------------------------
|
||||||
|
|
||||||
# ### Install Packages
|
# ### Add Mail-in-a-Box's PPA.
|
||||||
|
|
||||||
|
# We've built several .deb packages on our own that we want to include.
|
||||||
|
# One is a replacement for Ubuntu's stock postgrey package that makes
|
||||||
|
# some enhancements. The other is dovecot-lucene, a Lucene-based full
|
||||||
|
# text search plugin for (and by) dovecot, which is not available in
|
||||||
|
# Ubuntu currently.
|
||||||
|
#
|
||||||
|
# Add that to the system's list of repositories:
|
||||||
|
|
||||||
|
hide_output add-apt-repository -y ppa:mail-in-a-box/ppa
|
||||||
|
|
||||||
|
# The apt-get update in the next step will pull in the PPA's index.
|
||||||
|
|
||||||
|
# ### Update Packages
|
||||||
|
|
||||||
# Update system packages to make sure we have the latest upstream versions of things from Ubuntu.
|
# Update system packages to make sure we have the latest upstream versions of things from Ubuntu.
|
||||||
|
|
||||||
@ -11,6 +25,8 @@ echo Updating system packages...
|
|||||||
hide_output apt-get update
|
hide_output apt-get update
|
||||||
apt_get_quiet upgrade
|
apt_get_quiet upgrade
|
||||||
|
|
||||||
|
# ### Install System Packages
|
||||||
|
|
||||||
# Install basic utilities.
|
# Install basic utilities.
|
||||||
#
|
#
|
||||||
# * haveged: Provides extra entropy to /dev/random so it doesn't stall
|
# * haveged: Provides extra entropy to /dev/random so it doesn't stall
|
||||||
|
Loading…
Reference in New Issue
Block a user