#!/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