Ошибка инсталляции пакета после сборки

Объясняю при чем тут установка, pacman и sudo:

Стандартный цикл работы (yaourt -S чтототам) выглядит так:
1) скачиваем PKGBUILD
2) просматриваем/редактируем его
3) качаем исходники
4) компилируем исходники и собираем пакет
5) вызываем pacman -U для установки собранного пакета

В PKGBUILD самого yaourt есть следующая строчка:
depends=('wget' ‘diffutils’ 'pacman>=3.2.0')

yaourt.install выводит вот такую рекомендацию:
	==> to use yaourt as user,add these entries to /etc/sudoers:
           user ALL=NOPASSWD: /usr/bin/pacman
           user ALL=NOPASSWD: /usr/bin/pacdiffviewer
	(Please, use sudo very carefully)

Так понятнее?
Речь шла о том, что сборка пакета через yaourt производилась под рутом, чего делать не нужно (ни с yaourt, ни вручную). Об этом rubicon и сообщил.
Хотите поумничать, ок. Я потрясён вашими глубочайшими знаниями!
Засим тема, имхо, исчерпана. С уважением!
такие дела.
Muu
cucullus
pacman сборкой не занимается!
Глубокая мысль. А как, по-твоему, yaourt устанавливает собранный пакет? Подсказка: уж не pacman ли он запускает?
А разницу между сборкой пакета и его установкой кто различать будет?
Разберемся, голубчик!
Оказалось что у меня сам пакет fakeroot не установлен ;D хотя в makepkg.conf в массиве BUILDENV fakeroot был прописан.
видимо надо установить base-devel
такие дела.
Muu, йогурт вызывает по возможности не просто pacman, а sudo pacman. потому в судоерс, нет стройки для самого йогурта, но есть для пакрмана. залезь в его исходники, ведь скрипт же. не кипяти лужи :)

PS less /usr/bin/yaourt на предмет строчки `launch_with_su`
systemd должен умереть.
Пипец, товарищи. Я в шоке.
Это вроде на ЛОРе светлой памяти анонимусы принципиально не ходили по ссылкам, не читали новостей, не вникали в суть проблемы - зато яростно троллили и непрестанно упражнялись в остроумии. Но среди арчеров такое увидишь нечасто…

Еще раз, для тех кому лень поставить минутный эксперимент: возникновение описанной топикстартером проблемы НЕ ЗАВИСИТ от того, собирается ли пакет под рутом, под непривилегированным пользователем или через sudo.

Ну если по-русски тяжело воспринимается, то вот логи хоть почитайте:

san ~  $  whoami
san
san ~  $  id
uid=1000(san) gid=100(users) группы=6(disk),7(lp),10(wheel),50(games),81(dbus),82(hal),91(video),92(audio),93(optical),95(storage),98(power),100(users),101(locate)
san ~  $  yaourt -S mpd-git
==> Downloading mpd-git PKGBUILD from AUR...
<бла>
<бла>
<бла>
  -> Архивируется пакет... 
==> Выход из окружения fakeroot.
==> Сборка завершена: mpd-git 20090210-1 i686 (Вск Апр 12 21:06:47 MSD 2009)
==>  Continue installing mpd-git? [Y/n]
==>  [v]iew package contents [c]heck package with namcap
==>   ----------------------------------------------
==>y
чтение информации о пакете...
ошибка: './mpd-git-20090210-1-i686.pkg.tar.gz': не удается открыть файл пакета
==> WARNING: Your package is saved in /tmp/yaourt-tmp-san/mpd-git-20090210-1-i686.pkg.tar.gz
cp: невозможно выполнить stat для `./mpd-git-20090210-1-i686.pkg.tar.gz': Нет такого файла или каталога
==> WARNING: Unable to copy mpd-git-1-i686.pkg.tar.gz to /tmp/yaourt-tmp-san/ directory

root /home/san #  whoami
root
root /home/san #  yaourt -S mpd-git
==> WARNING: Building unsupported package as root is dangerous.
 Please run yaourt as a non-privileged user.
==> Downloading mpd-git PKGBUILD from AUR...
<бла>
<бла>
<бла>
  -> Архивируется пакет... 
==> Сборка завершена: mpd-git 20090412-1 i686 (Вск Апр 12 21:29:49 MSD 2009)
==>  Continue installing mpd-git? [Y/n]
==>  [v]iew package contents [c]heck package with namcap
==>   ----------------------------------------------
==>y
чтение информации о пакете...
ошибка: './mpd-git-20090210-1-i686.pkg.tar.gz': не удается открыть файл пакета
==> WARNING: Your package is saved in /tmp/yaourt-tmp-root/mpd-git-20090210-1-i686.pkg.tar.gz
cp: невозможно выполнить stat для `./mpd-git-20090210-1-i686.pkg.tar.gz': Нет такого файла или каталога
==> WARNING: Unable to copy mpd-git-1-i686.pkg.tar.gz to /tmp/yaourt-tmp-root/ directory

И, наконец, от наличия/отсутствия пакета fakeroot ошибка тоже не зависит:

san ~  $  yaourt -Ss fakeroot
core/fakeroot 1.12.2-2 [installed] (base-devel)
     Gives a fake root environment, useful for building packages as a
     non-privileged user

Да, чуть не забыл - все прочие пакеты (в том числе из AUR) yaourt устанавлиает без ошибок.

Ну и под занавес: лечится эта проблема так (имя непривилегированного пользователя, разумеется, свое):
root /home/san # chown san:users /var/abs/local
После этой нехитрой манипуляции установка будет проходить без ошибок.

Вот теперь, друзья мои, тема действительно исчерпана.
Посылаю всем луч терпимости и здравомыслия.
“Не могу молчать!”
Л.Н.Толстой

Раз уж тут был упомянут всеми любимый линукс-ориентированный рупор русскоязычного медиапространства, нельзя не отметить, что обсуждение так ни в одном посте так и не коснулось проблемы, означенной топикстартером, что, без сомнения, является визитной карточкой вышеупомянутого интернет-ресурса. ;)
Возьму на себя смелость реконструировать произошедшие события:
Итак,
1) SilentOS рапортует об ошибке.
2) Ваш непокорный слуга отмечает, что сборка осуществлялось под рутом, т.к. yaourt-tmp-root
3) Автор темы это подтверждает
4) rubicon отмечает, что ни "su, ни sudo при сборке пакетов" не нужно. и упоминает fakeroot
5) Уважаемый оппонент оставляет сообщение, что sudo нужно, упоминая pacman и pacdiffviewer, но при этом ссылается на сообщение rubicon, где речь идёт о сборке пакетов.
6) Я, в принципе понимая, что хочет сказать ув. оппонент, отмечаю непричастность пакмана к процессу сборки, подчёркивая независимость процессов сборки пакета и установки пакета, искренне надеясь внести ясность в процесс обсуждения.
7) Ув. оппонент с изрядной долей сарказма сообщает ваш. непок. слуге, что yaourt использует pacman для установки, ссылаясь на предыдущее сообщение посвящённое сборке!
8) Далее следует мой уточняющие вопрос, какую тему мы собственно обсуждаем?
9) Ув. оппонент в блестящем стиле и абсолютно достоверно описывает идеологию и порядок действий yaourt, подчёркивая его зависимость от пакмана и приводит рекомендацию yaourt произвести настройку sudo. Сообщение увенчивается очередным язвительным выпадом.
10) Ваш непок. слуга, натолкнувшись на странное непонимание и упорство и отчаявшись вернуть диалог в конструктивное русло, вкратце излагает своё видение обсуждаемой темы и в довольно резкой, но дипломатичной форме предлагает ув. оппоненту странный спор прекратить.
11) К обсуждению подключается уважаемый участник форума, который в едкой форме поддерживает позицию ваш. покор. слуги.
12) Автор темы подтверждает необходимость fakeroot для сборки.
13) Ещё один уважаемый участник форума выступает с горячим, правда не очень понятным заявлением, но явно не в защиту ув. оппонента ;)
14) Ув. оппонент выступает с программной речью, рациональным зерном которой является упоминание о проблеме автора темы, которая даже не обсуждалась.

Ещё раз почёркиваю, что никто не отрицает необходимость sudo для установки пакетов через yaourt. Речь идёт о порочности произведения сборки пакетов от рута и нужности fakeroot для правильного функционирования yaourt. В свете вышеозначенных событий сверхгорячность ув. оппонента представляется мне большой загадкой.

Раз уж я сподвигся на написание столь обширного исследования, было бы неправильно оставить без внимания последнее сообщение, в котором содержится вызов всему разумному человечеству ;)
Muu
Еще раз, для тех кому лень поставить минутный эксперимент: возникновение описанной топикстартером проблемы НЕ ЗАВИСИТ от того, собирается ли пакет под рутом, под непривилегированным пользователем или через sudo.
Ну отчего же, не лень! Чай не бояре. Проблема действительно от этого не зависит. Пакет собирается и ставится в обоих случаях, правда под рутом yaourt 2 раза кромко ругается.

Muu
И, наконец, от наличия/отсутствия пакета fakeroot ошибка тоже не зависит:
san ~  $  yaourt -Ss fakeroot
core/fakeroot 1.12.2-2 [installed] (base-devel)
     Gives a fake root environment, useful for building packages as a
     non-privileged user
И? Видно, что fakeroot установлен. Если его нет, то видим:
==> ERROR: Fakeroot must be installed if using the 'fakeroot' option
    in the BUILDENV array in /etc/makepkg.conf.
Error: Makepkg was unable to build mpd-git package.

Muu
Да, чуть не забыл - все прочие пакеты (в том числе из AUR) yaourt устанавлиает без ошибок.
Не понял. Т.е. утверждается, что это PKGBUILD-специфичная ошибка?

Muu
Ну и под занавес: лечится эта проблема так (имя непривилегированного пользователя, разумеется, свое):
root /home/san # chown san:users /var/abs/local
После этой нехитрой манипуляции установка будет проходить без ошибок.
Без этой манипуляции у меня ни один пакет не собирается (точнее не экспортируется в /var/abs/local).

Muu
Вот теперь, друзья мои, тема действительно исчерпана.
Посылаю всем луч терпимости и здравомыслия.
Ну и Вам не болеть! ;)
такие дела.
такс, прекратили :)
systemd должен умереть.
 
Зарегистрироваться или войдите чтобы оставить сообщение.