Repository 32bit  Forum
Repository 64bit  Wiki

Riparare il sistema info

Da Slacky.eu.


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.

Strumenti personali
Namespace

Varianti