# Zu lange gewartet mit updates [gelöst]

## tazinblack

Hallo zusammen,

nachdem ich lange keine Zeit zum updaten von ein paar Kisten hatte holt es mich jetzt natürlich ein.

Klar hab ich versucht zuerst portage alleine upzudaten, aber selbst das geht nicht:

```
Calculating dependencies... done!

!!! All ebuilds that could satisfy "dev-python/pyblake2[python_targets_pypy(-)?,-python_single_target_pypy(-),python_targets_python2_7(-)?,-python_single_target_python2_7(-),python_targets_python3_4(-)?,-python_single_target_python3_4(-),python_targets_python3_5(-)?,-python_single_target_python3_5(-)]" have been masked.

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

- dev-python/pyblake2-1.0.0::gentoo (masked by: EAPI 6)

- dev-python/pyblake2-0.9.3::gentoo (masked by: EAPI 6)

The current version of portage supports EAPI '5'. You must upgrade to a

newer version of portage before EAPI masked packages can be installed.

(dependency required by "sys-apps/portage-2.3.13-r1" [ebuild])

(dependency required by "portage" [argument])

For more information, see the MASKED PACKAGES section in the emerge

man page or refer to the Gentoo Handbook.

```

Gibt es da einen gangbaren Weg, irgendwie portage auf ne neuere Version zu bekommen, welche schon EAPI 6 unterstützt?

Ich habe mal versucht alles was neuer ist als die älteste noch unterstützte Version von portage zu maskieren, aber selbst das reicht nicht aus.

Ist irgendwie ein Henne-Ei-Problem.

----------

## tazinblack

ok, ich glaube es gibt zwei Möglichkeiten:

1.: mit einem älteren Portage stand zwischen updaten.

2.: mit nem Livesystem das System updaten

Ich entscheide mich erstmal testweise für Version 1.

So nach dem hier: 

 *nobspangle wrote:*   

> Had the same issue today on an old Gentoo system.
> 
> I grabbed the portage snapshot from 20161120 from https://dev.gentoo.org/~swift/snapshots/ updated portage then switched back to the latest portage and updated again.

 

----------

## musv

Hast du einfach mal ein:

```
emerge -1u portage
```

probiert?

Falls das nicht geht, kannst du das Portage-Update erzwingen, indem du die Deps erstmal ignorierst. 

```
emerge -1u --nodeps portage
```

----------

## tazinblack

Das war natürlich das erste was ich probiert hab, einfach portage upzudaten.

Die Ausgabe oben stammte da her.

Mit -nodeps hab ich es nicht probiert. Jedenfalls funktioniert der Weg mit älteren portage Ständen.

Ich versuch jetzt noch mal die Variante mit dem portage update ohne dependencies.

----------

## tazinblack

...

also, Deine Variante mit den --nodeps geht auch

Danke für den Tipp!

Mal sehen, was noch für fiese Fettnäpfchen drin sind...

----------

## j.nantke

Ich habe mir mal das erarbeitet. Eventuell muss man auf die eine oder andere Meldung zwischendurch noch reagieren.

Sollte funktionieren wenn das installierte Portage < 2.3.8 ist.

Idealerweise hat man vorher noch kein sync gemacht. Geht aber meist auch mit.

```

cd /root

wget -P /usr/portage/distfiles http://distfiles.gentoo.org/distfiles/portage-2.3.8.tar.bz2

mkdir portage-recover

cd portage-recover

tar xfj /usr/portage/distfiles/portage-2.3.8.tar.bz2 

cd /root/portage-recover/portage-2.3.8

./setup.py build

./setup.py install

emerge --sync

emerge =sys-devel/gcc-5.4.0-r4

gcc-config -l

# Nummer des gerade installierten gcc wählen

gcc-config 2

. /etc/profile

#Benötigt installiertes gentoolkit

revdep-rebuild --library 'libstdc++.so.6' -- --exclude gcc

emerge -1u gettext python

emerge -1uD gentoolkit

emerge -1 --with-bdeps=y --backtrack=1000 --nodeps perl 

emerge -1 binutils

#Aktuellste binutils auswählen

eselect binutils list

#Nummer entsprechend der aktuellen Version anpassen

eselect binutils set 2

emerge -au --with-bdeps=y --backtrack=1000 world 

#Bei Fehler: emerge --resume --keep-going

#Dann world emerge wiederholen

gcc-config -l

# Nummer des aktuellsten gcc wählen

gcc-config 2

. /etc/profile

perl-cleaner --reallyall

revdep-rebuild

```

----------

