alpine - Mail user agent; Apache-licensed successor to Pine ChangeLog

HOWTO


# Alpine 2.26
# ===========
# Earlier releases of Slackware included Pine
# Slackware 12.2, 13.0, 13.1, 13.37: alpine 2.00
# Slackware 14.0: alpine 2.02
# Slackware 14.1: alpine 2.11
# Slackware 14.2: alpine 2.20

# 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

# Prerequisites:
# gettext (if you don't pass --disable-nls)
# sendmail (used as a MSA)
# INN inews (optional)
# Hunspell or aspell or ispell (optional; for spell check)
# PAM (optional)
# ncurses
# OpenSSL or LibreSSL (optional; for SSL/TLS support)
# OpenLDAP (optional)
# Kerberos
# libntlm (optional)
# Tcl (required for Web Alpine; optional)

# 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

# Verify tarball w/ sha256sum:
echo "c0779c2be6c47d30554854a3e14ef5e36539502b331068851329275898a9ba\
ba  alpine-2.26.tar.xz" | sha256sum -c

# Verify tarball w/ gpg:
wget https://alpineapp.email/alpine/gpg/alpine.chappa@yandex.com.gpg -O - |
gpg --import - &&
  wget -nc https://alpineapp.email/alpine/release/src/sig/\
alpine-2.26.tar.xz.sig &&
   gpg --verify alpine-2.26.tar.xz.sig && rm alpine-2.26.tar.xz.sig

# 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 .

# Become yourself again
exit

cd
mkdir -p -m 0700 installed
rm -f installed/alpine-*.tar.*
mv alpine-2.26.tar.xz installed/


# 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.*

List of HOWTOs

Web page itself last updated: 2023-12-20 8:06pm (EDT -0400)
HOWTO last updated: 2023-09-30 2:31am
Copyright © 2001-2024 Jason Englander. All Rights reserved.
[HTML5]