aboutsummaryrefslogtreecommitdiff
path: root/etc/periodic/weekly
diff options
context:
space:
mode:
Diffstat (limited to 'etc/periodic/weekly')
-rwxr-xr-xetc/periodic/weekly/320.whatis19
-rwxr-xr-xetc/periodic/weekly/330.catman31
2 files changed, 47 insertions, 3 deletions
diff --git a/etc/periodic/weekly/320.whatis b/etc/periodic/weekly/320.whatis
index bf159a8b472e..cab4376aa4b4 100755
--- a/etc/periodic/weekly/320.whatis
+++ b/etc/periodic/weekly/320.whatis
@@ -3,7 +3,7 @@
# $FreeBSD$
#
-if [ -x /usr/libexec/makewhatis.local -a -x /usr/bin/manpath ] ; then
+if [ -x /usr/libexec/makewhatis.local -a -x /usr/bin/manpath ]; then
echo ""
echo "Rebuilding whatis database:"
@@ -13,7 +13,24 @@ if [ -x /usr/libexec/makewhatis.local -a -x /usr/bin/manpath ] ; then
if [ "x${MANPATH}" = "x" ]; then
echo "manpath failed to find any manpage directories"
else
+ # If possible, check global system configuration file
+ # for additional man(1) locales installed
+ if [ -r /etc/defaults/rc.conf ]; then
+ . /etc/defaults/rc.conf
+ elif [ -r /etc/rc.conf ]; then
+ . /etc/rc.conf
+ fi
+
+ # Build whatis(1) database(s) for original, non-localized manpages.
/usr/libexec/makewhatis.local "${MANPATH}"
+
+ # Build whatis(1) database(s) for localized manpages.
+ if [ "x${man_locales}" != "x" -a "${man_locales}" != "NO" ]; then
+ for i in ${man_locales}
+ do
+ LC_CTYPE=$i /usr/libexec/makewhatis.local -a -L "${MANPATH}"
+ done
+ fi
fi
fi
fi
diff --git a/etc/periodic/weekly/330.catman b/etc/periodic/weekly/330.catman
index 5a4f490d96c5..bb70e32e37d2 100755
--- a/etc/periodic/weekly/330.catman
+++ b/etc/periodic/weekly/330.catman
@@ -5,9 +5,36 @@
exit 0 # do not run by default
-if [ -x /usr/libexec/catman.local -a -d /usr/share/man/cat1 ] ; then
+if [ -x /usr/libexec/catman.local \
+ -a -d /usr/share/man/cat1 \
+ -a -x /usr/bin/manpath ]; then
echo ""
echo "Reformatting manual pages:"
- echo /usr/libexec/catman.local "${MANPATH}" | su -fm man
+ MANPATH=`/usr/bin/manpath -q`
+ if [ $? = 0 ]; then
+ if [ "x${MANPATH}" = "x" ]; then
+ echo "manpath failed to find any manpath directories"
+ else
+ # If possible, check global system configuration file
+ # for additional man(1) locales installed
+ if [ -r /etc/defaults/rc.conf ]; then
+ . /etc/defaults/rc.conf
+ elif [ -r /etc/rc.conf ]; then
+ . /etc/rc.conf
+ fi
+
+ # Preformat original, non-localized manpages
+ echo /usr/libexec/catman.local "${MANPATH}" | su -fm man
+
+ # Preformat localized manpages.
+ if [ "x${man_locales}" != "x" -a "${man_locales}" != "NO" ]; then
+ for i in ${man_locales}
+ do
+ LC_CTYPE=$i echo /usr/libexec/catman.local -L "${MANPATH}" | \
+ su -fm man
+ done
+ fi
+ fi
+ fi
fi