Packages/Baker: merge into a single octez-baker package
What
This revisits a bit !17580 (merged) and !17600 (merged), but for the best I hope. Instead of having two packages octez-agnostic-baker and octez-baker, I merge the two packages, and the behaviour is different based on the configuration.
That is: if AGNOSTIC_BAKER=true we start a service octez-agnostic-baker.service that uses the octez-baker, if not we keep the behavior as before and run a service per protocol binary
By default AGNOSTIC_BAKER=false
Why
The initial idea of introducing a new package was to be conservative and not mess with existing package users. However, they need to migrate from serokell package and it requires manual intervention, I don't think it's a good idea to ask them to upgrade again in future releases to use the octez-agnostic-baker.
How
Adds a new field in the /etc/default/octez-baker configuration file, and the script used to start services depends on the new field.
Manually testing the MR
You can either build the packages locally or use artifacts from the CI.
To download the artifacts you should do
$ curl https://tezos-linux-repo.storage.googleapis.com/next/debian/octez.asc | gpg --dearmor -o /etc/apt/keyrings/octez.gpg
$ echo "deb [signed-by=/etc/apt/keyrings/octez.gpg] https://tezos-linux-repo.storage.googleapis.com/vch9@single-baker-package/debian bookworm main" > /etc/apt/sources.list.d/octez.list
$ apt-get update
$ apt install octez-node
To build them locally, simply execute the script. (it doesn't require a lot of dependencies, but I couldn't list them).
$ scripts/packaging/build-deb-local.sh
$ sudo apt install ./scripts/packaging/octez-node_202504041710+a9652393a6_amd64.deb
$ sudo apt install ./scripts/packaging/octez-client_202504041710+a9652393a6_amd64.deb
$ sudo DEBIAN_PRIORITY=medium apt install ./scripts/packaging/octez-baker_202504041710+a9652393a6_amd64.deb
Then you can start the services:
$ sudo systemctl start octez-node
$ sudo systemctl start octez-baker
Based on what you've answered for the use agnostic baker you'll either have logs in /var/log/tezos/baker-PsQuebec.log or /var/log/tezos/baker.log. You can then conduct the same testing as you did for the previous merge request.
Checklist
-
Document the interface of any function added or modified (see the coding guidelines) -
Document any change to the user interface, including configuration parameters (see node configuration) -
Provide automatic testing (see the testing guide). -
For new features and bug fixes, add an item in the appropriate changelog ( docs/protocols/alpha.rstfor the protocol and the environment,CHANGES.rstat the root of the repository for everything else). -
Select suitable reviewers using the Reviewersfield below. -
Select as Assigneethe next person who should take action on that MR