LINUX.ORG.RU

как победить эту гадость?

 , , ,


1

1

Некоторые пакеты (glib, libdrm) при компиляции во время стадии конфигурирования пытаются записать в /root/.cmake/...
Например libdrm:

...
PermissionError: [Errno 13] Permission denied: '/root/.cmake/packages/atomic_ops'
...
WARNING: failed to process netrc file: [Errno 13] Permission denied: '/root/.netrc'.
...
ERROR: Unhandled python OSError. This is probably not a Meson bug, but an issue with your build environment.
glib пытается создать /root/.cmake/packages/bash-completion.
Как это вырубить?

★★★★★

Последнее исправление: teod0r (всего исправлений: 1)

Может в опциях настроить/отключить чего-нибудь можно?

Ну или export HOME=/tmp в Pkgfile попробуй добавить.

А вообще под рутом не собирай ;)

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

под рутом и не собираю, fakeroot. насчёт HOME идея неплохая, попробую

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

Вообще лучше отдельного юзера для pkgmk создай. Со своим $HOME, /bin/false вместо шелла и шлю^w.

Дай домашней директории правам нормальные и ПИШИ@УДАЛЯЙ что хочешь ;) Потом от этого юзера и запускай fakeroot'овый pkgmk. prt-get могёт у себя в конфиге всё сделать.

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

Вообще лучше отдельного юзера для pkgmk создай

уже давно как. не знаю каким боком там рутовый хомяк, из-за fakeroot, наверное

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

а, подожди...
или ты имеешь в виду pkgmk от другого пользователя, а pkgadd уже через fakeroot? а что так можно?

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

Можно и нужно ;) 10+ лет так живу.

useradd -m -g users -s /bin/false pkgmk
mkdir -pv /home/pkgmk/{logs,pkg,ports,src,work}

в fstab добавляй:

pkgmk /home/pkgmk/work tmpfs size=4G,uid=1001,gid=100,defaults 0 0
uid меняй на uid своего pkgmk, size - сколько есть, сколько не жалко, сколько нужно в твоём случае. Если браузеры не собираешь, то пойдёт. Если на что-то тяжелое не хватит, то просто sudo umount /home/pkgmk/work и будет тебе место на время сборки.

Далее правим pkgmk.conf:

PKGMK_SOURCE_DIR="/home/pkgmk/src"
PKGMK_PACKAGE_DIR="/home/pkgmk/pkg"
PKGMK_WORK_DIR="/home/pkgmk/work/$name"

Чтобы всё хозяйство было в одном месте:

rm -rf /usr/ports
ln -sv /home/pkgmk/ports /usr/ports

Далее в prt-get.conf (logfile - по желанию):

logfile  /home/pkgmk/logs/%n.log
makecommand sudo -H -u pkgmk /usr/bin/fakeroot /usr/bin/pkgmk

В итоге получаем всё чисто и аккуратненько в одном месте ;)

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

makecommand sudo -H -u pkgmk /usr/bin/fakeroot /usr/bin/pkgmk

так это для pkgmk, у меня итак уже так сделано давно, я тебе про другое, я имелл в виду, что мб можно собирать от другого пользователя (pkgmk без fakeroot, пользователем pkgmk), а устанавливать уже через fakeroot pkgadd, т.е. fakeroot только для pkgadd, но не для pkgmk. так нельзя?

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

Нет конечно, как ты без прав рута писать-то в корень будешь? ;) Да и смысл.

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