HOWTO
# GNU a2ps 4.14
# =============
# Prerequisites (many, if not all, optional depending on features you need):
#
m4
#
Perl
#
Bison
#
gperf
#
Flex
#
gettext (if you don't pass --disable-nls)
#
Emacs
#
file
# An 'lp' (as you would get from
CUPS)
#
GV
#
gzip
#
bzip2
#
ImageMagick's convert
# Netscape (a2ps is not updated too often...)
#
html2ps
#
Adobe Reader (acroread)
#
Ghostscript's pdf2ps and ps2pdf
#
psutils' psselect and psnup (Slackware's a2ps package includes psutils)
#
groff's grog
#
texinfo's makeinfo
# A TeX like
teTeX or
TeX Live
#
LaTeX
#
XFree86 or
X.org (for ogonkify)
# And now the current version
cd
test -f installed/a2ps-4.14.tar.gz && mv installed/a2ps-4.14.tar.gz .
test ! -f a2ps-4.14.tar.gz &&
wget http://ftpmirror.gnu.org/a2ps/a2ps-4.14.tar.gz
# Verify tarball w/
md5sum:
# (this came from my gpg-verified tarball)
echo "781ac3d9b213fa3e1ed0d79f986dc8c7 a2ps-4.14.tar.gz" | md5sum -c
# Verify tarball w/
sha1sum:
# (this also came from my gpg-verified tarball)
echo "365abbbe4b7128bf70dad16d06e23c5701874852 a2ps-4.14.tar.gz" | sha1sum -c
# Verify tarball w/
gpg:
( gpg --list-keys E7075A54 > /dev/null 2>&1 || gpg --recv-keys E7075A54 ) &&
wget -nc http://ftpmirror.gnu.org/a2ps/a2ps-4.14.tar.gz.sig &&
gpg --verify a2ps-4.14.tar.gz.sig && rm a2ps-4.14.tar.gz.sig
# Extract it
mkdir -p -m 0700 ~/src
cd ~/src
find -maxdepth 1 -type d -name "a2ps-*" -exec rm -r {} \;
tar xzvf ~/a2ps-4.14.tar.gz
cd a2ps-4.14
test $UID = 0 && chown -R root:root .
# Patch configure to fix the gperf version check
wget -nc https://englanders.us/pub/linux/patches/a2ps-4.14-gperf_version.patch &&
patch -p0 -N < a2ps-4.14-gperf_version.patch
# I use --disable-nls below because I only read/write English (well), if
# this is not the case for you, leave that off
# Configure and build it for 64-bit
test $(uname -m) = 'x86_64' &&
./configure --prefix=/usr --sysconfdir=/etc --infodir=/usr/info --libdir=/usr/lib64 --mandir=/usr/man --disable-nls --with-medium=letter --enable-shared --disable-static
# Configure and build it for anything else
test $(uname -m) != 'x86_64' &&
./configure --prefix=/usr --sysconfdir=/etc --infodir=/usr/info --mandir=/usr/man --disable-nls --with-medium=letter --enable-shared --disable-static
# Build it
make
# Become root to install it
su
# Remove the Slackware package, if you didn't already do that in the
# pstools howto
test -x /sbin/removepkg && /sbin/removepkg a2ps
# Install it
make install-strip
# Make sure your non-root user can remove the source later
chown -R $(logname) .
chmod -R u+w .
# Become yourself again
exit
# Save tarball for later
cd
mkdir -p -m 0700 installed
rm -f installed/a2ps-*.tar.*
mv a2ps-4.14.tar.gz installed/
# If you ever want to uninstall a2ps, this should do it:
cd
su
test -d src/a2ps-* && ( cd src/a2ps-* ; make uninstall )
( cd /etc ; rm -f a2ps.cfg a2ps-site.cfg )
( cd /usr/bin ; rm -f a2ps card composeglyphs fixnt fixps ogonkify pdiff psmandup psset texi2dvi4a2ps )
( cd /usr/info ; rm -f a2ps.info ogonkify.info regex.info )
( cd /usr/man/man1 ; rm -f a2ps.1 card.1 fixps.1 ogonkify.1 pdiff.1 psmandup.1 psset.1 texi2dvi4a2ps.1 )
test -d /usr/share/a2ps && rm -r /usr/share/a2ps
( cd /usr/share/emacs/site-lisp ; rm -f a2ps.el a2ps-print.el )
find /usr/share/locale -type f -name "a2ps.mo" -exec rm {} \;
test -d /usr/share/ogonkify && rm -r /usr/share/ogonkify
rm -f /usr/include/liba2ps.h /usr/lib/liba2ps.*
ldconfig
exit
find ~/src -maxdepth 1 -type d -name "a2ps-*" -exec rm -r {} \;
rm -f ~/installed/a2ps-*.tar.*