TimurTabi | I have a question about https://kernel.ubuntu.com/~kernel-ppa/mainline/. Starting with the 5.7 kernel, the build patch files (e.g. 0001-base-packaging.patch) are no longer included. Why is that? I need those files in order to build an upstream kernel and they're just missing with no explanation. | 03:48 |
---|---|---|
juergh | @TimurTabi, The patches are now provided as a git bundle: crack.bundle in the top directory. | 08:28 |
=== cpaelzer__ is now known as cpaelzer | ||
TimurTabi | Thanks. I've never heard of a git bundle before, so I guess I need to figure that out. | 13:24 |
TimurTabi | Was this change documented anywhere? I don't see any reference to bundles on https://wiki.ubuntu.com/Kernel/MainlineBuilds | 13:27 |
TimurTabi | $ git pull crack.bundle master | 13:32 |
TimurTabi | fatal: couldn't find remote ref master | 13:32 |
TimurTabi | Shouldn't that work? | 13:32 |
klebers | TimurTabi, you don't need to apply any additional patch anymore on top of the git tag mentioned on the page | 13:41 |
klebers | e.g. from https://kernel.ubuntu.com/~kernel-ppa/mainline/v5.12-rc6/ | 13:41 |
klebers | To obtain the source from which they are built fetch the commit below: | 13:41 |
klebers | git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack cod/mainline/v5.12-rc6 | 13:41 |
klebers | just fetch that tag, it already contains all the additional patches applied | 13:42 |
TimurTabi | What I'm trying to do is create an ubuntu_defconfig from *any* v5.12-rc6 kernel | 13:42 |
TimurTabi | not just the one that Canonical used. | 13:42 |
TimurTabi | I just need those 5 patch files that are apparently in crack.bundle | 13:43 |
klebers | you can likely do it with 'git format-path -1 <sha1>', then you can apply that patch anywhere you need | 13:43 |
klebers | actually 'git format-patch ...' | 13:43 |
TimurTabi | what <sha1> do I use? | 13:43 |
TimurTabi | $ git bundle unbundle crack.bundle | 13:44 |
TimurTabi | 7a4e5f292833e50d0c5575afac2a2d81a5d6b18a refs/tags/cod/mainline/v5.12-rc6 | 13:44 |
TimurTabi | That one? | 13:44 |
TimurTabi | That seemed to work, but I don't understand how. | 13:45 |
klebers | that command will generate only one patch, if you need the last N patches you can do something like 'git format-patch -N' or 'git format-patch <latest Linus' mainline tag>' | 13:46 |
klebers | e.g. 'git format-patch v5.12-rc6' | 13:46 |
TimurTabi | How do I know how many patches are in the bundle? | 13:46 |
TimurTabi | "git format-patch v5.12-rc6" gave me 30 patches. That's not what I want | 13:48 |
TimurTabi | Ah, maybe this: | 13:48 |
TimurTabi | $ git format-patch v5.12-rc6..7a4e5f292833e50d0c5575afac2a2d81a5d6b18a | 13:48 |
TimurTabi | 0001-base-packaging.patch | 13:48 |
TimurTabi | 0002-UBUNTU-SAUCE-kbuild-add-fcf-protection-none-when-usi.patch | 13:48 |
TimurTabi | 0003-UBUNTU-SAUCE-add-vmlinux.strip-to-BOOT_TARGETS1-on-p.patch | 13:48 |
TimurTabi | 0004-UBUNTU-SAUCE-tools-hv-lsvmbus-add-manual-page.patch | 13:48 |
TimurTabi | 0005-debian-changelog.patch | 13:48 |
TimurTabi | 0006-configs-based-on-refs-remotes-unstable-master.patch | 13:48 |
TimurTabi | Did the "git bundle unbundle" command create those commits, but in a detached state? | 13:49 |
klebers | yeah, that looks like to be what you want | 13:49 |
klebers | not sure about the bundle, would need to take a look | 13:50 |
TimurTabi | I mean, that's what it looks like it does, but I'm still confused about how bundles work, so I'm not sure. | 13:51 |
kwilczynski | TimurTabi: Bundle just "packages" together reflog, more or less. | 15:30 |
kwilczynski | TimurTabi: You can think of it as a snapshot of Git repository at a given point in time. You can unbundle the bundle, you can check it out, or check something from it out, etc. | 15:31 |
kwilczynski | TimurTabi: Not a lot of projects uses bundles, though. | 15:31 |
TimurTabi | So I don't really need to create patches if I unbundle the bundle, I can just merge that new SHA onto master? | 15:43 |
luna | soon Kernel freeze time | 16:13 |
juergh | @TimurTabi, https://git-scm.com/book/en/v2/Git-Tools-Bundling | 18:20 |
juergh | @TimurTabi, git bundle verify will tell you the refs that it contains and required (which for the 5.7 bundle is the v5.7 tag) | 18:23 |
juergh | $ git bundle verify crack.bundle | 18:23 |
juergh | The bundle contains this ref: | 18:23 |
juergh | 7b90fe899b99570c6d6e76109df4446540ceccd2 refs/tags/cod/mainline/v5.7 | 18:23 |
juergh | The bundle requires this ref: | 18:23 |
juergh | 3d77e6a8804abcc0504c904bd6e5cdf3a5cf8162 | 18:23 |
juergh | crack.bundle is okay | 18:23 |
juergh | So you need to be in a repo that contains the required ref and then: | 18:24 |
juergh | $ git fetch crack.bundle refs/tags/cod/mainline/v5.7:crack | 18:24 |
juergh | From crack.bundle | 18:24 |
juergh | * [new tag] cod/mainline/v5.7 -> crack | 18:24 |
TimurTabi | Thanks, I've got it working this way: | 18:39 |
TimurTabi | SHA=`git bundle unbundle ${PATCHDIR}/crack.bundle` | 18:39 |
TimurTabi | SHA=${SHA:0:40} | 18:39 |
TimurTabi | git format-patch v${KERNEL_VERSION}..${SHA} -o ${PATCHDIR} | 18:39 |
TimurTabi | Not as elegant but compatible with the rest of my script. | 18:39 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!