Linux HOWTOs

About | Home | Search


HOWTO: texinfo
Description: Software documentation system
Click here for ChangeLog
NOTE: I use GNU tar >= 1.13.25 so it's -j for .tar.bz2 files,
it's safe to assume that make, gcc, binutils, fileutils/coreutils, gawk, sed, and grep are prerequisites for almost everything


# GNU Texinfo 6.5
# ===============
# Slackware 13.37, 14.0, 14.1: texinfo 4.13a
# Slackware 14.2: texinfo 6.1

# Prerequisites:
# Perl >= 5.7.3
# libc's iconv or libiconv
# ncurses
# gettext (if you leave off --disable-nls)
# Bison
# teTeX or TeX Live (if you install the .tex files)

# If you have any trouble with the download URL below, try here:
# http://ftp.gnu.org/gnu/texinfo/
# ftp://ftp.gnu.org/gnu/texinfo/
# http://mirrors.ibiblio.org/pub/mirrors/gnu/ftp/gnu/texinfo/

# Get it
cd
test -f installed/texinfo-6.5.tar.xz &&
 mv installed/texinfo-6.5.tar.xz .
test ! -f texinfo-6.5.tar.xz &&
 wget http://ftpmirror.gnu.org/gnu/texinfo/texinfo-6.5.tar.xz

# Verify tarball w/ sha1sum:
# (this came from my gpg-verified tarball)
echo "72a06b48862911c638787cc3307871b990a59726  texinfo-6.5.tar.xz" | \
sha1sum -c

# Verify tarball w/ gpg:
( gpg --list-keys AB37FBA9 > /dev/null 2>&1 || gpg --recv-keys AB37FBA9 ) &&
 wget -nc http://ftpmirror.gnu.org/gnu/texinfo/texinfo-6.5.tar.xz.sig &&
  gpg --verify texinfo-6.5.tar.xz.sig && rm texinfo-6.5.tar.xz.sig

# Extract the source
mkdir -p -m 0700 src
cd src
find -maxdepth 1 -type d -name "texinfo-*" -exec rm -r {} \;
tar xJvf ~/texinfo-6.5.tar.xz
cd texinfo-6.5
test $UID = 0 && chown -R root:root .

# See ./README, ./INSTALL, and if upgrading - ./NEWS, ./ChangeLog

# If you do need translations, leave off --disable-nls

# >= 5.0 includes a Perl-based makeinfo/texi2any and uses extension (XS)
# modules.  If you don't want to use those add --disable-perl-xs

# Configure the build for 64-bit
test $(uname -m) = 'x86_64' &&
./configure --prefix=/usr --docdir=/usr/doc/texinfo-6.5 \
--infodir=/usr/info --libdir=/usr/lib64 --mandir=/usr/man \
--disable-nls

# Configure the build for anything else
test $(uname -m) = 'x86_64' &&
./configure --prefix=/usr --docdir=/usr/doc/texinfo-6.5 \
--infodir=/usr/info --mandir=/usr/man --disable-nls

# Build it
make

# Become root to install it
su

# Remove any existing Slackware packages
test -x /sbin/removepkg && /sbin/removepkg texinfo

# Remove docs from old versions
find /usr/doc -maxdepth 1 -type d -name "texinfo-*" -exec rm -r {} \;

# Install it
make install

# Install TeX files
test -d /usr/share/texmf &&
 make TEXMF=/usr/share/texmf install-tex

# If you don't have a /usr/info/dir file (which is what you get when you
# run 'info'), there's a sample here:
# ./util/dir-example

# Fix up your existing /usr/info/dir file.  After running this, the old copy
# will be /usr/info/dir.old  Try it (run 'info'), if it looks OK, you can
# remove the old one if you like.
test -s /usr/info/dir && contrib/fix-info-dir /usr/info

# When compiling and installing other software, with --prefix=/usr,
# configure will usually default to /usr/share/info for --infodir
# You will either need to remember to add --infodir=/usr/info or you can
# create a symlink from /usr/share/info to /usr/info
test -d /usr/share/info && test ! -L /usr/share/info &&
 ( mv -i /usr/share/info/*.info /usr/info/
   rm -r /usr/share/info )
test ! -L /usr/share/info && ln -s /usr/info /usr/share/info

# If you install something that has info files, make sure it (or you
# manually) runs 'install-info infofile.info'

# Become yourself again
exit

# Save the source for later
cd
mkdir -p -m 0700 installed
rm -f installed/texinfo-*.tar.*
mv texinfo-6.5.tar.xz installed/


# If you ever want to uninstall Texinfo this should do it:
cd
su
test -d src/texinfo-* && ( cd src/texinfo-* ; make uninstall )

/usr/bin/
info
infokey
install-info
makeinfo
pdftexi2dvi
pod2texi
texi2any
texi2dvi
texi2pdf
texindex

test -d /usr/doc/texinfo
find /usr/doc -maxdepth 1 -type d -name "texinfo-*" -exec rm -r {} \;
test -d /usr/lib/texinfo && rm -r /usr/lib/texinfo
test -d /usr/lib64/texinfo && rm -r /usr/lib64/texinfo
( cd /usr/man/man1
  rm -f info.1 install-info.1 makeinfo.1 pdftexi2dvi.1 pod2texi.1 \
   texi2any.1 texi2dvi.1 texi2pdf.1 texindex.1 )
( cd /usr/man/man5 ; rm -f info.5 texinfo.5 )
find /usr/share/locale -type f -name texinfo.mo -exec rm {} \;
test -d /usr/share/texinfo && rm -r /usr/share/texinfo
test -d /usr/share/texmf/tex/texinfo && rm -r /usr/share/texmf/tex/texinfo

# If you also don't need other software .info files any more
test -d /usr/info && rm -r /usr/info

exit
find ~/src -maxdepth 1 -type d -name "texinfo-*" -exec rm -r {} \;
rm -f ~/installed/texinfo-*.tar.*

Back to the list


Last updated: Wed, 29 Apr 2020 22:04:50 -0400
Jason Englander <jason at englanders dot us>