# Aggiornamento libpng

## ago

Salve a tutti.

Solito topic con funzione: prevenire è meglio che curare  :Razz: 

A breve sarà aggiornato libpng da 1.4.x a 1.5.x; onde evitare milioni di segnalazioni scrivo qui la soluzione che è anche postata a metà al termine della compilazione di libpng.

Dopo aver emerso libpng procediamo con:

```
revdep-rebuild

find /usr/lib/ -iname '*.la' -exec sed -i -e 's:png14:png15:' {} +

revdep-rebuild --library libpng14.so.14

rm /usr/lib/libpng14.so.14
```

Gli utenti sono anche invitati ad installare libpng adesso e segnalare eventuali problemi non ancora presenti su bugzilla; la versione è 1.5.5Last edited by ago on Sat Nov 05, 2011 2:43 pm; edited 1 time in total

----------

## djinnZ

Quasi finito (mi resta il dannato libreoffice ma li devo risolvere altri problemi) ed ho risolto ma, dopo aver visto quali dipendenze erano scardinate devo dire che non capisco perchè procedere al contrario rispetto a quanto indicato nelle news e limitare la ricerca a /usr/lib. *# eselect news read 9 wrote:*   

> ...
> 
> # revdep-rebuild --library libpng14.so.14 -- --keep-going
> 
> Note: It might be necessary to run the previous command more than once.
> ...

 Iniziare un revdep-rebuild senza particolari parametri potrebbe inserire nel mezzo dei rebuild di troppo se ci sono anche altri aggiornamenti e lanciarlo con --library dopo aver cercato e ricompilato i pacchetti in base ai .la sarebbe o superfluo o controproducente.

In ogni caso il comando completo, da lanciare anche direttamente se il revdep-rebuild --library ... si interrompe per la prima volta, è 

```
find /opt /usr -path /usr/portage -prune -o -type f -a \( -name "*.la" -o -name "*.pc" -o -name "*-config" -o -name "*.pm" \) -exec grep -H png14 {} \; | cut -d : -f 1 | xargs -r qfile -CSq | uniq | xargs -r emerge -1pv
```

 se qualcuno è nelle condizioni di provarlo (nel mio sistema dopo il revdep-rebuild non c'era altro da fare) lo faccia (non mi assumo responsabilità e non è detto che non ci abbia infilato un errore apposta) ed ovviamente non è farina del mio sacco, mi sono solo limitato a correggere un paio di sviste.

----------

## ago

A me personalmente, prima di stabilizzare è stato detto di provare in quel modo. Su varie( circa 8 ) sistemi non ha dato problemi =)

----------

## djinnZ

mah, ignorare /usr/share/lib e /usr/lib32 /usr/lib64 non mi pare una bella idea.

O forse ti avranno voluto usare come cavia ...  :Twisted Evil: 

Quello che seriamente non capisco è perchè dovrei eliminare /usr/lib64/libpng14.so.14 manualmente. Con tutta la buona volontà di quansto mondo non ci arrivo.

----------

## ago

 *djinnZ wrote:*   

> mah, ignorare /usr/share/lib e /usr/lib32 /usr/lib64 non mi pare una bella idea.
> 
> O forse ti avranno voluto usare come cavia ...  

 

In tutti i miei sistemi /usr/share/lib non esiste. 

Su x86 siamo apposto in quanto esiste solo /usr/lib.

Su amd64 /usr/lib punta a /usr/lib64, quindi va bene, ma manca, come giustamente hai fatto notare, /usr/lib32.

Ma per quello che so in /usr/lib32 non ci stanno ".la" files quindi il problema non si pone.

```
amd64box ~ # find /usr/lib32/ -iname '*.la' 

amd64box ~ # 
```

 *djinnZ wrote:*   

> Quello che seriamente non capisco è perchè dovrei eliminare /usr/lib64/libpng14.so.14 manualmente. Con tutta la buona volontà di quansto mondo non ci arrivo.

 

Prova a cancellarlo, poi fai un emerge -1 di libpng e capirai =)

----------

## djinnZ

Evitando il crossposting ...   :Embarassed:   :Rolling Eyes:     ... mi hanno risposto sul forum internazionale ed ho capito che dipende da un limite difficilmente aggirabile delle eclass.

In effetti non vedo modo di evitare che si ripetano disastri come ai tempi dell'upgrade  gettext/textinfo che bloccava il sistema senzxa dover pagare lo scotto a simili piccole seccature.

Ma ripeto che è meglio  usare il comando suggerito nel thread di supporto a questo upgrade. Attenzione che ho incluso /opt visto che faccio uso di binari  extra-gentoo, non rallenta troppo, ma è meglio dirlo.

----------

## Ic3M4n

 *genlop libpng wrote:*   

> 
> 
>      Sun Sep 18 19:30:11 2011 >>> media-libs/libpng-1.5.4
> 
> 

 

al momento mi erano usciti un migliaio di file su cui fare il revdep-rebuild, da circa una settimana non ne ho più e mi sono limitato ad aggiornare quando potevo il sistema, ed occasionalmente lanciare un emerge @preserved-rebuild. il sistema di gestione delle librerie in portage 2.2 onestamente mi piace un sacco perchè evita di avere il sistema inusabile dopo aggiornamenti tipo questo, ricordo tutti i macelli successi con expat per dirne uno.

----------

## ago

Aggiornamento concluso. Rimuovo il topic come annuncio

----------

