From: Andrey Savchenko <bircoph@altlinux.org> To: ALT Linux Team development discussions <devel@lists.altlinux.org> Subject: Re: [devel] Новая схема ведения исходников ядра Date: Sat, 4 Dec 2021 02:44:58 +0300 Message-ID: <20211204024458.1f4979b9335b157d3ca8b5d7@altlinux.org> (raw) In-Reply-To: <CAK42-GrMmjWKDLEjwa0anqok0B_6xK-B7=91A4EwXLr3=kMftg@mail.gmail.com> [-- Attachment #1: Type: text/plain, Size: 5348 bytes --] On Fri, 3 Dec 2021 23:41:56 +0400 Evgeny Sinelnikov wrote: > Суть: для того, чтобы вести не только поддержку сборки, но разработку > ядра, нацеленную на продвижение наших патчей в апстрим, предлагается > рассмотреть новую схему ведения исходников. > > - все наши патчи складываются "ребейзом" или "черипиком" поверх > последнего релиза, который заявлен в версии пакета > kernel-image-FLAVOUR: > + https://github.com/altlinux/linux-arm/commits/altlinux-5.15.y cherry-pick не осилит merge коммиты (максимум, что можно от него получить, это всю ветку одним коммитом, с потерей истории). Ну а rebase — на любителя и не всегда годится, например, когда часть патчей нужно выбросить по тем или иным причинам. > - схема сборки остаётся прежней за следующими дополнениями: > + ветка sisyphus содержит только gear-rules и spec (ну, пока и не > надо больше - вряд ли потребуется, хотя я бы предложил ещё README по > сборке); > + исходники включают в себя только продуктивные патчи и ветка с ними > перед сборкой "мёрджится" с git merge -s ours; > + для удобной работы над исходниками можно воспользоваться командой > git worktree, позволяющей получить отдельную ветку в соседнем каталоге > на одном и том же git-репозитории; Так себе удобство, честно скажу; я пользуюсь этим когда приходится, но именно как вынужденной мерой. Хотя бы потому, что в git крайне не рекомендуется конкурентно коммитить из двух разных worktree. > + перед сборкой необходимо обновить commitid в .gear/tags/list > https://github.com/altlinux/linux-arm/commits/sisyphus-un-def Вот эта головная боль тоже нежелательна. Потому что при отладке где-нибудь на другой железке или в инсталляторе пакет приходится часто пересобирать. Да, скриптуется, но сборка и так сложна из-за specsubst и разных kflavour. > В целом, этот подход ничего не ломает, но очень много позволяет: > - чётко отслеживать пачти; > - всегда знать чем наше ядро отличается от апстримного не на уровне > одного большого "дифа", доступного только git в консоли, но и на > уровне полного списка патчей, доступного также через web-интерфейс в > соответствующей ветке; А вы точно работали с нашим ядром? Я регулярно переношу все наши патчи на e2k ядро (кроме патчей для других архитектур). Для этого используются ветка нужной версии из git.alt:/people/kernelbot/packages/kernel-image.git В общем-то, там все наши патчи легко видно по --first-parent; cherry-pick работает, но не с merge коммитами, которых там хватает из всяких небольших тематических веток вроде kernelbot/fix-strlcpy. Вот с ними засада, приходится повторять merge коммиты, git rerere облегчает работу, но его кеш локален нельзя запушить в то же дерево, чтоб поделиться с другими или просто перетащить на другую машину. > - всегда иметь подготовленный набор патчей для текущего ядра. > > Я бы ещё предложил делать два патча: > - linux-x.y.0-x.y.z.patch > - linux- x.y.z-alt.patch > тогда патч в нашем SRCRPM-пакете ядра будет не столь бесполезен, чем сейчас. Я бы вообще от них отказался (в общем, у меня так и сделано). В гите же вся работа, вот из него и нужно собирать. Просто git тяжёлый и хорошо бы сборочнице shallow clone делать, хотя бы по запросу. Но это уже хотелка вне ядра. Best regards, Andrew Savchenko [-- Attachment #2: Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2021-12-03 23:44 UTC|newest] Thread overview: 92+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-12-03 19:41 Evgeny Sinelnikov 2021-12-03 23:44 ` Andrey Savchenko [this message] 2021-12-05 23:22 ` Evgeny Sinelnikov 2021-12-06 13:36 ` Dmitry V. Levin 2021-12-06 18:28 ` Andrey Savchenko 2021-12-06 23:07 ` Evgeny Sinelnikov 2021-12-07 7:38 ` Anton V. Boyarshinov 2021-12-06 8:29 ` Alexey Sheplyakov 2021-12-06 17:32 ` Andrey Savchenko 2021-12-06 20:08 ` Vladimir D. Seleznev 2021-12-06 7:42 ` Anton V. Boyarshinov 2021-12-06 8:09 ` Alexey Sheplyakov 2021-12-06 10:29 ` Anton V. Boyarshinov 2021-12-06 10:26 ` Alexey Sheplyakov 2021-12-06 10:31 ` Anton V. Boyarshinov 2021-12-06 10:47 ` Evgeny Sinelnikov 2021-12-06 11:03 ` Anton V. Boyarshinov 2021-12-06 10:55 ` Anton V. Boyarshinov 2021-12-06 13:25 ` Dmitry V. Levin 2021-12-06 13:35 ` Evgeny Sinelnikov 2021-12-06 13:41 ` Anton V. Boyarshinov 2021-12-06 13:48 ` Evgeny Sinelnikov 2021-12-06 13:51 ` Anton V. Boyarshinov 2021-12-06 13:57 ` Dmitry V. Levin 2021-12-06 14:04 ` Evgeny Sinelnikov 2021-12-06 14:08 ` Dmitry V. Levin 2021-12-06 14:40 ` Anton V. Boyarshinov 2021-12-06 14:54 ` Anton V. Boyarshinov 2021-12-06 15:02 ` Dmitry V. Levin 2021-12-06 15:26 ` Anton V. Boyarshinov 2021-12-06 15:53 ` Dmitry V. Levin 2021-12-06 22:58 ` Evgeny Sinelnikov 2021-12-07 7:47 ` Anton V. Boyarshinov 2021-12-07 16:54 ` Andrey Savchenko 2021-12-06 13:47 ` Dmitry V. Levin 2021-12-06 13:54 ` Evgeny Sinelnikov 2021-12-06 10:53 ` Anton V. Boyarshinov 2021-12-06 11:27 ` Alexey Sheplyakov 2021-12-06 11:41 ` Anton V. Boyarshinov 2021-12-06 12:12 ` Anton Farygin 2021-12-06 12:30 ` Alexey Sheplyakov 2021-12-06 14:53 ` Anton Farygin 2021-12-23 3:28 ` Mikhail Novosyolov 2021-12-23 6:07 ` Andrey Savchenko 2022-01-03 5:07 ` Evgeny Sinelnikov 2022-01-03 5:33 ` Evgeny Sinelnikov 2022-01-10 8:53 ` Anton V. Boyarshinov 2022-01-11 8:01 ` Anton V. Boyarshinov 2022-01-11 8:12 ` Anton V. Boyarshinov 2022-01-11 8:55 ` Paul Wolneykien 2022-01-11 9:10 ` Sergey V Turchin 2022-01-11 9:33 ` Anton Farygin 2022-01-11 9:37 ` Alexey V. Vissarionov 2022-01-12 0:26 ` [devel] PoC: gear-submodule-update Ex: " Vitaly Chikunov 2022-01-12 0:39 ` Dmitry V. Levin 2022-01-12 12:20 ` Dmitry V. Levin 2022-01-12 12:40 ` Alexey Gladkov 2022-01-12 12:53 ` Alexey Gladkov 2022-01-12 13:10 ` Alexey Gladkov 2022-01-12 13:26 ` Dmitry V. Levin 2022-01-12 16:59 ` [devel] gear-store-submodules Dmitry V. Levin 2022-01-12 19:14 ` Alexey Gladkov 2022-01-12 20:06 ` Dmitry V. Levin 2022-01-12 21:14 ` Alexey Gladkov 2022-01-12 1:04 ` [devel] PoC: gear-submodule-update Ex: Новая схема ведения исходников ядра Vladislav Zavjalov 2022-01-12 6:01 ` Anton Farygin 2022-01-11 10:30 ` [devel] " Vladimir D. Seleznev 2022-01-11 12:18 ` Anton V. Boyarshinov 2022-01-19 9:53 ` Vladimir D. Seleznev 2022-01-19 9:56 ` Anton V. Boyarshinov 2022-01-19 10:15 ` Anton V. Boyarshinov 2022-01-19 10:24 ` Alexey V. Vissarionov 2022-01-19 10:58 ` Anton V. Boyarshinov 2022-01-19 10:31 ` [devel] Автодекларация патчей в спеках (Was: Новая схема ведения исходников ядра) Vladimir D. Seleznev 2022-01-19 10:32 ` Anton Farygin 2022-01-19 10:48 ` Vladimir D. Seleznev 2022-01-19 11:10 ` Anton Farygin 2022-01-19 10:57 ` Anton V. Boyarshinov 2022-01-19 11:09 ` Alexey V. Vissarionov 2022-01-19 10:52 ` [devel] Новая схема ведения исходников ядра Anton V. Boyarshinov 2022-01-03 6:17 ` Evgeny Sinelnikov 2022-01-03 6:25 ` Aleksey Novodvorsky 2021-12-06 11:54 ` Alexey Sheplyakov 2021-12-06 12:35 ` Dmitry V. Levin 2021-12-06 13:29 ` Evgeny Sinelnikov 2021-12-06 13:48 ` Anton V. Boyarshinov 2021-12-08 8:07 ` [devel] Отделяя котлеты от мух (было Re: Новая схема ведения исходников ядра) Alexey Sheplyakov 2021-12-08 8:54 ` Anton V. Boyarshinov 2021-12-08 10:32 ` Alexey Sheplyakov 2021-12-06 14:31 ` [devel] Новая схема ведения исходников ядра Dmitry V. Levin 2021-12-06 14:55 ` Anton Farygin 2021-12-23 3:14 ` Mikhail Novosyolov
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=20211204024458.1f4979b9335b157d3ca8b5d7@altlinux.org \ --to=bircoph@altlinux.org \ --cc=devel@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
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/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 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git