From: Alexey Gladkov <gladkov.alexey@gmail.com> To: make-initrd@lists.altlinux.org Subject: Re: [make-initrd] udhcpc script в фиче network Date: Thu, 23 Sep 2021 02:45:10 +0200 Message-ID: <20210923004510.vwdythqavekqoow3@example.org> (raw) In-Reply-To: <b5a40877-30a3-6d5b-8664-a53e85528594@gmail.com> On Thu, Sep 23, 2021 at 01:06:33AM +0300, Leonid Krivoshein wrote: > > Ты где-то отдельно пишешь код > > Код отправляю пока в Сизиф и в локальную гитовницу: > > git.altlinux.org/people/klark/packages/make-initrd-bootchain.git Это отдельный репозиторий, делать ревью коммитов непонятно как. git.alt/people это почти худшее место для обсуждения хода. Даже тарболл и патчи в рассылке лучше. Ты несколько раз говорил про него, но я просто не знаю, что с ним делать. Я уже понял, что этот репозиторий живёт своей жизнью и имеет свою историю изменений. Эта история безусловно важна и выкидывать её будет ошибкой. Но проблема в том, что я не представляю как это мерджить поскольку это даже как subtree сделать. Моё предыдущее предложение сделать патчсет уже не актуально в данной ситуации. Я предполагал, что у тебя будет некая минимальная реализация, а остальное мы доработали бы в рабочем порядке. В этом случае все изменения бы ли бы рабочими и проходили обсуждение. Увы, это всё теперь невозможно. Но ты выбрал иную стратегию. Ты разрабатываешь вещь в себе в отдельном репозитории. Это просто некое отдельное решение на основе make-initrd. Этот репозитории повторяет стратегию make-initrd-propagator, который как-то встраивался в make-initrd. И то и другое отдельно стоящие вещи в себе. Новый, правда, интегрирован с основным кодом лучше. > > вместо того чтобы обсуждать и порциями добавлять. > > Если бы работы по обсуждённому ранее плану были завершены, мне бы только и > оставалось, что добавлять порциями. Но к сожалению работы ещё много. Ты сам > настаивал, чтобы продукт был тщательно проверен до того, как он поедет в > апстрим. Находятся замечания, предложения, приходится их устранять и > учитывать. А из-за этого у меня откладывается работа по автоматизации > тестового стенда. Конечно лучше, чтобы в апстрим поехал безупречно > работающий продукт. Ты и сам уже можешь посмотреть код в Сизифе, пощупать > очередные регулярки с разными опциями и методами загрузки. > > Лично мне кажется, что ни один пакет у нас так пристально не проверялся, > попадая в обычные продукты. Но altboot -- важное звено в процессе загрузки и > моя задача учесть совместимость с уже сделанным в Альте за многие годы. Я начинаю думать, что уже лучше оставить всё как есть сейчас. Пусть make-initrd-bootchain остаётся отдельным репозиторием и пакетом. Когда в make-initrd будут появляться новые интерфейсы или фичи, то они будут начинать использоваться в make-initrd-bootchain. В том числе, когда какой-то функционал будет переползать в апстрим. Иначе я просто не представляю как всё уже написанное поддерживать. > > Ты уже спроектировал и реализовал свою систему так с чем я не > > могу согласиться. > мы решаем задачу по избавлению от propagator и запихиванию > его функционала в make-initrd. Всё это проделано зря, если вместо propagator > предложить в чистом виде pipeline или иную новую концепцию загрузки, которая > будет идеальной с точки зрения make-initrd Так. Очень интересно, но об этом чуть ниже. > Как раз я старался учесть возможность перехода в будущем на более правильные > концепции. Но сейчас и тебе надо принять, как данность, что пусть > "функционал пропагатора" с твоей точки зрения не идеален, лучше чтобы он был > внутри make-initrd Вот тут ты ошибаешься. Мне не нужно и тебе не советую принимать как данность, что нужно повторять поведение, которое написано в 2004. Это поведение чуть-чуть устарело. Кроме того, если тебе нужно поведение propagator, то он уже есть и незачем его переизобретать. > и работал как 1/80 часть его рантайма, а не наоборот, > чтобы настоящий propagator полностью выкидывал и заменял собой все 100% > рантайма make-initrd. Признаюсь тебе: мне нет дела до propagator. Это древний кусок гов^W кода. Раньше он замечательно работал без make-initrd. Он делает всё сам и своими методами. Считаю ли я, что _функционал_ propagator может быть реализован на make-initrd ? Да. Считаю ли я, что поведение propagator нужно воспроизводить ? Нет. Я считаю, что должна быть сохранена совместимость до определённой степени. Я не считаю, что нужна полная копия поведения. Для последнего у вас есть сам propagator. > Можно и нужно обсуждать, как лучше сделать это, не > ломая совместимости, и учитывая потребности перехода на что-то более > правильное в перспективе. Ты сам себе противоречишь. Я должен принять, как данность функционал пропагатора и не ломая совместимости с кодом 17 летней (на самом деле большей) давности переходить на что-то более правильное. И при этом ты пишешь, что не потянешь сопровождение. Другими словами жить с и переписывать эту "данность" с учётом совместимости буду я ? Отличная перспектива. А давайте сначала вы осознаете, что вам не нужен клон propagator и будете апстримить уже стазу более правильное ? Потому что сейчас всё что, сказал выглядит не очень здорово. Выглядит так, что пропагатор переписанный разом на форк pipeline мне пытаются скинуть на поддержку. > > И я до сих пор не видел ни одного патча. Поэтому для > > меня каждая твоя проблема является большим сюрпризом. > > Кажется, несколько попыток я уже делал, в частности, отдельно предлагал > bootchain-interactive. Патчей или PR так и не было. А каталог bootchain-interactive в упомянутом выше репозитории ничем в make-initrd не используется. Все сообщения make-initrd идут мимо. Кроме того, мы уже обсуждали использование других vt. Я не очень понимаю, что делать с этой фичей в make-initrd-bootchain.git > Но, как я понял, ты хочешь принять всё одним разом, и > только после тщательной проверки всей связки. Так мы этой проверкой сейчас > занимаемся. Я хотел совсем не этого. См. выше. > После этого мне ещё README для каждой фичи писать и только потом > делать коммиты в апстрим -- таков был план. Не. Этот поезд уже ушёл. Превращать репозиторий с историей изменений в некий патчет просто не имеет смысла. > > Я говорил про удаление всей конфигурации не только из-за IFNAME. Если у > > тебя был dhcp на интерфейсе, а теперь пользователь хочет статику, то dhcp > > нужно аккуратно остановить. > > В текущей простой ситуации, которую нельзя назвать финальным/идеальным > вариантом, у пользователя нет шансов что-либо захотеть. :-) Так это неправильно. Пользователь может такое хотеть. Да и дело не только в dhcp -> static. Нужно уметь расконфигурировать интерфейс. > http://git.altlinux.org/gears/m/make-initrd-bootchain.git?p=make-initrd-bootchain.git;a=blob;f=bootchain-waitnet/data/lib/bootchain/waitnet;h=5a1a8d2acd09c06d8091b921803850ea313de2ed;hb=9305bcd041b50b018d7fa4c11cebac4123514b26#l24 > if [ ! -s /bin/network-sh-functions ]; then В 2.22.0-13-g78001064a я специально реализовал проверку фич о которой мы говорили. > > Сначала я хочу понять зачем так в принципе делать т.к. cmdline.d/network > > не для этого вообще. Мне кажется странным пытаться сконфигурировать сеть > > путём эмуляции указания /proc/cmdline. > > /proc/cmdline удобен тем, что можно что-то подлатать на лету, подхакать на лету. > Даже ядерщики дожили до bootconfig. Мне кажется ты совсем не понял, зачем они это сделали. > Я понимаю, что когда ты писал код фич, ты не > рассчитывал на их повторный запуск. Но как мне быть, если нужно не > сконфигурированную фичу сконфигурировать и перезапустить? Не делать же > очередной форк! Не нужно форкать. Нужно сформировать конфиги, которые используются кодом. Если код не готов, то нужно предложить патч, который это поправит. > Твоя фича рассчитывает на параметры из /proc/cmdline. Ты не понял мой код. Фича network не рассчитывает на параметры из /proc/cmdline. У неё есть генератор, который преобразует общепринятые параметры [1] в формат своих конфигов. Она вообще может обойтись без этого генератора, если конфигурпцию положить в образ при генерации. [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/Documentation/admin-guide/nfs/nfsroot.rst#n88 > А полная совместимость с пропагатором требует другого синтаксиса А зачем эта совместимость ? Ты пишешь про это как про аксиому. Я не хочу отвлекаться на кулстори, но когда мы с inger@ писали инсталлер, то как-то пережили отсутствие совместимости с mandrake. А тут внезапно появилось желание иметь совместимость с его частью. > > [...] > > Я с самого начала обсуждения диалогов говорил, что они должны быть сделаны > > на системном уровне, чтобы весь код был готов к изменению параметров, но > > почему-то меня не услышали. > > Тебе видней, как это реализовать на системном уровне, разве кто-то будет > возражать! Я не так хорошо пока знаю архитектуру make-initrd, но предлагал > перетащить на верхний уровень bootchain-interactive Я не понял как ты предлагал это перетакивать. Скопировать код в другой репозиторий ? > Кстати, только сегодня > думал, что может как раз не стоит перетаскивать, а лучше оставить в составе > пошаговой загрузки на отдельном терминале. Потому что разные фичи > (запущенные демоны) должны выстраиваться в очередь, диалоги не должны > мешаться, они не всегда бывают диалогами ввода. Я уже выше писал, что начал тоже так думать. Пусть всё это пока живёт в make-initrd-bootchain. > Про перевод всех параметров > /proc/cmdline в форму диалогов я правда слышу в первый раз. Мне кажется > сомнительной такая возможность. Я говорил не про другие параметры /proc/cmdline, а про дополнительную информацию и интерактивщину. Последняя уже есть в fsck и luks. > > > > > Если удастся найти рабочий вариант с диалогами настройки сети "вдогонку", у > > > > > нас снимется много вопросов о том, как интегрировать bootchain/interactive с > > > > > уже имеющимися фичами make-initrd. Будет хороший пример, как это можно > > > > > сделать. > > P.S.: Если хочешь, давай остановимся на версии 0.1.5-alt3 и начнём её > апстримить. Вот прямо сегодня! :-) Я уже высказался про это выше. > Самое жёсткое пересечение -- это форк фичи pipeline в bootchain, только оно > может затронуть нынешних пользователей pipeline, коих не так много. Это нужно обсуждать. -- Rgrds, legion
next prev parent reply other threads:[~2021-09-23 0:45 UTC|newest] Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-09-17 20:48 Leonid Krivoshein 2021-09-17 22:08 ` Alexey Gladkov 2021-09-19 21:50 ` Leonid Krivoshein 2021-09-21 22:51 ` Leonid Krivoshein 2021-09-22 0:16 ` Leonid Krivoshein 2021-09-22 10:01 ` Alexey Gladkov 2021-09-22 10:09 ` Alexey Gladkov 2021-09-22 10:56 ` Leonid Krivoshein 2021-09-22 11:41 ` Alexey Gladkov 2021-09-22 12:06 ` Leonid Krivoshein 2021-09-22 13:08 ` Alexey Gladkov 2021-09-22 14:46 ` Alexey Gladkov 2021-09-22 16:12 ` Leonid Krivoshein 2021-09-22 19:03 ` Alexey Gladkov 2021-09-22 22:06 ` Leonid Krivoshein 2021-09-23 0:45 ` Alexey Gladkov [this message] 2021-09-23 2:31 ` Антон Мидюков 2021-09-23 8:59 ` Alexey Gladkov 2021-09-23 20:40 ` Leonid Krivoshein 2021-09-23 21:15 ` Alexey Gladkov 2021-09-23 21:55 ` Arseny Maslennikov 2021-09-23 22:41 ` Alexey Gladkov 2021-09-23 22:51 ` Leonid Krivoshein 2021-09-23 22:56 ` Leonid Krivoshein 2021-09-23 23:31 ` Alexey Gladkov 2021-09-23 2:40 ` Leonid Krivoshein 2021-09-23 11:38 ` Alexey Gladkov 2021-09-24 17:31 ` Leonid Krivoshein 2021-09-24 18:35 ` Leonid Krivoshein 2021-09-24 19:00 ` Alexey Gladkov 2021-09-24 20:09 ` Leonid Krivoshein 2024-03-07 19:18 ` Leonid Krivoshein 2024-03-12 17:42 ` Alexey Gladkov
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210923004510.vwdythqavekqoow3@example.org \ --to=gladkov.alexey@gmail.com \ --cc=make-initrd@lists.altlinux.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: link
Make-initrd development discussion This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/make-initrd/0 make-initrd/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 make-initrd make-initrd/ http://lore.altlinux.org/make-initrd \ make-initrd@lists.altlinux.org make-initrd@lists.altlinux.ru make-initrd@lists.altlinux.com public-inbox-index make-initrd Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.make-initrd AGPL code for this site: git clone https://public-inbox.org/public-inbox.git