[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: compilazione deb-src e apt-get update



On Fri, Aug 10, 2001 at 07:31:11PM +0200, Antonio Del Rosso wrote:
> Cmq il prob rimane.
> Forse tornerò ad installare i .deb 

Di solito va benissimo usare i .deb ufficiali precompilati, ma
a volte occorre ricompilarseli (per usare opzioni che
non sono usate nel precompilato .deb)

Altro mezzo che mi viene in mente:
ti fai una dir in cui metti i .deb che ti sei compilato
e li rendi disponibili a apt generando Packages Packages.gz [vedi sotto]
e una riga opportuna (URI di tipo file:) in /etc/apt/sources.list
Non so adesso se la riga "file:....." conviene metterla all'inizio
o alla fine (per cercare di convincere apt a prendere il pacchetto da 
li al posto che da internet). Magari anche un synlink dei pacchetti
in /var/cache/apt/archives (o dove tieni la cache di apt) puo` aiutare
Se hai perso i .deb che ti eri compilato puoi ricostruirli dall'installato
con dpkg-repack
In caso disperato puoi cambiare la versione dei .deb che ti sei compilato
aumentandola "leggermente" [alla disperati apri i deb con ar e poi scompatti
il control.tar.gz, aumenti la versione, riassembli control.tar.gz, riassembli 
con ar il .deb, installi il .deb ottenuto]; non saprei dire pero` quale sia 
l'algoritmo
migliore per ottenere un numero di versione "leggermente" piu` grande
(abbastanza per essere piu` grande del .deb ufficiale esistente ma non
troppo da essere piu` grande anche del probabile prossimo .deb ufficiale)

Questo e` uno scriptino che uso per generare Packages e Packages.gz

#!/bin/sh
{ dpkg-scanpackages . /dev/null > Packages ; \
gzip -c9N Packages > Packages.gz ; } 2>&1 | \
tee -a Packgen.log 2>&1

echo "Assicurarsi che in /etc/apt/sources.list ci sia la seguente riga:"
echo "deb file:$(pwd) ./"
echo "Eventualmente potrebbe servire anche eseguire:"
echo "ln -s \`find $(pwd)/ -name \*.deb\` /var/cache/apt/archives"

cat Packgen.log|grep " is repeat;\|ignored that one and using"|\
sed "s/! Package .* (filename //"|\
sed "s/) is repeat;//"|\
sed "s/   ignored that one and using data from //"|\
sed "s/ !//">> PreMuovi

cat<<EOF>Muovi.forse
#!/bin/sh
for FILE in \$(grep -v \\# PreMuovi|grep -v ./90/) ; do
mv -i \$FILE \${FILE}.OLD
done
EOF



Reply to: