[go: up one dir, main page]

debian packages: octez-node

What

This MR is the first part of a series of MR to introduce official debian packages for octez that are built following the best debian practices.

This MR focuses on octez-node.

Why

At the moment there are the Serokill packages that are outdated and new packages that are generated by a bash script. This MR tries to provide always up-to-date packages for Debian ( that can be built on demand for any branch ), and build on the experience we gather from the packages that are currently in our repository.

How

This MR is the first part of a series of MRs. The original POC is here : https://gitlab.com/nomadic-labs/tezos/-/merge_requests/655

The plan is to introduce the package for the octez-node first to allow developers to familiarize them with the debian packaging system. In this MR we also introduce the build system and provide packages for debian and ubuntu, respectively for stable and unstable release and jammy and focal ubuntu LTS release.

Notice that these are purely binary packages, hence we do not provide ( for the moment ) a source package. So all binaries must be compiled prior to the packaging step.

All packages are available as artifacts. In a subsequent MR we will add an APT repository and basic tests for those packages to make sure that not only compile on those distribution, but they can also be installed.

To build debian packages we provide two manual triggers. The first one build a docker image with all the required dependencies ( including opam dependencies ) that is stored on the gitlab docker registry. The second trigger builds the packages using these dependencies.

Since the dependencies do not change often, the first job should be trigger only one per branch, and only when the opam repository sha changes.

The second job can be trigger to generate the packages.

Future MRs will expand the build system to multiple architectures.

Manually testing the MR

Check if the packages are correctly created as artifacts. To install and test the package, all deb file must be downloaded and installed manually using dpkg as :

 sudo dpkg -i ../octez-node_0.0.1-1_amd64.deb ../octez-zcash-params_0.0.1-1_all.deb 

To compile the packages locally you need to install dpkg-buildpackage and then

make all
mkdir -p scripts/packaging/octez/binaries/
mkdir -p scripts/packaging/octez/zcash-params/
cp octez-* scripts/packaging/octez/binaries/
cp _opam/share/zcash-params/* scripts/packaging/octez/zcash-params/
cd scripts/packaging/octez
dpkg-buildpackage -b --no-sign -sa

Before reviewing this MR, please check out the debian developer manual for many details related to packaging. https://www.debian.org/doc/devel-manuals

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.rst for the protocol and the environment, CHANGES.rst at the root of the repository for everything else).
  • Select suitable reviewers using the Reviewers field below.
  • Select as Assignee the next person who should take action on that MR
Edited by pietro

Merge request reports

Loading