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

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

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

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

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

/src/gentoo/gentoo-x86> git status
On branch master
Your branch is up-to-date with 'origin/master'.
nothing to commit, working directory clean
git status  2.15s user 1.93s system 113% cpu 4.085 total

Да, ты уменя убедил, 4 секунды - это долго.

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

Это починили в git 2.0, теперь проблем нет.

Но писать и отлаживать миграцию CVS в пользовательский git и соответствующие хуки...

Просто признай, что тебя покусали разработчики генты и ты теперь тоже ленивая задница. Если сходишь по той ссылке на гиториус, сможешь увидеть, что свежие апдейты из cvs приходят каждое утро. Запилить это было ни разу не сложно, поверь. Добавить пару хуков для подписи коммитов и прочего, думаю, тоже не составит труда. Только нафига, если можно просто выкинуть cvs и пользовать git?

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

Уже появился USE=git для sys-apps/portage или это (9999)?

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

Но писать и отлаживать миграцию CVS в пользовательский git и соответствующие хуки...

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

anonymous
()

Главное не получить bolgenos 2.0 в итоге. :D

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

Если я правильно понимаю, что ты хочешь сделать - это была бы бомба. Успехов, правда, лучше бы было руки предожить, но (пока) нет.

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

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

судя по этому:

pinkbyte@oas1 ~/dev/linux $ git remote -v
linux-next      git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git (fetch)
linux-next      git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git (push)
origin  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git (fetch)
origin  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git (push)
pinkbyte@oas1 ~/dev/linux $ time git status
On branch master
Your branch is behind 'origin/master' by 5057 commits, and can be fast-forwarded.
  (use "git pull" to update your local branch)


It took 5.23 seconds to enumerate untracked files. 'status -uno'
may speed it up, but you have to be careful not to forget to add
new files yourself (see 'git help status').
nothing to commit, working directory clean

real    0m24.609s
user    0m0.720s
sys     0m0.203s

никак :-/

И это при том, что master-ветка как правило содержит merge-коммиты от Линуса и прочих «проверенных людей».

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

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

„Определенный набор пакетов“ можно поставить в абсолютно любом дистрибутиве GNU/Linux. А вот стратегия обновлений Calculate/Sabayon да именно такая-же как у gentoo - плавающие релизы. Если всё ещё не убедило то они сами заявляют «совместимость с гентой» и иначе её либо просто не могло бы существовать либо существовала но с огромным списком оговорок.

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

Это починили в git 2.0, теперь проблем нет.

Есть, mgorny упоминал о том, что не во всех workflow это будет работать.

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

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

Нормальная позиция, Д'Артаньянская, чо, мне нравится.

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

Есть, mgorny упоминал о том, что не во всех workflow это будет работать.

Он вообще много чего упоминал, он тот ещё затейник. Ссылку, пожалуйста, в студию.

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

Ты идиот? Я выше приводил ссылку на тред, в котором hasufell пишет, что практически никто даже не двигается в этом направлении и не пытается что-то сделать ввиду практически несуществующей координации между разработчиками, кучи волокиты и тому подобного рака. Разве что Патрег (вот этот http://gentooexperimental.org/~patrick/weblog/) экспериментировал с перегонкой дерева в git, но он использовал другие тулзы и у него всё получилось весьма хреново.

«Однажды лебедь, рак и щука задумали сыграть квартет. Поставил лебедь щуку раком, ... - а сыра нет.» - Это как раз про разработку Gentoo.

hateyoufeel ★★★★★
()

Интересно. Может и взлетит. Но насколько дней хватит ваших сил? Что будет с дистрибутивом потом?

andreyu ★★★★★
()

пили не форк, а ветку, чтобы можно было твои наработки подливать в генту

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

Но насколько дней хватит ваших сил?

Моих? Если не разбомбят хватит… Но это уже другой разговор.

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

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

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

вангую: не далее чем до 31го марта (да, это с большим запасом)

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

Моих? Если не разбомбят хватит… Но это уже другой разговор.

Ваших, естественно. Где гарантии, что через неделю вы не забьете болт на этот дистрибутив?

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

Фанту нужен только ради того чтобы Даниэлька дальше продолжал командовать. Такие дела…

У него неплохо получается, могу сказать. Плюс, один единственный ДРоббинс - это лучше чем толпа бесполезных обезъян из Gentoo Council.

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

Какая проницательность! ;)

Причем обои по госту и с поддержкой манипулятора типа «колобок»

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

а, ну все, здаюсь.

напомните за что режут по -20?

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

пили не форк, а ветку, чтобы можно было твои наработки подливать в генту

Ок. „Ветку“ в чём? В CVS? :) Спасибо но нет пусть это они уж как-то без меня…

А обратно в gentoo можно хоть сейчас начинать. У меня сейчас в base 194 ebuild-а и в неизменном, относительно gentoo, виде там менее одной трети. Остановимся на примерной цифре в 130 изменённых ebuild-ов. В каждом ebuil-е минимум одна заплатка которой нет в gentoo. В python-2* таких заплаток 45… ну или около того - одна или две штуки разницы там не сыграет. И кроме python подобных ebuild-ов с очень большим числом заплаток тоже было немало просто он почему-то запомнился. Так вот добрый anonymous посчитаешь сколько вечеров я убью только на то, что-бы позаводить по одному багу в багзилле на каждый патч?

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

кто-то не рубит питон, кто-то не имеет свободного времени, кому-то леть. так и живем^W^W^W поетому и продолжаем пересобирать мир/нагревать комнату/помогать глобальному потеплению

ZuBB ★★★★★
()

Вначале подумал какой-то слишком жирный вброс, потом увидел автора. Ты понимаешь что делаешь, но личный опыт, например:

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

Пользуюсь гентой лет 5, особых проблем стабильности не испытывал.

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

Примерно то же, несколько пакетов 9999 стоят и работают (тот же докер например), да иногда не собираются, но остается старая версия и впринципе проблем не возникает.

Про оверлеи и релизы ты лучше знаешь, остается вопрос, почему же это не форк фанты?

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

Кто-нибудь может мне внятно объяснить, на кой хрен портеж каждый раз проводит всевозможные проверки дерева и всех установленных оверлеев? Pinkbyte, что скажешь?

Я не Pinkbyte но тоже могу сказать. Дальше по ссылкам из темы ты найдешь замечательный патчик от TomWij для более полного вывода времени в процессе просчета зависимостей и там-же есть ссылка на forums.gentoo.org с его-же объяснениями и даже картинками по сабжу…

И да очевидно что «всевозможные проверки дерева и всех установленных оверлеев» нужны portage для того чтобы построить зависимости @world, @system.

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

И да очевидно что «всевозможные проверки дерева и всех установленных оверлеев» нужны portage для того чтобы построить зависимости @world, @system.

Зачем строить зависимости этих сетов в случае установки или обновления одного-единственного атома?

pedobear
()

проблема отмечена как решенная - расходимся

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

Примерно то же, несколько пакетов 9999 стоят и работают (тот же докер например), да иногда не собираются, но остается старая версия и впринципе проблем не возникает.

Как скажешь.

Про оверлеи и релизы ты лучше знаешь, остается вопрос, почему же это не форк фанты?

То чего я хочу нет ни в gentoo ни в funtoo но из них двоих более адекватная и, так скажем, задаёт тон все-же gentoo. А ради чего форкать фанту? В ней из всего только дерево в git для gentoo это тоже давно б работало если-б хоть кто-то этим реально занимался бы. Так что смысла не вижу.

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

нет стабильной системы которой реально можно пользоваться

4.2
Есть стабильная ветка, и ей можно пользоваться.

И вообще - революционные агрейды - зло. Эволюция рулит.

record ★★★★★
()

примерно так, как это организовано в exherbo.

ну так используй ты exherbo

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

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

А с трёпом про «ненужно» лучше сразу идите в толксы

предлагаю тогда всю тему перманентно в толксы

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

Зачем строить зависимости этих сетов в случае установки или обновления одного-единственного атома?

Один единственный атом ни на что не влияет или перед установкой это всё-же нужно проверить?

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

4.2 Есть стабильная ветка, и ей можно пользоваться.

Удваиваю 4.2.

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

Это не вдаваясь в философию насчет того, что само понятие стабильности в дистрибутиве с плавающим релизом тоже плавающее. А реальной стабильности (читай как в том-же centos) в gentoo нет и быть не может.

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

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

Извиняюсь, но не с дуба рухнуть такое позаводить? Об автоматизации рутинных операций небось не слыхал? Всё время занимает ненависть и поиск глюков? Пару вечеров на скрипт автопоста багов и вуаля. Не подойдёт багзила - сделай инит6багзилу, потом напишешь конвертор.

Кстати это отлично - быть таким тестером. Гентушники спасибо скажут.

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

Так пусть проверяет конкретно влияние атома, зачем он лезет по всем репозиториям чекать манифесты, корректность ебилдов и так далее?

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

ну так используй ты exherbo

В чем смысл? Я написал что мне нравится только их смелое решение разделить дерево portage.

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

А „заплатки“ которые будут „сами пропатчиватся“ это по твоему что сразу все новые версии ebuild-ов? Или быть-может всё-же некая часть от всех ebuil-ов?

предлагаю тогда всю тему перманентно в толксы

Давайпокадосвидания.

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

Об автоматизации рутинных операций небось не слыхал?

Для того чтобы в багзилле gentoo начали бы хоть что-то делать всё-равно нужно как то описать… А не просто однообразное «Ленивые задницы вот вам патч. Решайте немедленно!» ко всем багам. Даже в самом лучшем случае после этого реально обратят внимание на мизерное кол-во патчей и ещё меньшее попадёт в аппстрим генты.

Трудозатраты огромные а результат мизерный.

Кстати это отлично - быть таким тестером. Гентушники спасибо скажут.

Сюрприз - в генте тестеры и так все её пользователи.

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

Так пусть проверяет конкретно влияние атома, зачем он лезет по всем репозиториям чекать манифесты, корректность ебилдов и так далее?

Ок. Ты меня убедил пусть portage так и делает.

Ну и что? Что-то изменилось в поведении portage или всё-же надо идти, заводить баг, фиксить?

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

Кто-то кроме фрактала использует такой интерфейс?

Неа
ПыСы. Актуальная реинкарнация фрактала — King_Carlo.

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

Теперь это нацпола тред.

Какой вопрос такой и ответ.

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

Это как раз про разработку Gentoo.

Я в разработке исповедаю просто принцип: «можешь сделать лучше - делай. Не можешь - не мешай другим». Патрик делает хоть что-то(при этом не всегда хорошо, но не ошибается тот кто ничего не делает). hasufell же последние 2 года только фиксит мелкие баги и истерит по большим проблемам. Причем истерит в режиме «у нас всё плохо!!!!111 Ок, что ты предлагаешь? Не знаю, но у нас всё плохо!!!!111» - конструктивизм от него просто прёт. mgorny выходит с иногда бредовыми(но когда ему объясняют - он понимает) но всё таки решениями.

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

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

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

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

Зависит от скорости сетевого соединения(то есть без сервера - печаль), в среднем не больше 2 секунд, но проблема тут в том, что git commit даже в оффлайн режиме займет еще больше времени. А когда надо сделать кучу мелких коммитов - это превращается в ад. CVS далеко не подарок(точнее наоборот - он окаменелое говно мамонта).

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

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

Зачем строить зависимости этих сетов в случае установки или обновления одного-единственного атома?

Не знаю насчёт world(не уверен что его консистентность проверяется при emerge -1 one/package), но всё что в @system ДОЛЖНО быть установлено при любой операции с пакетами. Потому что зависимости от @system в ебилдах не ставятся.

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