diff --git a/head/README b/head/README index baf31a3..e9a0818 100644 --- a/head/README +++ b/head/README @@ -191,3 +191,72 @@ Q. Can I synchronize multiple accounts with OfflineIMAP? A. Sure. Just name them all in the accounts line in the general section of the config file, and add a per-account section for each one. +-------------------------------------------------- + +Q. Do you support POP? + +A. No. POP is not robust enough to do a completely reliable +multi-machine synchronization like OfflineIMAP can do. OfflineIMAP +will not support it. + +-------------------------------------------------- + +Q. Do you support mailbox formats other than Maildir? + +A. Not at present. There is no technical reason not to; just no +demand yet. Maildir is a superior format anyway. + +-------------------------------------------------- + +Q. [technical] Why are your Maildir message filenames so huge? + +A. OfflineIMAP has two relevant principles: 1) never modifying your +messages in any way and 2) ensuring 100% reliable synchronizations. +In order to do a reliable sync, OfflineIMAP must have a way to +uniquely identify each e-mail. Three pieces of information are +required to do this: your account name, the folder name, and the +message UID. The account name can be calculated from the path in +which your messages are. The folder name can usually be as well, BUT +some mail clients move messages between folders by simply moving the +file, leaving the name intact. + +So, OfflineIMAP must store both a UID folder ID. The folder ID is +necessary so OfflineIMAP can detect a message moved to a different +folder. OfflineIMAP stores the UID (U= number) and an md5sum of the +foldername (FMD5= number) to facilitate this. + +-------------------------------------------------- + +Q. Can you provide an example of using OfflineIMAP with Mutt and +multiple accounts? + +A. Sure. I set it up to have a single Mail directory with additional +directories under that for each account. So, mkdir ~/Mail. Then, +in your ~/.offlineimaprc: + +Set "accounts = Personal, Work" + +Make sure you have a [Personal] and a [Work] section, with different +pathnames. Enable [mbnames]. + +In each account section, do something like this: + +localfolders = ~/Mail/Personal + +or + +localfolders = ~/Mail/Work + +In Mutt: + +add lines like this to your ~/.muttrc: + +source ~/path-to-mbnames-muttrc-mailboxes + +folder-hook Personal set from="youremail@personal.com" +folder-hook Work set from="youremail@work.com" +set mbox_type=Maildir +set folder=$HOME/Mail +set spoolfile=+Personal/INBOX + +That's it! diff --git a/head/debian/README b/head/debian/README new file mode 100644 index 0000000..13b9882 --- /dev/null +++ b/head/debian/README @@ -0,0 +1,6 @@ +The Debian Package offlineimap +---------------------------- + +Comments regarding the Package + +John Goerzen , Fri, 21 Jun 2002 14:54:56 -0500 diff --git a/head/debian/README.Debian b/head/debian/README.Debian new file mode 100644 index 0000000..e948aec --- /dev/null +++ b/head/debian/README.Debian @@ -0,0 +1,6 @@ +offlineimap for Debian +---------------------- + + + + -- John Goerzen , Fri, 21 Jun 2002 14:54:56 -0500 diff --git a/head/debian/changelog b/head/debian/changelog new file mode 100644 index 0000000..cf5a133 --- /dev/null +++ b/head/debian/changelog @@ -0,0 +1,9 @@ +offlineimap (1.0.0) unstable; urgency=low + + * Initial Release. + + -- John Goerzen Fri, 21 Jun 2002 14:54:56 -0500 + +Local variables: +mode: debian-changelog +End: diff --git a/head/debian/conffiles.ex b/head/debian/conffiles.ex new file mode 100644 index 0000000..bb90835 --- /dev/null +++ b/head/debian/conffiles.ex @@ -0,0 +1,7 @@ +# +# If you want to use this conffile, remove all comments and put files that +# you want dpkg to process here using their absolute pathnames. +# See the policy manual +# +# for example: +# /etc/offlineimap/offlineimap.conf diff --git a/head/debian/control b/head/debian/control new file mode 100644 index 0000000..2caba03 --- /dev/null +++ b/head/debian/control @@ -0,0 +1,12 @@ +Source: offlineimap +Section: unknown +Priority: optional +Maintainer: John Goerzen +Build-Depends: debhelper (>> 3.0.0) +Standards-Version: 3.5.2 + +Package: offlineimap +Architecture: any +Depends: ${shlibs:Depends} +Description: + diff --git a/head/debian/copyright b/head/debian/copyright new file mode 100644 index 0000000..3064bc9 --- /dev/null +++ b/head/debian/copyright @@ -0,0 +1,22 @@ +This is offlineimap, written and maintained by John Goerzen +on Fri, 21 Jun 2002 14:54:56 -0500. + +The original source can always be found at: + ftp://ftp.debian.org/dists/unstable/main/source/ + +Copyright (C) 2002 John Goerzen + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License with + the Debian GNU/Linux distribution in file /usr/share/common-licenses/GPL; + if not, write to the Free Software Foundation, Inc., 59 Temple Place, + Suite 330, Boston, MA 02111-1307 USA diff --git a/head/debian/cron.d.ex b/head/debian/cron.d.ex new file mode 100644 index 0000000..4206b09 --- /dev/null +++ b/head/debian/cron.d.ex @@ -0,0 +1,4 @@ +# +# Regular cron jobs for the offlineimap package +# +0 4 * * * root offlineimap_maintenance diff --git a/head/debian/dirs b/head/debian/dirs new file mode 100644 index 0000000..ca882bb --- /dev/null +++ b/head/debian/dirs @@ -0,0 +1,2 @@ +usr/bin +usr/sbin diff --git a/head/debian/docs b/head/debian/docs new file mode 100644 index 0000000..d9eb90f --- /dev/null +++ b/head/debian/docs @@ -0,0 +1,2 @@ +README +README~ diff --git a/head/debian/emacsen-install.ex b/head/debian/emacsen-install.ex new file mode 100644 index 0000000..abf715c --- /dev/null +++ b/head/debian/emacsen-install.ex @@ -0,0 +1,45 @@ +#! /bin/sh -e +# /usr/lib/emacsen-common/packages/install/offlineimap + +# Written by Jim Van Zandt , borrowing heavily +# from the install scripts for gettext by Santiago Vila +# and octave by Dirk Eddelbuettel . + +FLAVOR=$1 +PACKAGE=offlineimap + +if [ ${FLAVOR} = emacs ]; then exit 0; fi + +echo install/${PACKAGE}: Handling install for emacsen flavor ${FLAVOR} + +#FLAVORTEST=`echo $FLAVOR | cut -c-6` +#if [ ${FLAVORTEST} = xemacs ] ; then +# SITEFLAG="-no-site-file" +#else +# SITEFLAG="--no-site-file" +#fi +FLAGS="${SITEFLAG} -q -batch -l path.el -f batch-byte-compile" + +ELDIR=/usr/share/emacs/site-lisp/${PACKAGE} +ELCDIR=/usr/share/${FLAVOR}/site-lisp/${PACKAGE} + +# Install-info-altdir does not actually exist. +# Maybe somebody will write it. +if test -x /usr/sbin/install-info-altdir; then + echo install/${PACKAGE}: install Info links for ${FLAVOR} + install-info-altdir --quiet --section "" "" --dirname=${FLAVOR} /usr/info/${PACKAGE}.info.gz +fi + +install -m 755 -d ${ELCDIR} +cd ${ELDIR} +FILES=`echo *.el` +cp ${FILES} ${ELCDIR} +cd ${ELCDIR} + +cat << EOF > path.el +(setq load-path (cons "." load-path) byte-compile-warnings nil) +EOF +${FLAVOR} ${FLAGS} ${FILES} +rm -f *.el path.el + +exit 0 diff --git a/head/debian/emacsen-remove.ex b/head/debian/emacsen-remove.ex new file mode 100644 index 0000000..02cc4e7 --- /dev/null +++ b/head/debian/emacsen-remove.ex @@ -0,0 +1,15 @@ +#!/bin/sh -e +# /usr/lib/emacsen-common/packages/remove/offlineimap + +FLAVOR=$1 +PACKAGE=offlineimap + +if [ ${FLAVOR} != emacs ]; then + if test -x /usr/sbin/install-info-altdir; then + echo remove/${PACKAGE}: removing Info links for ${FLAVOR} + install-info-altdir --quiet --remove --dirname=${FLAVOR} /usr/info/offlineimap.info.gz + fi + + echo remove/${PACKAGE}: purging byte-compiled files for ${FLAVOR} + rm -rf /usr/share/${FLAVOR}/site-lisp/${PACKAGE} +fi diff --git a/head/debian/emacsen-startup.ex b/head/debian/emacsen-startup.ex new file mode 100644 index 0000000..50de23b --- /dev/null +++ b/head/debian/emacsen-startup.ex @@ -0,0 +1,18 @@ +;; -*-emacs-lisp-*- +;; +;; Emacs startup file for the Debian GNU/Linux offlineimap package +;; +;; Originally contributed by Nils Naumann +;; Modified by Dirk Eddelbuettel +;; Adapted for dh-make by Jim Van Zandt + +;; The offlineimap package follows the Debian/GNU Linux 'emacsen' policy and +;; byte-compiles its elisp files for each 'emacs flavor' (emacs19, +;; xemacs19, emacs20, xemacs20...). The compiled code is then +;; installed in a subdirectory of the respective site-lisp directory. +;; We have to add this to the load-path: +(setq load-path (cons (concat "/usr/share/" + (symbol-name flavor) + "/site-lisp/offlineimap") load-path)) + + diff --git a/head/debian/ex.package.doc-base b/head/debian/ex.package.doc-base new file mode 100644 index 0000000..47ac0c6 --- /dev/null +++ b/head/debian/ex.package.doc-base @@ -0,0 +1,22 @@ +Document: offlineimap +Title: Debian offlineimap Manual +Author: +Abstract: This manual describes what offlineimap is + and how it can be used to + manage online manuals on Debian systems. +Section: unknown + +Format: debiandoc-sgml +Files: /usr/share/doc/offlineimap/offlineimap.sgml.gz + +Format: postscript +Files: /usr/share/doc/offlineimap/offlineimap.ps.gz + +Format: text +Files: /usr/share/doc/offlineimap/offlineimap.text.gz + +Format: HTML +Index: /usr/share/doc/offlineimap/html/index.html +Files: /usr/share/doc/offlineimap/html/*.html + + diff --git a/head/debian/init.d.ex b/head/debian/init.d.ex new file mode 100644 index 0000000..bf1d966 --- /dev/null +++ b/head/debian/init.d.ex @@ -0,0 +1,70 @@ +#! /bin/sh +# +# skeleton example file to build /etc/init.d/ scripts. +# This file should be used to construct scripts for /etc/init.d. +# +# Written by Miquel van Smoorenburg . +# Modified for Debian GNU/Linux +# by Ian Murdock . +# +# Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl +# +# This file was automatically customized by dh-make on Fri, 21 Jun 2002 14:54:56 -0500 + +PATH=/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/sbin/offlineimap +NAME=offlineimap +DESC=offlineimap + +test -f $DAEMON || exit 0 + +set -e + +case "$1" in + start) + echo -n "Starting $DESC: " + start-stop-daemon --start --quiet --pidfile /var/run/$NAME.pid \ + --exec $DAEMON + echo "$NAME." + ;; + stop) + echo -n "Stopping $DESC: " + start-stop-daemon --oknodo --stop --quiet --pidfile /var/run/$NAME.pid \ + --exec $DAEMON + echo "$NAME." + ;; + #reload) + # + # If the daemon can reload its config files on the fly + # for example by sending it SIGHUP, do it here. + # + # If the daemon responds to changes in its config file + # directly anyway, make this a do-nothing entry. + # + # echo "Reloading $DESC configuration files." + # start-stop-daemon --stop --signal 1 --quiet --pidfile \ + # /var/run/$NAME.pid --exec $DAEMON + #;; + restart|force-reload) + # + # If the "reload" option is implemented, move the "force-reload" + # option to the "reload" entry above. If not, "force-reload" is + # just the same as "restart". + # + echo -n "Restarting $DESC: " + start-stop-daemon --stop --quiet --pidfile \ + /var/run/$NAME.pid --exec $DAEMON + sleep 1 + start-stop-daemon --start --quiet --pidfile \ + /var/run/$NAME.pid --exec $DAEMON + echo "$NAME." + ;; + *) + N=/etc/init.d/$NAME + # echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $N {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/head/debian/manpage.1.ex b/head/debian/manpage.1.ex new file mode 100644 index 0000000..b084a98 --- /dev/null +++ b/head/debian/manpage.1.ex @@ -0,0 +1,60 @@ +.\" Hey, EMACS: -*- nroff -*- +.\" First parameter, NAME, should be all caps +.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection +.\" other parameters are allowed: see man(7), man(1) +.TH OFFLINEIMAP SECTION "June 21, 2002" +.\" Please adjust this date whenever revising the manpage. +.\" +.\" Some roff macros, for reference: +.\" .nh disable hyphenation +.\" .hy enable hyphenation +.\" .ad l left justify +.\" .ad b justify to both left and right margins +.\" .nf disable filling +.\" .fi enable filling +.\" .br insert line break +.\" .sp insert n+1 empty lines +.\" for manpage-specific macros, see man(7) +.SH NAME +offlineimap \- program to do something +.SH SYNOPSIS +.B offlineimap +.RI [ options ] " files" ... +.br +.B bar +.RI [ options ] " files" ... +.SH DESCRIPTION +This manual page documents briefly the +.B offlineimap +and +.B bar +commands. +This manual page was written for the Debian distribution +because the original program does not have a manual page. +Instead, it has documentation in the GNU Info format; see below. +.PP +.\" TeX users may be more comfortable with the \fB\fP and +.\" \fI\fP escape sequences to invode bold face and italics, +.\" respectively. +\fBofflineimap\fP is a program that... +.SH OPTIONS +These programs follow the usual GNU command line syntax, with long +options starting with two dashes (`-'). +A summary of options is included below. +For a complete description, see the Info files. +.TP +.B \-h, \-\-help +Show summary of options. +.TP +.B \-v, \-\-version +Show version of program. +.SH SEE ALSO +.BR bar (1), +.BR baz (1). +.br +The programs are documented fully by +.IR "The Rise and Fall of a Fooish Bar" , +available via the Info system. +.SH AUTHOR +This manual page was written by John Goerzen , +for the Debian GNU/Linux system (but may be used by others). diff --git a/head/debian/manpage.sgml.ex b/head/debian/manpage.sgml.ex new file mode 100644 index 0000000..7f821af --- /dev/null +++ b/head/debian/manpage.sgml.ex @@ -0,0 +1,152 @@ + manpage.1'. You may view + the manual page with: `docbook-to-man manpage.sgml | nroff -man | + less'. A typical entry in a Makefile or Makefile.am is: + +manpage.1: manpage.sgml + docbook-to-man $< > $@ + + + The docbook-to-man binary is found in the docbook-to-man package. + Please remember that if you create the nroff version in one of the + debian/rules file targets (such as build), you will need to include + docbook-to-man in your Build-Depends control field. + + --> + + + FIRSTNAME"> + SURNAME"> + + June 21, 2002"> + + SECTION"> + jgoerzen@complete.org"> + + OFFLINEIMAP"> + + + Debian"> + GNU"> +]> + + + +
+ &dhemail; +
+ + &dhfirstname; + &dhsurname; + + + 2001 + &dhusername; + + &dhdate; +
+ + &dhucpackage; + + &dhsection; + + + &dhpackage; + + program to do something + + + + &dhpackage; + + + + + + + + DESCRIPTION + + This manual page documents briefly the + &dhpackage; and bar + commands. + + This manual page was written for the &debian; distribution + because the original program does not have a manual page. + Instead, it has documentation in the &gnu; + Info format; see below. + + &dhpackage; is a program that... + + + + OPTIONS + + These programs follow the usual GNU command line syntax, + with long options starting with two dashes (`-'). A summary of + options is included below. For a complete description, see the + Info files. + + + + + + + + Show summary of options. + + + + + + + + Show version of program. + + + + + + SEE ALSO + + bar (1), baz (1). + + The programs are documented fully by The Rise and + Fall of a Fooish Bar available via the + Info system. + + + AUTHOR + + This manual page was written by &dhusername; &dhemail; for + the &debian; system (but may be used by others). Permission is + granted to copy, distribute and/or modify this document under + the terms of the GNU Free Documentation + License, Version 1.1 or any later version published by the Free + Software Foundation; with no Invariant Sections, no Front-Cover + Texts and no Back-Cover Texts. + + +
+ + + + diff --git a/head/debian/menu.ex b/head/debian/menu.ex new file mode 100644 index 0000000..fae61d7 --- /dev/null +++ b/head/debian/menu.ex @@ -0,0 +1,2 @@ +?package(offlineimap):needs=X11|text|vc|wm section=Apps/see-menu-manual\ + title="offlineimap" command="/usr/bin/offlineimap" diff --git a/head/debian/postinst.ex b/head/debian/postinst.ex new file mode 100644 index 0000000..3ed4f53 --- /dev/null +++ b/head/debian/postinst.ex @@ -0,0 +1,48 @@ +#! /bin/sh +# postinst script for offlineimap +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package +# +# quoting from the policy: +# Any necessary prompting should almost always be confined to the +# post-installation script, and should be protected with a conditional +# so that unnecessary prompting doesn't happen if a package's +# installation fails and the `postinst' is called with `abort-upgrade', +# `abort-remove' or `abort-deconfigure'. + +case "$1" in + configure) + + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff --git a/head/debian/postrm.ex b/head/debian/postrm.ex new file mode 100644 index 0000000..4902e72 --- /dev/null +++ b/head/debian/postrm.ex @@ -0,0 +1,38 @@ +#! /bin/sh +# postrm script for offlineimap +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `purge' +# * `upgrade' +# * `failed-upgrade' +# * `abort-install' +# * `abort-install' +# * `abort-upgrade' +# * `disappear' overwrit>r> +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + purge|remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) + + + ;; + + *) + echo "postrm called with unknown argument \`$1'" >&2 + exit 1 + +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 diff --git a/head/debian/preinst.ex b/head/debian/preinst.ex new file mode 100644 index 0000000..866371b --- /dev/null +++ b/head/debian/preinst.ex @@ -0,0 +1,44 @@ +#! /bin/sh +# preinst script for offlineimap +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `install' +# * `install' +# * `upgrade' +# * `abort-upgrade' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + install|upgrade) +# if [ "$1" = "upgrade" ] +# then +# start-stop-daemon --stop --quiet --oknodo \ +# --pidfile /var/run/offlineimap.pid \ +# --exec /usr/sbin/offlineimap 2>/dev/null || true +# fi + ;; + + abort-upgrade) + ;; + + *) + echo "preinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff --git a/head/debian/prerm.ex b/head/debian/prerm.ex new file mode 100644 index 0000000..91b97c5 --- /dev/null +++ b/head/debian/prerm.ex @@ -0,0 +1,39 @@ +#! /bin/sh +# prerm script for offlineimap +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `remove' +# * `upgrade' +# * `failed-upgrade' +# * `remove' `in-favour' +# * `deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + remove|upgrade|deconfigure) +# install-info --quiet --remove /usr/info/offlineimap.info.gz + ;; + failed-upgrade) + ;; + *) + echo "prerm called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 + + diff --git a/head/debian/rules b/head/debian/rules new file mode 100644 index 0000000..104aaea --- /dev/null +++ b/head/debian/rules @@ -0,0 +1,94 @@ +#!/usr/bin/make -f +# Sample debian/rules that uses debhelper. +# GNU copyright 1997 to 1999 by Joey Hess. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# This is the debhelper compatibility version to use. +export DH_COMPAT=3 + + + +ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) + CFLAGS += -g +endif +ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) + INSTALL_PROGRAM += -s +endif + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + + # Add here commands to compile the package. + $(MAKE) + #/usr/bin/docbook-to-man debian/offlineimap.sgml > offlineimap.1 + + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + + # Add here commands to clean up after the build process. + -$(MAKE) clean + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/offlineimap. + $(MAKE) install DESTDIR=$(CURDIR)/debian/offlineimap + + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot +# dh_installdebconf + dh_installdocs + dh_installexamples + dh_installmenu +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_installinit + dh_installcron + dh_installman + dh_installinfo +# dh_undocumented + dh_installchangelogs ChangeLog + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_makeshlibs + dh_installdeb +# dh_perl + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/head/debian/watch.ex b/head/debian/watch.ex new file mode 100644 index 0000000..f7c6638 --- /dev/null +++ b/head/debian/watch.ex @@ -0,0 +1,5 @@ +# Example watch control file for uscan +# Rename this file to "watch" and then you can run the "uscan" command +# to check for upstream updates and more. +# Site Directory Pattern Version Script +sunsite.unc.edu /pub/Linux/Incoming offlineimap-(.*)\.tar\.gz debian uupdate