Il sistema info (il sistema di documentazione ufficiale del sistema GNU, integrato in modo magnifico in GNU Emacs) di default in Slackware è fallato. Benché le pagine info siano accessibili usando il nome del file con estensione info o .info, i vari nodi che compongono il sistema info non sono accessibili perché mancano tutti gli indici.
L'installazione di una pagina info si effettua infatti con il comando
install-info file.info dir
Nella relativa directory di installazione. Il file dir
contiene infatti tutti gli indici. Gli SlackBuild di
default non eseguono questo comando ed eliminano il file
/usr/info/dir per evitare che questo venga sovrascritto.
Probabilmente questo è anche il motivo per cui Pat si rifiuta di riparare il sistema info, poiché complica il processo di installazione (e rimozione) dei pacchetti.
La mia soluzione è la seguente:
Come prima cosa bisogna inizializzare la variabile
INFOPATH, che di default è vuota.
Aggiungiamo questa riga a /etc/profile
export INFOPATH=/usr/info:/usr/local/info
In questo modo il sistema info troverà i file anche presenti nella
directory /usr/local.
Se avete l'abitudine di installare programmi nella vostra
$HOME consiglio di aggiungere questa riga a
$HOME/.bashrc
export INFOPATH=$INFOPATH:~/usr/info
aggiungendo così la directory ~/usr/info all'elenco delle
directory info. Ovviamente ne potete aggiungere quante ne volete,
basta che ogni campo sia separato dai due punti :
Ora dobbiamo solo riparare i file dir
Io propongo di preparare il seguente script:
#!/bin/sh
PATH="/usr/sbin:/usr/local/bin:/usr/bin:/bin"
INFOPATH="/usr/info:/usr/local/info"
which install-info > /dev/null 2> /dev/null || exit 0
for i in $(echo $INFOPATH | sed -e "s/:/ /g"); do
cd $i
rm -f dir
for a in $(find . -type f -print) ; do
install-info $a dir 2> /dev/null
done
done
exit 0
E di eseguirlo con privilegi di root dopo ogni installazione, al boot,
ogni due mesi, o quando volete. Probabilmente è scontato, ma i neofiti
dovrebbero incollare il codice in un documento di testo vuoto,
salvarlo con un nome qualsiasi, (update-info-system
andrà più che bene), renderlo eseguibile con
chmod +x update-info-system
ed eseguirlo con
./update-info-system
A cose fatte (è una procedura molto veloce) vi consiglio di aprire
Emacs, digitare C-h i e di godervi lo spettacolo.