mirror of
git://slackware.nl/current.git
synced 2024-12-27 09:59:16 +01:00
83 lines
1.7 KiB
Text
83 lines
1.7 KiB
Text
|
#!/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: #
|