LINUX.ORG.RU
ФорумTalks

пользователям source-based дистрибутивов

 , , source-based, src


1

1

мне вот интересно, а как вы боретесь (если боретесь вообще) с идиотскими зависимостями для сборки софта? пихаете все это непотребство в систему? отказываетесь от использования в принципе? используете бинарные сборки от разработчика? еще какие варианты?

nb: надо бы из этого опрос залудить, но лениво

★★★★★

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

В единственно нормальном source-based дистрибутиве NixOS нет таких проблем.

В остальных приходится костылять. В LFS я собираю по возможности в виде flatpak пакета, зависимости для сборки, например rust при этом ставятся как расширение flatpak SDK и потом удаляются.

James_Holden ★★★
()
  • пихаете все это непотребство в систему
  • используете бинарные сборки
  • еще какие варианты
vvn_black ★★★★★
()

пихаете все это непотребство в систему?

да

отказываетесь от использования в принципе?

да

используете бинарные сборки от разработчика?

не только от разработчика

еще какие варианты?

да

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

В единственно нормальном source-based дистрибутиве NixOS нет таких проблем.

такие проблемы есть везде. если, к примеру, тебе для сборки огнелиса нужен руст, который хрен оторвешь, то ты или руст вынужден в систему пхать, или бинарь мозилкин использовать или отказаться от огнелиса вообще. поправь, если ошибаюсь, и возможны иные варианты

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

не только от разработчика

блин, ты меня переплюнул…

ananas ★★★★★
() автор топика
pkg_add package

TL;DR: использую готовые бинарные пакеты. Из портов компилил последний раз лет 15 назад.

beastie ★★★★★
()

песочницы начиная с /opt и даже /home/$username помогут мсье независимо от его дистропредпочтений :)

slackwarrior ★★★★★
()

с идиотскими зависимостями для сборки софта??

что это?

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

то ты или руст вынужден в систему пхать

Если тебе что-то надо «пихнуть» для сборки и потом оно гарантированно и чисто после сборки удалиться - это не проблема. Если же это что-то должно остаться в системе и после сборки, просто для работы собранного - вот это проблема.

С flatpak или nix мне руст нужен только для сборки. Потом он в системе зачем? После сборки он сносится в NixOS при чистке мусора вообще автоматом - он не рантайм зависимость, а с flatpak сносится вручную.

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

который хрен оторвешь

Вообще вот сочетание этих трех слов - это моргающий индикатор того, что @t184256 называет «импотентный пакетный менеджер».

Нормальный пакетный менеджер должен мочь оторвать что угодно. Даже руки (и отстрелить ноги).

James_Holden ★★★
()

У меня свежий source-based опыт был со созданием среды разработки на маке, которая бы не сжирала все ресурсы. Кастомная инсталляция Homebrew, которая вынудила меня попересобирать много пакетов (из-за того, что префикс другой).

Непотребства было много, хотя бы потому, что мне там нужен был ansible, а он в более новых версиях почему-то хочет rust. А из-за того, что префикс кастомный, то и rust надо было пересобирать.

К данной проблеме отношусь так, что это дух времени. Ну, мне много чего не нравится, но в одиночку я революцию не сделаю. Пойдешь на HackersNews, там каждую неделю какой-то манифест о том, как все плохо, все сочувствующе кивают головами, и никто ничего не делает.

Возможно, когда-то программистов за такое расточительство и головотяпство в построении деревьев зависимости начнут карать. А сейчас никаких стимулов думать об этом нет, вот всем и похер.

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

Проблема - это когда ненужное для работы не нужно, но при автоматизации сборок новых версий нужного у тебя /usr/local оказывается загаженым как ни один общественный дальняк

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

Ага, покажи мне пакетный менеджер, который вправляет гемморой разработчикам за необоснованные зависимости

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

/usr/local

Это и есть общественный дальняк. Зачем вообще так делать?

Ага, покажи мне пакетный менеджер, который вправляет гемморой разработчикам за необоснованные зависимости

Я не понимаю какую практическую проблему ты пытаешься решить. У тебя сервер для CI? Или что?

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

Если тебе что-то надо «пихнуть» для сборки и потом оно гарантированно и чисто после сборки удалиться - это не проблема

Это проблема. Ведь собирать надо не один раз, а каждый раз, когда пакет обновляется. И сборочные зависимости тоже нужно собирать. Ты хоть раз видел, сколько компиляется раст или шланг?

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

Так он и должен оставаться в системе, если предполагается обновление Firefox, не удалять же его и ставить перед каждым обновлением.

AbbaT
()

AUR(точнее автоматизаторы работы с ним) умеет доставлять зависимости и подтирать потом, для iosevka нужны nodejs и jvm! Rust годно и нужно, ждем gccrs.

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

Свой дистр

На базе LFS делаешь? Лично я не вижу смысла сейчас делать дистры без контейнеризации всего, по принципу /usr/local. Будет свалка.

Нужна сборка в контейнерах.

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

Каждый решает для себя - всё устраивает в сборке программы от дистростроителя, используй бинарник, не устраивает - собирай из сорцов для себя, но тяни ещё зависимости для сборки (которые могут быть так же бинарными).

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

а каждый раз, когда пакет обновляется

Ну скачается все опять, интернеты нынче жирные. А у кого не жирные - у тех винты жирные.

И сборочные зависимости тоже нужно собирать

В генте - нужно. В нормальном source based (NixOS) не нужно. Ну так зачем мучиться с гентой?

хоть раз видел, сколько компиляется раст или шланг?

Не представляю зачем мне его собирать, даже в source based дистрибутиве.

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

не удалять же его и ставить перед каждым обновлением

Почему нет, если это «засоряет систему»?

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

но тяни ещё зависимости для сборки (которые могут быть так же бинарными)

Вот именно. Их совсем не обязательно собирать.

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

Сразу видно прожженого слакварщика.

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

Увидел твой ответ позже, как написал комментарий, в общем как в Calculate Linux, можно пользовать бинарные пакеты и сборки из сорцов.

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

в нём так же можно использовать вперемешку бинарные\сорцовые пакеты?

Если упрощенно в терминах обычных дистров описывать, то пакеты сорцовые, но если ничего в сборке пакета не менять - он ставится из кеша как бинарный. Если становится надо - соберется у тебя на машине.

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

Да, получается как в кальке, удобно в этом плане.

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

В единственно нормальном source-based дистрибутиве NixOS нет таких проблем.

Там реализовали установку build-зависимостей в tmpfs?

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

Ну вообще в gentoo можно так же при желании. Надо только какой нибудь бинарный репозиторий подключить, например от кальки. Но это только при условии совпадения USE-флагов у бинарного пакета и в системе, что не всегда возможно.

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

ты ошибаешься, возможна NixOS (где нет понятия «пихать в систему» и билддепы ни с чем не интерферируют)

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

Собирать в tmpfs и так все умеют.

При установке из исходников приходится либо оставлять build-зависимости в системе мёртвым грузом, либо лишний раз насиловать SSD, устанавливая их каждый раз.

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

Там нет «в системе». Как и любой софт в NixOS они лежат так, что никому не мешают, пока однажды гарбадж-коллектор их не соберёт.

t184256 ★★★★★
()

ИМХО в общем случае не хватает ещё варианта «собираете на отдельном хосте».

t184256 ★★★★★
()

Мой личный ответ: NixOS, никак не борюсь, билдхост с диском АЖ 250ГБ собирает мне будущую систему заранее, сборщик мусора сам подметает, а понятие «мусор в системе» невозможно по построению.

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

Как и любой софт в NixOS они лежат так, что никому не мешают, пока однажды гарбадж-коллектор их не соберёт.

Я сейчас не про эту проблему вообще. Лежат на том же диске, что и все остальные пакеты — значит, уже в системе. А нужно чтобы они в tmpfs ставились.

sudopacman ★★★★★
()

Ну например polkit завожу старый в систему чтобы spidermonkey не собирать.
Где-то приходится править в ебилдах зависимости. В самих исходниках обычно лишняя фигня отключается

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

Лежат на том же диске, что и все остальные пакеты — значит, уже в системе.

Нет. Напрягись и услышь это.

А нужно чтобы они в tmpfs ставились.

Лол, штоб у меня на каждом нетбуке было сто гигов tmpfs под билддепы. И все терпение мира, чтобы после перезагрузки их заново перекачать.

Выдыхай, бобёр, ты хочешь как минимум непрактичного.

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

Зачем ставить что-то в tmpfs, чтоб после перезагрузки их опять собирать?

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