From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 13 Oct 2021 21:17:59 +0200 From: Alexey Gladkov To: make-initrd@lists.altlinux.org Message-ID: <20211013191759.7hgtqxp2di35tlrk@example.org> References: <90978b29-a2f6-ff0d-afdb-2bc3b4f7933c@gmail.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: Subject: Re: [make-initrd] broken patches? (Re: [PATCH v4 0/4] split pipeline into 4 features) X-BeenThere: make-initrd@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: make-initrd@lists.altlinux.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 13 Oct 2021 19:18:00 -0000 Archived-At: List-Archive: On Wed, Oct 13, 2021 at 10:04:52PM +0300, Leonid Krivoshein wrote: > > 13.10.2021 21:50, Arseny Maslennikov пишет: > > On Wed, Oct 13, 2021 at 08:20:53PM +0300, Leonid Krivoshein wrote: > > > Привет! > > > > > > > > > Пробный шар -- не чтобы апстримить, а чтобы оценить самую сложную часть. > > > Если всё хорошо, за ней будут ещё коммиты, которые разделяются довольно > > > просто. Но первые четыре коммита -- это разделение pipeline на четыре части, > > > нет смысл такое апстримить как форк ради форка, в таком виде не добавляется > > > дополнительная функциональность. > > > > > Патчи почему-то получаются битые; не знаю, как они у Алексея > > прикладываются. > > > > % git am < split-pipeline-into-4-features.mbox > > warning: Patch sent with format=flowed; space at the end of lines might be lost. > > Applying: Separate new feature of bootchain-core from pipeline > > error: corrupt patch at line 181 > > Patch failed at 0001 Separate new feature of bootchain-core from pipeline > > hint: Use 'git am --show-current-patch=diff' to see the failed patch > > When you have resolved this problem, run "git am --continue". > > If you prefer to skip this patch, run "git am --skip" instead. > > To restore the original branch and stop patching, run "git am --abort". > > [128] % > > > > Например: > > > > index 89d9de5..1e95e7d 100755 > > --- a/features/pipeline/data/etc/rc.d/init.d/pipeline > > +++ b/features/bootchain-core/data/etc/rc.d/init.d/bootchain > > @@ -1,6 +1,6 @@ > > #!/bin/bash > > ### BEGIN INIT INFO > > -# Provides: pipeline > > +# Provides: bootchain > > # Required-Start: uevent udev > > # Should-Start: > > # Required-Stop: > > > > Здесь написано, что строки контекста в файле `f/p/d/etc/rc.d/init.d/p` > > начинаются с пробела и потом #, а подменяемая строка, где Provides, > > начинается с самого #. В самом том инит-скрипте вся преамбула начинается > > с первого символа #. > > > > @@ -13,14 +13,14 @@ > > . /.initrd/initenv > > . /etc/init.d/template > > -NAME=pipelined > > +NAME=bootchained > > PIDFILE="/var/run/$NAME.pid" > > ARGS="--lockfile $LOCKFILE --pidfile $PIDFILE --name $NAME > > --displayname $NAME" > > > > Вот тут кто-то съел пробельные символы в начале строки, и > > patch(1)/git-am(1) видят эту строчку как подлежащую удалению строчку с > > содержанием `-displayname $NAME"`. Первый `-` оказывается служебным. > > > > prepare() { > > local dir i n > > - dir=/.initrd/pipeline/waitdev > > + dir=/.initrd/bootchain/waitdev > > > > Вот тут кто-то сдвинул минус с первой позиции на третью. > > Чуть выше, где NAME=pipelined переименовывается в bootchained, тоже - и > > + не ровно стоят. > > > > mkdir -p -- "$dir" > > i=0 > > @@ -32,7 +32,7 @@ prepare() { > > start() { > > RETVAL=0 > > - if [ "${ROOT-}" = pipeline ]; then > > + if [ "${ROOT-}" = bootchain ] || [ "${ROOT-}" = pipeline ]; then > > prepare > > start_daemon --background $ARGS "$NAME" > > RETVAL=$? > > > > Здесь идёт "кусок"/"фрагмент" (hunk, устоявшегося русского термина нет), > > в заголовке которого заявлено, что 7 строк превращаются в 7 строк, но он > > содержит всего 6: 2 строки контекста перед -+, одна строка подменяется, > > 3 строки контекста после. Кто-то украл одну строку контекста. > > Если посмотреть в подвергаемый переименованию/запатчиванию файл, > > окажется, что эта строка пуста, и её представление в файле с патчем — > > это единственный пробел-маркер строки контекста и всё, перенос строки. > > > > Таких повреждений патча там и в других коммитах больше. > > Человек может напрячься, потратить время, провести расследование и > > попробовать догадаться, что имелось в виду; программа patch этого делать > > не будет (а git am — и подавно). Возможно, Thunderbird ломает патчи при > > отправке. > > Да, я отправлял через Thunderbird готовые письма, сформированные через git > format-patch. Не знаю, что тут сказать. https://git-scm.com/docs/git-format-patch#_thunderbird > Алексей, патчи действительно > побились? Да. > Прикладывать надо к апстримному make-initrd, если что: > git://github.com/osboot/make-initrd > > > > Почта для переписки, почта для офиса/рекламы (аутлук-подобная) и почта > > для патчей — это три разные почты, которые, как чудесным образом > > получилось, используют некоторые общие сетевые протоколы для доступа в > > ящик и для пересылки. На мой скромный взгляд, не стоит пытаться > > инструменты для одной из этих почт использовать для работы с другими > > двумя. > > В очередной раз порекомендую пользоваться git-send-email, а если его > > До этого пока не дожил, надо перенастроить машину сначала, но имею ввиду. > > > > тяжело заставить посылать письма с GMail-ящика — можно попросить у > > ldv@/glebfm@ доступ к серверу @altlinux.org по SMTP и посылать с адреса, > > который в том же changelog пакетов используется. > > Письма в гуглоящике тоже появятся, если их туда пришлёт рассылка или > > если они будут проставлены в Cc, будь то явно или автоматически. > > https://git-scm.com/docs/git-format-patch#_gmail > > P.S. Очень приветствую это направление и благодарен за развитие > > pipeline/bootchain! Очень пригодится. Надо догонять и обгонять дебиан > > ;). > > > > А я благодарен за полезные ссылки на предыдущей итерации. Благодаря им > набрёл на хорошую литературу по гиту. Хоть ребейзить немного научился, уже > хлеб! :-) > > > > > > > > > Leonid Krivoshein (4): > > > Separate new feature of bootchain-core from pipeline > > > kickstart: fix feature to work with bootchain-core > > > bootchain-core: move bootchain-sh-function to /bin > > > bootchain: separate getimage and waitdev features > > > > > > features/bootchain-core/README.md | 81 +++++++++++++++++++ > > > features/bootchain-core/config.mk | 5 ++ > > > .../data/bin/bootchain-sh-functions} | 12 +-- > > > .../data/etc/initrd/cmdline.d/bootchain-core | 4 + > > > .../data/etc/rc.d/init.d/bootchain} | 22 +---- > > > .../data/lib/bootchain}/mountfs | 2 +- > > > .../data/lib/bootchain}/overlayfs | 2 +- > > > .../data/lib/bootchain}/rootfs | 2 +- > > > .../data/lib/initrd/cmdline.d/bootchain | 6 ++ > > > .../data/lib/initrd/cmdline.d/pipeline | 2 +- > > > .../data/sbin/bootchained} | 22 ++--- > > > features/bootchain-core/rules.mk | 3 + > > > features/bootchain-getimage/README.md | 24 ++++++ > > > features/bootchain-getimage/config.mk | 5 ++ > > > .../etc/initrd/cmdline.d/bootchain-getimage | 1 + > > > .../data/lib/bootchain}/getimage | 2 +- > > > features/bootchain-getimage/rules.mk | 2 + > > > features/bootchain-waitdev/README.md | 22 +++++ > > > features/bootchain-waitdev/config.mk | 6 ++ > > > .../etc/initrd/cmdline.d/bootchain-waitdev | 1 + > > > .../udev/rules.d/50-bootchain-waitdev.rules} | 2 +- > > > .../data/lib/bootchain}/waitdev | 4 +- > > > .../data/lib/initrd/pre/bootchain/300-waitdev | 12 +++ > > > .../lib/uevent/filters/bootchain-waitdev} | 4 +- > > > features/bootchain-waitdev/rules.mk | 2 + > > > .../lib/{pipeline => bootchain}/kickstart | 2 +- > > > features/pipeline/config.mk | 9 +-- > > > .../data/etc/initrd/cmdline.d/pipeline | 5 -- > > > features/pipeline/rules.mk | 6 -- > > > 29 files changed, 207 insertions(+), 65 deletions(-) > > > create mode 100644 features/bootchain-core/README.md > > > create mode 100644 features/bootchain-core/config.mk > > > rename features/{pipeline/data/sbin/pipeline-sh-functions => > > > bootchain-core/data/bin/bootchain-sh-functions} (70%) > > > create mode 100644 > > > features/bootchain-core/data/etc/initrd/cmdline.d/bootchain-core > > > rename features/{pipeline/data/etc/rc.d/init.d/pipeline => > > > bootchain-core/data/etc/rc.d/init.d/bootchain} (63%) > > > rename features/{pipeline/data/lib/pipeline => > > > bootchain-core/data/lib/bootchain}/mountfs (91%) > > > rename features/{pipeline/data/lib/pipeline => > > > bootchain-core/data/lib/bootchain}/overlayfs (95%) > > > rename features/{pipeline/data/lib/pipeline => > > > bootchain-core/data/lib/bootchain}/rootfs (86%) > > > create mode 100755 > > > features/bootchain-core/data/lib/initrd/cmdline.d/bootchain > > > rename features/{pipeline => > > > bootchain-core}/data/lib/initrd/cmdline.d/pipeline (64%) > > > rename features/{pipeline/data/sbin/pipelined => > > > bootchain-core/data/sbin/bootchained} (78%) > > > create mode 100644 features/bootchain-core/rules.mk > > > create mode 100644 features/bootchain-getimage/README.md > > > create mode 100644 features/bootchain-getimage/config.mk > > > create mode 100644 > > > features/bootchain-getimage/data/etc/initrd/cmdline.d/bootchain-getimage > > > rename features/{pipeline/data/lib/pipeline => > > > bootchain-getimage/data/lib/bootchain}/getimage (93%) > > > create mode 100644 features/bootchain-getimage/rules.mk > > > create mode 100644 features/bootchain-waitdev/README.md > > > create mode 100644 features/bootchain-waitdev/config.mk > > > create mode 100644 > > > features/bootchain-waitdev/data/etc/initrd/cmdline.d/bootchain-waitdev > > > rename features/{pipeline/data/etc/udev/rules.d/50-pipeline-waitdev.rules > > > => bootchain-waitdev/data/etc/udev/rules.d/50-bootchain-waitdev.rules} (77%) > > > rename features/{pipeline/data/lib/pipeline => > > > bootchain-waitdev/data/lib/bootchain}/waitdev (83%) > > > create mode 100755 > > > features/bootchain-waitdev/data/lib/initrd/pre/bootchain/300-waitdev > > > rename features/{pipeline/data/lib/uevent/filters/pipeline-waitdev => > > > bootchain-waitdev/data/lib/uevent/filters/bootchain-waitdev} (77%) > > > create mode 100644 features/bootchain-waitdev/rules.mk > > > rename features/kickstart/data/lib/{pipeline => bootchain}/kickstart (93%) > > > delete mode 100644 features/pipeline/data/etc/initrd/cmdline.d/pipeline > > > > > > -- > > > 2.24.1 > > > > > > > > > _______________________________________________ > > > Make-initrd mailing list > > > Make-initrd@lists.altlinux.org > > > https://lists.altlinux.org/mailman/listinfo/make-initrd > > > > > > _______________________________________________ > > > Make-initrd mailing list > > > Make-initrd@lists.altlinux.org > > > https://lists.altlinux.org/mailman/listinfo/make-initrd > > -- > Best regards, > Leonid Krivoshein. > > _______________________________________________ > Make-initrd mailing list > Make-initrd@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/make-initrd -- Rgrds, legion