LINUX.ORG.RU

Форк gentoo

 


7

4

Я пилю форк gentoo и решил создать этот тред. Пусть он будет только трекером участников.

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

Далее проблемы gentoo и способы их решений как я их вижу.

В gentoo я люблю пакетный менеджер portage а меня лично, главным образом, не устраивает плавающий релиз благодаря которому в ней нет ни:

  • Стабильной системы которой реально можно пользоваться ( А то что есть в большинстве своём либо „дыряво“ либо всё равно требует нестабильных ebuild-ов для своей работы )
  • Самых свежих релизов софта ( И да в оверлеях есть даже 9999 которые зачастую тоже „тыква“ а „новые“ релизы есть но спустя порядочное время. )

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

Меня не устраивает основное дерево portage в gentoo (в дальнейшем „помойка“). Благодаря тому что „помойка“ хранится в CVS а распространяется посредством rsync пользователи получают всё и сразу. Однако именно из-за этого „помойка“ лишена всех прелестей git-а как-то: ветви, форки, коллективная разработка. В gentoo работа и без этого раздроблена по оверлеям т.е. на деле из-за старых методов хранения (CVS) в gentoo мы имеем дублирование кода („помойка“ и оверлеи) тогда как в git всё можно просто решить ветвями stable, unstable.

Почему „помойка“ это плохо? Потому-что подход всё и сразу в какой-то степени был оправдан. Однако так или иначе но помимо помойки всё равно существуют оверлеи (X11, gnome, kde…) и это факт. Напрашивается вывод: укрепить и развить модульность gentoo путем дробления одной большой „помойки“, в том виде в каком мы её имеем, на несколько оверлеев: base(исключительно содержимое stage3 с USE-флагами по умолчанию), X11, gnome, kde… примерно так, как это организовано в exherbo.

Вы всё равно при всём своём желании не сможете использовать абсолютно все ebuild-ы из „помойки“! Я гарантирую это!!! К тому-же как было выяснено эксперементальным путем (см Portage тормоза уже неторт!) „кастрирование“ „помойки“ до объёмов base ускоряет portage почти в 4-ре раза(если быть точным то в 3,875 раз) при прочих неизменных параметрах. Значит в результате деления мы получаем не только большую модульность и в целом упорядоченность но ещё и большую скорость вычислений у того-же самого portage.

В идеале если количество ebuild-ов в наших раздробленных оверлеях в сумме сравняется с количеством ebuild-ов в „помойке“ скорости тоже сравняются. Однако не стоит забывать что даже сейчас в „помойке“ предостаточно такого трешака который если кто-то и использует то это те самые полтора человека вместе с их майнтрейнером. Так вот избавление в процесее дробления „помойки“ на отдельные оверлеи от любого такого ненужного трешака есть очевидное благо.

Если не будет плавающих релизов то, безусловно, надо на что-то ориентироватся. Таким замечательным ориентиром, на мой взгляд, может выступать centos. Почему? Главным образом потому, что срок поддержки centos какие-то совершенно смешные 13 лет и совсем свежая centos-7 вышла только осенью этого 2014го года. И ещё потому что инженеры red-hat таки знают своё дело - к примеру если сравнить количество заплаток у python2 то в gentoo их около 5ти а в centos их более 50ти. Как говорится почувствуйте разницу.

base(исключительно содержимое stage3 с USE-флагами по умолчанию) с интегрированными патчами из centos у меня уже готов. Т.е. в данный момент свой собственный stage-{1,2,3} у меня уже есть и вы его можете отыскать пройдясь по ссылкам из Portage тормоза уже неторт!. Пока-что разработка ведется в закрытом режиме одним единственным человеком.

Эта тема для того-чтобы собрать заинтересованных в том-же.

Сообщайте потенциально заинтересованным гентушникам. А с трёпом про «ненужно» лучше сразу идите в толксы.

★★★★★

init_6

Самых свежих релизов софта

CentOS/RHEL это протухшие версии софта, за счет этого и стабильно. Даже в 7-ой софт заморожен на момент одно-двух летней давности. И 13 лет поддержки тут очень смешно звучат - тебе через 13 лет будет нужен php 5.4?

к примеру если сравнить количество заплаток у python2 то в gentoo их около 5ти а в centos их более 50ти. Как говорится почувствуйте разницу.

Важно понимать, что это за патчи и почему из в RHEL 50, а в генте 5. В RHEL добрая половина патчей нужна потому, что последняя версия у них 2.7.6 и они патчами её доводят до состояния 2.7.9. Еще часть патчей - фиксы всевозможных rpath'ов и прочей rhel-only лабуды + отсутствия поддержки юз-флагов. Если выфильтровавть беспользный мусор - останется не так много реально полезного. И честно говоря, проще апстримить патчи в генту (как всегда вопрос - где открытые тобой баги на баги питона в генте, которых нет в центоси?)

Благодаря тому что „помойка“ хранится в CVS а распространяется посредством rsync

От CVS постепенно пытаются уйти, есть разработчики которые активно над этим работают. Распространение по rsync - компактно (попробуй счекаутить ядро с историей и посмотри какой оверхед по колличеству данных), универсально (не забывай, что на инфраструктуру по поддержке rsync'а и зеркалированию оного - нужно меньше железа, чем на то же самое для git'а), да и внедрено уже давно, а для людей вполне работает. Опять же, если тебе по каким-то причинам надо иметь микс из stable + testing (большая часть из stable, один-два пакета из testing) - как ты на базе git'а и веток обеспечишь? А как с разработкой быть?

Да улучшится - в багзилле будут висеть фиксы… месяцами и годами… А потому-что майнтрейнеры в большинстве ещё и руководствуются велением своей левой пятки а не здравым смыслом и философией gentoo.

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

Очевидно что закрепление майнтрейнеров за конкретными ebuild-ами и дублирование работы ещё и на оверлеи никак не способствуют тому чтобы рук хватало на все. К тому же результаты ещё и в том что в деревt разброд и шатания даже по таким вопросам как в какой функции выполнять epatch.

Overlay - возможность дать пользователям работать над ебилдами + возможность иметь песочницу для разработки чего-то, реально могущего сломать все. Это считай просто сторонние репозитории. Поэтому никакого отношения к времени разработки они не имеют (скорее наоборот, ускоряют разработку, так как можно потестировать всторонке на какой-то базе пользователей). Про epatch - есть policy и в новых ебилдах все в одном месте (src_prepare). Обновление старых занимает какое-то время, да. Если где-то видишь в новых ебилдах бамп с нарушением policy - баг на багзиллу, такое быстро поправят и девелоперу дадут по шее.

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

Зависит от конкретного бага - фиксят или добавлением патчей или бампом, если бампнутая версия отличается мало, а баг там уже поправлен. Что в этом плохого? Бэкпортирование возможностей из более новых версий софта, требует очень большого колличества времени и еще большего тестирования. Разработчикам RH платят за full-time работу над такими вещами. Ну и да, минус в том, что на момент выхода RH устарел на год, к концу поддержки софт в RH устареет лет на 10 с лишним. Такое полезно в Ынтерпрайзе, но очень вредно в остальном. Думаешь просто так многие компании сидят на Ubuntu на серверах? Потому что это компромис между RH и Gentoo - и софт не так сильно устаревает (а некоторый даже может сменить версию или иметь бэкпорты, даже в LTS), но и предсказуемые сроки поддержки (чего нет у дебиана, например). При этом софт более ванильный, чем в RH.

Про свободу в gentoo расскажешь мне после того как будет отвязаны: bash, gcc, openrc из профиля. Т.е. когда появится та самая свобода в выборе того что именно использовать…

Баш требуется portage'ем, ебилды используют башизмы. Что-то кроме gcc не может собрать все дерево портажей (собери шлангом ядро, не патча последнее, например), openrc отвязывается какое-то время уже (в смысле можно заменить openrc на systemd и выпилить openrc).

У меня тоже есть ссылка сырцы ChromeOS были в 2009-м и основан он на gentoo а использовал он upstart… ОЙ! :D И никому в голову не пришло взять их наработки в основное дерево?

Ебилды ChromeOS завязаны на гугловые средства сборки и гугловые eclass'ы очень сильно. Просто так не утащишь. Плюс какой толк от upstart, когда для эффективной работы нужно поддерживать еще и upstart-скрипты? А OpenRC по возможностям не так то сильно и отличается от него. Насколько я знаю, upstart люди не просили и разработчики не готовы были поддерживать одновременно. С systemd пример лучше - он достаточно быстро появился и поддерживается конечно не на тех же правах, на которых OpenRC но близок к этому.

А основная черта в том, что для того чтобы безболезненно использовать что угодно вместо gcc не делается вообще ничего.

Когда шлангом можно будет собрать основную систему (я про Linux в целом, а не про генту), тогда и будут думать о поддержке шланга как альтернативы. Так стандартными средствами (portage.env) можно менять компилятор испокон веков, притом чуть ли не для каждого пакета индивидуально.

Ищи в любимом поисковике по запросу „portage libbash“, удивляйся.

Над libbash еще работать и работать. Пока он не в состоянии парсить 100% ebuild'ов. И к сожалению, развивался он практически полностью в рамках GSoC. Если в состоянии подхватить проект и помочь ему достичь нормального состояния - все будут только рады.

«gcc мы официально поддерживаем а clang бэтка и всё такое и в общем на ваш страх и риск как и 9999.»

Ты с людьми хоть раз в жизни работал? Сделать так и не иметь хотя бы 90% покрытия системы шлангом (притом самой базы в первую очередь) - обречь себя и багзиллу на кучу воплей вида «А!!! Не грузится система! Я ничего не делал, клянусь мамой». Проверено на практике неоднократно.

СЮРПРИИИИЗ в gentoo с её от 250 до 300 разработчиками даже известные и незакрытые CVE висят годами

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

В общем все это о том, что куда эффективнее:

1. Поментяь свое мнение

2. Присоединится к разработке и сделать как правильно.

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

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

CentOS/RHEL это протухшие версии софта, за счет этого и стабильно.

А в gentoo такого понятия как стабильное с точки зрения CentOS/RHEL вообще не существует.

Важно понимать, что это за патчи и почему из в RHEL 50, а в генте 5. В RHEL добрая половина патчей нужна потому, что последняя версия у них 2.7.6 и они патчами её доводят до состояния 2.7.9.

Важно понимать, что многие патчи из rhel/centos вообще никогда не попадут в аппстрим.

Распространение по rsync - компактно (попробуй счекаутить ядро с историей и посмотри какой оверхед по колличеству данных)

Rsync с каких-то пор целиком заменяет git со всеми его фичами? Нет? Ну тогда давай пока досвидания.

Становись разработчиком сам

Я тебя не учу как надо жить таа что будь добр и ты...

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

По факту если я для себя уже решил трабл на кой хрен мне парится об остальных? Что-то? Кто-то сказал камюнити? Да всем насрать пока это не коснулось лично их.

При этом софт более ванильный, чем в RH.

Хатят брать дерьмо пусть жрут. Свобода выбора.

Баш требуется portage'ем, ебилды используют башизмы.

Переписать с bash на sh просто непосильной для 300 разработчиков так и запишим.

Ебилды ChromeOS завязаны на гугловые средства сборки и гугловые eclass'ы очень сильно. Просто так не утащишь. Плюс какой толк от upstart, когда для эффективной работы нужно поддерживать еще и upstart-скрипты?

Неосиляторы неосиливают. Fxd!

Когда шлангом можно будет собрать основную систему

Gentoo метадистрибутив и никого не трогает чем собирать: gcc, шлангом или сраной студией...

Сделать так и не иметь хотя бы 90% покрытия системы шлангом

Сраная BSDя покрывает сборку всей своей страной системы шлангом. ОЙ...

скорее административная проблема, чем реальная

Так или иначе но проблема. И лично меня не трогает какая именно это проблема. Меня трогает то, что проблема таки есть.

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

Важно понимать, что многие патчи из rhel/centos вообще никогда не попадут в аппстрим.

Что говорит о костыльности патчей или их RH-специфичности.

Rsync с каких-то пор целиком заменяет git со всеми его фичами? Нет? Ну тогда давай пока досвидания.

Не ответ на мой вопрос. Не покрывает, как и git не покрывает rsync. Спроектируй пожалуйста систему которая бы держала даже нагрузку сопоставимую с gentoo'шной на базе только git'а. И заодно померяй время синка через rsync и через git + нагрузку на сервера. Как померяешь - рассчитай в деньгах, сколько нужно чтобы хостить решение на git и на rsync.

Я тебя не учу как надо жить таа что будь добр и ты...

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

По факту если я для себя уже решил трабл на кой хрен мне парится об остальных? Что-то? Кто-то сказал камюнити? Да всем насрать пока это не коснулось лично их.

За счет в том числе и комьюнити у тебя вообще есть Linux (как ядро и как юзерспейс). Да, некоторые мейнтейнеры - пофигисты, эгоцентристы и так далее. Но есть и те, кто развивают дистрибутив просто так, потому что могут. И принимают патчи пользователей (если те достаточно хорошие) и помогают доработать их и так далее.

Переписать с bash на sh просто непосильной для 300 разработчиков так и запишим.

Некоторые gentoo-штуки на баше реализуются намного проще, чем на sh. ebuild'ы - вещи для разработчиков и продвинутых пользователей, поэтому и баш.

Неосиляторы неосиливают. Fxd!

Да конечно. Ты видел ебилды на хромоось? Большую их часть проще с нуля переписать. И опять же - кому это надо было? Никому. Поэтому никто и не впиливал upstart. Systemd поддержали многие - и вот поддержка в mainline'е.

Gentoo метадистрибутив и никого не трогает чем собирать: gcc, шлангом или сраной студией...

Ну так воткни CC=«clang» CXX=«clang++» и радуйся.

Сраная BSDя покрывает сборку всей своей страной системы шлангом. ОЙ...

Претензии в LKLM пожалуйста. Ядро Linux'а не собирается шлангом без патчей. А собранное с патчами не проверено на работоспособность всех подсистем.

А на остальные пункты нечего ответить?

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

Не тратьте время впустую. Его не переубедишь.

anonymous
()

Инициативу поддерживаю.

В отличие от centos, тут с минимум усилий можно уйти на более оптимальный срок выпусков, где-то 1-3 года вместо 13 лет.

Каков текущий статус? И кого ищет ТС? Обновлять пакеты stage3 в соответствии с centos?

И пора бы решать вопрос portage vs pkgsrc/pkgcore/etc и выкладывать куда-то наработки. Так как минимум будет видно в какую сторону движется проект.

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

gh0stwizard,

В отличие от centos, тут с минимум усилий можно уйти на более оптимальный срок выпусков, где-то 1-3 года вместо 13 лет.

Нельзя уйти на более оптимальный срок выпусков, если ты только берешь чужие наработки (патчи), так что я бы не обольщался. В лучшем случаи это будет CentOS с portage вместо yum, точно такой же свежести и еще и с запаздыванием обновлений на пару недель. Это в лучшем случаи.

anonymous,

Не тратьте время впустую. Его не переубедишь.

У меня написание обоих постов заняло минут 15 в сумме, я время не трачу. Просто давно человек проявлял зачатки адекватности, хочется понять, остались ли они или все исчезло совсем.

Civil,

Претензии в LKLM пожалуйста.

s/LKLM/LKML/ конечно же.

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

Каков текущий статус?

Прочитай меня. Проектом занимался я и в одиночку. Когда продолжу разработку не знаю но это будет не в ближайшее время.

init_6 ★★★★★
() автор топика

зачем?!?!?!?о_О«ненужно»

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

У тебя времени на оверлей то нет, как ты потянешь дистрибутив?

Да сейчас ни времени ни технической возможности нет вовсе.

Но не смотря на это до полноценного дистра там осталось опакетить X и gnome. И учти что версии там обновляются не сильно часто так что дурной работы там не много.

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

Ну хз, прямо сейчас меня gentoo устраивает.


А чем не подходит та же funtoo? чем не подходит калька или сабайон?

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

А чем не подходит та же funtoo? чем не подходит калька или сабайон?

Funtoo реально нужен и полезен только его создателю.

В присутствие gentoo калька или сабайон люто-бешено не нужны. К тому-же в них такие же плавающие релизы...

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

И учти что версии там обновляются не сильно часто так что дурной работы там не много.

Патчи на пакеты обновляются очень часто :) Версии то да, раз в 13 лет, как ты сам сказал.

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

Патчи на пакеты обновляются очень часто

Да заплатки по безопасности прилетают частенько... Но по сравнению с диким угаром в gentoo считай что вообще не меняются.

init_6 ★★★★★
() автор топика

Ну флаг тебе в руки. Мне даже лень объяснять тебе, почему ты не прав. Тут уже без меня Civil объяснил.Был уже у нас товарищ орущий *Вы и ваше QA и принципы полная Х*, я создам свой дистрибутив с поэтэссами и виски*. Даже не один такой был, целых два щтука. И что в итоге? Создали дистры сомнительного вида которые _никому_кроме_них_ и еще кучки адептов не очень то нужны. Впрочем я тебя не отговариваю. Создай свой уютный single-user linux distro и наслаждайся.

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

Не хочу спорить. Есть федора и ещё куча дистров, где пакеты почти первой свежости. Делай срез на той версии, что кажется стабильной, а дальше накатывай патчи. Да, первое время (а может навсегда) придётся пользоваться чужими патчами. Нехватка человеческих ресурсов — проблема всех дистров.

Думаешь арч в начале был первой свежости? Думаешь там AUR был всегда такой большой? Нет, тоже начинали с малого.

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

Не хочу спорить. Есть федора и ещё куча дистров, где пакеты почти первой свежости. Делай срез на той версии, что кажется стабильной, а дальше накатывай патчи. Да, первое время (а может навсегда) придётся пользоваться чужими патчами. Нехватка человеческих ресурсов — проблема всех дистров.

Автор темы говорит конкретно про CentOS. Там софт устаревает на год-два на момент выхода свежего релиза (что продиктовано требованиями Enterprise применения, но это уже неважно в данном контексте). Есть конечно федора и другие дистрибутивы, но водиночку автор умрет поддерживать актуальность софта из федоры.

Civil
()

Да ты совсем больной. Еще один форк Генту, да? Юзеры генты больные в принципе, но ты просто ахуенно болен. Украинцы по сравнению с тобой — здоровые люди. Все.

anonymous
()

Жду ебилд neskuchnie-oboi.

anonymous
()
18 июня 2016 г.

Гентушники какие-то все туповатые. Даже логотип у них даунский.

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