LINUX.ORG.RU

Команда ebuild digest сломалась

 , ,


0

1

У меня есть свой небольшой оверлей, в нем я иногда бампаю ебилды. Когда я это делаю на одном небольшом сервере, у меня с некоторых пор при команде «ebuild новый_ебилд.ebuild digest» выводится ошибка.

gentoo wine # ebuild wine-1.7.49.ebuild digest
Appending /root/Git/rinaldus-overlay to PORTDIR_OVERLAY...
/usr/lib/portage/python2.7/ebuild.sh: line 584: /root/Git/rinaldus-overlay/app-emulation/wine/wine-1.7.49.ebuild: Permission denied
 * ERROR: app-emulation/wine-1.7.49::rinaldus-overlay failed (depend phase):
 *   error sourcing ebuild
 * 
 * Call stack:
 *   ebuild.sh, line 584:  Called die
 * The specific snippet of code:
 *   			source "$EBUILD" || die "error sourcing ebuild"
 * 
 * If you need support, post the output of `emerge --info '=app-emulation/wine-1.7.49::rinaldus-overlay'`,
 * the complete build log and the output of `emerge -pqv '=app-emulation/wine-1.7.49::rinaldus-overlay'`.
 * Working directory: '/usr/lib64/python2.7/site-packages'
 * S: '/var/tmp/portage/app-emulation/wine-1.7.49/work/wine-1.7.49'
Не могу понять почему, ведь на ноуте все работает нормально. У меня сырцы складываются в папку /var/distfiles. Сделал на всякий случай им chmod -R portage:portage, все равно ругается.
Ругается на PORTDIR_OVERLAY, так ведь она уже нигде не используется, я использую последнюю версию portage. Она у меня на серваке в make.conf нигде не прописана, на ноуте - закомментирована. При этом на серваке не работает, а на ноуте все в порядке.
Делал revdep-rebuild и python-updater, не помогло. Вот на всякий случай make.conf с сервака.
В чем может быть причина? Не знаю даже, в какую сторону копать.

★★★★★

/root

подозреваю что группа portage сюда доступа не имеет

Перенеси оверлей в более доступное место, где члены группы portage имеют доступ хотя бы на чтение

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Так у меня на серваке никаких других юзеров, кроме рута, нет. Соответственно все складываю в домашнюю папку рута, т.е /root. Как сделать, чтобы группа portage получила доступ? Пытался только что сделать

chown -R root:portage Git/rinaldus-overlay
не помогло.
Вообще когда пытался решить это сам, пробовал рекурсивно папке rinaldus-overlay присвоить права 777, не помогло.

Rinaldus ★★★★★ ()
Последнее исправление: Rinaldus (всего исправлений: 1)
Ответ на: комментарий от Rinaldus

ну дык и не поможет

Покажи:

ls -la /root

Подсказка: у тебя есть директория /root/Git. Если у нее есть права на чтение у группы portage, а у директории /root нет права на «проход»(он же executable bit), то доступа к директории /root/Git у группы portage не будет.

А у /root права по умолчанию сильно зааналены:

pinkbyte@phantom ~ $ ls -la /root -d
drwx------ 12 root root 808 авг 10 00:46 /root

Если прямо ну вообще надо хранить именно в /root, тогда

chmod g+x /root
chgrp portage /root

Но это хреновое решение, как по мне

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 2)

Ругается на PORTDIR_OVERLAY, так ведь она уже нигде не используется

layman еще не умеет на 100% в новую структуру repos.conf, так что очень даже используется

Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte
gentoo ~ # ls -la /root
итого 84
drwx------  7 root root  4096 авг 10 01:18 .
drwxr-xr-x 24 root root  4096 июл 21 12:19 ..
-rw-------  1 root root  9005 авг 10 01:35 .bash_history
drwx------  3 root root  4096 май  7 08:44 .cache
drwx------  3 root root  4096 май  7 08:44 .config
drwxr-xr-x  3 root root  4096 авг 10 01:14 Git
-rw-r--r--  1 root root    52 июл  1 09:02 .gitconfig
-rw-r--r--  1 root root   253 май  7 13:15 iptables.txt
-rw-r--r--  1 root root     0 апр  9 04:28 .keep
-rw-------  1 root root    39 май 27 07:40 .lesshst
drwx------  3 root root  4096 май  7 08:44 .local
-rw-r--r--  1 root root    51 авг 10 01:37 report.txt
-rw-r--r--  1 root root   119 май  7 13:36 .screenrc
drwxr-xr-x  2 root root  4096 май  6 16:48 .ssh
-rw-r--r--  1 root root     2 авг 10 01:37 update.lock
-rwxr-xr-x  1 root root   882 июн  8 01:12 update_world.sh
-rw-------  1 root root 11171 авг 10 01:18 .viminfo
-rw-r--r--  1 root root    47 май  6 00:19 .vimrc

Кажется, я понял. А я думал, что /root - папка с такими же правами, как и папки /home/username. Можно ли найти более элегантное решение для моего оверлея? Не создавать же ради этого отдельного юзера. И папка прямо в корневом каталоге /rinaldus-overlay будет смотреться ужасно.

Rinaldus ★★★★★ ()
Ответ на: комментарий от Rinaldus

Как я уже сказал - либо давай группе portage право «прохода» в директорию(без +r читать содержимое директории будет нельзя, но в поддиректории с соответствующими правами попасть будет можно), либо выноси оверлей в другое место

У меня локальный оверлей всегда базируется в /usr/local/portage

Публичный - соответственно в /var/lib/layman

Pinkbyte ★★★★★ ()
Ответ на: комментарий от pS

Зачем такие извращения? Я ее просто переместил в /usr/local, а в /root сделал к ней символическую ссылку, чтобы было удобнее ходить туда с планшета - и все работает.

Rinaldus ★★★★★ ()
Ответ на: комментарий от Rinaldus

Да не извращение это. Бывает, например, что /usr прикручен из другой ФС и т.п. Мало ли где нужно на самом деле размещать репу.

pS ()
Ответ на: комментарий от pS

Да там же просто клонированный git, который я иногда редактирую и заливаю на github, больше он нигде не используется. :)

Rinaldus ★★★★★ ()
14 декабря 2015 г.
Ответ на: комментарий от Pinkbyte

началась такая же фигня. более года хранил локальный оверлей в хомяке, а со вчерашнего дня начался угар.
перенес в /usr/local, поправил файл в repos.conf.d, заработало, как вернуть как было?

~/g_o/dev-util/gperf $ sudo ebuild gperf-3.0.4.ebuild clean prepare 
/usr/lib/portage/python3.5/ebuild.sh: line 624: /home/xxx/g_o/dev-util/gperf/gperf-3.0.4.ebuild: Permission denied
 * ERROR: dev-util/gperf-3.0.4::g_o failed (depend phase):
 *   error sourcing ebuild
 * 
 * Call stack:
 *   ebuild.sh, line 624:  Called die
 * The specific snippet of code:
 *                      source "$EBUILD" || die "error sourcing ebuild"
 * 
 * If you need support, post the output of `emerge --info '=dev-util/gperf-3.0.4::g_o'`,
 * the complete build log and the output of `emerge -pqv '=dev-util/gperf-3.0.4::g_o'`.
 * Working directory: '/usr/lib64/python3.5/site-packages'
 * S: '/tmp/portage/dev-util/gperf-3.0.4/work/gperf-3.0.4'
Deleted ()
Последнее исправление: Lifun (всего исправлений: 1)
Ответ на: комментарий от Deleted

делал права на дир с оверлеем root:root, portage:portage, та же самая фигня

Deleted ()
Ответ на: комментарий от Deleted

Покажи последовательно

ls -lad <директория_с_оверлеем>
ls -lad <директория_с_оверлеем>/..
ls -lad <директория_с_оверлеем>/../..

И так вплоть до корня.

Сделай su -s /bin/sh portage и попробуй зайти в директорию оверлея и прочитать какой-нибудь проблемный файл

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte
username@computer ~/g_o/app-admin/profile-cleaner $ ls -lad
drwxr-xr-x 2 username username 4096 Dec 14 20:14 .

username@computer ~/g_o/app-admin/profile-cleaner $ cd ..

username@computer ~/g_o/app-admin $ ls -lad
drwxr-xr-x 3 username username 4096 Dec 14 20:14 .

username@computer ~/g_o/app-admin $ cd ..

username@computer ~/g_o $ ls -lad
drwxr-xr-x 29 username username 4096 Dec 15 15:43 .

username@computer ~/g_o $ cd ..

username@computer ~ $ ls -lad g_o/
drwxr-xr-x 29 username username 4096 Dec 15 15:43 g_o/



 ~/g_o/app-admin/profile-cleaner $ su -s /bin/sh portage
Password: 
su: Authentication service cannot retrieve authentication info


~/g_o/app-admin/profile-cleaner $ sudo ebuild profile-cleaner-2.35.ebuild install
/usr/lib/portage/python3.5/ebuild.sh: line 624: /home/username/g_o/app-admin/profile-cleaner/profile-cleaner-2.35.ebuild: Permission denied
 * ERROR: app-admin/profile-cleaner-2.35::g_o failed (depend phase):
 *   error sourcing ebuild
 * 
 * Call stack:
 *   ebuild.sh, line 624:  Called die
 * The specific snippet of code:
 *                      source "$EBUILD" || die "error sourcing ebuild"
 * 
 * If you need support, post the output of `emerge --info '=app-admin/profile-cleaner-2.35::g_o'`,
 * the complete build log and the output of `emerge -pqv '=app-admin/profile-cleaner-2.35::g_o'`.
 * Working directory: '/usr/lib64/python3.5/site-packages'
 * S: '/tmp/portage/app-admin/profile-cleaner-2.35/work/profile-cleaner-2.35

Deleted ()
Ответ на: комментарий от anonymous

а зачем корень-то?

 / $ ls -la /home/
total 44
drwxr-xr-x 10 root                  root                   4096 Dec 13 23:14 .
drwxr-xr-x 20 root                  root                   4096 Dec 15 12:31 ..
drwxr-xr-x  9 UserName UserName  4096 Dec 12 10:01 HTS541010A9E680
drwxr-xr-x  9 UserName UserName   174 Dec  5 10:13 HUS724030ALE640_1
drwxr-xr-x  5 UserName UserName   101 Dec  5 10:13 HUS724030ALE640_2
drwxr-xr-x 19 UserName UserName  4096 Dec 12 10:01 HUS724040ALE640
-rw-r--r--  1 root     root         0 Aug 20 08:26 .keep
drwxr-xr-x 11 UserName UserName 20480 Dec 14 17:34 MZ7WD240HAFV
drwx------ 27 UserName UserName  4096 Dec 15 15:43 UserName
drwxr-xr-x  6 UserName UserName   112 Dec  5 10:13 ST2000DM001
drwxr-xr-x  5 UserName UserName   179 Dec  5 10:13 WD2000FYYZ



 / $ ls -la /home/UserName/
total 239860
drwx------ 27 UserName UserName      4096 Dec 15 15:43 .
drwxr-xr-x 10 root     root          4096 Dec 13 23:14 ..
drwxr-xr-x  4 UserName UserName      4096 Dec 15 15:44 .aMule
-rw-r--r--  1 UserName UserName       687 Nov 24 08:30 autoupdate.sh
-rw-------  1 UserName UserName     15237 Dec 15 15:44 .bash_history
-rw-r--r--  1 UserName UserName       210 Nov  4 16:52 .bash_logout
-rw-r--r--  1 UserName UserName       193 Aug 31 12:34 .bash_profile
-rw-r--r--  1 UserName UserName       580 Dec 13 22:47 .bashrc
-rw-r--r--  1 UserName UserName     84955 Dec  3 17:38 bookmarks.html
drwxrwxrwt 10 root     root           320 Dec 15 15:51 .cache
drwxr-xr-x 24 UserName UserName      4096 Dec 15 16:01 .config
drwx------  3 UserName UserName      4096 Dec 13 21:31 .dbus
drwx------  2 UserName UserName      4096 Dec  6 21:06 Desktop
drwxr-xr-x  7 UserName UserName     20480 Dec 12 14:35 Downloads
drwxr-xr-x  8 UserName UserName      4096 Oct 18 21:21 Flashka
-rw-r--r--  1 UserName UserName       128 Aug 10 21:47 .gitconfig
drwxr-xr-x 29 UserName UserName      4096 Dec 15 15:43 g_o
-rw-r--r--  1 UserName UserName       418 Dec 14 17:29 .gtkrc-2.0
lrwxrwxrwx  1 UserName UserName        38 Dec 14 17:29 .gtkrc-2.0-kde4 -> /home/UserName/.gtkrc-2.0
drwxr-xr-x  3 UserName UserName      4096 Dec 13 22:43 .icons
-rw-r--r--  1 UserName UserName       106 Oct 21 17:58 .install4j
drwxr-xr-x  4 UserName UserName      4096 Dec 13 21:37 .java
drwxr-xr-x  3 UserName UserName      4096 Dec 13 21:31 .kde4
-rw-r--r--  1 UserName UserName       207 Dec 11 18:04 kernel.sh
drwxr-xr-x  4 UserName UserName      4096 Dec 15 13:45 .lastpass
drwx------  4 UserName UserName      4096 Dec 13 21:31 .local
-rw-r--r--  1 UserName UserName       189 Nov  4 17:15 .logout
-rw-r--r--  1 UserName UserName        44 Oct  8 00:14 MicroServer.sh
drwx------  4 UserName UserName      4096 Dec 13 22:33 .mozilla
-rw-r--r--  1 UserName UserName        36 Sep 20  2014 PapaMama.sh
drwxr-xr-x  3 UserName UserName      4096 Dec 13 23:13 .parallel
drwxrwxrwx 12 UserName UserName      4096 Dec  6 20:10 P_G_007
drwx------  3 UserName UserName      4096 Dec 13 22:27 .pki
drwx------  7 UserName UserName      4096 Dec 15 15:06 .purple
drwxr-xr-x  2 UserName UserName      4096 Dec 15 16:03 .qmmp
drwx------  2 UserName UserName      4096 Dec  6 12:21 .ssh
drwxr-xr-x  7 UserName root          4096 Dec 13 22:31 Temporary
drwxr-xr-x  2 UserName UserName      4096 Sep  1 18:47 .thunderbird
-rw-r--r--  1 UserName UserName       673 Nov 24 08:31 update.sh
-rwxr-xr-x  1 UserName UserName       212 Oct 26 00:25 VB.sh
-rw-r--r--  1 UserName UserName       222 Dec 12 15:33 virtIO.sh
drwxr-xr-x  3 UserName UserName      4096 Dec 10 23:48 .VirtualBox
-rw-r--r--  1 UserName UserName    495156 Mar 30  2014 WallPaper.jpg
drwxr-xr-x  2 UserName UserName      4096 Dec 14 01:49 .WinBox
drwxr-xr-x  4 UserName UserName      4096 Dec 14 01:38 .wine
-rw-------  1 UserName UserName        57 Dec 14 20:12 .Xauthority
-rw-------  1 UserName UserName 244472745 Dec 15 16:03 .xsession-errors

r $ sudo su -s /bin/sh portage
Password: 
su: Authentication service cannot retrieve authentication info
(Ignored)
sh-4.3$ exit
exit
Deleted ()
Последнее исправление: Lifun (всего исправлений: 1)
Ответ на: комментарий от anonymous

а что должно быть? и как исправить?
т.е. директория /home/UserName должна принадлежать root'у?
.xsession-errors удалил, Плазма5 туда каждый чих сыплет.

Deleted ()
Последнее исправление: Lifun (всего исправлений: 1)
Ответ на: комментарий от Deleted

+x - для всех, o+x - для всех, кто не входит в группу каталога и не является владельцем каталога. man 1 chmod прочитай, надо знать азы ОС, которой пользуешься.

anonymous ()
Ответ на: комментарий от anonymous

да, чё-то проглядел инфу об этом.
chmod почти никогда не пользуюсь.

вообще странно то, что более года такая конфигурация работала.

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.