There are two components to the Info system: the info files themselves and a dir
file which acts as the top level index. When Info sees more than one directory in INFOPATH
, it merges all the dir
files that it finds into one index. The corollary however is that the dir
file must exist.
You can create the dir
file by hand if you want: there is information about that in the Texinfo manual, but in most cases, it is built when the info file for the package is installed.
In any case, since these are the standard emacs info files, you can reinstall them using the appropriate make
invocation and get everything. GNU Makefiles make use of the prefix
variable (/usr/local
by default) to construct all the directories for the software installation. So all you have to do is override that destination:
sudo make install-info prefix=/data/data/com.termux/files/usr
That in turn uses the install-info
program appropriately to add the various info files to the dir
file in the info directory corresponding to the prefix ($prefix/share/info
).
In fact, since the info files were already installed in that directory, the OP found it expedient to just run a small script to create the dir
file from the existing info files instead of rerunning the make
:
for file in /data/data/com.termux/files/usr/share/info/*
do
install-info --info-file="$file" --dir-file=/data/data/com.termux/files/usr/share/info/dir
done
dir
file in that directory, you need to create one. See the Directory file dir section in the Texinfo manual.dir
. Seems like I need to useinstall-info
, but I can't find the magic invocation of the correct arguments.sudo make install-info
enough? How aboutsudo make install-info prefix=/data/data/com.termux/files/usr
? How did they end up in that directory in the first place?for file in /data/data/com.termux/files/usr/share/info/* do install-info --info-file="$file" --dir-file=/data/data/com.termux/files/usr/share/info/dir done
. If you make comment an answer, I'll accept it.