2.2 KiB
Wrap review guidelines
In order to get a package in the Wrap database it must be reviewed and accepted by someone with admin rights. Here is a list of items to check in the review. If some item is not met it does not mean that the package is rejected. What should be done will be determined on a case-by-case basis. Similarly meeting all these requirements does not guarantee that the package will get accepted. Use common sense.
Setting up the tools
The mesonwrap repository provides tools to maintain the WrapDB. Read-only features such can be used by anyone without Meson admin rights.
Personal access token
Some tools require access to the Github API.
A personal access token may be required
if the freebie Github API quota is exhausted. public_repo
scope is required
for write operations.
$ cat ~/.config/mesonwrap.ini
[mesonwrap]
github_token = <github token>
Reviewing code
mesonwrap review zlib --pull-request=1 [--approve]
Since not every check can be automated please pay attention to the following during the review:
- Download link points to an authoritative upstream location.
- Version branch is created from master.
- Except for the existing code,
LICENSE.build
is mandatory. project()
has a version and it matches the source version.project()
has a license.- Complex
configure_file()
inputs are documented. If the file is a copy of a project file make sure it is clear what was changed. - Unit tests are enabled if the project provides them.
- There are no guidelines if
install()
is a good or a bad thing in wraps. - If the project can't be tested on the host platform consider using the
--cross-file
flag. See the issue.
Encourage wrap readability. Use your own judgement.
Approval
If the code looks good use the --approve
flag to merge it.
The tool automatically creates a release.
If you need to create a release manually (because, for example, a MR was merged by hand), the command to do it is the following:
mesonwrap publish reponame version
An example invocation would look like this:
mesonwrap publish expat 2.2.9