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 тормоза уже неторт!. Пока-что разработка ведется в закрытом режиме одним единственным человеком.

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

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

★★★★★

Ответ на: комментарий от iVS

Это проблема малого числа майнтейнеров, очевидно.

Нет это проблема не очевидных целей и конкретно того что изменения funtoo наложенные поверх дерева gentoo никак не гарантируют работоспособности тех ebuild-ов которые прилетают в дерево funtoo из gentoo. Видимо хотелось всего и сразу но ценой того что большая часть не будет работать. Зато командует Даниэлька.

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

Тут ТС прав: это слегка бесполезно. Я уже пытался, даже всё дерево с историей им перегнал, но всем как всегда.

Об том и разговор.

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

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

ZuBB ★★★★★ ()

Считать помойкой фундамент не одиночная парадигма бесспорно.

Успехов,

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

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

Единственное, что осталось - это запилить автоматическую проверку подписи коммитов в portage. Остальное - чисто организационная хрень плюс настройка серверов, но этим никто не хочет заниматься.

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

Всё сваляно в одну большую, жирную кучу из которой, без лишних телодвижений и без использования @сэтов, нельзя даже извлечь абсолютно все ebuild-ы принадлежащие к примеру официальным kde или gnome - у меня этой сущностью возникает только одна ассоциация.

init_6 ★★★★★ ()

И ещё потому что инженеры red-hat таки знают своё дело - к примеру если сравнить количество заплаток у python2 то в gentoo их около 5ти а в centos их более 50ти. Как говорится почувствуйте разницу.

А еще, потому, что этих инженеров red-hat таки больше численностью, чем всего 250-300 ленивых гентушников. Кто-то ведь должен пилить эти патчи. За счет кого ты собираешься реализовать свою мысль?

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

За счет кого ты собираешься реализовать свою мысль?

Я по моему высказался вполне понятно. Я хочу гибрида centos с пакетным менеджером portage из gentoo. Если ты предлагаешь для этого собрать денег на кикстартере и нанять работников красношапки успехов. А src.rpm центоси в публичном доступе так-же как и дерево portage gentoo.

init_6 ★★★★★ ()

блаблабла нинужьно, итак уже несколько ненужных форков генты напилили.

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

А чем тебе не нравится использование сетов?

А я вообще не говорил нравятся они мне или нет. Очевидно другое без них это вообще непосильная задача.

init_6 ★★★★★ ()
Ответ на: tl;dr от Stil

Открой для себя фанту

Спасибо но примерно через полтора или два года после её создания я закрыл для себя фанту.

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

Целиком на git Даниэлька уже перевел свою фанту

тогда переходи и не жужжи.

а в gentoo это будет буксовать ещё очень долго потому что бюрократия

а в gentoo это будет буксовать ещё очень долго потому что: JFF и всем еще «нужно что-то есть» + сегодня есть время у одного а завтра у другого; это должно работать не только у тебя и у hateyoufeel но и у всех других пользователей в ихних абсолютно разных инсталляциях.

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

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

Другое дело, что в нынешнем состоянии portage сеты выглядят как сбоку припёка, как будто бросили их на полпути.

pedobear ()

Гента с фиксированными релизами и бинарными апдейтами уже есть. И даже две - Calculate и Sabayon.

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

Теперь далее, насчёт непринятия фиксов. Если ты хочешь пойти по пути Ciaran McCreesh(да-да, Exherbo. Только в отличие от тебя он таки БЫЛ разработчиком Gentoo, то есть знает кухню в том числе ИЗНУТРИ), то есть по пути истерики «ко-ко-ко, я лучше всех знаю как правильно, я всё сам запилю» - это твой выбор. И если ты найдешь сторонников - значит, возможно, выбор правильный.

Ciaran, конечно, не предмет для подражания, но он делает полезную работы для Gentoo(формализация PMS как минимум, ну и EAPI, куда ж без них). А то, что в неё не принимается по причине слишком уж неканоничности - пилит в Exherbo.

То есть, твоё «никакой обратной отдачи в gentoo я делать не собираюсь» выглядит довольно нагло, ИМХО.

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

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

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

ох, а я написал «ненужно» раньше чем дочитал до конца. :/ тоже придется идти в толксы.

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

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

Ахахахахах! Охохохохохох! Чувак, отличная шутка. Знал бы ты, сколько раз за последние полгода в portage ломалась обработка зависимостей...

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

тогда переходи и не жужжи.

Переходить куда? На фанту - дистрибутив ради власти Даниэльки с непонятными целями но по сравнению с гентой даже ещё большим количеством косяков? Переходи и успехов тебе. А меня funtoo только ради того-же дерева портежей но с изменениями фанты и в git как-бы не особо интересует.

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

Избавляйся от негативного мышления - вот где помойка ;)

Гента оперирует use-сущностями и программной логикой пакетов.

И тем не менее пакеты врастают в систему с мясом. Несмотря на кажущуюся внешне простоту и прозрачность недостатков хватает, небез этого. Была тема об использовании групп пакетов, но по видимому пока очевидно держать всё в одном дереве и так проще. Проблема (одна из) очевидна: рост дерева и усложнение расчета зависимостей. Частично решалась за счет профилей. Другой момент - использование «старой школы CVS»

Гораздо было круче рулить деревом через гит.

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

Возможно, что use-сущностей уже недостает. Что-то еще надо.

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

даже всё дерево с историей им перегнал, но всем как всегда.

Там проблема не с репой(которая не быстро конвертится, но не суть). Там проблема с тем, что доступ к такой немаленькой репе достаточно тормозной в git-е. Свежий концепт mgorny о разделении репозитариев на history(дерево перегнанное в git, read-only), и dev(репозитарий, начинающийся с содержимого дерева последнего коммита из history, read-write) выглядит как минимум более жизнеспособным.

Подробности можно прочесть тут

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

Я по моему высказался вполне понятно. Я хочу гибрида centos с пакетным менеджером portage из gentoo.

То есть, в одиночку выдергивать патчи из src.rpm центоси и править их под Gentoo? Удачи.

А есть еще какие-нибудь особенности? Свой profile, набор сэтов или что там еще?

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

Ахахахахах! Охохохохохох! Чувак, отличная шутка. Знал бы ты, сколько раз за последние полгода в portage ломалась обработка зависимостей...

В stable? Дай подумаю... Лично сталкивался 2 раза - оба связаны с Perl-ом. Но учитывая какая у Perl-а упоротая билдсистема и апстрим, каждый релиз тасующий модули в/из основной дистрибуции - я почему-то не удивлен.

В unstable? Ну так это - 'enjoy your unstable and file bugreports!'

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

которая не быстро конвертится, но не суть

5 часов на ноутбуке с core i7 и не самым быстрым хардом (всё в него упёрлось, да).

Там проблема с тем, что доступ к такой немаленькой репе достаточно тормозной в git-е.

Там - это где? Я уже два с половиной месяца держу /usr/portage в git и синкаюсь из того репозитария на гиториусе. Синкается быстрее чем через rsync, есличо.

Свежий концепт mgorny

Что, опять? Я от предыдущего со squashfs-diff ещё рыдать не перестал.

hateyoufeel ★★★★★ ()

Не знаю зачем и что из этого выйдет, но зная тебя могу предоставить все что нужно :) //читай впска с гентой и немного своего времени и идей.

7-лет-как-гентушник-кун

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

Знал бы ты, сколько раз за последние полгода в portage ломалась обработка зависимостей.

Сколько? На стейбле один раз из-за ошибки в eclass не собирались некоторые пакеты, которую на следующий день пофиксили, хоть и было неприятно.

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

полтора месяца назад забанили в гентовой багзилле на неделю.

Небось за комментарии типа «eat shit and die» в адрес разработчиков? А то был у нас тут такой товарищ, который упорно не хотел понимать разницу между workaround и proper fix :-)

Pinkbyte ★★★★★ ()

Были экспериментальные проекты - inspired gentoo. Посмотри для вдохновения.

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

Я о самой обработке внутри portage. Там лютый треш в коде работы с сабслотами был. Ну и свежее «не хотите ли почитать новости пока идёт расчёт зависимостей» - это вообще отлично.

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

Я уже два с половиной месяца держу /usr/portage в git и синкаюсь из того репозитария на гиториусе. Синкается быстрее чем через rsync, есличо.

А я уже два с половиной месяца мержу снапшоты по emerge-webrsync. Синкается быстрее, чем через rsync, есличо :)

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

Гента с фиксированными релизами и бинарными апдейтами уже есть. И даже две - Calculate и Sabayon.

Враньё во первых у них такие-же плавающие релизы а во вторых вот они как раз, как тут выше товарищи подсказывали, „паразитируют“ да.

Теперь далее, насчёт непринятия фиксов.

Я делаю так как хочу видеть и потому-что что так, бесспорно, будет значительно удобнее. И не «правильно» или «не правильно» а вообще иначе. Мне не охота попросту тратить время в багзиллах.

То есть, твоё «никакой обратной отдачи в gentoo я делать не собираюсь» выглядит довольно нагло, ИМХО.

Вот сейчас у меня на руках base дерево с кучами патчей которых нет и уже скорее всего никогда не будет в gentoo. И да эти патчи не оттестированы на всех архитектурах. Но просто на правильное оформление всех патчей на всё что у меня уже есть я угроблю несколько месяцев. gentoo это не нужно потому-что в ней не фиксят а фиксят бампом.

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

Я уже два с половиной месяца держу /usr/portage в git и синкаюсь из того репозитария на гиториусе. Синкается быстрее чем через rsync, есличо.

Если у тебя полная копия репозитария СО ВСЕЙ историей, не затруднит ли тебя показать выхлоп команды

time git status
Pinkbyte ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Лично сталкивался 2 раза - оба связаны с Perl-ом

О, я о них и забыл уже. Прогнал perl-cleaner'ом и всё собралось.

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

Если у тебя полная копия репозитария СО ВСЕЙ историей

Нет конечно, я же не полный дебил. У меня shallow clone.

/usr/portage> time git status                                       
On branch master
Your branch is up-to-date with 'origin/master'.
Untracked files:
  (use "git add <file>..." to include in what will be committed)

	distfiles/
	metadata/md5-cache/

nothing added to commit but untracked files present (use "git add" to track)
git status  0.46s user 0.33s system 124% cpu 0.632 total
hateyoufeel ★★★★★ ()
Ответ на: комментарий от hateyoufeel

беру свои слова назад.

ps: тред доставляет

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

Небось за комментарии типа «eat shit and die» в адрес разработчиков?

Видел одного такого товарища в багзилле. По-моему, это просто бессмысленно. Разрабы генты просто не поспевают за всем следить.

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

у них такие-же плавающие релизы

what? То есть с определенного релиза Calculate нельзя поставить определенный набор пакетов? Окей....

Мне не охота попросту тратить время в багзиллах.

Окей...

Вот сейчас у меня на руках base дерево с кучами патчей которых нет и уже скорее всего никогда не будет в gentoo. И да эти патчи не оттестированы на всех архитектурах. Но просто на правильное оформление всех патчей на всё что у меня уже есть я угроблю несколько месяцев. gentoo это не нужно потому-что в ней не фиксят а фиксят бампом.

И в третий раз «окей»... Вопросов больше не имею. Если ты хочешь иметь форк вида «worksforme» - это твое неотъемлемое право, как и любого другого участника комьюнити. И в этом нет абсолютно ничего плохого.

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

Мечта о вендекапце — это как рыцарская любовь к прекрасной даме.

Это замечательно и вдохновляюще, но реальная развязка на самом деле никому не нужна.

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

Там лютый треш в коде работы с сабслотами был

Это фигня. Вот в оверлее хаскеля вообще, похоже, не знают про сабслоты. Поэтому тупо удаляют старую версию пакета и вкосячивают в тот же слот новую. А потом ничего не компилится.

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

Это фигня. Вот в оверлее хаскеля вообще, похоже, не знают про сабслоты. Поэтому тупо удаляют старую версию пакета и вкосячивают в тот же слот новую. А потом ничего не компилится.

Оно и так компилиться не будет: в хаскеллевых либах никто не парится об обратной совместимости.

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

Нет конечно, я же не полный дебил. У меня shallow clone.

А теперь сделай обычный clone и посмотри сколько это займёт.

Hint: разработчикам НЕ ПОДХОДИТ shallow clone, потому что из него очень проблемно делать коммиты.

Переходить на git только для пользователей имеет смысл, ради ускорения синхронизации(как ты сам только что сказал). Но писать и отлаживать миграцию CVS в пользовательский git и соответствующие хуки... А потом писать еще раз миграцию уже для разработчиков... Это как-то хреново

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

Я бы с радостью, но меня полтора месяца назад забанили в гентовой багзилле на неделю.

А меня на гентушной вике перманентно. Впрочем, я не осилил, как там статьи переводить на русский, так что не жалко. Пусть другие переводят, возможно они поймут принцип переводов.

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

я имел ввиду не дерево и его содержимое, а работу с ним пользователей и дев-ов

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

прочитал по диагонали. схема простая, должна взлететь

но есть вопрос по этому

там проблема с тем, что доступ к такой немаленькой репе достаточно тормозной в git-е

а как же с этим справляются другие проекты с большыми репами (например ядро)?

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