arkify: build Fedora SRPMs from arbitrary Linux kernel Git repos using the kernel-ark infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux