# сломался portage: src_unpack не работает [SOLVED]

## fank

вот к примеру

```
home ~ # emerge portage

Calculating dependencies \ * QA Notice: 'grep' called in global scope: app-dicts/qstardict-0.09

 - * QA Notice: 'grep' called in global scope: app-dicts/libtranslate-0.99-r4

 - * QA Notice: 'grep' called in global scope: app-i18n/librcd-0.1.10

 - * QA Notice: 'grep' called in global scope: app-i18n/librcc-0.2.5-r1

 | * QA Notice: 'grep' called in global scope: app-i18n/libguess-0.2.0

 - * QA Notice: 'grep' called in global scope: media-libs/libvorbis-1.2.0

 | * QA Notice: 'grep' called in global scope: app-arch/unzip-5.52-r4

 - * QA Notice: 'grep' called in global scope: app-misc/ca-certificates-20070303-r1

... done!

>>> Emerging (1 of 1) sys-apps/portage-2.1.5.2 to /

 * portage-2.1.5.tar.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                               [ ok ]

 * portage-2.1.5.2.patch.bz2 RMD160 SHA1 SHA256 size ;-) ...                                                           [ ok ]

 * checking portage-2.1.5.tar.bz2 ;-) ...                                                                              [ ok ]

 * checking portage-2.1.5.2.patch.bz2 ;-) ...                                                                          [ ok ]

>>> Unpacking source...

/var/tmp/portage/sys-apps/portage-2.1.5.2/temp/environment: line 3309: cd: /var/tmp/portage/sys-apps/portage-2.1.5.2/work/portage-2.1.5: No such file or directory

/var/tmp/portage/sys-apps/portage-2.1.5.2/temp/environment: line 3311: cd: /var/tmp/portage/sys-apps/portage-2.1.5.2/work/portage-2.1.5: No such file or directory

 * Cannot find $EPATCH_SOURCE!  Value for $EPATCH_SOURCE is:

 *

 *   /var/tmp/portage/sys-apps/portage-2.1.5.2/work/portage-2.1.5.2.patch

 *   ( portage-2.1.5.2.patch )

 *

 * ERROR: sys-apps/portage-2.1.5.2 failed.

 * Call stack:

 *               ebuild.sh, line   49:  Called src_unpack

 *             environment, line 3312:  Called epatch '/var/tmp/portage/sys-apps/portage-2.1.5.2/work/portage-2.1.5.2.patch'

 *             environment, line 1216:  Called die

 * The specific snippet of code:

 *                   die "Cannot find \$EPATCH_SOURCE!";

 *  The die message:

 *   Cannot find $EPATCH_SOURCE!

 *

 * If you need support, post the topmost build error, and the call stack if relevant.

 * A complete build log is located at '/var/tmp/portage/sys-apps/portage-2.1.5.2/temp/build.log'.

 * The ebuild environment file is located at '/var/tmp/portage/sys-apps/portage-2.1.5.2/temp/environment'.

```

а там лежит такое:

```
3305 }

3306 src_unpack ()

3307 {

3308     unpack ${A};

3309     cd "${S}";

3310     if [ -n "${PATCHVER}" ]; then

3311         cd "${S}";
```

и точно так же с любым пакетом, проще говоря portage не работает в принципе...

пользуюсь пока pkgcore, но это ж не выход...

есть какие-нить идеи?

у меня они уже кончились...

----------

## fank

в свою очередь, pmerge ругается так

```
WARNING pkgcore: /var/tmp/portage/sys-apps/portage-2.1.5.2/homedir/ ( HOME ) is setgid

WARNING pkgcore: /var/tmp/portage/sys-apps/portage-2.1.5.2/temp/ ( T ) is setgid

WARNING pkgcore: /var/tmp/portage/sys-apps/portage-2.1.5.2/work/ ( WORKDIR ) is setgid

WARNING pkgcore: /var/tmp/portage/sys-apps/portage-2.1.5.2/image/ ( D ) is setgid
```

ну чувствую, что с правами косяк....

----------

## fank

в сущности src_unpack как раз-таки работает, не работает cd ${S}

ибо права косячные судя по всему

----------

## fank

```
/usr/lib/python2.5/site-packages/pkgcore/bin/ebuild-env/ebuild.sh: ./configure: /bin/sh: bad interpreter: Permission denied
```

это выдает уже pmerge =(

ошибка достала уже...

----------

## fank

последняя проблема решилась

дело оказалось в том, что партиция монтировалась в /var/tmp/portage с опцией user, которая подразумевает noexec

проблема с portage не решена, но истина где-то рядом =)

----------

## Sergey.T

Пробовал пересобрать portage?

----------

## fank

сто раз, не меньше =)

у меня distfiles смонтирован в отдельный каталог, сделан отдельным разделом

в /usr/portage сделан симлинк

/usr/portage тоже смонтирован как loopback device

может, здесь где затык

везде reiserfs 3.6

----------

## Sergey.T

 *Quote:*   

> 
> 
> у меня distfiles смонтирован в отдельный каталог, сделан отдельным разделом
> 
> в /usr/portage сделан симлинк
> ...

 

Можешь попробовать прописать DISTDIR в /etc/make.conf и убрать симлинк.

----------

## fank

если не ошибаюсь, то пробовал и так....

сег еще раз попробую, машинка дома =)

----------

## fank

решил наконец-то!

дело оказалось в старом portage bashrc-ng, про который я и сам давно забыл...   :Embarassed: 

после удаления - все как часы

----------

