summaryrefslogtreecommitdiffstats
path: root/source/ap/texinfo/update-info-dir
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--source/ap/texinfo/update-info-dir82
-rw-r--r--source/ap/texinfo/update-info-dir.834
2 files changed, 116 insertions, 0 deletions
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.