diff options
Diffstat (limited to '')
-rw-r--r-- | source/ap/texinfo/update-info-dir | 82 | ||||
-rw-r--r-- | source/ap/texinfo/update-info-dir.8 | 34 |
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. |