+#!/bin/bash
+
+
+INFODIR=/usr/share/info
+sudo rm -f "$INFODIR/dir"
+
+for dir in $(emacs --batch --eval '(progn(package-initialize) (dolist (x Info-directory-list) (message x)))' |& sort -u); do
+
+ case ${dir%/} in
+ # this is from /usr/sbin/update-info-dir
+ */info)
+
+ echo $dir
+ find $dir -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
+ ;;
+ *)
+ echo $file
+ sudo install-info "$file" "$INFODIR/dir"
+ ;;
+ esac
+ done
+ ;;
+ # ignore relative
+ [^/]*) : ;;
+ *)
+ for file in $dir/*.info*; do
+ #echo $file
+ sudo install-info "$file" "$INFODIR/dir"
+ done
+ ;;
+ esac
+done