Would you like to create kernel RPM packages from arbitrary Linux kernel Git repos? Packages built from SRPMs processes by rpmbuild, mock, koji, or copr that focus on just the core kernel and are pretty close to the official Fedora kernel packages? Then I got something new for you: "arkify", a script which enables exactly the above. Warning, it's still WIP. But if you want to give it a try, checkout a branch with the Linux sources and run: $ curl --silent 'https://gitlab.com/knurd42/linux/-/raw/arkify-arkify/arkify' | bash Afterwards execute 'make dist-srpm' to create a SRPM which you then pass to rpmbuild, mock, koji, or copr for building. Arkify and the repos it utilizes are kind of a byproduct from the infrastructure I use to build the packages for my kernel vanilla repositories: https://fedoraproject.org/wiki/Kernel_Vanilla_Repositories https://fedoraproject.org/wiki/Kernel_Vanilla_Repositories-FAQ#Where_is_the_code_used_to_build_the_packages? The infrastructure that enables the SRPM generation with arkify is a downstream of the infrastructure used by kernel-ark, which among others is used to maintain the code that creates the SRPMs from which the Fedora's kernel packages are built: https://gitlab.com/cki-project/kernel-ark/ That ark-infrastructure is usable independently via upstream's kernel-ark/ark-infra branch: https://gitlab.com/cki-project/kernel-ark/-/tree/ark-infra?ref_type=heads My stuff is inspired and quite close to that, but with a few very small changes to facilitate building kernels for development or testing fixes: * Improved support for proper Fedora releases (aka !rawhide). * It focusses on just the core kernel and thus avoids spending time on building: - the -rt kernel. - the -debug kernel that has all sorts of debug options enabled - the -efiuki subpackage - subpackages like -tools, -perf, -selftests, -bpftool et. al. (which in my experience is where most of the build errors occur) If you need any of this, re-enable what you need in redhat/kernel.spec.template. * Speed up SRPM generation: - Use multiple threads by default for compressing and config generation. - Try less hard compressing the kernel sources during tarball generation, as a smaller tarball for this use case is not worth spending too much time on. Arkify afaics also makes it easier than kernel-ark/ark-infra to maintain your own changes on-top of the ark infrastructure in case you need any. Maybe the solution is over-engineered, but it afaics reduced both the number as well as the complexity of merge conflicts I had to deal with while I maintained downstream changes for my kernel vanilla packages on top of kernel-ark/ark-infra due to its daily bulk-update method from kernel-ark/os-build. For more details see; * the arkify README: https://gitlab.com/knurd42/linux/-/blob/arkify-arkify/README.md * the arkify source (bash) and the poor man's todo list at the top: https://gitlab.com/knurd42/linux/-/blob/arkify-arkify/arkify Ciao, Thorsten -- _______________________________________________ kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue