我如何创建带有源包配方构建一个跟踪主线 Ubuntu 内核的修补 Linux 内核?
我甚至不知道该从哪个 Launchpad 项目开始构建。
lp:linux
只有一个master
分支,所以我不确定如何为给定的 Ubuntu 版本构建代码。(它似乎与 相同lp:ubuntu/+source/linux
,但真的是这样吗?)比较lp:ubuntu/+source/linux-meta
它有像这样的分支applied/ubuntu/focal-security
。
有lp:~ubuntu-kernel/ubuntu/+source/linux/+git/focal
其master-prep
分支具有与我在 apt 存储库中看到的软件包版本相对应的标签,但我怀疑我是否可以构建查找新标签的源软件包配方。 (此外,当前标签领先于 apt 存储库中最新发布的软件包版本。)
但是,使用此分支的最简单的配方是:
# git-build-recipe format 0.4 deb-version {debupstream}-0~{revtime}
lp:~ubuntu-kernel/ubuntu/+source/linux/+git/focal master-prep
它失败因为存储库不包含debian/control
文件:
RUN ['git-build-recipe', '--safe', '--no-build', '--manifest', '/home/buildd/build-RECIPEBRANCHBUILD-3556697/chroot-autobuild/home/buildd/work/tree/manifest', '--distribution', 'focal', '--allow-fallback-to-native', '--append-version', '~ubuntu20.04.1', '/home/buildd/build-RECIPEBRANCHBUILD-3556697/chroot-autobuild/home/buildd/work/recipe', '/home/buildd/build-RECIPEBRANCHBUILD-3556697/chroot-autobuild/home/buildd/work/tree']
...
git-build-recipe: error: No control file to take the package name from, and --package not specified.
手动构建时,根据Ubuntu 维基百科,您需要运行LANG=C fakeroot debian/rules clean
来生成debian/control
。但是 Launchpad 不允许我使用run
配方中的命令来调用它。