Adrian's PkgBase Notes
Overview
The PkgBase page is good enough overview for building and rebuilding everything!
- The current way package revisions are assembled is hard-coded in Makefile.inc1
- BRANCH_EXT and EXTRA_REVISION are set based on some specific rules:
- alpha, beta, rc, *-p* (ie, releases) get specific names with the release/sub-release versioning
current, stable, pre-release get it set to <branch>.snap<datetime>
- it currently doesn't look like BRANCH_EXT and EXTRA_REVISION are overridable at the command line
Make Targets
- make packages - make all the packaegs
- make update-packages - update packages that have changed
- However there's nothing for specifically doing a kernel only build, you have to hand-build things
Building a specific package
(TBD)
Building kernel
Note this currently only applies to GENERIC.
- make buildkernel stage-packages-kernel create-kernel-packages
the package is rebuilt in ${OBJDIR}/repo/${ABI}/ somewhere, likely with a different .snap<datetime> suffix if you're like me and rebuilding -head for testing
Then to install it, I've been scp'ing the kernel and kernel-dbg packages over to the device to use.
Note that you can't just do an pkg upgrade on those as because of the different suffixes they're treated as different packages. Instead you need to first uninstall the kernel/kernel-dbg packages and then pkg install the two you've sp'ed over.
Building custom kernels
I have no idea yet how to build a custom kernel config kernel package(s).
Installing multiple kernel packages
Currently the kernel / debug packages install into /boot/kernel and /usr/lib/ (for debug). There doesn't seem to be a way to maintain multiple kernels and have them populate in the boot menu.