This document summarizes checks that must be performed before releasing PRoot or CARE.
Sanity checks:
All supported atchitectures and distributions both with and without seccomp support enabled:
make -C test make -C test memcheck CFLAGS=-fsanitize=address LDFLAGS=-lasan make -C test V=1 2>&1 | grep talloc
Functional checks:
- No regressions must appear with respect to
test/validation.mk
and to the configurations tested in the previous release (git tag -l
).
- No regressions must appear with respect to
Performance checks:
The following command must not suffer from unexpected performance regression:
time proot -R / perl -e 'system("/usr/bin/true") for (1..10000)'
where
/usr/bin/true
is a symlink to/bin/true
.
Static analysis:
gcov
/lcov
and clangscan-build
must not report new issues. All shell scripts must passshellcheck
.
The following commands will generate statically-linked binaries which can be optionally distributed for each release:
make -C src clean loader.elf loader-m32.elf build.h LDFLAGS="${LDFLAGS} -static" make -C src proot care
Update the
doc/changelog.rst
file.Update the release number in the
doc/proot/manual.rst
file.Generate the documentation:
make -C doc
Regenerate the website:
SITE_DIR=../../proot-me.github.io make -eC doc dist # relative to doc directory