# emerge e quei "change use"...

## rb34

Ogni tanto, quando faccio emerge world -upvDN, mi viene fuori qualche messaggio che mi dice che non ci sono gli use flag necessari settati, tipo:

```
# emerge world -upvDN

These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds built with USE flags to satisfy "net-print/cups[gnutls]".

!!! One of the following packages is required to complete your request:

- net-print/cups-1.3.11-r2 (Change USE: +gnutls)

(dependency required by "net-libs/xulrunner-1.9.2.9" [ebuild])

(dependency required by "dev-java/swt-3.5.2" [installed])

(dependency required by "net-p2p/vuze-4.3.1.4-r2" [installed])

(dependency required by "world" [argument])

```

Ma è normale? 

Risolvo aggiungendoli, eppure, visto che non seguo da vicinissimo l'evoluzione di gentoo, c'è qualcosa che non mi suona bene

----------

## riverdragon

Cosa c'è che non suona bene? Qualche pacchetto installato vuole che cups sia compilato con il supporto a gnutls, emerge obbedisce e te lo segnala. L'errore ti segnala anche qual è il pacchetto in questione, xulrunner.

----------

## rb34

già, cos'è che non mi "suona bene"?

Forse è il fatto che in passato, diciamo fino a un anno fa circa, non mi succedevano queste cose?

Ho pensato di avere qualcosa di sbagliato nei profili, ma se mi dite che è normale... beh, vorrà dire che andrò di edit del package.use

----------

## cloc3

anche a me la cosa dà un fastidio enorme.

ma credo che non ci sia molto da fare.

quella flag è imposta da cup, quando è integrato in gnome.

credo che se vuoi farne a meno, tu sia obbligato a rinunciare del tutto a gnome.

----------

## rb34

Secondo me qualcosa da fare ci sarebbe, a livello di sistema.

Da quanto capisco, nel caso specifico, la useflag gnutls è richiesta dal fatto che io ho installato vuze (risalendo le dipendenze). 

Quindi, secondo me, portage dovrebbe avere un sistema secondo cui, se installi un pacchetto A, che dipende da B, vengano impostate su B le useflag necessarie a far funzionare A, e così ricorsivamente. Perché se io ho deciso che voglio A, è chiaro che sarò comunque costretto a soddisfare le sue dipendenze, ma non solo come nome di pacchetto, ma anche come caratteristiche, cioè le sue useflag

----------

## ago

 *rb34 wrote:*   

> secondo me, portage dovrebbe avere un sistema secondo cui, se installi un pacchetto A, che dipende da B, vengano impostate su B le useflag necessarie a far funzionare A, e così ricorsivamente. Perché se io ho deciso che voglio A, è chiaro che sarò comunque costretto a soddisfare le sue dipendenze, ma non solo come nome di pacchetto, ma anche come caratteristiche, cioè le sue useflag

 

E no! 

Il bello sta nel controllare tutto quello che succede e che installi...

----------

## Deus Ex

 *ago wrote:*   

> 
> 
> E no! 
> 
> Il bello sta nel controllare tutto quello che succede e che installi...

 

SuperQuoto!   :Very Happy: 

Scherzi a parte, se no installavo Sabayon o Ubuntu  :Wink: 

Ps: non voglio dare adito a flames, è solo quello che penso - no fanboys allowed  :Wink: 

----------

## devilheart

 *ago wrote:*   

> 
> 
> E no! 
> 
> Il bello sta nel controllare tutto quello che succede e che installi...

 

beh, normalmente si usa un -a o un -p

----------

## X-Act!

Assodato che anch'io sono d'accordo su come funziona questo meccanismo, a me è successa una cosa strana: una volta un pacchetto già installato mi ha segnalato di richiedere un altro pacchetto già installato ma con una nuova use attivata. La cosa curiosa è che per nessuno dei due c'era una nuova versione: era come se fosse stato cambiato qualcosa in un ebuild senza aggiornare il numero di versione.

Appena successo volevo postarlo, ma non ho avuto tempo in quel momento e ora non ho a portata di mano gli appunti che avevo preso...

Vi sembra una cosa normale?

Certo non è stato un grosso problema, ma la curiosità mi è rimasta...

----------

## Deus Ex

 *X-Act! wrote:*   

> Assodato che anch'io sono d'accordo su come funziona questo meccanismo, a me è successa una cosa strana: una volta un pacchetto già installato mi ha segnalato di richiedere un altro pacchetto già installato ma con una nuova use attivata. La cosa curiosa è che per nessuno dei due c'era una nuova versione: era come se fosse stato cambiato qualcosa in un ebuild senza aggiornare il numero di versione.
> 
> Appena successo volevo postarlo, ma non ho avuto tempo in quel momento e ora non ho a portata di mano gli appunti che avevo preso...
> 
> Vi sembra una cosa normale?
> ...

 

Avevi usato per caso lo switch "-N"?

```
man emerge

....snip.....

      --newuse (-N)

              Tells emerge to include installed packages where USE flags have changed since compilation.  USE flag changes include:

              A USE flag was added to a package.  A USE flag was removed from a package.  A USE flag was turned on for a package.  A USE flag was turned off for  a  pack‐

              age.

              USE flags may be toggled by your profile as well as your USE and package.use settings.

```

----------

## cloc3

 *rb34 wrote:*   

> 
> 
> Quindi, secondo me, portage dovrebbe

 

portage fa quello che deve.

cioè obbedire.

la tela di un quadro non può dipingersi da sola.

così portage, per farlo funzionare, bisogna scrivere gli ebuild.

e bisogna tener conto della complessità delle dipendenze incrociate.

e delle scelte degli sviluppatori upstream.

se hai una cosa del genere:

```

s939 ~ # grep cups /usr/portage/net-libs/xulrunner/xulrunner-1.9.2.9-r1.ebuild

IUSE="+alsa +cups debug +ipc libnotify system-sqlite wifi"

   cups? ( net-print/cups[gnutls] )"

   mozconfig_use_enable cups printing

```

che cosa ci vuoi fare?

ecco. c'era da immaginarselo: è proprio un baco provvisorio.

----------

## X-Act!

 *Deus Ex wrote:*   

> Avevi usato per caso lo switch "-N"?

 

No...

Nessuna nuova versione, nessun nuovo pacchetto, nessuna nuova use-flag.

----------

## Onip

a volte capita che un ebuild, soprattutto se ~ venga aggiornato nelle sue dipendenze senza un revbump.

Io non vedo proprio cosa ci sia di strano...

----------

## X-Act!

 *Onip wrote:*   

> a volte capita che un ebuild, soprattutto se ~ venga aggiornato nelle sue dipendenze senza un revbump.
> 
> Io non vedo proprio cosa ci sia di strano...

 

Lo stano era che l'ebuild era stabile, non in ~!

Comunque non mi piace parlare per ricordi: spero di ritrovare al più presto qual'era l'ebuild in questione...

Comunque non era un problema, mi restva sola la curiosità di capire perché fosse necessario cambiare le dipendenze di un ebuild senza "dirlo" cambiando versione. Almeno un (-r)++ me lo sarei aspettato, tutto qui.

EDIT:

rieccomi: oggi è successo di nuovo.

Sistema x86_64 completamente stabile. Oggi il sync e poi:

```
# emerge -uDpv world

These are the packages that would be merged, in order:

Calculating dependencies... done!

emerge: there are no ebuilds built with USE flags to satisfy "media-libs/lcms:0[static-libs]".

!!! One of the following packages is required to complete your request:

- media-libs/lcms-1.19 (Change USE: +static-libs)

(dependency required by "media-gfx/splashutils-1.5.4.3-r3" [installed])

(dependency required by "world" [argument])

```

ma:

```
new-bob xact # eix -e splashutils

[I] media-gfx/splashutils

     Available versions:  1.5.4.3-r3!t {fbcondecor gpm hardened +mng +png +truetype}

     Installed versions:  1.5.4.3-r3!t(18:01:24 30/07/2010)(fbcondecor gpm mng png truetype -hardened)

     Homepage:            http://fbsplash.berlios.de

     Description:         Framebuffer splash utilities.

new-bob xact # eix -e lcms

[U] media-libs/lcms

     Available versions:  

        (0)     1.19

        (2)     2.0a!t

        {jpeg python static-libs tiff zlib}

     Installed versions:  1.19(17:14:33 13/03/2010)(jpeg python tiff zlib)

     Homepage:            http://www.littlecms.com/

     Description:         A lightweight, speed optimized color management engine

```

Oggi splashutils richiede che lcms (slot 0) sia compilato con la flag static-libs, ma splashutils (della stessa identica versione) è già installato dal 30/07 ed evidentemente all'epoca non lo richiedeva!

Quello che farò ora è:

- aggiungere quella flag e continuare la compilazione del mio world

- cercare su bugzilla qualcosa in merito

- aspettare di sapere che ne pensa il forum...

----------

