Summary: | Много неочевидных телодвижений при установке rust | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Garrett <AlexShevchenko> |
Component: | rust | Assignee: | Ajrat Makhmutov <ajratma> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | enhancement | ||
Priority: | P5 | CC: | ajratma, ancieg, crux, legion, mike, rauty |
Version: | unstable | ||
Hardware: | x86_64 | ||
OS: | Linux |
Description
Garrett
2024-03-28 14:35:47 MSK
Так как rustc всё же можно использовать без cargo, считаю, что нужно оставить установку rustc без cargo. С gcc согласен - он необходим rust'у. Cargo необходим, и rust должен ставится в связке rustc + cargo + gcc. Почему cargo необходим? В будущем будут другие системы сборки для rust'а, да и сейчас есть: buck2 например. Потому что запуск проекта, компиляция проекта(или пачки взаимосвязанных проектов), запуск тестов - это всё делает cargo. Как и почти все системы сборки любых языков. Последний аргумент, взывающий к разуму) Человек решил изучить rust. Установил пакет rust, открывает учебник на сайте rust'а, там написано "запустите cargo new project". Человек пускает и там не работает, спрашивает где-то на программистском форуме, там отвечают: "у меня на debian(ubunta, mint...) всё работает, ставь эту систему и не парься". Думаю, он послушает этого совета и уйдёт с проблемного для него Альта... (In reply to Garrett from comment #6) > Последний аргумент, взывающий к разуму) > > Человек решил изучить rust. Установил пакет rust, открывает учебник на сайте > rust'а, там написано "запустите cargo new project". Человек пускает и там не > работает, спрашивает где-то на программистском форуме, там отвечают: "у меня > на debian(ubunta, mint...) всё работает, ставь эту систему и не парься". > Думаю, он послушает этого совета и уйдёт с проблемного для него Альта... Такому человеку крайне рекомендую меньше на всяких "программистких форумах" вопросы задавать несведущим людям и слушать их "советы". У нас Rust, видимо, собран отлично от Debian, но это не является проблемой. Если думаете иначе - пользуйтесь Debian. Предлагаю закрыть репорт как NOTABUG. Можно вообще ничего не делать, можно закрыть этот репорт, можно заблокировать меня чтобы не раздражал - вы тут хозяева. Я лишь указал, что по-моему мнению это неправильно. Так же, как неправильно, что ваш python3 в системе поставляется без pip!!! Удачи. (Ответ для Garrett на комментарий #8) > Я лишь указал, что по-моему мнению это неправильно. Мы ценим ваше мнение. Спасибо что написали. (Ответ для Anton Zhukharev на комментарий #7) > Предлагаю закрыть репорт как NOTABUG. Закрывать как NOTABUG не буду, gcc действительно нужен rust'у для линковки. Будет исправлено со следующей версией. (In reply to Garrett from comment #8) > Так же, как неправильно, что ваш python3 в системе поставляется без pip!!! pip не является частью стандартной библиотеки Python, поэтому в пакете python3 его нет - и это тоже не является проблемой. (In reply to Anton Zhukharev from comment #10) > (In reply to Garrett from comment #8) > > Так же, как неправильно, что ваш python3 в системе поставляется без pip!!! > > pip не является частью стандартной библиотеки Python, поэтому в пакете > python3 его нет - и это тоже не является проблемой. Но является важной частью экосистемы python, как и cargo для rust! rust-1:1.78.0-alt1 -> sisyphus: Tue May 14 2024 Ajrat Makhmutov <rauty@altlinux> 1:1.78.0-alt1 - New version (1.78.0). - Move rustlib into /usr/lib/ (closes: 49687). - Remove the cargo-doc package. Now all documentation is in rust-doc. - Require gcc for rustc (closes: 49831). PreScriptum: раз познакомились и вопросы были также заданы лично, да и погода хорошая... (Ответ для Garrett на комментарий #2) > Cargo необходим, и rust должен ставится в связке rustc + cargo + gcc. У нас довольно много пакетов, зависящих по сборке от rust, но не rust-cargo; насколько понимаю, там или в апстримах, или в пакетах всё стороннее тупо завендорено. rust-cargo в развёрнутом виде не то чтобы катастрофа по объёму, но всё-таки лишние 27 Мб в каждом сборочном чруте с rust тоже не очень хорошо с учётом comment 3. В целом любая среда исполнения, а тем более разработки требует некоторых усилий по освоению (обычно ещё и времени для привыкания; смена привычек -- от двух недель, ср.: http://altlinux.org/migration) -- думаю, по поднятым проблемам (а лучше по одному багу на одну проблему, чтобы состояние было однозначным; если есть связка проблем -- на связку отдельно заводится метабаг, зависящий от всех конкретных багов -- подробнее добавил на http://altlinux.org/BugTracking/BugzillaMiniHowto). Поэтому предлагаю по данной баге, помимо уже сделанного, судя по comment 12: 1) создать на вики страничку http://altlinux.org/rust с рекомендациями и ссылками; 2) аналогично и http://altlinux.org/python Если займётесь -- сообщите затем и сюда, почитаем; такие вещи обычно хорошо получаются, когда человек со свежим синяком пишет ровно то, чего ему самому не хватило, а те, у кого свои такие же синяки уже давно зажили -- приходят и смотрят, что поправить/дополнить. (Ответ для Garrett на комментарий #11) > (In reply to Anton Zhukharev from comment #10) > > > Так же, как неправильно, что ваш python3 в системе поставляется без pip!!! > > pip не является частью стандартной библиотеки Python > Но является важной частью экосистемы python, как и cargo для rust! Так можно и за notebook взволноваться -- мол, как же пользователи без него. :) Ну и pip всё-таки дублирует пакетную систему дистрибутива именно для времени выполнения, поощрять такие практики "из коробки" я бы точно не стал (хотя если правильно помню, к его созданию напрямую был причастен cray@ давным-давно). PS: давайте проиллюстрирую на примере двадцатилетней давности. В редхате тогда пакет perl тащил все более-менее "важные для экосистемы" модули. Одной кучкой. И в целом подход скорее напоминал "один проект -- один пакет". В дебиане уже тогда заморачивались мелкой порезкой и более точными зависимостями. Альт, будучи rpm-дистрибутивом и "внуком" редхата через мандрейк, исходил как раз из ситуации с более грубой порубкой пакетной базы -- но поскольку озадачились точными зависимостями (автогенерацией установочных, затем и сборочных), то из такого условного perl вдруг начали торчать объективно неудовлетворённые зависимости включённых модулей на то, что они бы хотели использовать, но что не вошло в пакет (а рекурсивно там бы пол-CPAN попало, поди). Не в последнюю очередь по этой причине у нас и выбрана более тонкая нарезка и обычно весьма неодобрительно смотрят на поползновения к навьючиванию лишнего дополнительного на базовое. О пользователях заботиться стоит, но если кормить ребёнка с ложечки всю жизнь -- он попросту не повзрослеет. Тут скорее про разумную, а не случайную, возможность отыскать/получить ответы на свои вопросы. PPS: с документацией на вики, как и любой другой, основная проблема -- доступность: мы же идём читать документацию не когда было бы надо, а когда совсем ничего уже не работает ;-] Можно предложить в %post пакета rust проверку наличия rust-cargo и echo "** you might also need rust-cargo", но кого-то возмутит лишний спам в логах, особенно если rust-cargo и будет установлен следующей же строкой; если сделать проверку на tty (test -t) -- пропадёт и в synaptic (а вдумчивая проверка с учётом всего этого потянет на небольшой отдельный пакет, чтоб не дублировать потом). (Ответ для Michael Shigorin на комментарий #13) > Поэтому предлагаю по данной баге, помимо уже сделанного, судя по comment 12: > 1) создать на вики страничку http://altlinux.org/rust с рекомендациями и > ссылками; > 2) аналогично и http://altlinux.org/python > > Если займётесь -- сообщите затем и сюда, почитаем; такие вещи обычно хорошо > получаются, когда человек со свежим синяком пишет ровно то, чего ему самому > не хватило, а те, у кого свои такие же синяки уже давно зажили -- приходят и > смотрят, что поправить/дополнить. Так как у меня таких синяков нет, Garrett, предлагаю вам этим заняться. Спасибо за предложение, попробую сделать, только чуть позже. Немного занят... |