Pull to refresh

Comments 175

Конечному пользователю нужна гибкость в плане функционального интерфейса. И только. Пользователь за эту возможность готов даже ожидание, пока пакеты соберутся из исходных текстов.

Неа, пользователю нужно работать, играть, лазить в интернетах, стабильная работа на серверах, наличие большого числа готовых решений по траблшутингу. И только. Ускорение на 10-15% никому не нужно, особенно если за это нужно будет платить самостоятельной долговременной сборкой вместо апт-гет инсталл за 2 минуты.


btw, форматирование очень странное

1. пользователям операционной системы необходимо удовлетворять свои потребности. Каждому свои. Эта фраза на необходимом уровне абстракции

2. ускорение ДО 10-15% возможна и в случае использования бинарного кеша. Пакет, который собран на одной рабочей станции, будет работать столько же быстро и на другой рабочей станции, у которой аналогичный набор CFLAGS
не очень понимаю, за счет чего будет это ускорение, если процессор — generic.
А отключить неиспользуемые возможности зачастую можно в конфигах.

ну, есть всякие PGO/LTO, вот это вот всё.
Но лучше без них (переносимость бинарников между машинами лучше)


// а вообще, автор имел в виду, что бинарные хосты прекрасно могут быть и под не-generic march/mtune/cflags

У меня установлена kubuntu и gentoo на одном хосте. Могу с уверенностью утверждать — gentoo существенно быстрее. И грузится тоже быстрее.
какой профайл генту используется?

Комптлю с флагом native.

В *buntu слишком много всякой ненужности запихано в систему из коробки. А вот сравнивали-бы с каким-нить условным арчем или даже минтом, то скорость работы была-бы ± одинаковой.
Подписываюсь: быстрее, заметно.

История. У меня Gentoo установлена на 3 компьютерах: моем домашнем десктопе, ноутбуке для жены, ноутбуке отца. Ноутбуки слабые, регулярно их не обновляю. Но раз лет в 5-7 приходится, ибо браузеры сильно протухают. Однажды решил, что сделаю-ка я одинаковые настройки на всех компьютерах, чтобы упростить установку (можно просто скопировать скомпилированную систему), да и обновления в виде бинарных пакетов перенести. Сделал такой профайл, накатил на ноутбук отца. Сразу поступил отзыв, от на самом деле не привередливого пользователя: работает медленнее.

Переустанавливать времени нет, вот докупил памяти, SSD, чтобы хоть как-то компенсировать.
Так ведь автор акцентирует внимание на выборе зависимостей пакетов с помощью USE-флагов, а не на оптимизациях как таковых при сборке из исходников. Хоть и результат обоих пунктов приводит к ускорению работы ОС в целом.
На самом деле это только часть подхода Gentoo. Ведь есть всякие firefox-bin, libreoffice-bin и ещё несколько, но ведь не все поголовно ставят их. Я бы поставил только в случае слабого компьютера, для bootstrap (icedtea-bin или rust-bin) или для проверки какого-то бага.
Я акцентирую внимание на том, что технически возможно создать бинарный кеш для пакетов и с GENERIC CFLAGS и не с GENERIC CFLAGS. Первый вариант более простой, но даже его хватило бы для того, чтобы Gentoo была топовым дистрибутивом, а второй вариант — более сложный. Но со вторым вариантом мы бы все имели более быстрый бинарный дистрибутив, чем любой бинарный дистрибутив, который присутствует на текущий момент

И единственное, почему мы еще не видим этого — отсутствие желания у управленческого состава дистрибутива Gentoo
Вы по сути хотите превратить один из немногих успешных source-based дистрибутивов в ещё один из десятков binary-based. Ведь бинхост, собранный с генерик флагами вообще ничем не будет отличаться от репозитория любого другого дистра, той же убунты.
Кстати, такая возможность в генте уже есть — вы можете поднять собственный бинхост и ни разу не собрать ничего из исходников, ну разве что генкернел.
Единственная причина, почему этого не сделано — не в упёртости мейнтейнеров генты а в том, что никому нафиг не упёрлось за свой счёт обеспечивать удобство другим. И ещё потому, что в генту приходят именно за сборкой из исходников.

Ну, кто за чем приходит. Я приходил за системой, оптимизированной под моё железо. Ушёл как раз потому что надоело каждый раз ждать сборки

А зачем ее ждать? При обновлениях это неважно, а новый софт… Вы его так часто ставите?

ну, пересборка мира иногда привносит проблем.
Где-нибудь в середине процесса что-нибудь сломается — и вот уже и система (по крайней мере ее графическая часть) не работает, а пересобирать еще часов 5.

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


Создать бинарную генту невозможно на сегодняшний момент.
Например у ffmpeg около 120 use-флагов. Количество возможных вариантов сборок 2^120. Вещества в солнечной системе не хватит что бы сохранить бинарные сборки для ffmpeg.

С одной стороны я забыл про -march/-mtune, с другой подумал

Ускорение на 10-15% никому не нужно
— относилось как раз к оптимизациям -O2/-O3/lto/graphite/openmp. Возможно стоит указать, что речь в статье как раз о march/mtune.
Вот есть несколько бенчмарков, где сравнивались разные флаги march (и O2/O3, но не о них сейчас):

Заметный прирост есть только для научных пакетов. Для пакетов обработки видео/звука прирост очень мал, а для остальных не заметен вовсе. Согласен, что можно было бы сделать несколько наборов, на пример: mmx; mmx+sse+sse2; sse+sse2+sse3+ssse3+sse4_1+sse4_2; все предыдущие sse*+avx/avx2/avx512, но ведь разницы между двумя или тремя последними практически нет. Всё зависит от того, насколько хорошо компилятор может сам использовать эти инструкции (для zen использование avx может наоборот уменьшить производительность, такая же беда у avx512 в intel). Это похоже на разницу между O2 и O3, где к тому же можно ещё и проблем огрести. Для большинства пакетов её нет, а для тех где есть авторы пакетов и так советуют собирать с этими флагами.


Лично мне больше всего нравится в gentoo это как раз USE-флаги. А к возможности собирать с march/mtune я, наверно, просто привык уже и не обращал внимания.
Ещё хотел бы упомянуть, что в gentoo настолько хорош и гибок portage, что даже не сильно разбираясь можно откатывать или изменять правки в пакетах от мэйнтейнеров. На пример, совсем недавно в зависимость llvm добавили sphinx для сборки man страниц: bug. В двух chroot, которые я использую для steam и wine пришлось бы тянуть несколько десятков зависимостей только для сборки этих мануалов, хотя в этих chroot у меня стоит FEATURES="noman nodoc noinfo". Т.е. ну вот вообще бесполезно собирать man-страницы. Откатить на старое поведение можно несколькими способами даже без правки ebuild.

GENERIC CFLAGS

Так есть уже. Называется Calculate Linux.

там не все пакеты, увы.
И не под все архитектуры...

Ускорение на 10-15% никому не нужно

Да ладно.
Это нужно почти всем. Просто стандартные дистрибутивы работают не медленнее на большинстве серверов, и редко когда сборка из исходников дает такой прирост.
Иначе на всех датацентрах была бы гента
Скорее 10% прироста производительности, которые будут заметны только на некоторых задачах, не перевешивают возросших затрат на обслуживание.
В крупных датацентрах автоматизируется почти все, и выделить десяток-другой сотрудников, чтобы они подготовили возможность разворачивания Генту для пользователей — не проблема.
Тот же AWS — найти на каких задачах получаешь 10% прироста, и подготовить для этих задач генту — окупится очень быстро.

Спорные доводы против gentoo.
Да — она более сложна, чем ubuntu.
Да — она требует времени и понимания.
Но при этом — нет. Она не сложная. Есть удобные руководства.
Капля личного опыта:
Десктоп.
Долго юзал ubuntu. Ушел из за snap.
Пошел в debian. Хорошо, стабильно. Шаг в сторону — и уже проблемы. Пакеты старые, wine без бубна не ставится.
Думал, куда уйти.
Цель — быстрая ос с свежими пакетами без мусора.
В ходе тестов на вм выйграла gentoo — быстрая, гибкая, куча манов, хорошее комьюнити (есть даже чат в телеге), пакеты свежие. Все, что нужно для жизни в репозиториях есть. В официальных, а не как у centos7. Все — это включая chrome, которого в том же debian нет. Ну разве это не прекрасно?
Делал сравнение по хламу в ос, сравнивал потребление оперативы до установки софта.
Ubuntu/Debian — 400-600 мегабайт в зависимости от установки.
Gentoo с установленным sysklogsd — 80 мегабайт.
Так чем gentoo в том виде, что она есть плоха?

Ваш вопрос можно разделить на несколько частей:

1. gentoo более быстрая, чем ubuntu/другой бинарный дистрибутив

2. хорошая документация

3. хорошее комьюнити

4. свежие пакеты

5. Так чем gentoo в том виде, что она есть плоха?

— 1. да, она более быстрая, т.к пакеты собраны не с GENERIC CFLAGS, а с набором флагов, которые поддерживает текущий CPU. Не вижу тут вопроса

2. да, это хорошо, что есть хорошая документация. Так и должно быть

3. да, это хорошо, что есть хорошее комьюнити Так и должно быть. Но хорошее комьюнити не решает глобальных проблем в Gentoo. Никто из комьюнити, окроме мейнтейнеров пакетов, не починит ebuild

4. У Gentoo, так же как и у других дистрибутивов, есть три ветки: стабильная, тестинг(~x86\~amd64) и анстейбл(mask). Некоторые будут возмущаться, что это не так. Но это так, как бы эта формулировка кому не нравилась. Суть именно такая. Хоть как ее не назови. Свежесть пакетов в стейбл ветке такая же, как и у debian. Бывает даже так, что в debian stable версия пакета выше, чем в Gentoo stable. Но как только Gentoo'шникам говоришь это, они выдают контраргумент: всегда можно поставить пакет из ~x86\~amd64. Можно, при этом в Gentoo это можно сделать без потери работоспособности системы, как это часто происходит в бинарных дистрибутивах(к примеру debian). Поэтому в бинарных дистрибутивах есть первое и самое главное правило: не смешивать ветки. Имеено поэтому есть debian-backports, в котором собраны пакеты более свежих версий, но с текущим «toolchain» и библиотеками.

5. Недостатки
1. rolling-release в каждый момент времени проигрывает в стабильности. При этом в бинарных дистрибутивах это баги на стадии работы приложений, а у gentoo — это и на стадии работы приложений и на стадии получения бинарника. Т.е мало того, что в самом приложении может быть баг, но ты можешь(и очень часто) не можешь даже собрать этот самый бинарник, чтобы он хоть как-то работал

2. время ожидания работоспособной системы.

3. невозможность автоматизации

4. трудозатратная поддержка в рабочем состоянии
Выигрыш в производительности за счёт тюнинга CFLAGS на самом деле мизерный, особенно в архитектуре x86_64. Уже не влияет это так сильно, как раньше. Больше влияет профиль и набор USE флагов, т.к. от этого зависит memory footprint того, что загружается и количество зависимостей у бинарников и библиотек.
Никто из комьюнити, окроме мейнтейнеров пакетов, не починит ebuild
Это ещё почему??? Можете починить ебилд и отправить его мейнтейнеру. Вам ещё и спасибо скажут.
1. rolling-release в каждый момент времени проигрывает в стабильности.
в стабильной ветке — нет, не проигрывает.
невозможность автоматизации
автоматизации чего?

Думал, куда уйти.
Цель — быстрая ос с свежими пакетами без мусора.
В ходе тестов на вм выйграла gentoo — быстрая, гибкая, куча манов, хорошее комьюнити (есть даже чат в телеге), пакеты свежие. Все, что нужно для жизни в репозиториях есть. В официальных, а не как у centos7.

Не холивара ради, думаю — куда перейти с fedora.
На тестах Вы пробовали Arch? Если да, можете сказать пару слов о ней? ( хочется максимально кастомизируемую систему с хорошей вики, но собирать всё вручную не улыбается, пусть лучше скушает лишние 200 МБ памяти )
собирать всё вручную
Что имеется в виду?
Собирать из исходников не придётся.
Собирать систему по компонентам — да, но можно воспользоваться одним из дистров с простой установкой, например, Antergos, а потом вычистить всё, что ставилось из его репозитория. Можно сделать свой установщик, но я такой способ не пробовал.
У arch, отличная вики, по install guide устанавливает, занимает минут 15-20, ставите понравившуюся DE, а дальше все как у всех, если не нравится консоль, устанавливаете pamac из AUR.
Попробуйте установить манджару инсталлятором Architect. Вполне себе неплохой конструктор, особенно учитывая наличие кастомного режима установки.

в арче тоже придётся собирать. В базовой системе (для которой есть бинарники) — что называется "хрен да нихрена".
А всё остальное — в ауре, откуда надо собирать.
Более того, в основном дистрибутиве нет НИ ОДНОГО менеджера AUR'а. Все поголовно нужно ставить через "make && make install" (или функциональные аналоги), что, к примеру, лично меня, очень сильно отталкивает от арча.
Мне религия не позволяет ставить что-то в обход пакетного менеджера.
// а ещё в арче бывает очень смешно когда выходит новый релиз ffmpeg, а у тебя стоит mpv собранный из аура. И он просто молча перестаёт работать.
Потому что инсталлятору бинарных пакетов из основной системы похрену пообще что у вас там из аура стоит, какал он на это с высокой крыши. Поэтому он не будет даже временно придерживать старые библиотеки (как это делает gentoo) до момента, когда вы пересоберёте mpv с новыми библиотеками.

Все поголовно нужно ставить через «make && make install» (или функциональные аналоги), что, к примеру, лично меня, очень сильно отталкивает от арча.
Мне религия не позволяет ставить что-то в обход пакетного менеджера.

makepkg -i собирает пакет и устанавливает его как пакетный менеджер. Это написано в вики.

специально для арчеводов:


или функциональые аналоги.

Для ещё более непонятливых:
глобально "git clone && cmake . && cmake install", "wget && ./configure && make && make install" и "makepkg --install" друг от друга ничем не отличаются. Потому что внутри делают ровно одно и то же: СТАВЯТ ПАКЕТ В ОБХОД СИСТЕМНОГОПАКЕТНОГО МЕНЕДЖЕРАименно на это я обращал внимание). Нет никакой разницы сколько буковок набрать. Разница есть в том, что я ставлю пакет не из официального репозитория и этот пакет не учитывается в локальном кеше установленных пакетов системным пакетным менеджером (он о нём не знает). Следовательно, в системе появляются неучтённые файлы-сироты, даже о конфликтах с которыми системный пакетный менеджер знать не будет.


А это ничем не отличется от того, как если бы я сделал то же самое на слаке или LFS.


В общем, рядом с гентушными оверлеями — даже рядом по удобству не лежало.

Кстати в копилу доводов о том, почему не arch

Typical Archlinux

зато у арча вики хорошая, за это мы (пользователи других дистрибутивов) его и любим )

ну, у Gentoo вики не на много-то и хуже :)
Некоторых статей, которые есть на арчевики там нет. Но есть и диаметрально обратны примеры :).

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


BTW, в последнее время гугл часто ставит сайты с кривым русским переводом статей с SO выше оригинала, бесит.

Вопрос в том что у тебя с каталогом /var/cache/pacman/pkg и фактом того лежит ли он в одном разделе с / или на своём, отдельном разделе… который у тебя может и не примонтирован вовсе. ;-)

лежит на том же разделе (надо было на него df натравливать, да). Соответственно, примонтированным быть и не надо.

Я на всякий случай спросил. Потому что по всем признакам либо не примонтирован раздел с каталогом кеша, либо сам каталог с кешем отсутствует как класс. Я, у себя. такого цирка нигде и ни разу не наблюдал…

с каталогом тоже всё в порядке :) И с правами :)
Дело всего лишь в том, что packman слишком "умный" (на самом деле, как обычно, оказывается, что "нет").
Именно поэтому философия Gentoo и заключается в "не пытаться быть умнее пользователя" (чем страдают и арч, и дебиан, и остальные).

Вот интересно, почему у меня собранные makepkg самомосборные пакеты, находятся под контролем пакетного менеджера, а у тебя, отчего-то, нет? image Вот, пожалуйста. Собирал сам. PKGBUILD делал сам. Ты не путай сборку через мэйк и сборку, через makepkg, который запускает мэйк, собирает пакет, после компиляции, и устанавливает его в систему штатно, пакетным менеджером.

окей, уговорил.
1) тогда почему потом возникают описанные ранее проблемы, как в случае с ffmpeg и mpv?
2) ну ладно, аналогом makepkg значит будут ebuild, dpkg, rpm и иже с ними. Уже, конечно лучше (если бы не пункт 1), но всё равно до удобства gentoo — далеко.
Это как если бы layman (раньше) или eselect-repository (сейчас) находились бы только в виде ebuild'а где-то на рандомном сайте в интернете, и не были добавлены в официальный репозиторий.
Пришлось бы руками качать и ebuild <pkg> package qmerge clean.
И то, даже в этом случае можно было бы положить в локальный оверлей и всё равно поставить emerge'ем.
А поставить какой-нибудь yaourt или что там нынче ещё моднее через packman (вот просто через pacman, без ручного makepkg) — вообще никак.
Всё равно приходится частично работать паетным менеджером самому.

1. Не знаю. Смотри в /var/log/pacman.log
2. В арче AUR считается вещью сильно опциональной. И КМК отсутствие морды к АУР в офф репах, это такой примитивный вид защиты от дурака. Типа если ты осилил поставить морду к АУР, значит ты действительно знаешь что ты делаешь.
В той-же манджаре ауровская морда идёт из коробки, сразу после установки. И лежит в манджаровских репах, да ещё в разных вариациях. А вообще в манджаре сейчас стандарт pacman + yay.

Как разработчик Gentoo (пруф на https://gentoo.org/inside-gentoo/developers/ ) могу сказать следующее:


1) кто именно в статье именуется "управляющим составом" Gentoo?
Trustees, Council,…? Кто?
Тут как бы тоталитарная коррупционная демократия (так же известная в народе как "круговая порука") и Do-кратия (если хочешь что-то делать — делай, а не кудахтай. И да, тебя будут обливать говном (ака "справедливо критиковать и указывать на ошибки"). И если ты (речь не про автора, а про сферического недовольного девелопера) "особенная снежинка" (калька с английского термина, как мы между собой именуем девелоперов-недотрог, которые не способны выносить критику без устраивания публичных истерик), с особым видением мира, которую никто не понял (а в реальности — которая ничего и не сделала, кроме устраивания кучи срачей), то уж лучше дистрибутив загнётся от недостатка рабочих рук (настоящая проблема у Gentoo) без таких снежинок, нежели будет процветать наполненный ими по самую макушку (как это происходит сплошь и рядом).


2) На самом деле, идея официального бинарного кеша пакетов уже давно существует и даже делаются подвижки в её реализации.
Но все, кто берётся — рано или поздно по тем или иныс причинам перегорают (например, я, вот, слился потому что надо ЗАРАБАТЫВАТЬ ДЕНЬГИ, но я всё ещё поддерживаю идею и имею кучу мыленных задумок по реализации тех или иных фич. Более того, уже сейчас (если донести до людей мысль, что Gentoo это не обязательно компиляция, и сидеть на generic-флагах — это нормально) вполне можно поднимать бинарные зеркала с разными наборами USE-флагов одновременно. Портаж это уже давно поддерживает.
Дело за напильником.
Ну и у меня ещё была задумка по платной (недорогой, просто чтобы отбивать аренду мощностей) сборке "на заказ" 9999 версий, а так же контента из оверлеев.
Но не нашлось достаточно желающих чтобы спонсировать это мероприятие :)

Крайне рад, что тут есть разработчики Gentoo :)
Управленческий состав — все те, кто принимают решение по дальнейшему развитию дистрибутива. Если у вас решения коллегиальные — то все девелоперы.

1. сейчас Gentoo далеко не мейнстрим. Она редкость. По тем самым причинам, которые я огласил. Отсутствие рук в Gentoo — как результат этого. Она не интересна не на серверах, не на десктопе. По тем же самым причинам. Уже в 2010 году стало ясно, что бинарный кеш нужен. За 10 лет можно было осилить? Скорей всего, этот процесс кто-то саботирует. Другого варианта лично у меня нет

2. Есть виденье мира «особенных снежинок», а есть объективная реальность. И в объективной реальности Gentoo, в таком виде, в котором она есть сейчас, — мало кому интересна

3. Свои бинарные зеркала — это совершенно другая история, отношения к бинарным кешам никакого не имеет

Что за, извините, паранойя? Какой саботаж, если вам открытым текстом говорят, что просто нет времени и/или денег? Или вы тоже саботажник, раз за 10 лет не сделали?

Если не делается ключевой функционал 10 лет, от которого зависит популярность дистрибутива — это чистой воды саботаж

Ну так возьмите и сделайте, кто вам запрещает?

Для опенсорса — вполне. Там же везде принцип "что-то не нравится — сделай сам и донести до апстрима". Если никто не делает — значит всех, кто пользуется продуктом и развивает его всё устраивает, и статьи "вы неправильно живёте!", "у вас отсутствует ключевая функциональность!" никого ни в чём не переубедят.

Формально есть ещё вариант: "многим не нравится, но они не умею сделать так, чтобы нравилось"

То есть вы саботажник — ведь это вы за 10 лет не сделали ключевой функционал?

Если за >10 лет не нашлось никого, кто хоть в каком-то виде реализовал бы этот ключевой функционал, то, может, не такой уж он и ключевой? По крайней мере, в понимании комьюнити. У меня Gentoo стоит на ноутбуке (c ~amd64) и никогда никаких проблем не было. Из бинарных ставлю только firefox-bin и vscodium, т.к. они обновляются довольно часто, а собираются долго.
Отсутствие рук в Gentoo — как результат этого.

Наоборот, это — причина
а когда вообще gentoo был мейнстримом? С 2009 года с этим дистрибутивом — и никогда не было желания рекомендовать его всем подряд. Потому, что банально не справятся. Да и не всем нужно этим заниматься.
И сам на сервера его никогда не ставил.
> «особенная снежинка» (калька с английского термина, как мы между собой именуем девелоперов-недотрог, которые не способны выносить критику без устраивания публичных истерик)

А как это звучит на английском? (я нагуглил, мне кажется, но из-за малости количества ответов хочется проверить)

Есть у меня один старый ноутбук, которому не очень нравятся последние убунты и современные операционки в принципе. Основная проблема в том, что у неё видеокарта via, у которой не определяется разрешение нигде кроме стандартных драйверов, которые уже давно перестали включать в репозитории. Из тех, кому повезло — PuppyLinux, Linux Lite (vboxguestadditions), Manjaro (openchrome) и ещё пару дистрибутивов с viafb. Вот эксперименту ради решил попробовать Gentoo, даже логировал процесс установки у себя в мастодонте. Сложно? В первый раз, да. Но документация там вполне себе хорошая, есть ответы на большую часть вопросов. Стало ли быстрее? Определённо. К тому же, я понял многие вещи, о которых не задумывался раньше. Долго ли ждать пока всё соберётся? Есть такое, особенно js-движки и браузеры. Так долго даже ядро не компилится. Но оно того стоит.


Я всё-таки соглашусь с тем, что каждый приходит к Gentoo по своим причинам, зачастую, по всем сразу

В целом — это очень замечательная история, но никакого отношения к содержанию поста не имеет. К сожелению, всё чаще из Gentoo уходят по своим причинам, зачастую, по всем сразу. И уходят по тем причинам, которые я огласил

Вас это волнует? А что вы сделали чтобы это исправить? Написали плохонькую статью? Так большинство разработчиков не умеют читать по-русски. Да и не статьи с поучениями им нужны, а ресурсы (рабочие руки, деньги, etc).

Можете предоставить результаты опроса ушедших разработчиков, или хотя бы подтвердить что вы сами ушли из Генту (как разработчик) по вышеуказанных причинам?
Один из разработчиков, которые тут были озвучили совершенно другую причину — нужно что-то кушать, а на Генту нет заработка

На самом деле, смотря что считать на Gentoo.
Да, gentoo-developer'ство — неоплачиваемая "работа".
Но! Gentoo вполне может использоваться в продакшне на серверах и даже суперкомпьютерах (см. alexxy на странице девелоперов: он работает в Питере, не помню в каком из институтов и рулит кластером суперкомпьютеров на Gentoo).
Это, конечно, не непосредственная добыча доходов от Gentoo, но некая связь, всё же имеется.


Из не-российских разработчиков есть девелоперы работающие в Google, Sony, Samsung, Intel и т.п. там — вообще всё весело (особенно с принадлежностью прав на их коммиты) :)

Только что поставил Gentoo. Поставил флаг vulkan в mpv. И? И он не собрался. Он не собирался и на момент написания этой "статьи". Если заморозить всю стабильную ветку и начать ее тестировать на банальную сборку в разных вариациях USE-флагов, то окажется, что там 1/3 ключевых пакетов банально не собирается. О каком проде может идти речь? А если учесть политику rolling release, то сорс бейсед + rolling — это как зло помноженное на зло. Этим на проде можно пользоваться в двух случаях:


  1. ты в это веришь
  2. твоя идеология — компилирование ради компилирования

не вижу связи между "не компилируется в определённых комбинациях" и "нельзя использовать на проде".


Перечисленные "случаи когда этим можно пользоваться на проде" — субъективные инсинуации и ничего более.

Очередная серия советов на тему «как завоевать мир» от того, кто сам никогда этим не занимался, тем, кому это не интересно.

А еще в какой-то момент Gentoo сильно проиграла в плане стабильности и появилось много проблем с циклическими зависимостями.
Потому, что USE флаги приводят к комбинаторному взрыву и невозможно учесть все их комбинации. Да и часто ради разбивания цельного пакета на части типа qtbase писались лютые костыли.
В итоге все это привело к тому, что дистрибутив стал минным полем.

Тестирования держится только на комьюнити, в результате можно получить нелепый баг в официальном ебилде. Или баг по цикличным зависимостям, который лечится только изменением USE флагов в какомто энном пакете из зависимостей. Конечно такой дист никогда не станет коммерческим и популярным. Времена когда дженту работала на нью-йорской бирже, ушли вместе с эпохой рейва :)
а еще кольцевые зависимости

Перешёл с Gentoo на Calculate Linux. Там есть бинарный кеш. Рекомендую это отразить в статье.

Gentoo превратилась из топового дистрибутива в аутсайдеры и тенденция удручающая. Еще с 2010 года этот дистрибутив стал не интересен и админам и девелоперам и простым юзерам. Все массово бежали в бинарные дистрибутивы. Аргументы в вопросе того, что бинарные кеши не были сделаны — на уровне хипстеров. Утверждаю, что при отсутствии бинарных кешей — Gentoo мертва. Сейчас де-факто, в течение следующих 5 лет — де-юре.

Я пользовался Gentoo с 2004 по 2010 год. Недавно попробовал заменить бинарный дистрибутив на Gentoo и понял, что мне надо работать, а не компилировать. С технической стороны вопрос бинарных кешей, включая USE-флаги и CFLAGS вполне решаемый. При желании. Но его у девелоперов и лиц, которые на этот вопрос могут повлиять, — нет. У меня есть предположение, что этот вопрос саботируется. Более 10 лет. Было бы не лишним внутри команды провести мини-расследование по этому вопросу. Полагаю, что некоторым лицам «заносят деньги», чтобы бинарных кешей не было. При наличие бинарных кешей был бы и интерес к этому дистрибутиву и пользователи и финансирование

PS: как вычислить тех, кому заносят деньги? Алгоритм:
1. создаем тему «бинарные кеши»
2. все, кто против этого или мешает решению этого вопроса — имеет личную заинтересованность в том, чтобы этот вопрос саботировать
UFO landed and left these words here
Полагаю, что некоторым лицам «заносят деньги», чтобы бинарных кешей не было.
А зачем? Кому и как именно отсутствие бинарных кэшей позволяет генерировать прибыль достаточную, чтобы иметь возможность оплачивать подобный саботаж?
Выражу свое мнение.

На мой взгляд Gentoo — это LFS (Linux from Scratch), в котором всю рутину автоматизировали. То есть сравнивать его с бинарными дистрибутивами просто некорректно: Gentoo — это конструктор, он не для того, чтобы по-быстрому установить и запустить браузер. Для конструктора важна максимальная гибкость в конфигурации. И без компиляции из исходников просто не обойтись.

USE флаги — это только часть возможностей. Компиляция из исходников позволяет собрать пакеты под конкретную архитектуру; и я говорю не только и не столько под флаги x86, а например, про ARM, MIPS. Как на счет альтернатив glibc? Патчи: у меня достаточно много user patches — что-то сам сделал, что-то откуда-то скачал; без компиляции патчи не применить никак.

Да, компиляцией под конкретное железо можно повысить производительность. Но не намного; если у вас мощное железо, и у вас десктоп, то вы этого просто не заметите. И на самом деле вопросом производительности нужно заниматься: это не просто выставить CFLAGS и задать USE флаги.

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

У вас мощное железо? У вас нет специфических архитектур? Вы уже в достаточной степени знаете Линукс или у вас есть более приоритетные задачи в жизни? Вам просто нужен десктоп? Тогда вам нужна не Gentoo. Выберите другой дистрибутив. Под каждую задачу — свой инструмент. Вы же не жалуетесь на экскаватор, дескать, много горючего потребляет, под мостом не проходит, а мне нужно просто добраться из дома на работу.

А какие задачи решает Gentoo?
И какие из этих задач решает лучше чем другие?

Два очень правильных вопроса

А какие задачи решает Gentoo?

Gentoo — source-based дистрибутив. И подходит он для соотв. задач — см. ниже.

И какие из этих задач решает лучше чем другие?

А альтернатив не так уж и много.
В отличии от LFS у Gentoo пакетный менеджер, системные утилиты, конфигурации и всё то, что позволяет использовать Gentoo как полноценный основной дистрибутив, даже для десктопа. LFS такого не позволяет.
Calculate — по сути бинарный вариант Gentoo; при том, как только мы хотим использовать фичи source-based дистрибутива, он превращается в Gentoo.
Не могу сказать, что хорошо знаю остальные source-based дистрибутивы, но знаю, что у Gentoo отличная документация (по опросам лучше только у Arch Linux), великолепный пакетный менеджер (единственный минус — медленный), много софта в репозитории. Ну, и Gentoo постоянно развивается.

Теперь что касается задач.

Сначала скажу в каких случаях Gentoo не подходит или не является оптимальным выбором:
— Для задач, которые не выставляют специальных требований к дистрибутиву.
— Для задач, для которых уже есть соотв. дистрибутив, и он вас устраивает.
— Пользователям, которые недостаточно хорошо знают Линукс, и не стремятся эти знания получить: такие пользователи просто не смогут установить Gentoo, а если таки установят, потом намучаются с ней.

Иными словами, если вас всё устраивает в Ubuntu, SuSe, Red Hat, и т. п., или если вы новичок, то Gentoo вам не нужна.

Когда Gentoo подходит.

1. Работа с исходным кодом на уровне дистрибутива. Представим, компанию, бизнес которой опирается на безопасность. Это может быть государственная организация, крупная финансовая структура и т. п. Притом требования безопасности настолько высоки, что в некоторых случаях требуются свежайшие версии софта (live в терминологии Gentoo), возможно — аудит кода (и компания имеет соотв. специалистов), в течении часов — применения патчей для закрытия 0-day уязвимостей, а может и создание этих патчей и т. п. Gentoo здесь будет хорошим выбором, так как source-based: из репозитория загружаются исходники, компиляция осуществляется локально (естественно, для компании — на соотв. серверах); при этом есть спец. средства для работы с патчами. Реальные примеры: Gentoo на Нью-Йоркской фондовой бирже и в Национальном агентстве кибербезопасности Франции (ANSSI).

2. Специфичная архитектура. Gentoo только поддерживает ARM, MIPS, HPPA, PowerPC, Sparc и др. Если жизнь вас столкнула с такой архитектурой, и под нее нет соотв. дистрибутива, или дистрибутив чем-то вас не устраивает (например, свежестью софта в репозиториях), то Gentoo может оказаться хорошим выбором.

3. Оптимизация под конкретное железо. Представим крупного cloud service provider или другую компанию, у которой одной из основных статей расходов является IT инфраструктура. Улучшение эффективности даже на несколько процентов может вылиться в миллионы долларов экономии. А максимальной оптимизации можно добиться только компилируя софт под конкретную платформу.

4. Оптимизация с целью минимального потребления ресурсов. Очень актуально в связи с популяризацией IoT и контейнеризации. Например, CoreOS (правда ее уже купил Red Hat).

5. Создание нового дистрибутива. На самом деле это покрывает сценарии описанные выше, но может включать и вообще любого рода конфигурации и кастомизации. В Gentoo есть механизмы профилей (что позволяет комбинировать общие настройки со специфичными для данного хоста); это в дополнение к средствам управления репозиториями, утилитам создания бинарных пакетов и т. п. Да, это умеют и другие дистрибутивы; но, в Gentoo можно выбрать нужные версии ПО (ибо rolling-release), скомпилировать под конкретную платформу, наложить свои патчи, избавиться от лишних зависимостей (ибо source-based). И то, что получилось, распространять как дистрибутив. Не только как публичный, но и как закрытый для внутреннего пользования для какой-то корпорации. Реальные примеры: Chrome OS, тот самый что Google устанавливает на Chromebook. Ну и другие; но понятно, что информация приватных дистрибутивах компаний не особо публикуется.

И от кровавого энтерпрайса перейдем к домашнему использованию Gentoo.

6. Обучение Линукс. По сценариям вверху можно понять на какого уровня специалистов рассчитан Gentoo. А поэтому там нет графических инсталляторов и красивых окошечек для домохозяек — только командная строка и текстовые конфиги. Установить Gentoo, настроить ее до комфортного состояния, а потом еще и пользоваться ей новичок не сможет. А если захочет, то придется разобраться в основных принципах и инструментах Linux: командная строка, работа с разделами жесткого диска, сборка ядра, и т. п. Я лично имею опыт обучения Linux человека по Gentoo handbook: и опыт успешный, потому как после теории человек сразу на практике видит, как это используется и зачем это нужно. Да и я сам, признаться, когда первый раз устанавливал Gentoo, много нового узнал. Дистрибутив с wizard-based инсталлятором и графическими конфигурационными утилитами такого ее даст. Кроме того, Gentoo ставит перед тобой вопросы, на которые нужно дать осмысленный ответ: systemd vs openrc, alsa vs pulseaudio, dhcpcd vs dhclient, syslog vs rsyslog vs syslog-ng и т. п.

7. Порядок в системе. Это очень субъективный сценарий, но есть люди, которые очень любят порядок в системе: ничего лишнего не установлено, автоматически ничего не запускается такого, чего явно не просили, система что-то меняет только с разрешения пользователя. И при этом всё максимально автоматизировано, всё делается в пару нажатий клавиш. Я знаю потому, что я сам к таким отношусь. Да, такое можно сделать на других дистрибутивах; просто в других дистрибутивах ты будешь вырезать то, что не нужно, а в Gentoo ты устанавливаешь только то, что нужно, что как по мне, проще и логичней. Мне нравится, что Gentoo дает выбор альтернатив софта (примеры выше). Мне очень нравится, как Gentoo работает с конфигами: если конфиг должен поменяться (а при обновлении софта такое может потребоваться), то пакетный менеджер кладет его рядом и просит пользователя посмотреть и принять изменения и перенести свои настройки; а я еще настроил авто-патчинг конфигов, так что теперь у меня конфиги обновляются автоматически и при этом не перетирают мои настройки. USE флаги отсекают лишние зависимости. Set'ы позволяют мне сделать сетап, который я тиражирую на несколько компьютеров, при этом легко добавляя индивидуальность где это нужно. Ну, и обновления запускаются в пару нажатий клавиш и, опять же, идут так, как мне нужно. Я в свое время перепробовал Red Hat, Slackware, Suse, но Gentoo мне показался наиболее простым, понятным, а еще система не думает, что она умнее меня и лучше знает, что мне нужно.

Наверное, некоторые пункты достойны холивора. Но всё-таки, надеюсь, я дал ответ на вопрос.
Выскажусь чуть со стороны — как давний пользователь и админ FreeBSD, у которой вот такая локальная ручная сборка очень долго была основным средством и сейчас продолжает быть возможной (и массово используемой).

1. Порог входа. Когда ты можешь поставить пусть немного неоптимальную реализацию, но чтобы она запустилась и дала первичный результат — это крайне важно. Я не знаю, насколько сейчас Gentoo ушла от установки в 3 команды, но такая длинная установка это лучшее средство отпугнуть почти всех.

2. Это касается и промежуточных апгрейдов. FreeBSD долго позволяла делать апгрейды основного дистрибутива или локальной сборкой, или накатыванием поверх внешним инсталлятором; устойчивое бинарное обновление появилось только около 2010-го (грубо), но стало действительно массово использоваться, и неудивительно. Если 90-99% компонент не требуют кастомной подточки, а только единицы процентов получают пользу от неё, то зачем локально пересобирать вообще всё?

3. Сами сборки наиболее тяжёлых компонент стали чудовищно тяжёлыми. Беру ту же FreeBSD и пересобираю firefox из исходников… сколько это займёт? Ну если у вас очень быстрая современная система — от полсуток до суток, потому что оно захочет по зависимостям новые версии: Rust, LLVM… На последней моей домашней фряхе это 4-5 суток. Если я на этой системе в основном просто браузю, почему бы не подтянуть Rust и LLVM бинарно? В результате так и делаю (а то и firefox вслед туда же).

4. Вот у меня, грубо говоря, /bin/bash. И 4 сервера, и на всех он разный. Какой из них гарантированно нехаченный? Да, это «серверный» вопрос, хотя похачить могут и локальный десктоп/лаптоп. Если я получаю бинарный пакет, у него есть твёрдый источник, копия rpm/deb/pkg/etc. на серверах, подписанные контрольные суммы и всё такое; и я могу просто сверить эту сумму и сделать вывод о целостности. Как я сделаю его для локальной компиляции? Ну да, где-то в пакетной базе лежат контрольные суммы; я ещё должен их бэкапить?
Если это мои пакеты, я сделаю сборочницу с репозиторием (это не так сложно, если знать принципы), один раз соберу и тоже расставлю пакеты.

5. USE-флаги, говорите. Да, у FreeBSD такая же система в портах: могут быть и десятки флагов, которые ставим в определённые значения, есть умолчания, есть возможность собирать всё по умолчанию. Насколько часто эти флаги крутятся? По опыту — таки всё реже и реже. Ну да, лень увеличивается — но она и в практике обычного затурканного админа с 100 инстансами в облаке будет выше облаков (невольный каламбур).

А есть ли явная польза? Как ни странно, есть одна от самого факта компиляции. Пересобрать локально даже GCC это нагрузка, которая выявляет проблемы памяти, шины и т.п. — так что у меня даже было правило «сервер вводится в строй только после 5-10 успешных таких пересборок по кругу».

Резюмируя. Чем реально можно было бы оживить дистрибутив с ориентацией на самосборку:

1. Работающая поставка с инсталлятором и апгрейдером на бинарных пакетах, уровня ну, навскидку, как у Ubuntu. Причём она должна нормально справляться с ситуацией типа «пакет XYZ был самосборным, а теперь ставим штатный» или «вот эта репа имеет предпочтение».

2. Набор готовых предкомпилированных вариантов под типовое железо, типа, как в начале 2000-х был выбор «вам i686 или i486?» Сейчас, например, это варианты для x86-64: 1) самое базовое, 2) SandyBridge, 3) CoffeeLake, 4) Athlon поколения 15h, 5) Ryzen 1. В каждом -march на базу и -mtune на медиану используемого железа (пересчитывать каждые 3 месяца).

3. Штатная метода создать свои пакеты — для бинарной установки, но собранные локально — с полной инфраструктурой для этого. В snap/докере, чтобы ставить, переносить и удалять одним пальцем. Простая понятная возможность брать заданные пакеты из такого источника. Сборщик не должен бояться загрязнить основную систему любыми экспериментами. Экспорт готового в виде сетевого репозитория.

4. И только тем, кому этого всего не хватает — полноценная локальная самосборка, причём не должна принципиально отличаться от пункта 3 кроме того, что не входим в промежуточный контейнер.

Только вот после этого всего вопрос принципа — чем результат будет отличаться от любого другого дистрибутива, где достаточно поставить rpmbuild/аналог? Только тем, что в редхате принято зашивать зависимости жёстко, а не проверять по конфигу или параметрам окружения?

Старое, но в тему: «pets vs. cattle» (единой ссылки уже нет, мем в массах).
Беру ту же FreeBSD и пересобираю firefox из исходников… сколько это займёт? Ну если у вас очень быстрая современная система — от полсуток до суток, потому что оно захочет по зависимостям новые версии: Rust, LLVM…
Мой далеко не самый мощный ноут на Pentium Silver N5000 собирает лису за 2 часа, буревестника ещё за 2 и раст и ллвм за столько же.
Как я сделаю его для локальной компиляции? Ну да, где-то в пакетной базе лежат контрольные суммы; я ещё должен их бэкапить?
А разве сам факт компиляции не даёт вам заведомо непохаченый образ? У которого точно также можно снять контрольную сумму и хранить где-нибудь, как и размеры из репозиториев.
Сейчас, например, это варианты для x86-64: 1) самое базовое, 2) SandyBridge, 3) CoffeeLake, 4) Athlon поколения 15h, 5) Ryzen 1. В каждом -march на базу и -mtune на медиану используемого железа (пересчитывать каждые 3 месяца).
А куда девать всякие там Bonnell и Skylake? Кстати, скомпилировав под одну «медиану» в них легко получить водопад invalid opcode в другой.
> Мой далеко не самый мощный ноут на Pentium Silver N5000 собирает лису за 2 часа, буревестника ещё за 2 и раст и ллвм за столько же.

Возможно, скорость диска тут больше влияет. У меня на этих установках классические HDD. Но в сумме даже по вашим цифрам получается 6 часов. Это дофига.

> А разве сам факт компиляции не даёт вам заведомо непохаченый образ? У которого точно также можно снять контрольную сумму и хранить где-нибудь, как и размеры из репозиториев.

Можно. Но это добавляет целую пачку админско-девопных проблем — о доверии этой конкретной точке, где собирается, что там нет какого-нибудь вируса Томпсона; о том, что надо инструмент для складывания этих сумм на другую доверенную систему с ручной проверкой корректности; и прочая и прочая.
В случае отдельной точки сборки вы саму эту точку защищаете по максимуму, и туда чужие не ходят даже случайным HTTP, а дальше плодите целевые системы, которые уже выполняют пользовательские запросы — и для которых даже нормально жёсткий запрет присутствия компилятора, binutils и прочего.

> А куда девать всякие там Bonnell и Skylake?

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

> Кстати, скомпилировав под одну «медиану» в них легко получить водопад invalid opcode в другой.

Безусловно. Именно поэтому много что сейчас компилируют так, что управляющий код скомпилирован под самый минимум, доступный на данной платформе, а критические пути имеют несколько вариантов поставки, выбираемых в рантайме в зависимости от свойств процессора — на механизмах типа такого. И это ещё дальше уменьшает смысл в компиляции под конкретное железо.
Это дофига.
Ну, если бы для меня это было дофига, я бы убунту поставил или винду. Но так как я не сижу за рабочим ноутом в режиме 24\7, то не вижу ничего страшного в том, что там раз в месяц что-нибудь соберётся-обновится пока я сплю. Тем более всегда можно загнать обновления в фон через nice\ionice и они будут вообще не заметны даже во время работы.
Можно. Но это добавляет целую пачку админско-девопных проблем
Я этим не занимался, но мне кажется, что если уж вы заморачиваетесь на контроль целостности на уровне бинарей, то количество проблем будет сравнимое, что при местной сборке, что при выделенном репозитории. ИМХО.
И это ещё дальше уменьшает смысл в компиляции под конкретное железо.
Даже без учёта наборов доп. инструкций, есть ещё всякие memory footprint, pic/не-pic, защиты стэка и всякие прочие канарейки, которое врядли можно унифицировать таким способом.
Сами сборки наиболее тяжёлых компонент стали чудовищно тяжёлыми.

поэтому можно поставить firefox-bin, openoffice-bin и google-chrome собранный от гугла.

Ядро — не так больно. Остаются компиляторы: clang + gcc. Тут да, к счастью они выходят не так часто.
Ну если у вас очень быстрая современная система — от полсуток до суток, потому что оно захочет по зависимостям новые версии: Rust, LLVM… На последней моей домашней фряхе это 4-5 суток. Если я на этой системе в основном просто браузю, почему бы не подтянуть Rust и LLVM бинарно? В результате так и делаю (а то и firefox вслед туда же).

У меня машина семилетней давности (а процессор вообще в 2011-м вышел, кажется), и


% qlop llvm | tail -1
2020-08-19T12:56:30 >>> sys-devel/llvm: 20′37″
% qlop clang | tail -1
2020-08-19T13:17:07 >>> sys-devel/clang: 26′33″
% qlop dev-lang/rust | tail -1
2020-08-20T13:23:03 >>> dev-lang/rust: 29′26″

Ладно, сколько раз приходилось пересобирать clang, учитывая, что долгое время я его держал из 9999 и пересобирал сам раз в месяц-два, чтобы подтянуть свежую версию из их гита?


% qlop clang | wc -l          
38

Всего 38 раз за 7 лет. По-моему, это ерунда. Учитывая, что ты просто запускаешь emerge, и оно дальше само занимается своими делами и есть не просит, так вообще.


Впрочем, лет 5 назад гента меня больше всего радовала тем, что там всё очень хорошо с хаскелем, но за 5 лет в хаскеле сильно поправили тулинг, и теперь поддержка со стороны дистрибутива не столь нужна. Основной аргумент теперь — я всё ещё более-менее понимаю, как она работает, и переучиваться на другие роллинг-дистры неохота. Плюс, всё же сборка на месте даёт больше свободы с точки зрения зависимостей — я держал четвёртые кеды, пока мог, только на прошлой неделе переехал с ядра 4.12.12 на какое-то там 5.4, не обновляю видеодрова и месу до перезапуска иксов, и так далее.

Ой, а можно без вот этих эволюций и коренных изменений в дистрибутиве обойтись? Для меня генту это просто рабочий инструмент, которым я пользуюсь уже 12 лет. Мне меньше всего хочется, что бы он стал совершенно другим в одночасье и я оказался без удобного инструмента. Если вам нужна бинарная гента, юзайте арч.
Да и проблема компиляций выглядит надуманно. Она не останавливала пользователей во времена одноядерных процессоров, почему сейчас вдруг кому-то стала мешать, когда за доступные деньги можно купить 12-ти ядерный Ryzen 3900X и наслаждаться сверхбыстрой компиляцией?

Вы что вообще без проблеска? Бинарные кэши — это вам не «вот эта пимпочка для удобства». Бинарные кэши — это:
1. это когда ты в чистую систему скопировал свой /etc/portage и выполнил emerge world и у тебя твоя готовая система через 15 минут со всеми твоими USE-флагами. Фантастика? Нет! Представляешь, это возможно.
2. это когда ты в оверлей положил патч и все зависимости пакета скачались из бинарного кеша, а сабжевый пакет увидел патч и понял, что он должен собраться локально. Собрался локально с наложением твоего патча
3. это когда можно дистрибутив использовать на серверах
4. это когда к дистрибутиву есть интерес
5. это когда в дистрибутив есть финансовые вливания
6. это когда есть бюджет, девелоперам дистрибутива не надо искать работу, чтобы зарабатывать деньги
7. это когда дистрибутив не умирает, а активно развивается
8. это когда наличие пакета в бинарном кеше говорит о том, что этот пакет собрался
9. это когда появляется прогнозируемость
10. это когда контекст переходит от вопросов «соберется» и «компилировать», к вопросам «работы»

Когда многими юзерами поднимался вопрос о бинарных кешах — девелоперы Gentoo вещали о том, что это невозможно. Когда nixos сделало это — риторика поменялась на «у нас нет рук, чтобы это сделать». Этим никто не занимался 10 лет. По факту. И вопрос почему. Скорей всего деньги заносят ключевым лицам, чтобы не было имплементации бинарных кешей

Многие разработчики opensource любят на любые предложения отвечать «сделай сам». Ведете себя как монополисты на рынке ПО. Это как приходишь на рынок, а там одна точка по продаже хлеба. Говоришь продавцу: ваш хлеб невкусный. Измените рецепт. Тебе говорят: сделай сам. Ты или делаешь сам или покупаешь невкусный хлеб. А в реальном мире ситуация такая, что точек с хлебом 50. Берешь и покупаешь хлеб там, где он сделан по рецепту. Не хотите менять рецепт? Окей, nixos/{some_distr} install. No проблемА. И гори неадекватная реакция вместе с дистрибутивом, который не хочет имплементировать крайне важный функционал — синим пламенем
А в реальном мире ситуация такая, что точек с хлебом 50. Берешь и покупаешь хлеб там, где он сделан по рецепту. Не хотите менять рецепт? Окей, nixos/{some_distr} install. No проблемА.

вот именно. и какой смысл в вашей статье?


всё же просто:


  • нравится — пользуетесь;
  • не нравится — не пользуетесь;
  • нравится, но есть недочёты — участвуете в разработке;
  • строчите PR, а их не принимают — форкаете.

Многие разработчики opensource любят на любые предложения отвечать «сделай сам»

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


и что мы слышим в ответ? недовольство, «как это — я, и работать?!?»


Скорей всего деньги заносят ключевым лицам, чтобы не было имплементации бинарных кешей

очередная теория заговора?

всё же просто:

    нравится — пользуетесь;
    не нравится — не пользуетесь;
    нравится, но есть недочёты — участвуете в разработке;
    строчите PR, а их не принимают — форкаете.

В реально мире еще проще


 Говоришь продавцу: ваш хлеб невкусный. Измените рецепт. Тебе говорят: сделай сам. Ты или делаешь сам или покупаешь невкусный хлеб. А в реальном мире ситуация такая, что точек с хлебом 50. Берешь и покупаешь хлеб там, где он сделан по рецепту. Не хотите менять рецепт? Окей, nixos/{some_distr} install. No проблемА. И гори неадекватная реакция вместе с дистрибутивом, который не хочет имплементировать крайне важный функционал — синим пламенем

очередная теория заговора?

Когда на кону сотни миллионов долларов, почему бы не занести пару миллионов ключевым лицам, чтобы сотни миллионов не попали в Gentoo в виде инвестиций? Где тут теория заговора? Тут коррупция в чистом виде

Когда на кону сотни миллионов долларов, почему бы не занести пару миллионов ключевым лицам, чтобы сотни миллионов не попали в Gentoo в виде инвестиций?

давайте с этого момента подробнее. откуда взялись сотни миллионов долларов, что за инвестиции в gentoo, и почему кому-то выгоднее занести в генту пару миллионов, а не оставить себе?

Инвестирование в дистрибутивы происходят при наличие заинтересованности со стороны компаний. Инвестиции достаточно существенны. Интерес к Gentoo отсутствует по причине тех пунктов, которые я не раз оглашал. Наличие бинарных кешей = рост интереса к этому дистрибутиву и рост инвестиций в этот дистрибутив. Инвестиции сейчас происходят в другие дистрибутивы. Поэтому со стороны управленческого состава, дистрибутивов, в которые производится вливание денежных средств, целесообразен вопрос имплементации бинарного кеша саботировать. Всеми доступными средствами, включая "занести денег тем, кто может на это повлиять"


и почему кому-то выгоднее занести в генту пару миллионов

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


Сами девелоперы Gentoo это подтверждают


2) На самом деле, идея официального бинарного кеша пакетов уже давно существует и даже делаются подвижки в её реализации.
Но все, кто берётся — рано или поздно по тем или иныс причинам перегорают (например, я, вот, слился потому что надо ЗАРАБАТЫВАТЬ ДЕНЬГИ, но я всё ещё поддерживаю идею и имею кучу мыленных задумок по реализации тех или иных фич

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

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

Не покажете, где получить, а потом и обналичить чек? :)
А то мне, оказывается, пару миллионов баксов занесли, а я тут как дурак сижу весь в кредитах по уши и хватаюсь за любую подработку, и думаю как бы семью прокормить.
Глупый я, долларовым миллионерам-то такое не с руки!


P.S. а если серьёзно — предлагаю процитировать другой параграф: про то, что у нас Do-кратия: что-то хочешь — делай. Можешь даже поискать сочувствующих/помощников/других заинтересованных.
А ныть в рассылках — любой может.


// в обычном опенсорсе кроме "хочешь — делай" есть ещё опция "не умеешь делать — заплати тому, кто умеет", но к генте это применимо в меньшей степени. Если платить кому-то со стороны — есть шанс, что PR не примут из-за качества кода. А платить "своим" (текущим девелоперам) — может оказаться "не по карману", т.к. их "основная работа", как правило, оплачивается довольно неплохо.

да, так-то, в качестве "бинарной генты" есть и Сабайон (даже калькулейт — менее бинарная).
Более того, сабайон, можно сказать, "убунта на основе генты".


Но и у него есть свои минусы, которые могут задолбать, если ты больше гентушник чем "мне надо работать" :)

В качестве бинарной Gentoo должна быть Gentoo, а не Calculate/%some_distr_name%. И да, пользователей у Calculate на текущий момент по-больше будет, чем у Gentoo


Появись у Gentoo бинарные кеши:
минус archlinux(который оттянул в свое время большую часть аудитории)
минус calculate
минус Сабайон
минус ubuntu
минус много дистрибутивов


По секрету, Gentoo бы подвинула debian и centos. Да так, что мало не показалось бы


После появления бинарных кешей логичным продолжением было бы декларативная конфигурация(эволюция make.conf) и фиксирование и откат состояний. Это еще минус nixos

Но ведь тогда получится NixOS. А зачем, если NixOS уже есть и работает?
В качестве бинарной Gentoo должна быть Gentoo, а не Calculate/%some_distr_name%

Почему?

И да, кстати, у Gentoo есть "спонсоры" (которые даже нанимают "карманных" Gentoo-девелоперов ради сопровождения нужных им пакетов). Если спонсоры, жертвующие железо.
И это довольно крупные компании.
И всем им нравится Gentoo в текущем виде.
Потому что у них нет никакой проблемы в том, чтобы создать локальную билдферму и на хостах-клиентах использовать бинарные пакеты.
Ровно как всё устраивает в Gentoo и те компании, которые так же имеют своб билд-ферму, но даже и не думают спонсировать.
А вот официальные бинхосты "для массового потребителя" — да, никтому (из имеющих на это деньги) не интересно вкладываться.
Технически же, как я уже сказал, для этого уже практически всё есть (ну, разве что пока не имплементирована логика "собирать локально если найдены user-патчи", но это вопрос созданного баг-репорта.


И таки если вам реально нужна бинарная Gentoo — юзайте Calculate/Sabayon. В чём проблема? Никому не жалко. Они точно так же пилятся (некоторыми) разработчиками Gentoo.
Как выше очень правильно заметили, Gentoo — это конструктор для сборки собственного дистрибутива, а не готовое изделие. Очень важно это понимать. Это — сама суть философии Gentoo.

Это — сама суть философии Gentoo

Конструктор этот легко может быть бинарным. Это технически возможно. А конструктор из сорсов интересен узкому кругу людей. Этот узкий круг людей и компаний не дают инвестиций в той мере, чтобы этот дистрибутив был популярным и массовым. И да, всё верно: при отсутствии бинарных кешей все, кому нужно работать размазываются по бинарным дистрибутивам, включая Calculate/Sabayon/Other. Хорошо ли это? Наверное хорошо. Правда не Gentoo


Потому что у них нет никакой проблемы в том, чтобы создать локальную билдферму и на хостах-клиентах использовать бинарные пакеты.

Не нужно в контекст бинарных кешей приплетать наличие возможности портажа создавать билдфермы. Это вообще не из той оперы

Никто не спорит что может быть.
Он и есть.
В нём поддержка бинпакетов имплементирована уже лет эдак, ну 15 точно. Более точно — лень высчитывать.
И хоть и немного меньше, но таки тоже есть — поддержка бинарников с разными USE-флагами (и выбора более подходящего под критерии юзера) на одном бинхосте.


На самом деле, в бОльшей степени проблема в том, что нет достаточного количества железа на сборку и хранение ВСЕХ возможных вариаций ВСЕХ пакетов, плюс у тех, кто в этом заинтересован (напомню, что у остальных есть свои бинарные зеркала) нет достаточного количества времени чтобы это полноценно автоматизировать (с отловом ошибок и т.п.).


Некогда был tinderbox (в каком-то виде его перевозродили), и на выходе после успешных сборок он выдавал готовые бинарные пакеты (собранные с дефолтным набором USE'ов).
Но потом его автор "перегорел", сказал что он мустанг и мухожук, и забросил.
Сейчас тиндербокс реинкарнировал под крылом другого "мне-больше-всех-надо", но, увы, без выхлопа бинарных пакетов (ибо у него их негде хранить, не такой богатый, панимаишь(с)).
Чувствую, и он рано или поздно перегорит.
Вообще, я сам, лично, стал гентудевелопером после 10+лет уговариваний со стороны комьюнити (включая самих девелоперов) и до этого момента сам успел вырастить "пару поколений" девелоперов, и видел приходы и уходы не одного и не двух "горящих душ", которые были не равнодушны к развитию проекта, впрягались, тянули на себе чуть ли не половину дистрибутива и… перегорали.
Потому что когда ты видишь, что все вокруг только критикуют, а делать и помогать никто не хочет (у всех свои отмазки, от "нет времени" до "не умею"), мотивация начинает постеменно уменьшаться...

(пост выше был ответом на первую часть)


А теперь предлагаю согласовать понятийные абсолюты и задекларировать точное однозначное (без единого намёка на двусмысленность) значение обсуждаемого пресловутого "бинарного кеша" чтобы не было такого, что каждый думает о своём.

В таком виде, в котором сейчас есть Gentoo, нет не единого основания ее использовать. Об этом говорят очень многие люди, даже те, которые участвовали в разработке. Пруф? Поищите на ЛОР'e посты init_6. Я думаю, чтот человек знаком всем тем, кто знаком с Gentoo

Нашли кого в пример приводить.
Он — в первом ряду тех, кто говорит "делаю как хочу, если не нравится — делай сам".


// Да и вообще — удвительная личность:
1) плакался что у него упёрли скрипты из его поделки и спасибо не сказали, и психанул и перестал её пилить
2) когда я обнаружил бекдор (и указал прямо на него) в одном из патчей (UKSM), которые он таскал в свою поделку и сообщил ему — он сказал, что ему пофиг, ему и так норм.
Так бекдор там и был вплоть до следующего релиза патча (когда уже сам автор убрал его по нашему (с ещё одним товарищем) пинку.

создавай тему на ЛОР'e. С доказательствами. У меня лично нет доверия к словам без подтверждений


Я могу заменить в твоем повествовании init_6 на mva и рассказать точно такую же историю. И многие в нее поверят, но вся суть в том, что это не правда. Любые слова без доказательств — ложь. С какими-то целями

В таком виде, в котором сейчас есть Gentoo, нет не единого основания ее использовать.
Чувак, ты открыл мне глаза на истину. Я сейчас же немедленно удалю генту со всех своих серверов и поставлю на них eComStation!

DG — developer gentoo


Я: сделайте бинарные кеши, это нужно для работы
DG: у нас конструктор из сорсов
Я: это не жизнеспособно в текущих реалиях. Чисто технически можно сделать бинарные кеши с USE-флаг и CFLAGS
DG: мы не будем делать
Я: тогда я буду использовать то, что больше подходит для работы
DG: используй, никто тебе не мешает


Я — сотни тысяч IT'шников различных направлений, которые своим выбором не в пользу Gentoo, показали, что отсутствие движения в направлении бинарного кеша — критичный вопрос. И что Gentoo как конструктор из сорсов — это дистрибутив уровня minix

слишком толсто
Правильнее будет так:


U(ser): сделайте бинарные кеши, это нужно для работы
G: всё уже сделано и работает в "местячковых" форматах. А для внедрения "официальных" бинарных зеркал не хватает инфраструктуры и рабочих рук чтобы всё это правильно и хорошо автоматизировать (ну и решить ещё пару связанных с этим вопросов). Приходи и помоги. И друзей позови. И помоги найти денег на железо.
U: Не могу! Не хочу! Не буду!
G: Ну, тогда "ой". Ничем помочь не можем.
U: Тогда я буду использовать то, что больше подходит для работы
G: Используй, никто тебе не мешает. Нам не жалко.

Ты что, правда не понимаешь того, чем являются бинарные кеши и возможность создания бинарников на билд ферме? Если это говоришь, то скорей всего да


Приходи и помоги. И друзей позови. И помоги найти денег на железо.
U: Не могу! Не хочу! Не буду!
G: Ну, тогда "ой". Ничем помочь не можем.
U: Тогда я буду использовать то, что больше подходит для работы
G: Используй, никто тебе не мешает. Нам не жалко.

Диалог в таком формате — это отговорка. Очередная. Есть девелоперы, есть задачи внутри команды. У Gentoo есть критичный баг(отсутствие бинарного кеша). Делаем тикет, ставим ему "critical". Выделяем мощности в виде человеческих ресурсов, создаем новость о том, что нужны денежные средства\железо. Сегментируем тикет на подзадачи. Пишем код. Закрываем тикеты. Вуаля! У нас есть имплементация бинарных кешей. Всё просто, не правда ли?

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


А если у чего-то нет своего мейнтейнера, то это выкидывают.


Точнее, сначала пишут что выкинут через месяц.


Если за месяц находится волонтёр-сопровождающий (пусть бы даже из числа юзеров. Можно сопровождать через прокси) — это "что-то" остаётся с новым, заинтересованным в этом "чём-то", сопровождающим, у которого на это "что-то" есть время (иначе, при отстутвии интереса и времени, через некоторое время история повторится).


Если волонтёра-сопровождающего не находится (ни среди активных девелоперов, ни среди юзеров) "что-то" признаётся "никому не нужным" и выкидывается.


Таким образом, если в Gentoo чего-то нет, значит это никому не нужно (либо нужно, но не настолько сильно, чтобы "рвать ради этого пятую точку").


Поэтому перефразирую уже озвученное выше и мной и другими ещё разок в цитату из одного из багтрекеров кое-какого СПО:


PR||GTFO
У Gentoo есть критичный баг(отсутствие бинарного кеша).

А в требованиях наличие этого кеша упомянуто как обязательное? Если нет, то это не баг, а отсутствующая фича

Я: сделайте бинарные кеши, это нужно для работы
DG: Канпелять канпелять канпелять!
Я: почему пакет с моими CFLAGS нельзя собрать один раз, выложить в бинарный кеш, чтобы я мог сделать emerge some и этот some скачался из бинарного кеша?
DG: потому что у нас конструктор из сорсов(сейчас(можно заменить на: у нас нет рук, чтобы это сделать). 10 лет назад: это не возможно реализовать, потому что у каждого свои CFAGS)
Я: сборка из сорсов — не тот формат, чтобы его применять в работе
DG: Канпелять канпелять канпелять!
Я: аргумент№Х
DG: Канпелять канпелять канпелять! Это наша идеология!
Я: аргумент№Xn
DG: Канпелять канпелять канпелять! Это наша идеология!


Доканпелировались до аутсайдеров? Может уже хватит?


В emerge нужно добавить патч, чтобы он вместо compilation complete писал coNpilation complete. Чтобы все осознавали, чем они занимаются

Хотя нет, всё же одно применение Gentoo есть. Если зимой отопление выключат, то можно запустить emerge -1@world и сразу станет теплее. Но лучше поставить какой-то майнер. Будет еще и профит с этого. Но идейным лучше emerge -1@world

  1. Я утверждаю, что если создать тему на оффсайте генту о том, что мы собираем деньги на реализацию бинарных кешей, то несколько миллионов долларов инвестиций Gentoo получила бы


  2. А вот когда будет реализован бинарный кеш, то сразу станет видно, что большинство пакетов в Gentoo банально не собираются с USE-флагами, отличными от default. И что все эти апанья минорных версий, которые функционально ничем не отличаются друг от друга — не более чем иммитация и пустая трата времени


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


// и нежелание услышать, что кроме денег есть ещё проблема в "руках".


Или вы как предлагаете? Мне (например) уволиться отовсюду где я работаю, запилить эту фичу, получить деньги за работу по запиливанию, а потом идти искать новую работу и заново выстраивать карьеру (набивать авторитет, вот это вот всё) на новом месте (потому что старое уже занято)?


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


И есть ещё такая замечательная статистика:
донейтов в Gentoo кое-как хватает на то, чтобы сводить концы с концами (да и далеко не все донейты — деньгами).
Вливания же от корпораций обычно сопровождаются какими-то ответными требованиями, которые не всегда интересны рядовому пользователю, ну и понятно что "официальные публичные бинхосты" явно не в круге интересов ни Sony, ни IBM, ни Google, ни Intel.
А "ванговать" миллиарды сотен нефти донатов от страждущих официальных бинхостов "простых юзеров" — не стоит.


Лично мой 10летний опрос показывает, что таких (среди пользователей Gentoo) меньшинство.
А те, кто сидят на других дистрибутивах и так всем довольны, и им это и подавно не интересно.


Отака фигня, малята.


// а вот дописывать вторую половину поста после того как кто-то уже ответил а первую — ну, такое...


Озвученная критика про "несобираемость с USE, отличиными от дефолта", во-первых, преувеличивает проблему раз эдак в 500, а во-вторых должна направляться на bgo, а не сюда.

  1. вы все мастера по генерации отговорок, а не действий в правильном направлении.
  2. имеет ли будущее дистрибутив Gentoo? Имеет. Какое? Такое же, как и настоящее. В лучшем случае.
  3. не надо аргументировать в таком русле. Можно что-то делать не в ущерб себе/своей жизни/проф. карьере. Эта отговорка. В чистом виде. Если выделять один час в день, то за 8 дней ты выполнишь столько же, сколько выполнишь за один 8 часовой рабочий день. Если вопрос реализации бинарных кешей 1000часов, то ты в одни руки сделаешь это за 3 года, если будешь работать по 1 часу в день или 125 дней при полном рабочем 8 часовом рабочем дне. А если за работу возьмутся 5 программистов и они будут работать по часу в день, то они сделают это за 200 дней. Долбанная математика, да? Как с ней спорить? Но ты же что-то придумаешь, да? Попробуй еще раз предложить мне помочь тебе. Руками, деньгами, железом
  4. если ты сейчас создашь тикет о том, что отсутствие бинарных кешей не позволяет быть Gentoo популярной и что надо крайне быстро решать этот вопрос, то ты увидишь количество людей, которые имеют личный интерес по саботированию вопроса, связанного с конечной реализацией бинарного кеша. А вот чем подпитывается личный интерес — это тебе личное ДЗ.
  5. 10 лет везде, где поднимался вопрос бинарных кешей, господа девелоперы Gentoo кормили юзеров мифом о том, что это технически невозможно реализовать. А когда это реализовали в другом дистрибутиве, отговорку заменили на "на это не хватает ресурсов. И людских и материальных". А на самом деле всё проще: надо убрать всех тех, кто завязан в коррупционной схеме, цель которой — не допустить развития и популяризации Gentoo
вы все мастера по генерации отговорок, а не действий в правильном направлении.

вы так и не ответили, что мешает вам действовать?

У тебя что, профессиональная деформация такого уровня, что ты не можешь предположить того, что я могу быть не программистом? Я могу быть системным администратором, могу быть дизайнером, могу быть продавцом булочек в магазине. Допустим, я программист 1с. Давай сделаем реализацию бинарных кешей на 1с? А может я дизайнер. Давай я тебе нафотошоплю реализацию бинарных кешей

Допустим, я программист 1с.

гхм. тебя родили программистом 1с и под страхом расстрела запретили обучаться чему-то ещё?
как-то я участвовал в запиливании ядра линукса для китайского чипсета, основным разработчиком был ЕМНИП преподаватель экономики.

открою секрет: практически никто из Gentoo-девелоперов НЕ ПРОГРАММИСТЫ. Программистов там исчезающе мало. Абсолютное большинство — таки, ВНЕЗАПНО, системные администраторы (как и, например, я).
Есть ещё профессора Computer Science, например. Есть один анестезиолог (Грег Кроа-Хартман). Есть пара электриков. Есть бухгалтер-яжемать.
Есть один (!!!!) оплачиваемый фуллтайм (если не сократили до парт-тайма) из донатов питоно-программист, и он пилит… что бы вы думали? Правильно, портаж. Правда, от качества кода иногда плакать хочется (даже при том, что я не люблю питон).


Так что, как вы там говорите? "Хватит придумывать отмазки, иди и делай", правильно, да? Ну вот и в путь, уважаемый.

и он пилит… что бы вы думали? Правильно, портаж
Честно говоря — сначала думал, что об этом и будет статья. Где то встречал упоминание emerge как пример «макаронного кода», а тут всё лайтово оказалось — какие то кэши)
ps да просто расшарить всем /var/ccache как-нибудь очень быстро и достаточно:)

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


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

0) я там выше предложил дефинировать однозначное понятие "бинарных кешей" чтобы иметь точно представление о чём мы говорим, чтобы не оказалось, что один о Фоме, а другой о Ерёме, а то что-то меня посещают всякие странные сомнения о совместимости наших терминологических наборов.


1) прошу прощения за банальность, но "нет, ты".
В том смысле, что я что-то не вижу за вами никаких действий направленных на изменение ситуации. Посты на хабр имеют ровно такое же влияние как и упомянутые письма в рассылку: практически никакого.
Если хочешь что-то — делай. Делай так, как можешь. Теми путями, которыми можешь. Не обязательно буть программистом (и как мы выяснили, их среди девелоперов итак практически нет). Можно помогать сообществу разными способами.
Кроме нытья на форумах/рассылках/whatever. Ибо этот способ — не помогает.
2) okay.jpg


3)
я бы мог аргументировать что из-за работы мне приходится жить по часовому поясу, отличающемуся от того, в котором я физически нахожусь на 4 часа, и что мой рабочий день начинается в 14:00, заканчивается-официально в 22:00, а по факту в 2-3 часа ночи, а мне ещё надо как-то уделять внимание детям, домашним заботам и (что пока вообще никак не получается) ещё попытаться найти время на планирование будущего частного дома, а потом ещё и на стройку.
Я бы даже мог сказать, что я лучше лишний часок посплю (что, кстати, является правдой, ибо с таким режимом работы у меня накопился такой уровень усталости, что иногда я БУКВАЛЬНО засыпаю над клавиатурой (повезёт, если окном в фокусе в этот момент будут не консоль какого-то сервера, и не рабочий чат) посреди дня), чем потрачу его на фичу, которая не окупится ни материально, ни репутационно, да и лично для меня она уже решена (в виде личного бинхоста под разные архитектуры, которые я использую на железках дома).


Но я скажу проще: а кто мешает ЛИЧНО ВАМ выделить хотя бы пару часов в день на помощь дистрибутиву?


4) что мешает создать его ВАМ? (Ну, кроме лени)
И номер опубликовать сюда.


5) Где пруфы, Билли?

Или вы как предлагаете? Мне (например) уволиться отовсюду где я работаю, запилить эту фичу, получить деньги за работу по запиливанию, а потом идти искать новую работу и заново выстраивать карьеру (набивать авторитет, вот это вот всё) на новом месте (потому что старое уже занято)?

мне кажется, что вы преувеличиваете. [если] будут миллионы долларов — найдутся и способы найти/заинтересовать разработчиков.
только вот, уверен, эти миллионы долларов так и останутся в фантазиях remo001


для интереса нашёл про freebsd:


I’m deeply grateful to the FreeBSD community, commercial users, and other individuals and organizations who gave us financial contributions in 2019 totaling over $2.2 Million dollars to support our work

2 миллиона за год на весь проект. и то за счёт анонима, который подкинул миллион на несколько лет вперёд (в прошлом году было как раз на миллион меньше).
уверен, что бюджет gentoo гораздо скромнее.

  1. Для того, чтобы получить обратную связь — необходимо произвести действие. Ваше предположение, как и мое — это предположение. Без статистики и анализа совершенного действия


  2. Попытка аргументировать предположения, которые ведут к действиям, существенно отличаются от попытки аргументировать предположения, которые ведут к их отсутствию. Подумайте над этим


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

Делать действия должны девелоперы и управленческий состав Gentoo. Моё дело — замотивировать вас на это. Вы сделайте действие и увидите, сколько людей есть неравнодушных к Gentoo. Возможно не имеющих возможность руками помочь, но готовых помочь материально. Пусть каждый из неравнодушных не задонатит по миллиону, но $10-100 с легкостью готовы отдать. Не просто, а на реализацию и на развитие Gentoo в нужном направлении. Хватит тут плакаться о том, что нет денег. Их нет, потому что нет действий в правильном направлении. А донатить на отговорки, как видите, никто не желает


Я повторяю: при правильных действиях Gentoo может стать(опять) топовым дистрибутивом, с многомиллионными инвестициями и самым большим сообществом. Для этого нужно?


  1. бинарный кеш(хотя бы generic cflags, но в идеале не generic cflafs)
  2. бинарный кеш(хотя бы generic cflags, но в идеале не generic cflafs)
  3. бинарный кеш(хотя бы generic cflags, но в идеале не generic cflafs)

Хорошо, ждем новость на оффсайте Gentoo о том, что требуются донат на реализацию бинарных кешей. Она будет? Не будет)))))))))))))))). Это предположение? Нет, это утверждение

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

Это не призыв к действию, а так, общие впечатления.

Моя цель — сдвинуть этот вопрос с мёртвой точки. Мне не столь важно, у кого какие эмоции возникают при этом

Мотиватор, которому не важны эмоции мотивируемых — очень плохой мотиватор.

Ваше мнение является ошибочным

Может быть. А вы зато проигнорировали важнейший вопрос, ответ на который бы пролил свет на причину тотального бездействия тех, кого вы пытаетесь «мотивировать».

Я — это собирательный образ сотен тысяч айтишников по всему миру. И Gentoo его игнорирует. В итоге Я разбежались в другие дистрибутивы и Gentoo стала аутсадером. Я ответил на важнейший вопрос? По-моему ответ на этот вопрос проходит через все мои комментарии красной нитью, которую вы не видите

Я ответил на важнейший вопрос?
Нет, не ответили. Вопрос вообще был не об этом. Но я повторю, мне не жалко.

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

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

Я вот и хотел узнать, в вашей вселенной, где возможны подобные ситуации, какова должна быть бизнес-модель у этого неведомого мецената, чтобы прибыль его критически зависела от отсутствия в генте бинарных кэшей? Настолько, чтобы он готов был за это доплачивать?

Надеюсь, не слишком сложно пояснил.

Я разбежались в другие дистрибутивы и Gentoo стала аутсадером.
Стала? Она изначально им и была, как наследник идеологии LFS. Такие вещи не для популярности создаются, а для инженеров и\или перфекционистов, а вовсе не для массово-попсового потребления.

Поэтому все ваши попытки превратить Генту во что-то другое — обречены. Это уже будет не Гента, а что-то другое. А чего-то другого на этом рынке уже полным-полно на любой вкус. А мне нравится Гента такой, какая она есть.

я тоже побуду диванным кукаретиком и повангую:
от публичиного объявления что Gentoo собирает целевые пожертвования на запиливание, цитирую, "бинарного кеша" количество и суммы донатов практически не изменятся по отношению к текущим.

У вашего предположения нет оснований

эмпирический опыт наблюдений в течение последних 20 лет — не основание?

Вы сделайте набор действий и посмотрите на результат. Будет основание мне предъявить, что я не прав. Но я прав. Иногда даже к сожелению

Моё дело — замотивировать вас на это. Вы сделайте

lol
ну вы явно не справляетесь со своей частью работы.


Пусть каждый из неравнодушных не задонатит по миллиону, но $10-100 с легкостью готовы отдать.

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


P. S. я никакого отношения к gentoo не имею, последние лет надцать сижу на debian и куда-то переползать пока не планирую.

Gentoo — это не компания. Gentoo — это сообщество. Пользователей.
Просто у некоторых из них есть права коммита туда, куда нет у остальных, потому что они прошли определённые экзамены на знание принципов работы дистрибутива и произвели впечатление адекватных личностей, которые не будут заниматься вандализмом.
Вот и всё.


Нет никакого "я не должен, должны они". Должен каждый, кому это надо!
Нет никакого "это не моё дело, это их дело". Это дело каждого!

Комментарий — полностью состоит из отговорок. Не нужно генерировать отговорки, mva

взаимно. У меня отговорки хотя бы базируются на общечеловеческих ценностях.
А с вашей стороны — из того что я заметил: "я программист 1С" и "у меня ЦЕЛЬ — расшевелить других".
Хреновые какие-то отговорки.
Я тоже так могу: я админ и моя цель троллить толстых троллей до того, чтобы они не спровоцировали на себя кару модераторов (кстати, честно говоря, я этим видом спорта занимаюсь уже лет 15-20+, начав практиковаться ещё в веб-чатах и IRC, так что опыта в этом у меня много. А вот у Вас, судя по результатам Ваших попыток "расшевелить", опыта в выбранной дисциплине — не особо).

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


мысль о том, что opensource — это совместная работа обычных людей со своим мировоззрением, ценностями, где никто никому ничего не должен, это место, в которое ты можешь вложить свой вклад, почему-то ими отвергается, всё рассматривается с точки зрения «я клиент, а клиента нужно ублажать». про то, что «клиент» ничего не заплатил (ни напрямую деньгами, ни своим трудом), забывается.

Ну, как правило, тут идёт в ход шантаж "если не сделаете, и не заплачу! А пойду к тем, кто уже сделал" (продолжение в виде "и им тоже не заплачу" тактично пропускается :)

Делать действия должны девелоперы и управленческий состав Gentoo. Моё дело — замотивировать вас на это.

Так вы не те методы мотивации используете. Кричать то, что вам нужна какая-то супернужная фича, а её в течении 10 лет не запилили, значит она кроме вас никому не нужна. Что делать в этой ситуации? Собраться с единомышлениками и попробовать запилить такую нужную фичу, чтобы люди вам сказали спасибо. Не нашлось среди вас тех, кто может это сделать? Профинансируйе разработку. Вот это действительно мотивация делать то, что тебе не интересно, но за деньги (значит можно уйти с другой работы и высвободить время на то, что не интересно, но нужно другим).


У меня вот похожая ситуация. Балуюсь с умным домом. Есть куча датчиков Xiaomi. Все они через шлюз родной работают не так, как хотелось бы. Зато есть проект: чертежи платы, необходимый набор радиодеталей. Заказывай изготовление платы или даже могут выслать готовую, паяй. Вот только слеповат я стал, с мелкими деталями трудно работать. Плюс для пайки SMD компонентов желательны прибамбасы, а у меня только паяльник на 25 Вт. Да и вообще пайкой мелких деталей не занимался никогда. Что мне, теперь наезжать на тех ребят, кто проектировал плату, написал нужный софт, что мол такие сякие, всё в открытый доступ выложили, а готовые изделия не продаёте? На самом деле, конечно, можно найти готовое. Берёшь такую штучку, сейчас они даже электронные бывают, отдаёшь определённому человечку, а он тебе за эту денежку сделает всё в лучшем виде. Кому и сколько платить, решаешь сам.

Кому и сколько платить, решаешь сам.

Обычно, всё же это результат взаимных договоренностей. :)

Вкладывать ресурсы(людские, материальные) в то, что мертво — никто не будет. Сейчас вкладывать в Gentoo ресурсы так же целесообразно, как вкладывать ресурсы в развитие Сумчатого волка(для справки, этот вид животных является вымершим). И девелоперы мёртвого(умершего в 2010 году) дистрибутива вещают здесь о том, почему бинарный кеш не нужно реализовывать. Аргументы какие-то приводят. Контраргументы. То это невозможно, то сделай сам и выложи, то им не хватает ресурсов, то людских, то материальных. Еще раз: дистрибутив без бинарных кешей не нужен. Обсолютно. Никому. Не для работы, не для развлечений, не для изучения. Он мёртв. К сожелению

требую показать хотя бы один аргумент от меня, в защиту тезиса о НЕНУЖНОСТИ (!!!) бинарного "кеша" (хотя за использование слова "кеш" вместо правильной терминологии — так и хочется отвесить леща).
При отсутствии такогово — будет засчитан слив.


Следующим этапом — требую предоставить доказательства к фразе о том, что


не нужен. Обсолютно. Никому

// а ещё:
read and remember: Абсолют, жАлость (ни одно, ни другое слово в оригинальном комментарии не похоже на опечатку. Либо намеренное искажение, либо безграмотность.
В любом случае, от "обсолюта" мне было больно глазам.)

Офигеть, они не могут 10 лет сделать md5 из CFLAGS и md5 из USE-flag, собрать это все в тарбол и присвоить ему имя md5_cflafs-md5-use_flag_major.minor.tgz и выложить его в бинарный кеш, а в портаже перед тем как собирать пакет чекнуть имеется ли собранный пакет. Сопли разбрызгивают >10 лет


Ты не понимаешь, там же есть еще депенденс!!!11!!! Да так же точно и депенденс. Только не забудь перед аплоадом проверить, может уже 100500 раз с такими флагами оно было уже собрано и бинарный пакет есть


А если… а если!!!???
Что если? Неправильный набор USE-флагов EAPI не сможет юзеру что-то там неправильно выставить

по-моему, кто-то тут толстющщий тролль.
Во-первых, я выше раз эдак 5 говорил уже, что это реализовано (но не через md5).
Во-вторых, насколько мне известно, правилами хорошего тона предписывается проверить соответствует ли обвинение действительности прежде, чем обвинять. Учитывая, что вы не удосужились этого сделать, зато раскудахтались на полхабра… Что ж, печально…

А вам не приходит в голову, что количество возможных уникальных CFLAGS и USE может, например, приближаться к числу пользователей Генты? Что в принципе убивает идею ваших бинарных кэшей, так как пакетов с нужным набором в кэше не будет с вероятностью 99.9(9)%?

cflag'и вовсе не обязательно держать на том же "уровне", что и USE-флаги.
Для этого уже лет я даже не помню сколько, как в make.conf в виде примера указано, что выделяющиеся march/mtune/cflags могут быть оформлены в отдельную директорию на бинхосте, или в отдельный бинхост.
В конце концов, это то, что не предполагает изменений в пределах жизни хоста.


И оно в этом виде работает ещё со времён athlon'ов XP.


И с разными наборами USE-флагов у пакета при запросе пакета с бинхоста (а точнее с поиском подходящего в индексе бинхоста) портаж тоже успешно справляется уже очень и очень давно.

Так что, всё же ок. Вам просто надо хост для централизованного хранения бинарных пакетов? Так? Или не так?(валяюсь под столом от смеха)

1) для хранения значительно более чем петабайта, а если совсем упороться, то и за границу эксабайтов можно перейти: подо все-то архитектуры, да со всеми комбинациями USE-флагов, да ещё и несколько (иногда до десятка) версий каждого пакета, ещё и с дебаг-символами, да ещё и вам подавай под разные цфлаги.
А ещё вспомним, что есть разные libc (glibc, uclibc, musl — как минимум), которыми очень активно пользуются, и умножим на их количество.
А ещё вспомним что у нас как минимум два мейнстримных компилятора (gcc и clang) и разные их версии.
И некоторые пакеты для тех или иных целей люди хотят видеть собранные разными компиляторами и разными их версиями…
Ох!!! А ещё там внизу подсказали про 17.0 vs 17.1 профиль! Вот она где мякотка!!! Так что умножаем всё, что посчитано выше, на два. Как минимум!


Вы пробовали посчитать сколько это займёт места?
А если ещё и RAID-1?
Ух, а если ещё и на SSD (ну, чтобы быстрее собирать, да и быстрее вам потом отдавать)?
А бекапы?
А вторую машину, чтобы на случай проблем с железом у первой — сервис продолжал работать?


И это ещё далеко не всё.


2) ну, валяйтесь дальше, вместо того чтобы помочь


3) кроме хранения, нужно ещё собирать это всё. Обновления версий и добавления новых пакетов происходят в среднем каждые четверть суток. В итоге — там собирать-не-пересобирать (см. описанные особенности в первом пункте. Они применимы не только к объёмам хранения, но и к работе по сборке).
Ох! А ведь ещё же ведь надо будет потрахаться с повторяемостью сборки, кстати.


Но нет, вместо того чтобы подумать головой и понять это самому — проще валяться под столом.


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


5) ну и, справедливости ради, чтобы всё было "по-правильному" таки да, нужно запрограммировать ещё некоторые вещи (которые вроде бы как и есть в планах, но "в долгом ящике", потому что у всех, кто мог бы это сделать — есть более интересные вещи для исправления и запиливания).


6) Я даже больше скажу: есть куда более больная для gentoo тема — построение графа зависимостей (которая в случае бинпакетов мало того, что никуда не девается, так и вовсе усложняется).


И тема эта итак была армагеддоном, со всеми-то юз-флагами, превратилась в ад после появления сабслотов.


И, вот, даже эту более насущную проблему решают уже скоро десяток лет как.
Угадайте почему? (подсказка, см. выше).


Вы в очередной раз путаете Gentoo, являющуюся кружком гиков по интересам, с какой-то там корпорацией, которая развивает какой-то там продукт, и которой важно чтобы у неё его покупали.
Окститесь. Gentoo на 95% пилится энтузиастами исключительно "для себя". Остальные 5% — нанятые спонсорами сопровождающие пакетов, в поддержке которых эти спонсоры заинтересованы.


// Возможно, если бы Данилку не послали нафиг после возвращения из M$, то так бы и стало со временем (а-ля корпорация), но, к счастью, произошло так, как произошло.
А хотите к Данилке под крыло — вас ждёт Funtoo с распростёртыми объятиями.

Начните с generic и самых тяжелых пакетов. Для начала. Посмотрите сколько это занимает места в реальности, а не в предположениях. Оттестируйте технологию. А потом потихоньку расширяйте список пакетов

Думал донести мысль, но чтобы ее донести — нужно написать 3кб текста. Хорошо. Так значит так. Спасибо, если будет потребность использовать Gentoo — я ее буду использовать. Всего доброго

3 кб текста пишется за время сильно меньшее, чем час. Не можете выделить вечер на это?

Да какие там эксабайты. У ffmpeg 120 флагов. Это 2^120 степени вариантов только для одного пакета. Добавить еще варианты архитектур, libc и CFLAGS и цифра приблизится к количеству атомов в наблюдаемой вселенной.

ну не все же варианты совместимы, возможно, там всего 2¹¹⁰ вариантов )))

Ну это меняет дело. Чур вы собираете первую половину пакетов :-)

Ну вот, вы уже не учли, что содержимое тарболла будет зависеть от версии, юзфлагов и цфлагов зависимостей.


Архитектор из вас так себе.

А вам не приходит в голову, что количество возможных уникальных CFLAGS и USE может, например, приближаться к числу пользователей Генты?

Я думаю, что сейчас это так и есть. Все 28 пользователей Gentoo имеют разные процессоры.


Если пользователь включил поддержку какой-то инструкции для архитектуры своего процессора из -03, то пусть мандрует конпелировать пакеты

Боже мой, какую же чушь я сейчас прочитал. Пробежавшись по коментариям я понял что автор хочет некий довереный билдкластер, который будет собирать ему пакеты под все и вся, под любые запросы, ага. Еще и с бесконечными зеркалами и свободным местом на них. Ну жди, жди. Будем греть воздух сборкой qtwebengine со всеми вариациями юзов и cflag'ов.
Откоментирую коментарием автора:
image

Я пару месяцев назад видал еще одну такую же статью.

Ой! Кстати, напомнили. Самое стрёмное, собирать webkit для qt и gtk. Уж очень долго. Хотя не на самом последнем Ryzen 5 1600 вполне уже приемлемо. Ну а для всяких libreoffice и firefox с chrome есть бинарные версии, с которыми почти никогда проблем не наблюдал (были проблемы с конфликтами, но при этом работал старый, не обновлённый пакет и не нарушалась работоспособность софта).

USE="jumbo-build" (раньше был и у qtwebkit'а тоже)

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

прикиньте, ага. Собирательный образ Я, состоящий из сотен тысяч айтишников по всему миру этого хотят. Какие нехорошие товарищи. Редиски. Так что, это фантастика? Да нет же, в соседнем дистрибутиве это есть. Он популярен? Да, набирает популярность. Даже несмотря на то, какие извраты в нем присутствуют. В Gentoo этого не будет!!!1!!!.. Окей, не будет. Будем пользоваться соседним дистрибутивом. А Gentoo пусть пользуются те 28 юзеров, которых устраивает такое положение событий


Тадам! https://trends.google.com/trends/explore?date=all&q=gentoo
По-моему, еще в 2009 году надо было начать что-то подозревать. Всего-то 11 лет назад

Рыночек порешает, вот и всё. Все эти тренды довольно смехотворны, особенно если вспомнить что было в те времена альтернативами, и то качество и удобство использования документации. Вы же должны понимать что с текущим подходом к билдсистеме — количество вариаций стремится к космическим значениям и всего и вся точно никто не соберет. А если еще подумать дальше — за количесто версий компиляторов, за версиоспецифичные приколы, за то кто будет следить за успешностью сборки и что то подкручивать что бы билд для васяна с -O3 каким ни будь кривым гцц из апстрима сошелся, слинковался и не сегфолтился, а?
Идея огромного бинарного оверлея ну просто бредовая. Никаких ресурсов не хватит что бы это барахло целиком поддерживать.
Или это уже будет не гента, а что то иное с совсем иным подходом.

Сделать с generic cflags. Очень большое кол-во людей это устроит. В соседнем дистрибутиве generic cflags и не видел хоть одного человека, который был бы недоволен этим. А с use-flags всё проще. Их не моря разливаны. Особенно у зависимостей

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

На вскдку: systemd, qt4, qt5, gtk, gtk3… Ну и, естественно их комбинации. Можно просто eselect profile list глянуть. Там как минимум сейчас 17.0 и 17.1 версии. Ну и для каждой версии по куче вариантов.
Не… можно, конечно, сделать универсально. Как сейчас помню. Ставил Xchat в Ubuntu. Он мне подтянул половину KDE. А в Gentoo оказалось, что KDE нафиг не нужен (благодаря USE-флагам).

Как сейчас помню. Ставил Xchat в Ubuntu. Он мне подтянул половину KDE. А в Gentoo >оказалось, что KDE нафиг не нужен (благодаря USE-флагам).

Не надо рассказывать сказки. Таких лулзов в бинарных дистрибутивах уже лет 10 нет.

Ну, как сказать. Ставил тут php на минимальную свежую ubuntu (ака облачную) — так он по зависимостям python затянул через systemd.

APT::Install-Suggests "0";
APT::Install-Recommends "0";

А почему в Gentoo не надо этого делать? :)

Only those users with full accounts are able to leave comments. Log in, please.