Hello everyone, In our current release model the binary packages are built on the lowest supported version of a given branch. Which means when 14.2, the packages it is using are built on 14.1 until 14.1's EOL which is march 31st.
This works greate for everything but kernel modules, beside developers trying hard to keep KBI stability in the life time of a branch, there are always plenty of issues. It has been decided to provide a dedicated repository for 14.2 user only containings kernel modules, built out of the ports tree. I order to be able to do it quickly here is what have been done and the related constraints. First all the packages which are providing kernel modules now have automatically the OSVERSION which is appended to the package version: foo-kmod-1.3.4_3,1 now becomes foo-kmod-1.3.4.${OSVERSION}_3,1 The goal of this change is that the kernel module for 14.2 is at a higher version from the kernel module from 14.1 which means will force reinstalling considering this is an upgrade. The other point of this change, it helps user on current and on stable to figure out the need to rebuild thir kernel module at some point of their upgrades! On the infrastructure side, all kernel modules are now fully build in an unpriviledge clean chroot, and cross built for all possible architectures for each new releases (currently only 14.2, 14.1 kernel modules being in the regular repository). This has the advantage of allowing us to get kernel modules for every single architecture we do support quickly, the drawback being kernel modules with build and/or run dependency cannot be built (note that for run dependency I am working on a workaround, stay tuned). in order to discover quickly which ports should be built, the following is being done: > git grep "^USES.*kmod" and ls */*-kmod Anything mathing with the above is listed as to be built. Because of the way we are building and because we want to be able to ship quickly updates on those kernel modules, there are other limitation which have been added: Only kernel modules without any build and run dependencies are being built, which means most of them but not all. I plan to fix the missing ones. Having kernel modules isolated in their own packages is anyway a good idea as it helps people on stable and current quickly falling back on their feet when a kernel update breaks: it is faster to rebuild, and require less ressources. As a result you can see open-vm-tools has been split into open-vm-tools and open-vm-kmod. The day we have thing repository incorporated into poudriere we will be able to revisit the way To be able to use those new repositories: this is the repository configuration for packages built our of the main branch > https://people.freebsd.org/~bapt/kmods-latest.conf.txt for completion we also started building on quarterly branches, but keep in mind that all the above changes are only in main now and will be in quarterly only in january > https://people.freebsd.org/~bapt/kmods-quarterly.conf.txt Best regards, Bapt