This new version has a new code structure:
- context now has (configure|building|install)_backends attributes
- Package::Instructions now only is a wrapper around Array(String)
with a phase name and a 'run' method
- new phases, with total user control through recipes:
source-split, (pre-)?(configure|build|install) and post-install
- Do.cp
Misc:
- baguette backend removes the data.tar before processing the manifest
- new '-doc' split
- check for `bsdtar` in the PATH before doing anything
- logs are way more verbose
This refactoring includes:
- the use of baguette-crystal-base (Baguette::Log, Baguette::Context for verbosity and logfile)
- moving configure, build, install and splits backends into dedicated files
- removing a lot of code from Package::Context (it was a mess, still kinda is)
- fix 32-bit integer bug from APK backend
- some API changes in packaging backends to remove the context instance
it was replaced by two parameters: package directory and architecture
- Baguette, APK and PkgUtils now share (kinda) the same coding style
No auto-watch at the moment, and the --watch feature is still
experimental and it might be altered or be made to work slightly
differently in the future.
- It is used in automated building instructions.
- It is used in auto-splits.
- It is preset before reading the recipe to the first of the
default prefixes defined in this context, and can be reset
to force the recipe to build somewhere else.
This is done using `%split split-name` sections. `files` and
`file-patterns` are both array attributes that can be provided to set
what paths or files should go in them. Other variables can be overriden
as well from that %split section.