# Here is an article about University of Washington retiring Alpine and Pine
# as of December 31, 2018:
# Deskmail, Alpine and Pine to retire Dec. 31, 2018
#
# ...but development continues via what used to be (only) a site for Alpine
# patches.
# Very early versions of this HOWTO installed Alpine under the default prefix,
# but below we use the /usr prefix now. If yours is installed under
# any other such as /usr/local, either remove it (see the bottom) or adjust
# the instructions below to reflect your actual installation paths
# To uninstall Alpine, or clean up files from an older version before
# installing the new one, skip down to the bottom for instructions
# If you're replacing Pine with Alpine, run this to remove Pine
su
killall pine
test -x /sbin/removepkg && /sbin/removepkg pine
for pfx in /usr /usr/local; do
( cd ${pfx}/bin ; rm -f pine pinef pico pilot )
( cd ${pfx}/man/man1 ; rm -f pine.1 pico.1 pilot.1 )
done
exit
# Get Alpine
cd
test -f installed/alpine-2.26.tar.xz && mv installed/alpine-2.26.tar.xz .
test ! -f alpine-2.26.tar.xz &&
wget https://alpineapp.email/alpine/release/src/alpine-2.26.tar.xz
# Extract the source
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "alpine-*" -exec rm -r {} \;
tar xJvf ~/alpine-2.26.tar.xz
cd alpine-2.26
test $UID = 0 && chown -R root:root .
# I use --disable-nls below, I only read/write English (well) and do not
# need translations.
# If you build it with SSL/TLS support, the default is to only allow
# plaintext passwords over encrypted connections.
# When specifying paths for OpenSSL, keep in mind that the source default
# prefix for >= 1.1.x is /usr/local, the source default for < 1.1.x is
# /usr/local/ssl, and the usual distribution default prefix for binary
# packages will be /usr. If your system is 32-bit, libraries are probably
# in 'lib' and if 64-bit they are probably in 'lib64'. Use the appropriate
# OpenSSL prefix for your system via --with-ssl-dir
# This is used by configure to come up with ./c-client/CFLAGS
#
# If if fails to build, see the other --with-ssl* configure options.
# You may need to specify --with-ssl-lib-dir=/usr/local/ssl/lib64 or
# --with-ssl-include-dir=/some/other/path/include/openssl
# If you use --with-ssl-certs-dir=/etc/ssl/certs, it will use the
# certificates from the Slackware ca-certificates package, rather than
# your possibly empty /usr/local/ssl/certs directory
# Configure the build
SSLPFX=/usr
test -d /usr/local/ssl/include/openssl && SSLPFX=/usr/local/ssl
test -d /usr/local/include/openssl && SSLPFX=/usr/local
./configure --prefix=/usr --mandir=/usr/man --disable-nls \
--with-system-pinerc=/etc/pine.conf \
--with-system-fixed-pinerc=/etc/pine.conf.fixed \
--with-ssl-dir=${SSLPFX} \
--with-ssl-certs-dir=/etc/ssl/certs
unset SSLPFX
# Build it
make
# Become root to install it
su
# Back up your pine.conf and pine.conf.fixed
mkdir -p -m 0700 ~/backup/alpine
for cfgdir in /usr/local/lib64 /usr/local/lib /usr/local/etc /etc;
do
test -d $cfgdir &&
( cd $cfgdir
test -f pine.conf &&
cp -ab pine.conf ~/backup/alpine/pine.conf-$(date +%Y%m%d)
test -f pine.conf.fixed &&
cp -ab pine.conf.fixed \
~/backup/alpine/pine.conf.fixed-$(date +%Y%m%d) )
done
# Remove the Slackware package, if there is one
test -x /sbin/removepkg && /sbin/removepkg alpine
# Install it
make install
# To create a sample site-wide configuration file, run:
# alpine -pinerc /etc/pine.conf
# then open up pine.conf and modify it as necessary. To create site-wide
# fixed (not changeable by the user) configuration options, create a
# pine.conf.fixed and make sure only root has write permissions on it.
# Web Alpine is in ./web/
# See web/README and web/INSTALL for more info
# There are other things in ~/src/alpine-2.26/imap that you may want to
# check out, like mailutil (run it for usage).
#
# To check how many messages you have in a local mbox folder with it:
# ./mailutil check /var/spool/mail/jason
#
# Check how many messages you have in a folder named "lists" on a
# Cyrus IMAP server via IMAP + TLS (ignoring the complaint about the
# self-signed certificate and not using rsh to connect):
# ./mailutil check {localhost/user=jason/novalidate-cert/NoRsh}INBOX.lists
#
# Check how many messages you have in your Cyrus POP3 inbox via POP3 + TLS:
# ./mailutil check {localhost/pop3/user=jason/novalidate-cert}INBOX
# Make sure your non-root account can remove the source later
chown -R $(logname) .
chmod -R u+w .
# If you ever want to uninstall Alpine, this should do it:
cd
su
test -d src/alpine-* && ( cd src/alpine-* ; make uninstall )
( cd /etc ; rm -f pine.conf pine.conf.fixed )
for pfx in /usr /usr/local;
do
( cd ${pfx}/bin ; rm -f alpine pico pilot rpdump rpload )
( cd ${pfx}/lib ; rm -f pine.conf pine.conf.fixed )
test -d ${pfx}/lib64 &&
( cd ${pfx}/lib64 ; rm -f pine.conf pine.conf.fixed )
( cd ${pfx}/man/man1
rm -f alpine.1 pico.1 pilot.1 rpdump.1 rpload.1 )
( cd ${pfx}/share/man/man1
rm -f alpine.1 pico.1 pilot.1 rpdump.1 rpload.1 )
done
exit
find ~/src -maxdepth 1 -type d -name "alpine-*" -exec rm -r {} \;
rm -f ~/installed/alpine-*.tar.*