# Problem z portage

## dylon

Witam.

Zapomnialem o jednym (mniej istotnym) serwerku na gentoo i teraz po emerge --sync wyglada jakby portage "zgubilo" wszystkie manifesty.

Cokolwiek kompiluje, dostaje komunikat o braku manifestu. Musze recznie robic emerge "ebuild cos.ebuild digest"

Czy da sie to w latwy sposob naprawic?

----------

## SlashBeast

Najlatwiej wywal /usr/portage i rozpakuj tam latest tarballa z portage.

----------

## dylon

Gdyby to bylo takie proste to glowy bym nie zawracal  :Smile:  ale faktycznie zapomnialem wspomniec...

Dokladnie takie komunikaty dostaje(przy kazdym pakiecie):

```
!!! No package digest file found: /usr/portage/www-servers/apache/files/digest-apache-2.2.11

!!! Type "ebuild foo.ebuild digest" to generate it.

```

czyli co robilem:

-wspomniany "reczny" update drzewa 

-update przez emerge --sync

Musze przebudowac caly system i world i nie usmiecha mi sie robienie recznie digesta kazdemu pakietowi z tych 130k w drzewie  :Smile: 

----------

## SlashBeast

Pobrales tarballa z portage a on Ci dalej mowi, ze nie ma digestow?

----------

## dylon

Tak.

Dla pewnosci to jeszcze raz zrobilem.

dzisiejszy latest z mirora w polsce...

Podejrzewam, ze to moze byc przez stare portage (2.0.51.22-r2) ale zeby zaktualizowac go to tez musialbym recznie zrobic mnostwo digestow  :Sad: 

Poniekad to jest dla mnie nauczka, zeby dbac o w miare aktualny system (ten problematyczny ma 1-2 roku bez zadnego update).

----------

## SlashBeast

http://de-mirror.org/distro/gentoo/snapshots/portage-latest.tar.bz2 sprawdz to, jak nadal bedzie to samo to szukaj problemu gdzie indziej. portage stare nie powinno byc problemem, w stabilnym 2008.0 jest strasznie stara wersja i dziala.

----------

## lazy_bum

Jaką masz wersję portage? Od dość dawna pliki digest zostały przeniesione do Manifestów (sumy kontrolne plików związanych z paczką: ebuilda, plików w ${FILESDIR}, źródeł...). Twoje portage pewnie o tym nie wie, więc w pierwszej kolejności akutalizuj portage, później powinno być z górki.

::edit::

Na co ślepemu oczy... przeciez napisałeś jaka to wersja. (-;

Aktualizuj portage do jakiejś wersji 2.1.x, najlepiej okrajając do jakiegoś emerge --oneshot portage, żeby nie pociągneło za sobą setek zależności (tylko dziesiątki ;). Możesz też zrobić listę pakietów, które pociąga za sobą ten update, i jakąś prostą pętlą wygenerować dla nich pliki digest.

----------

## dylon

 *SlashBeast wrote:*   

> http://de-mirror.org/distro/gentoo/snapshots/portage-latest.tar.bz2 .

 

Problem dalej wystepuje  :Sad: 

 *lazy_bum wrote:*   

> 
> 
> Aktualizuj portage do jakiejś wersji 2.1.x, najlepiej okrajając do jakiegoś emerge --oneshot portage, żeby nie pociągneło za sobą setek zależności (tylko dziesiątki . Możesz też zrobić listę pakietów, które pociąga za sobą ten update, i jakąś prostą pętlą wygenerować dla nich pliki digest. 

 

To tak latwo nie bedzie  :Sad:  wypluwa tone roznych zaleznosci z czego polowa zamaskowana  :Sad: 

No nic, trzeba bedzie jednak zrobic (digesty i emerge) recznie caly system. A juz myslalem, ze da sie jakos prosto  :Smile: 

Dzieki Wam za pomoc.

----------

## SlashBeast

emerge --nodeps portage

----------

## dylon

ehh wyglada ze system calkiem sie "rozwalil"  :Sad: 

Kojarzy moze ktos jak zaradzic temu?:

```
komp / # emerge -avO portage

These are the packages that I would merge, in order:

Calculating dependencies ...done!

[ebuild     U ] sys-apps/portage-2.1.6.7 [2.0.51.22-r2] -build -doc -epydoc +linguas_pl (-selinux) 0 kB

Total size of downloads: 0 kB

Do you want me to merge these packages? [Yes/No] y

>>> emerge (1 of 1) sys-apps/portage-2.1.6.7 to /

/usr/portage/eclass/python.eclass: line 177: syntax error near unexpected token `"${myroot}/${f}"'

/usr/portage/eclass/python.eclass: line 177: `          [[ -f "${myroot}/${f}" ]] && myfiles+=("${myroot}/${f}")'

!!! ERROR: sys-apps/portage-2.1.6.7 failed.

!!! Function inherit, Line 1444, Exitcode 1

!!! died sourcing /usr/portage/eclass/python.eclass in inherit()

!!! If you need support, post the topmost build error, NOT this status message.

```

----------

## Belliash

najszybsza i sprawdzona metoda...

Sciagnac emerge na dysk i zainstalowac z palca (z pominieciem emerge/portage).

----------

## dylon

Chyba wyglada ze mam zbyt stareg (ew. zepsutego) pythona. Tak mysle ze wzgledu na podany wyzej komunikat.

emergujac dowolna wersje pythona dostaje dokaldnie taki sam  :Sad: 

Czy moglbym (w miare bezpiecznie) recznie wrzucic do systemu pliki pythona?

Jesli tak, to czy moglby mi ktos taka "paczke" zrobic?

[EDIT]

czy python w wersji 2.3.5-r2 (taki mam obecnie) jest az tak stary zeby robic problemy z nowym drzewem portage (czy wogole z moimi problemami) ?

[/EDIT]

----------

