summaryrefslogtreecommitdiffstats
path: root/source/ap/texinfo
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2019-09-24 21:18:36 +0000
committer Eric Hameleers <alien@slackware.com>2019-09-25 08:59:48 +0200
commite95bfb887895c342fc1d8053d8cacda80cc36af4 (patch)
tree03664c1696add8f6a4ef277e789177c7bc41efa6 /source/ap/texinfo
parente9f66c56358ba27b346633a9741fad3cfbe483ac (diff)
downloadcurrent-e95bfb887895c342fc1d8053d8cacda80cc36af4.tar.gz
current-e95bfb887895c342fc1d8053d8cacda80cc36af4.tar.xz
Tue Sep 24 21:18:36 UTC 201920190924211836
a/e2fsprogs-1.45.4-x86_64-1.txz: Upgraded. ap/cups-filters-1.25.6-x86_64-1.txz: Upgraded. ap/texinfo-6.7-x86_64-1.txz: Upgraded. l/gst-plugins-base-1.16.1-x86_64-1.txz: Upgraded. l/gst-plugins-good-1.16.1-x86_64-1.txz: Upgraded. l/gst-plugins-libav-1.16.1-x86_64-1.txz: Upgraded. l/gstreamer-1.16.1-x86_64-1.txz: Upgraded. n/ethtool-5.3-x86_64-1.txz: Upgraded. n/php-7.3.10-x86_64-1.txz: Upgraded. This update fixes bugs and a security issue: MBString: Fixed bug #78559 (Heap buffer overflow in mb_eregi). (cmb) For more information, see: https://php.net/ChangeLog-7.php#7.3.10 (* Security fix *) x/libXvMC-1.0.12-x86_64-1.txz: Upgraded. x/libmypaint-1.4.0-x86_64-1.txz: Upgraded. Shared library .so-version bump. xap/gimp-2.10.12-x86_64-2.txz: Rebuilt. Recompiled against libmypaint-1.4.0. extra/pure-alsa-system/gst-plugins-good-1.16.1-x86_64-1_alsa.txz: Upgraded.
Diffstat (limited to 'source/ap/texinfo')
-rw-r--r--source/ap/texinfo/dir314
-rw-r--r--source/ap/texinfo/doinst.sh10
-rwxr-xr-xsource/ap/texinfo/texinfo.SlackBuild28
-rw-r--r--source/ap/texinfo/update-info-dir82
-rw-r--r--source/ap/texinfo/update-info-dir.834
5 files changed, 145 insertions, 323 deletions
diff --git a/source/ap/texinfo/dir b/source/ap/texinfo/dir
deleted file mode 100644
index 122b25fd4..000000000
--- a/source/ap/texinfo/dir
+++ /dev/null
@@ -1,314 +0,0 @@
-This is the file .../info/dir, which contains the
-topmost node of the Info hierarchy, called (dir)Top.
-The first time you invoke Info you start off looking at this node.
-
-File: dir, Node: Top This is the top of the INFO tree
-
- This (the Directory node) gives a menu of major topics.
- Typing "q" exits, "?" lists all Info commands, "d" returns here,
- "h" gives a primer for first-timers,
- "mEmacs<Return>" visits the Emacs manual, etc.
-
- In Emacs, you can click mouse button 2 on a menu item or cross reference
- to select it.
-
-* Menu:
-
-GNU packages
-* Diff: (diff). Comparing and merging files.
-
-Printing Tools
-* PreScript: (a2ps) PreScript. Input language for a2ps
-* a2ps: (a2ps). PostScript Generating Utility
-* card: (a2ps) card. Print Reference Cards
-* fixnt: (a2ps) fixnt. Fixing Microsoft NT PostScript Files
-* fixps: (a2ps) fixps. Fixing Some Ill Designed PostScript Files
-* ogonkify: (ogonkify). Ogonkify
-* pdiff: (a2ps) pdiff. Produce Pretty Comparison of Files
-* psmandup: (a2ps) psmandup. Printing Duplex on Simplex Printers
-* psset: (a2ps) psset. Inserting calls to setpagedevice
-
-Libraries
-* AA-lib: (aalib). An ASCII-art graphics library
-* History: (history). The GNU history library API
-* RLuserman: (rluserman). The GNU readline library User's Manual.
-* Readline: (readline). The GNU readline library API
-
-Emacs
-* Ada mode: (ada-mode). The GNU Emacs mode for editing Ada.
-* Autotype: (autotype). Convenient features for text that you enter frequently
- in Emacs.
-* CC Mode: (ccmode). Emacs mode for editing C, C++, Objective-C,
- Java, Pike, and IDL code.
-* CL: (cl). Partial Common Lisp support for Emacs Lisp.
-* Dired-X: (dired-x). Dired Extra Features.
-* EUDC: (eudc). A client for directory servers (LDAP, PH)
-* Ebrowse: (ebrowse). A C++ class browser for Emacs.
-* Ediff: (ediff). A visual interface for comparing and merging programs.
-* Emacs: (emacs). The extensible self-documenting text editor.
-* Emacs FAQ: (efaq). Frequently Asked Questions about Emacs.
-* Emacs MIME: (emacs-mime). The MIME de/composition library.
-* Eshell: (eshell). A command shell implemented in Emacs Lisp.
-* Forms: (forms). Emacs package for editing data bases
- by filling in forms.
-* Gnus: (gnus). The newsreader Gnus.
-* IDLWAVE: (idlwave). Major mode and shell for IDL and WAVE/CL files.
-* MH-E: (mh-e). Emacs interface to the MH mail system.
-* Message: (message). Mail and news composition mode that goes with Gnus.
-* PCL-CVS: (pcl-cvs). Emacs front-end to CVS.
-* RefTeX: (reftex). Emacs support for LaTeX cross-references and citations.
-* SC: (sc). Supercite lets you cite parts of messages you're
- replying to, in flexible ways.
-* Speedbar: (speedbar). File/Tag summarizing utility.
-* VIP: (vip). An older VI-emulation for Emacs.
-* VIPER: (viper). The newest Emacs VI-emulation mode.
- (also, A VI Plan for Emacs Rescue
- or the VI PERil.)
-* Widget: (widget). Documenting the "widget" package used by the
- Emacs Custom facility.
-* WoMan: (woman). Browse UN*X Manual Pages `Wo (without) Man'.
-
-Miscellaneous
-* As: (as). The GNU assembler.
-* Bfd: (bfd). The Binary File Descriptor library.
-* Binutils: (binutils). The GNU binary utilities.
-* CVS: (cvs). Concurrent Versions System
-* Fdutils: (fdutils). Fdutils: Linux' floppy utilities
-* File utilities: (fileutils). GNU file utilities.
-* Finding Files: (find). Listing and operating on files
- that match certain criteria.
-* Flex: (flex). A fast scanner generator.
-* Gpm: (gpm). A server wich hands mouse events to non-X programs.
-* Ld: (ld). The GNU linker.
-* Mtools: (mtools). Mtools: utilities to access DOS disks in Unix.
-* Shar utilities: (sharutils). GNU shar utilities.
-* Shell utilities: (sh-utils). GNU shell utilities.
-* Standards: (standards). GNU coding standards.
-* Text utilities: (textutils). GNU text utilities.
-* UUCP: (uucp). Transfer mail and news across phone lines.
-* addr2line: (binutils)addr2line. Convert addresses to file and line
-* ar: (binutils)ar. Create, modify, and extract from archives
-* basename: (sh-utils)basename invocation. Strip directory and suffix.
-* bison: (bison). GNU Project parser generator (yacc replacement).
-* c++filt: (binutils)c++filt. Filter to demangle encoded C++ symbols
-* cat: (textutils)cat invocation. Concatenate and write files.
-* chgrp: (fileutils)chgrp invocation. Change file groups.
-* chmod: (fileutils)chmod invocation. Change file permissions.
-* chown: (fileutils)chown invocation. Change file owners/groups.
-* chroot: (sh-utils)chroot invocation. Specify the root directory.
-* cksum: (textutils)cksum invocation. Print POSIX CRC checksum.
-* comm: (textutils)comm invocation. Compare sorted files by line.
-* cp: (fileutils)cp invocation. Copy files.
-* cpio: (cpio). Making tape (or disk) archives.
-* csplit: (textutils)csplit invocation. Split by context.
-* cut: (textutils)cut invocation. Print selected parts of lines.
-* cxxfilt: (binutils)c++filt. MS-DOS name for c++filt
-* date: (sh-utils)date invocation. Print/set system date and time.
-* dc: (dc). Arbritrary precision RPN "Desktop Calculator".
-* dd: (fileutils)dd invocation. Copy and convert a file.
-* df: (fileutils)df invocation. Report filesystem disk usage.
-* dir: (fileutils)dir invocation. List directories briefly.
-* dircolors: (fileutils)dircolors invocation. Color setup for ls.
-* dirname: (sh-utils)dirname invocation. Strip non-directory suffix.
-* dlltool: (binutils)dlltool. Create files needed to build and use DLLs
-* du: (fileutils)du invocation. Report on disk usage.
-* echo: (sh-utils)echo invocation. Print a line of text.
-* env: (sh-utils)env invocation. Modify the environment.
-* expand: (textutils)expand invocation. Convert tabs to spaces.
-* expr: (sh-utils)expr invocation. Evaluate expressions.
-* factor: (sh-utils)factor invocation. Print prime factors
-* false: (sh-utils)false invocation. Do nothing, unsuccessfully.
-* fmt: (textutils)fmt invocation. Reformat paragraph text.
-* fold: (textutils)fold invocation. Wrap long input lines.
-* gasp: (gasp). The GNU Assembler Preprocessor
-* gprof: (gprof). Profiling your program's execution
-* grep: (grep). print lines matching a pattern.
-* groups: (sh-utils)groups invocation. Print group names a user is in.
-* head: (textutils)head invocation. Output the first part of files.
-* hostname: (sh-utils)hostname invocation. Print or set system name.
-* id: (sh-utils)id invocation. Print real/effective uid/gid.
-* install: (fileutils)install invocation. Copy and change attributes.
-* ipc: (ipc). System V style inter process communication
-* join: (textutils)join invocation. Join lines on a common field.
-* ln: (fileutils)ln invocation. Make links between files.
-* logname: (sh-utils)logname invocation. Print current login name.
-* ls: (fileutils)ls invocation. List directory contents.
-* m4: (m4). A powerful macro processor.
-* mail-files: (sharutils)mail-files invocation. Send files to remote site.
-* mailshar: (sharutils)mailshar invocation. Make and send a shell archive.
-* md5sum: (textutils)md5sum invocation. Print or check message-digests.
-* mkdir: (fileutils)mkdir invocation. Create directories.
-* mkfifo: (fileutils)mkfifo invocation. Create FIFOs (named pipes).
-* mknod: (fileutils)mknod invocation. Create special files.
-* mv: (fileutils)mv invocation. Rename files.
-* mysql: (mysql). MySQL documentation.
-* nice: (sh-utils)nice invocation. Modify scheduling priority.
-* nl: (textutils)nl invocation. Number lines and write files.
-* nlmconv: (binutils)nlmconv. Converts object code into an NLM
-* nm: (binutils)nm. List symbols from object files
-* nohup: (sh-utils)nohup invocation. Immunize to hangups.
-* objcopy: (binutils)objcopy. Copy and translate object files
-* objdump: (binutils)objdump. Display information from object files
-* od: (textutils)od invocation. Dump files in octal, etc.
-* paste: (textutils)paste invocation. Merge lines of files.
-* pathchk: (sh-utils)pathchk invocation. Check file name portability.
-* pr: (textutils)pr invocation. Paginate or columnate files.
-* printenv: (sh-utils)printenv invocation. Print environment variables.
-* printf: (sh-utils)printf invocation. Format and print data.
-* ptx: (textutils)ptx invocation. Produce permuted indexes.
-* pwd: (sh-utils)pwd invocation. Print working directory.
-* ranlib: (binutils)ranlib. Generate index to archive contents
-* readelf: (binutils)readelf. Display the contents of ELF format files.
-* remsync: (sharutils)remsync invocation. Synchronize remote files.
-* rm: (fileutils)rm invocation. Remove files.
-* rmdir: (fileutils)rmdir invocation. Remove empty directories.
-* sed: (sed). Stream EDitor.
-* seq: (sh-utils)seq invocation. Print numeric sequences
-* shar: (sharutils)shar invocation. Make a shell archive.
-* shred: (fileutils)shred invocation. Remove files more securely.
-* size: (binutils)size. List section sizes and total size
-* sleep: (sh-utils)sleep invocation. Delay for a specified time.
-* sort: (textutils)sort invocation. Sort text files.
-* split: (textutils)split invocation. Split into fixed-size pieces.
-* strings: (binutils)strings. List printable strings from files
-* strip: (binutils)strip. Discard symbols
-* stty: (sh-utils)stty invocation. Print/change terminal settings.
-* su: (sh-utils)su invocation. Modify user and group id.
-* sum: (textutils)sum invocation. Print traditional checksum.
-* sync: (fileutils)sync invocation. Synchronize memory and disk.
-* tac: (textutils)tac invocation. Reverse files.
-* tail: (textutils)tail invocation. Output the last part of files.
-* tee: (sh-utils)tee invocation. Redirect to multiple files.
-* test: (sh-utils)test invocation. File/string tests.
-* touch: (fileutils)touch invocation. Change file timestamps.
-* tr: (textutils)tr invocation. Translate characters.
-* true: (sh-utils)true invocation. Do nothing, successfully.
-* tsort: (textutils)tsort invocation. Topological sort.
-* tty: (sh-utils)tty invocation. Print terminal name.
-* uname: (sh-utils)uname invocation. Print system information.
-* unexpand: (textutils)unexpand invocation. Convert spaces to tabs.
-* uniq: (textutils)uniq invocation. Uniquify files.
-* unshar: (sharutils)unshar invocation. Explode a shell archive.
-* users: (sh-utils)users invocation. Print current user names.
-* uudecode: (sharutils)uudecode invocation. Restore file from 7-bits.
-* uuencode: (sharutils)uuencode invocation. Force binary file to 7-bits.
-* vdir: (fileutils)vdir invocation. List directories verbosely.
-* wc: (textutils)wc invocation. Byte, word, and line counts.
-* who: (sh-utils)who invocation. Print who is logged in.
-* whoami: (sh-utils)whoami invocation. Print effective user id.
-* windres: (binutils)windres. Manipulate Windows resources
-* yes: (sh-utils)yes invocation. Print a string indefinitely.
-
-GNU admin
-* Autoconf: (autoconf). Create source code configuration scripts
-
-Individual utilities
-* aclocal: (automake)Invoking aclocal. Generating aclocal.m4.
-* autoconf: (autoconf)autoconf Invocation.
- How to create configuration scripts
-* autoconf-invocation: (autoconf)autoconf Invocation.
- How to create configuration
- scripts
-* autoheader: (autoconf)autoheader Invocation. How to create configuration
- templates
-* autom4te: (autoconf)autom4te Invocation. The Autoconf executables
- backbone
-* automake: (automake)Invoking Automake. Generating Makefile.in.
-* autoreconf: (autoconf)autoreconf Invocation. Remaking multiple `configure'
- scripts
-* autoscan: (autoconf)autoscan Invocation. Semi-automatic `configure.ac'
- writing
-* autoupdate: (autoconf)autoupdate Invocation. Automatic update of
- `configure.ac'
-* awk: (gawk)Invoking gawk. Text scanning and processing.
-* cmp: (diff)Invoking cmp. Compare 2 files byte by byte.
-* config.status: (autoconf)config.status Invocation.
- Recreating configurations.
-* configure: (autoconf)configure Invocation. Configuring a package.
-* diff: (diff)Invoking diff. Compare 2 files line by line.
-* diff3: (diff)Invoking diff3. Compare 3 files line by line.
-* ifnames: (autoconf)ifnames Invocation. Listing conditionals in source.
-* libtoolize: (libtool)Invoking libtoolize. Adding libtool support.
-* patch: (diff)Invoking patch. Apply a patch to a file.
-* sdiff: (diff)Invoking sdiff. Merge 2 files side-by-side.
-* tar: (tar)tar invocation. Invoking GNU `tar'
-* testsuite: (autoconf)testsuite Invocation. Running an Autotest test suite.
-
-GNU programming tools
-* Libtool: (libtool). Generic shared library support script.
-This is libtool.info, produced by makeinfo version 4.11 from libtool.texi.
-* automake: (automake). Making Makefile.in's
-
-Software development
-* Autoconf: (autoconf). Create source code configuration scripts.
-* Automake: (automake). Making GNU standards-compliant Makefiles.
-
-Utilities
-* Bash: (bash). The GNU Bourne-Again SHell.
-* Enscript: (enscript). GNU Enscript
-* Gzip: (gzip). The gzip command for compressing files.
-* ZSH: (zsh). The Z Shell Manual.
-
-Programming
-* Cpp: (cpp). The GNU C preprocessor.
-* cvsclient: (cvsclient). The CVS client/server protocol.
-* g77: (g77). The GNU Fortran compiler.
-* gcc: (gcc). The GNU Compiler Collection.
-
-GNU Packages
-* Gawk: (gawk). A text scanning and processing language.
-* Gawkinet: (gawkinet). TCP/IP Internetworking With `gawk'.
-* Make: (make). Remake files automatically.
-* Tar: (tar). Making tape (or disk) archives.
-
-Programming & development tools.
-* Gdb: (gdb). The GNU debugger.
-* Gdb-Internals: (gdbint). The GNU debugger's internals.
-
-User Interface Toolkit
-* GDK: (gdk). The General Drawing Kit
-* GTK: (gtk). The GIMP Toolkit
-
-GNU Gettext Utilities
-* Gettext: (gettext). GNU gettext utilities.
-* gettextize: (gettext)gettextize Invocation. Prepare a package for gettext.
-* msgfmt: (gettext)msgfmt Invocation. Make MO files out of PO files.
-* msgmerge: (gettext)msgmerge Invocation. Update two PO files into one.
-* xgettext: (gettext)xgettext Invocation. Extract strings into a PO file.
-
-Library of useful routines for 'C' programing
-* GLIB: (glib). useful routines for 'C' programming
-
-GNU libraries
-* Libc: (libc). C library.
-* gmp: (gmp). GNU Multiple Precision Arithmetic Library.
-
-Indent Code Formatter
-* Indent: (indent). C code formatter.
-
-Texinfo documentation system
-* Info: (info). Documentation browsing system.
-* Standalone info program: (info-stnd). Standalone Info-reading program.
-* Texinfo: (texinfo). The GNU documentation format.
-* install-info: (texinfo)Invoking install-info. Update info/dir entries.
-* makeinfo: (texinfo)makeinfo Preferred. Translate Texinfo source.
-* texi2dvi: (texinfo)Format with texi2dvi. Print Texinfo documents.
-* texindex: (texinfo)Format with tex/texindex. Sort Texinfo index files.
-
-Development
-* libext2fs: (libext2fs.info). The EXT2FS library.
-
-C library code
-* Regex: (regex). Regular expression library.
-
-General Commands
-* Screen: (screen). Full-screen window manager.
-
-Net Utilities
-* Wget: (wget). The non-interactive network downloader.
-
-World Wide Web
-* Wget: (wget). The non-interactive network downloader.
-
-Games
-* xboard: (xboard). An X Window System graphical chessboard.
diff --git a/source/ap/texinfo/doinst.sh b/source/ap/texinfo/doinst.sh
index ab42f74f4..729cdcc09 100644
--- a/source/ap/texinfo/doinst.sh
+++ b/source/ap/texinfo/doinst.sh
@@ -1,5 +1,6 @@
# If no dir file exists, we'll assume it's a fresh installation and create one
-# Otherwise, we'll throw out the new copy to preserve what's already installed
+# Otherwise, we'll throw out the new copy to preserve what's already installed.
+# To update your own /usr/info/dir, see: man update-info-dir
if [ -e usr/info/dir ]; then
# If there is no topmost node, this dir file is broken, so replace it:
if ! grep -q "Node: Top" usr/info/dir ; then
@@ -8,4 +9,9 @@ if [ -e usr/info/dir ]; then
else
mv usr/info/dir.new usr/info/dir
fi
-
+# If these are the same, then remove usr/info/dir.new:
+if [ -r usr/info/dir -a -r usr/info/dir.new ]; then
+ if diff usr/info/dir usr/info/dir.new 1> /dev/null 2> /dev/null ; then
+ rm usr/info/dir.new
+ fi
+fi
diff --git a/source/ap/texinfo/texinfo.SlackBuild b/source/ap/texinfo/texinfo.SlackBuild
index d7cc724c8..ed6325480 100755
--- a/source/ap/texinfo/texinfo.SlackBuild
+++ b/source/ap/texinfo/texinfo.SlackBuild
@@ -1,6 +1,6 @@
#!/bin/bash
-# Copyright 2008, 2009, 2010, 2016, 2018 Patrick J. Volkerding, Sebeka, Minnesota, USA
+# Copyright 2008, 2009, 2010, 2016, 2018, 2019 Patrick J. Volkerding, Sebeka, Minnesota, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -24,7 +24,7 @@ cd $(dirname $0) ; CWD=$(pwd)
PKGNAM=texinfo
VERSION=${VERSION:-$(echo $PKGNAM-*.tar.xz | rev | cut -f 3- -d . | cut -f 1 -d - | rev)}
-BUILD=${BUILD:-2}
+BUILD=${BUILD:-1}
# Automatically determine the architecture we're building on:
if [ -z "$ARCH" ]; then
@@ -94,7 +94,6 @@ CFLAGS="$SLKCFLAGS" \
--libdir=/usr/lib${LIBDIRSUFFIX} \
--mandir=/usr/man \
--infodir=/usr/info \
- --disable-static \
--docdir=/usr/doc/texinfo-$VERSION \
--disable-perl-xs \
--build=$ARCH-slackware-linux || exit 1
@@ -102,13 +101,28 @@ CFLAGS="$SLKCFLAGS" \
make $NUMJOBS || make || exit 1
make install DESTDIR=$PKG || exit 1
-# Be sure this is "fresh"
-zcat $CWD/dir.gz > $PKG/usr/info/dir
-mv $PKG/usr/info/dir $PKG/usr/info/dir.new
-
gzip -9 $PKG/usr/info/*info*
gzip -9 $PKG/usr/man/man?/*
+# Add update-info-dir script and manpage originally from Debian:
+mkdir -p $PKG/usr/sbin
+cp -a $CWD/update-info-dir.gz $PKG/usr/sbin
+gzip -d $PKG/usr/sbin/update-info-dir.gz
+chown root:root $PKG/usr/sbin/update-info-dir
+chmod 755 $PKG/usr/sbin/update-info-dir
+mkdir -p $PKG/usr/man/man8
+cp -a $CWD/update-info-dir.8.gz $PKG/usr/man/man8
+chown root:root $PKG/usr/man/man8/update-info-dir.8.gz
+chmod 644 $PKG/usr/man/man8/update-info-dir.8.gz
+
+# Eliminate stale /usr/info/dir:
+rm -f $PKG/usr/info/dir
+
+# Run update-info-dir to get a current /usr/info/dir, then install it into the
+# package as .new:
+sh $PKG/usr/sbin/update-info-dir
+cp -a /usr/info/dir $PKG/usr/info/dir.new
+
mkdir -p $PKG/usr/doc/texinfo-$VERSION
cp -a \
ABOUT-NLS AUTHORS COPYING* INSTALL INTRODUCTION NEWS README* TODO \
diff --git a/source/ap/texinfo/update-info-dir b/source/ap/texinfo/update-info-dir
new file mode 100644
index 000000000..ea67bb107
--- /dev/null
+++ b/source/ap/texinfo/update-info-dir
@@ -0,0 +1,82 @@
+#!/bin/sh
+# update-info-dir
+# create a dir file from all installed info files
+# Copyright 2009, 2014 Norbert Preining
+# GPLv2
+
+INFODIR=/usr/info
+
+set -e
+
+#
+# since user's environment is taken over into root account when sudo-ing
+# we don't want that one's user LANGUAGE setting changes the messages in
+# the dir file. Unset LANGUAGE and reload /etc/environment to get
+# the system wide settings. See bug #536476
+unset LANGUAGE
+unset LANG
+if [ -r /etc/environment ] ; then
+ . /etc/environment
+fi
+if [ -r /etc/default/locale ] ; then
+ . /etc/default/locale
+fi
+
+Help ()
+{
+ echo "\
+SYNOPSIS: update-info-dir [-h,--help] [info-directory]
+
+(re-)creates the index of available documentation in info format
+(the file $(echo $INFODIR)/dir) which is usually presented by info browsers
+on startup."
+
+ exit 0
+}
+
+
+if [ "$1" = "-h" ] || [ "$1" = "--help" ]; then
+ Help
+fi
+
+if [ -n "$1" ] ; then
+ INFODIR="$1"
+fi
+
+if [ ! -d "$INFODIR" ] ; then
+ echo "Not a directory: $INFODIR." >&2
+ exit 1
+fi
+
+if [ -r "$INFODIR/dir" ] ; then
+ rm -f "$INFODIR/dir.old"
+ cp $INFODIR/dir $INFODIR/dir.old
+fi
+
+# we have to remove the dir file not make install-info being surprised
+rm -f "$INFODIR/dir"
+
+errors=0
+find "$INFODIR" -type f | while read file ; do
+ case $file in
+ */dir|*/dir.gz|*/dir.old|*/dir.old.gz|*-[0-9]|*-[0-9].gz|*-[1-9][0-9]|*-[1-9][0-9].gz|*.png|*.jpg)
+ # these files are ignored
+ continue
+ ;;
+ *)
+ install-info "$file" "$INFODIR/dir" || {
+ errors=$((errors+1))
+ }
+ ;;
+ esac
+done
+
+if [ $errors -gt 0 ] ; then
+ exec >&2
+ echo
+ echo "Updating the index of info documentation produced $errors errors."
+fi
+
+exit 0
+
+# vim:set expandtab tabstop=2: #
diff --git a/source/ap/texinfo/update-info-dir.8 b/source/ap/texinfo/update-info-dir.8
new file mode 100644
index 000000000..e14787dbd
--- /dev/null
+++ b/source/ap/texinfo/update-info-dir.8
@@ -0,0 +1,34 @@
+.TH UPDATE-INFO-DIR 8
+.\" NAME should be all caps, SECTION should be 1-8, maybe w/ subsection
+.\" other parms are allowed: see man(7), man(1)
+.SH NAME
+update-info-dir \- update or create index file
+from all installed info files in directory
+.SH SYNOPSIS
+.B update-info-dir
+.I "[options]"
+.B [directory]
+.br
+.SH DESCRIPTION
+Update, or create, the index file
+.I dir
+of available documentation in
+/usr/info/ (the default) or in given DIRECTORY. The
+index file
+.I info
+is the directory is usually presented by info browsers on startup.
+.SH OPTIONS
+.TP
+.B \-h,--help
+Display help and exit.
+.PP
+.SH SEE ALSO
+emacs(1)
+info(1)
+install-info(1)
+.SH AUTHOR
+This manual page was written by Norbert Preining <preining@logic.at>,
+for the Debian GNU/Linux system (but may be used by others).
+
+This manual page was written for the Debian GNU/Linux distribution
+because the original script was designed for Debian packaging system.