# emerge -u world e slot [Risolto]

## rb34

Mi ha un po' stupito fare emerge -u world e vedere che non c'era nulla da aggiornare, mentre emerge -uD world  mi ha dato, tra gli altri, apache-1* da aggiornare. 

Ho installati sia apache1 che apache2, e secondo me il comportamento corretto in fase di upgrade "semplice" sarebbe segnalare l'aggiornamento anche per lo slot "basso", o no?

----------

## riverdragon

L'aggiornamento semplice controlla solo la presenza di nuove versioni per i pacchetti inseriti nel file world, mentre l'altro controlla anche le dipendenze. Probabilmente apache-1* è una dipendenza di un pacchetto che hai in world.

----------

## Kernel78

Posta l'output di emerge -upt world e emerge -uDpt world

----------

## rb34

 *Kernel78 wrote:*   

> Posta l'output di emerge -upt world e emerge -uDpt world

 

Riguardo la questione dipendenze, equery depends apache dà 

```
www-apps/viewcvs-1.0_pre20050929

www-apps/viewcvs-0.9.3

net-www/awstats-6.5-r1

net-www/awstats-6.5
```

emerge -upt world non dà nessun pacchetto da aggiornare.

emerge -upDt world dà

```
[nomerge      ] app-cdr/k3b-0.12.17  LINGUAS="-fi% -zh_TW%"

[ebuild     U ]  media-libs/libsamplerate-0.1.2 [0.1.1-r1] USE="-fftw%"

[ebuild     U ]  media-video/transcode-1.0.2-r3 [1.0.2-r2]

[ebuild     U ]   media-libs/libmpeg3-1.5.2-r3 [1.5.2] USE="mmx%*"

[nomerge      ] media-sound/kstreamripper-0.2

[ebuild     U ]  media-sound/streamripper-1.61.26 [1.60.10] USE="vorbis%*"

[nomerge      ] kde-base/kdemultimedia-kioslaves-3.5.5

[ebuild     U ]  media-sound/cdparanoia-3.9.8-r5 [3.9.8-r2]

[nomerge      ] x11-plugins/gkrellm-sensors-0.1

[ebuild  NS   ]  app-admin/gkrellm-1.2.13  USE="nls"

[nomerge      ] app-admin/webalizer-2.01.10-r12

[ebuild     U ]  sys-libs/db-4.2.52_p4-r2 [4.2.52_p2-r1] USE="-tcl% -test%"

[nomerge      ] net-p2p/azureus-bin-2.3.0.6

[ebuild     U ]  net-libs/linc-1.0.3-r1 [1.0.3]

[nomerge      ] app-office/lyx-1.4.1-r1  USE="-qt3%"

[ebuild  N    ]  x11-libs/xforms-1.0.90-r1  USE="opengl"

[nomerge      ]  app-text/sgmltools-lite-3.0.3-r10

[ebuild     U ]   app-text/docbook-sgml-dtd-3.1-r3 [3.1-r2]

[nomerge      ]   www-client/w3m-0.5.1-r4

[ebuild     U ]    dev-libs/boehm-gc-6.7 [6.3-r1] USE="-nocxx% -threads%"

[nomerge      ] x11-libs/gtksourceview-1.8.1

[nomerge      ]  gnome-base/libgnomeprint-2.12.1

[ebuild     U ]   net-print/libgnomecups-0.2.2 [0.2.0]

[nomerge      ] mail-client/mailx-8.1.2.20040524-r1

[ebuild     U ]  net-libs/liblockfile-1.06-r1 [1.03-r1]

[ebuild     U ] net-misc/x11-ssh-askpass-1.2.4.1-r1 [1.2.2-r1]

[ebuild  N    ]  app-text/rman-3.2

[nomerge      ] kde-base/kdepim-kresources-3.5.5

[ebuild     U ]  dev-libs/libical-0.26.6 [0.24_rc4-r1]

[nomerge      ] mail-filter/spamassassin-3.1.3

[ebuild     U ]  dev-perl/libwww-perl-5.803-r1 [5.800]

[ebuild  N    ]   dev-perl/HTML-Tree-3.19.01

[ebuild     U ]   dev-perl/Crypt-SSLeay-0.51-r1 [0.51]

[nomerge      ] games-arcade/frozen-bubble-1.0.0-r6

[ebuild     U ]  dev-perl/sdl-perl-2.1.3-r2 [1.20.3-r1]

[ebuild     U ]   media-libs/sdl-image-1.2.5-r1 [1.2.3-r1] USE="-tiff*"

[ebuild  N    ]   media-libs/sdl-net-1.2.5

[ebuild     U ]   media-libs/sdl-ttf-2.0.8 [2.0.7]

[ebuild     U ]   media-libs/sdl-mixer-1.2.7 [1.2.6] USE="-timidity%"

[ebuild     U ]    media-libs/libmikmod-3.1.11-r2 [3.1.11-r1] USE="alsa* esd*"

[nomerge      ] net-www/mod_dav-1.0.3-r3

[ebuild     U ]  net-www/apache-1.3.34-r14 [1.3.33] USE="doc%* -lingerd% (-selinux) -static-modules%"

[nomerge      ] app-text/gv-3.6.2-r1

[nomerge      ]  x11-libs/Xaw3d-1.5-r1

[ebuild  N    ]   x11-misc/gccmakedep-1.0.2  USE="-debug"

[ebuild  N    ]   x11-misc/imake-1.0.2  USE="-debug"

[ebuild  N    ]    x11-misc/xorg-cf-files-1.0.2  USE="-debug"

[nomerge      ] dev-java/xalan-2.7.0-r2

[nomerge      ]  dev-java/bsf-2.3.0-r2  USE="-jikes% -source%"

[ebuild     U ]   dev-java/servletapi-2.3-r3 [2.3-r1] USE="-source%"

[nomerge      ]  dev-java/xerces-2.7.1-r2

[ebuild     U ]   dev-java/xml-commons-resolver-1.1-r1 [1.1]

[ebuild     U ]   dev-java/xml-commons-external-1.3.02-r1 [1.3.02]

[nomerge      ] app-portage/genlop-0.30.5

[ebuild     U ]  dev-perl/DateManip-5.44 [5.42a-r1]

[nomerge      ] dev-util/meld-1.1.3

[nomerge      ]  dev-python/gnome-python-extras-2.14.0-r1

[nomerge      ]   gnome-extra/gtkhtml-2.6.3

[ebuild     U ]    gnome-base/gail-1.9.3 [1.8.11]

[nomerge      ]   gnome-extra/libgda-1.2.3

[nomerge      ]    app-text/scrollkeeper-0.3.14-r2

[ebuild     U ]     app-text/docbook-xml-dtd-4.1.2-r6 [4.1.2-r5]

[nomerge      ] x11-themes/gnome-icon-theme-2.16.1

[ebuild     U ]  x11-themes/hicolor-icon-theme-0.9-r1 [0.5] USE="-debug%"

[nomerge      ]  dev-python/gnome-python-2.16.2

[nomerge      ]   gnome-base/libgnomeui-2.16.1

[ebuild     U ]    gnome-base/gnome-keyring-0.6.0 [0.4.9]

[nomerge      ]    gnome-base/libbonoboui-2.16.0

[nomerge      ]     gnome-base/libgnome-2.16.0

[nomerge      ]      gnome-base/gnome-vfs-2.16.3

[nomerge      ]       sys-apps/dbus-0.62-r2

[ebuild     U ]        dev-python/pyrex-0.9.4.1 [0.9.3-r2]

[nomerge      ] dev-tex/latex2html-2002.2.1_pre20041025-r1

[nomerge      ]  app-text/tetex-3.0_p1-r3

[ebuild     U ]   net-libs/libwww-5.4.0-r7 [5.4.0-r2]

[nomerge      ] media-video/ffmpeg-0.4.9_p20060530

[ebuild     U ]  media-libs/imlib2-1.3.0 [1.2.1.009]

[nomerge      ] dev-java/commons-logging-1.0.4-r1

[ebuild     U ]  dev-java/avalon-logkit-1.2-r2 [1.2]

[nomerge      ] dev-perl/MailTools-1.67

[ebuild  N    ]  virtual/perl-libnet-1.19

[nomerge      ] dev-java/log4j-1.2.9

[nomerge      ]  dev-java/ant-core-1.6.5-r14

[ebuild     U ]   dev-java/javatoolkit-0.2.0-r1 [0.1.9-r1]

[nomerge      ] kde-base/certmanager-3.5.5

[nomerge      ]  app-crypt/gpgme-1.1.2-r1

[nomerge      ]   app-crypt/gnupg-1.9.20-r3

[ebuild     U ]    app-crypt/gnupg-1.4.6 [1.4.2.2] USE="-bindist% -bzip2* -curl*" LINGUAS="-ru%"

[nomerge      ]    mail-mta/postfix-2.2.10

[nomerge      ]     dev-libs/cyrus-sasl-2.1.22-r1

[nomerge      ]      virtual/jdk-1.4.2

[ebuild    FU ]       dev-java/sun-jdk-1.4.2.13 [1.4.2.12-r2]

[nomerge      ] kde-base/khelpcenter-3.5.5

[nomerge      ]  kde-base/kdelibs-3.5.5-r5

[nomerge      ]   kde-base/arts-3.5.5

[ebuild     U ]    media-libs/libvorbis-1.1.2 [1.1.0] USE="-aotuv%"

[ebuild     U ]  x11-libs/qt-3.3.6-r4 [3.3.6-r1]
```

dove peraltro si vede cheapache-1.3 è dipendenza di mod_dav (ovviamente), ma allora perché equery depends non lo dà? Cmq, secondo me emerge -u dovrebbe indicarmi anche apache-1.3

----------

## Kernel78

A prescindere da quello che piacerebbe a te emerge -u world aggiorna solo ciò che è contenuto in world ed è sensato che funzioni così, per aggiornare anche le dipendenze di ciò che si trova in world si deve dare -uD.

Il motivo per cui mod_dav non viene segnalato da equery depends è perchè apache1 non è inserito in DEPENDS ma nell'ebuild è specificato need_apache1 (non chiedermi come mai o che differenza ci sia).

Se vuoi che un emerge -u world ti aggiorni anche apache allora deve essere inserito in world.

----------

## .:chrome:.

 *riverdragon wrote:*   

> L'aggiornamento semplice controlla solo la presenza di nuove versioni per i pacchetti inseriti nel file world, mentre l'altro controlla anche le dipendenze. Probabilmente apache-1* è una dipendenza di un pacchetto che hai in world.

 

esattamente. è l'unica spiegazione.

l'aggiornamento di world coinvolge _tutti_ i pacchetti di world

----------

## rb34

 *.:chrome:. wrote:*   

>  *riverdragon wrote:*   L'aggiornamento semplice controlla solo la presenza di nuove versioni per i pacchetti inseriti nel file world, mentre l'altro controlla anche le dipendenze. Probabilmente apache-1* è una dipendenza di un pacchetto che hai in world. 
> 
> esattamente. è l'unica spiegazione.
> 
> l'aggiornamento di world coinvolge _tutti_ i pacchetti di world

 

Già, lo dice il nome (emerge world)... però in /var/lib/portage/world c'è la riga net-www/apache, per me è una mancanza di portage (per ora me la segno)

----------

## Kernel78

 *rb34 wrote:*   

>  *.:chrome:. wrote:*    *riverdragon wrote:*   L'aggiornamento semplice controlla solo la presenza di nuove versioni per i pacchetti inseriti nel file world, mentre l'altro controlla anche le dipendenze. Probabilmente apache-1* è una dipendenza di un pacchetto che hai in world. 
> 
> esattamente. è l'unica spiegazione.
> 
> l'aggiornamento di world coinvolge _tutti_ i pacchetti di world 
> ...

 

Sai che più ci penso più inizio a pensare che tu non abbia tutti i torti ...

L'attuale gestione degli aggiornamenti mi pare funzioni solo sullo slot più recente mentre non è sbagliato aspettarsi che se anche altri slot contengono versioni più aggiornate rispetto a quelle installate queste dovrebbero venir gestite.

Presumo che anche un emerge -up apache non segnali nessun aggiornamento ...

----------

## rb34

 *Kernel78 wrote:*   

> 
> 
> Presumo che anche un emerge -up apache non segnali nessun aggiornamento ...

 

Bravo.

----------

## rb34

 *rb34 wrote:*   

>  *Kernel78 wrote:*   
> 
> Presumo che anche un emerge -up apache non segnali nessun aggiornamento ... 
> 
> Bravo.

 

Ma allora... se non avevo apache-1 come dipendenza di qualcosa non avrei avuto modo di aggiornarlo????

----------

## Scen

 *Kernel78 wrote:*   

> L'attuale gestione degli aggiornamenti mi pare funzioni solo sullo slot più recente mentre non è sbagliato aspettarsi che se anche altri slot contengono versioni più aggiornate rispetto a quelle installate queste dovrebbero venir gestite.

 

Confermo questo comportamento da parte di emerge, mi è capitata una cosa simile in un'installazione con installato (...   :Rolling Eyes:  ) sia kernel (gentoo-sources) 2.4* che 2.6* (quindi slot diversi)

----------

## Kernel78

 *rb34 wrote:*   

>  *rb34 wrote:*    *Kernel78 wrote:*   
> 
> Presumo che anche un emerge -up apache non segnali nessun aggiornamento ... 
> 
> Bravo. 
> ...

 

Esatto, verrebbe aggiornato solo lo slot più recente, avresti cmq potuto aggiornarlo a man emergendo la versione che volevi (pratica tutt'altro che comoda).

@Scen

Il discorso per i kernel è un po' diverso, non esiste uno slot per la 2.4 e uno per la 2.6 ma ogni versione ha un proprio slot mentre per apache esiste uno slot 1 per tutte le versioni 1* e uno slot 2 per le 2*

----------

## rb34

 *Kernel78 wrote:*   

> Esatto, verrebbe aggiornato solo lo slot più recente, avresti cmq potuto aggiornarlo a man emergendo la versione che volevi (pratica tutt'altro che comoda).
> 
> 

 

Allora qui bisognerebbe tirar fuori uno scriptino che elenchi i pacchetti slotted, perché io non ho la più pallida idea di quali siano e ci potrebbero essere pacchetti non aggiornati da chissà quanto!!

Chi lo avrebbe mai saputo che potevo aggiornare apache-1? (ora, me ne frega anche poco, ma in alcuni casi potrebbe essere molto importante)

----------

## Kernel78

Se vuoi potrei mettermi a scrivere una patch per il kernel che segnali solo i pacchetti slotted installati e che abbaino più di una versione installata.

Oppure usiamo i comandi che abbiamo a disposizione  :Laughing:  

```
eix -cI2 | grep -E '\(.*[[:space:]].*\)'
```

Spero possa essere utile  :Wink: 

----------

## Ic3M4n

io personalmente consiglierei di utilizzare costantemente 

```
emerge -uDN world
```

permette di mantenere un sistema più pulito e soprattutto di utilizzare molto meno revdep-rebuild. in primo luogo perchè solitamente vengono stabilizzati in contemporanea il programma e le librerie di supporto (molto spesso il programma potrebbe essere dichiarato stabile prima ma non viene fatto perchè una libreria ha qualche problema). secondariamente perchè se mi esce una nuova versione del programma non sempre viene aggiornata anche la libreria a meno che non sia specificata esattamente la versione nell'ebuild. quindi nel momento in cui uno da costantemente 

```
emerge -u world
```

 ed una volta ogni tanto 

```
emerge -uDN world
```

 potrebbe trovarsi con degli aggiornamenti delle librerie broken.

----------

## fabius

Segnalo che il problema è stato risolto con il futuro portage 2.1.2  :Wink: 

Per informazioni, https://bugs.gentoo.org/show_bug.cgi?id=4698

----------

## Deus Ex

 *rb34 wrote:*   

> Cmq, secondo me emerge -u dovrebbe indicarmi anche apache-1.3

 

Non capisco il discorso. Se una opzione di emerge è -D, che ti permette di aggiornare i pacchetti che sono dipendenze di world, per quale motivo dovrebbe farlo anche -u ? Se vuoi aggiornare anche le dipendenze, dai un -uD e sei a posto, no?

----------

## rb34

 *Deus Ex wrote:*   

>  *rb34 wrote:*   Cmq, secondo me emerge -u dovrebbe indicarmi anche apache-1.3 
> 
> Non capisco il discorso. Se una opzione di emerge è -D, che ti permette di aggiornare i pacchetti che sono dipendenze di world, per quale motivo dovrebbe farlo anche -u ? Se vuoi aggiornare anche le dipendenze, dai un -uD e sei a posto, no?

 

Deve farlo anche -u perché apache è in world, non è quindi solo una dipendenza ma anche un pacchetto "principale"

----------

## randomaze

 *rb34 wrote:*   

> Deve farlo anche -u perché apache è in world, non è quindi solo una dipendenza ma anche un pacchetto "principale"

 

Il pacchetto principale della voce "apache" è apache-2.X.Y.Z.

Sinceramente non ricordo se in word vengono gestite le voci dei pacchetti slotted (ovvero alle quali é appicciata una versione) ma di sicuro se non c'é versione il comportamento é lo stesso di emerge, ed "emerge apache" ti installa la 2.

Altrimenti qualsiasi cosa sia slotted verrebbe emersa n-volte...

----------

## rb34

 *randomaze wrote:*   

>  *rb34 wrote:*   Deve farlo anche -u perché apache è in world, non è quindi solo una dipendenza ma anche un pacchetto "principale" 
> 
> Il pacchetto principale della voce "apache" è apache-2.X.Y.Z.
> 
> 

 

A me pare che con gli slot non esista il concetto di "pacchetto principale". 

O, se uno ha identificato questo comportamento, direi che è proprio questo il bug.

 *Quote:*   

> 
> 
> Sinceramente non ricordo se in word vengono gestite le voci dei pacchetti slotted (ovvero alle quali é appicciata una versione) ma di sicuro se non c'é versione il comportamento é lo stesso di emerge, ed "emerge apache" ti installa la 2.
> 
> Altrimenti qualsiasi cosa sia slotted verrebbe emersa n-volte...

 

In world è stato registrato il pacchetto col nome base, senza slot.

Con un emerge slot-aware non ci sarebbe una emersione n-volte, ma solo un aggiornamento per ogni slot...

----------

## .:chrome:.

 *rb34 wrote:*   

> Già, lo dice il nome (emerge world)... però in /var/lib/portage/world c'è la riga net-www/apache, per me è una mancanza di portage (per ora me la segno)

 

se le cose stanno così hai perfettamente ragione. ti consiglio di aprire un bug su bugzilla

curiosità: come mai hai installato entrambe le versioni di apache?

----------

## Kernel78

 *.:chrome:. wrote:*   

>  *rb34 wrote:*   Già, lo dice il nome (emerge world)... però in /var/lib/portage/world c'è la riga net-www/apache, per me è una mancanza di portage (per ora me la segno) 
> 
> se le cose stanno così hai perfettamente ragione. ti consiglio di aprire un bug su bugzilla
> 
> curiosità: come mai hai installato entrambe le versioni di apache?

 

A parte che come hanno già riportato nella discussione esisteva già un bug relativo a questo e è risolto nella nuova versione di portage.

Avrà installato apache per usarlo come web server e mod_dav richiede apache1 ...

----------

## rb34

 *.:chrome:. wrote:*   

> curiosità: come mai hai installato entrambe le versioni di apache?

 

Guarda... se lo vuoi sapere un po' me lo sono scordato  :Smile: , ma usavo apache1 per test applicazioni php locali... poi dovevo installare un server subversion e se non erro era consigliato apache2 o forse era addirittura possibile solo con apache2. Poi, tempo fa, alcuni moduli erano ancora solo per apache1 e c'era qualche problema coi thread mi pare, al che li lasciai entrambi, uno su una porta uno su un'altra. 

Entro breve toglierò comunque apache1...

Riguardo il DAV, non mi ricordo bene la storia, ma sebbene come dipendenza abbia apache1, lo sto usando su apache2..... (non so se è quello, forse no, ma nella config di apache2 ho mod_dav_svn e mod_dav).

E' che una volta installate le cose quando non le tocco per molto tempo me le scordo proprio! Per quello adesso prendo appunti di tutto

----------

## rb34

 *Kernel78 wrote:*   

> Se vuoi potrei mettermi a scrivere una patch per il kernel che segnali solo i pacchetti slotted installati e che abbaino più di una versione installata.
> 
> Oppure usiamo i comandi che abbiamo a disposizione  
> 
> ```
> ...

 

Mi sa che è anche più facile:

```
eix -ci2
```

----------

