lots: shellcheck, streaming stuff, fixes
[distro-setup] / my-update-info-dir
1 #!/bin/bash
2
3
4 INFODIR=/usr/share/info
5 sudo rm -f "$INFODIR/dir"
6
7 shopt -s nullglob
8
9 for dir in $(emacs --batch --eval '(progn(package-initialize) (dolist (x Info-directory-list) (message x)))' |& sed 's,/$,,' | sort -u); do
10
11 case ${dir%/} in
12 # this is from /usr/sbin/update-info-dir
13 */info)
14
15 find $dir -type f | while read -r file ; do
16 case $file in
17 */dir|*/dir.gz|*/dir.old|*/dir.old.gz|*-[0-9]|*-[0-9].gz|*-[1-9][0-9]|*-[1-9][0-9].gz|*.png|*.jpg)
18 # these files are ignored
19 continue
20 ;;
21 *)
22 echo $file
23 sudo install-info "$file" "$INFODIR/dir"
24 ;;
25 esac
26 done
27 ;;
28 # ignore relative
29 [^/]*) : ;;
30 *)
31 for file in "$dir"/*.info*; do
32 echo $file
33 sudo install-info "$file" "$INFODIR/dir"
34 done
35 ;;
36 esac
37 done