Summary: | gem: Permission denied @ dir_s_mkdir - /var/cache/ruby/gemie/rubygems.org%443 | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Vitaly Chikunov <vt> |
Component: | ruby | Assignee: | majioa <majioa> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P5 | CC: | 3aHyga, cas, imz, led, majioa, mike, nbr, pav, rider, stalker |
Version: | unstable | ||
Hardware: | x86 | ||
OS: | Linux |
Description
Vitaly Chikunov
2023-02-10 19:36:11 MSK
А rbenv / rvm под пользователемъ стоятъ ли? :) Приведён пример в докере на чистой системе где ничего лишнего не стоит. Думаю, дело в этом патче https://git.altlinux.org/gears/r/ruby.git?p=ruby.git;a=blob;f=use_system_dirs.patch;h=93a09f10d8ebec87347cb6df8f979c032ec2c9b6;hb=ba8e6639df48a84f91a8457ce05305c5ea08fa7d#l103 why why Сюдя по нему вы специально отключили возможность использовать пользовательские диры для гемов Кстати если отревертить верхнюю часть патча, то все равно вылезет ошибки: $ gem install --user-install blake3 Building native extensions. This could take a while... ERROR: While executing gem ... (Errno::ENOENT) No such file or directory @ rb_sysopen - libexec/helix Что за libexec. (In reply to Vitaly Chikunov from comment #5) > Кстати если отревертить верхнюю часть патча, то все равно вылезет ошибки: > > $ gem install --user-install blake3 > Building native extensions. This could take a while... > ERROR: While executing gem ... (Errno::ENOENT) > No such file or directory @ rb_sysopen - libexec/helix > > Что за libexec. libexec из этого же патча (строка 257) и дальше $ gem install --user-install digest-blake3 Successfully installed digest-blake3-1.3.3.1 ERROR: While executing gem ... (Errno::EACCES) Permission denied @ dir_s_mkdir - /usr/share/doc/ruby-3.1.0/digest-blake3-1.3.3.1 Предположу, что весь этот патч надо ревертить. gem install --user-install digest-blake3 Куда это ставитъ жемы? въ обшее дерево? тогда это запрещено, и такъ и задумывалось, чтобы не мусорить въ общее дерево пакетовъ. Если нужны самоцвѣты въ user-space, то для этого рекомендованъ, rvm. Тоже самое касается и root-а, не рекомендовано ставить самоцвѣты въ корневое дерево, рекоменованъ способъ rvm-а, въ которомъ, подцѣпляется системный ruby съ его жемами, и переиспользуются они уже локально. Не понял про "общее дерево". `gem install --user-install digest-blake3` должен был поставить digest-blake3 пользователю в его личный ~/.gem. Что в этом запретного? RVM это удобство для работы с разными версиями интерпретатора и наборами гемов — надстройка, которая не должна ломать основной функционал. На этом аккаунте не предполагается работать с несколькими версиями ruby интерпретаторов и наборами гемов. (Кроме того, если разработчику rvm может быть удобно, то пользователю может быть удобно другое.) ЕСЛИ в Альте этот базовый функционал gem запрещён некой политикой (никаких "рекомендаций" про rvm не нашел), ТО эта штука не должна просто падать по ошибке, А должна выводить пояснение пользователю. ps. "Рекомендованный" RVM у нас вообще не запакован: $ grep bin/rvm /ALT/Sisyphus/*/base/contents_index $ Неужто для рекомендованный работы с ruby из репозитория в Альте надо тянуть `curl'ом | bash` из инета какую-то утилиту? (Ответ для Vitaly Chikunov на комментарий #8) > Не понял про "общее дерево". `gem install --user-install digest-blake3` > должен был поставить digest-blake3 пользователю в его личный ~/.gem. Что в > этом запретного? Значитъ просто нужно исправить, чтобы онъ его туда ставилъ, а не откатывать патчъ. Я перепровѣрую эту проблему. RVM планируется собрать, но вообщԑ,rvm-овцы рекомендутъ ставить его съ ихъ сайта. Послѣ обновленеія по dist-upgrade нужно перелогиниться :) ruby-3.1.4-alt1 -> sisyphus: Mon Nov 13 2023 Pavel Skrylev <majioa@altlinux> 3.1.4-alt1 - ^ 3.1.2 -> 3.1.4 (closes #47868) - * moved build to rvm - * BREAK: changed some things to rpm-build-macros - ! fixed: + CVE-2022-39253 for bundler + enabled permissions to /var/lib/ruby/gemie/ (closes #45251) + enable running gemserver (closes #48325) + custom gem installation (closes #47660) + loading ruby's so libraries (closes #48249) + drop explicit dependencies to libs including ssl1.1 (closes #48713) |