252884ae7e
These implementations of the bc and dc programs offer a number of advantages compared to the current implementations in the FreeBSD base system: - They do not depend on external large number functions (i.e. no dependency on OpenSSL or any other large number library) - They implements all features found in GNU bc/dc (with the exception of the forking of sub-processes, which the author of this version considers as a security issue). - They are significantly faster than the current code in base (more than 2 orders of magnitude in some of my tests, e.g. for 12345^100000). - They should be fully compatible with all features and the behavior of the current implementations in FreeBSD (not formally verified). - They support POSIX message catalogs and come with localized messages in Chinese, Dutch, English, French, German, Japanese, Polish, Portugueze, and Russian. - They offer very detailed man-pages that provide far more information than the current ones. The upstream sources contain a large number of tests, which are not imported with this commit. They could be integrated into our test framework at a latter time. Installation of this version is controlled by the option "MK_GH_BC=yes". This option will be set to yes by default in 13-CURRENT, but will be off by default in 12-STABLE. Approved by: imp Obtained from: https://git.yzena.com/gavin/bc MFC after: 4 weeks Relnotes: yes Differential Revision: https://reviews.freebsd.org/D19982
1.6 KiB
1.6 KiB
Release Checklist
This is the checklist for cutting a release.
- Update the README.
- Update the manuals.
- Test history manually.
- Test with POSIX test suite.
- Run the randmath.py script an excessive amount and add failing tests to
test suite.
- debug
- release
- minrelease
- Fuzz with AFL.
- reldebug
- Fix AFL crashes.
- Find ASan crashes on AFL test cases.
- Fix ASan crashes.
- Build with xstatic.
- Run and pass the
release.sh
script on my own machine. - Run and pass the
release.sh
script, without generated tests and sanitizers, on FreeBSD. - Run and pass the
release.sh
script, without generated tests, sanitizers, and 64-bit, on Thalheim's ARM server. - Run and pass the release script, with no generated tests, no clang, no sanitizers, and no valgrind, on NetBSD.
- Run and pass the release script, with no generated tests, no clang, no sanitizers, and no valgrind, on OpenBSD.
- Run Coverity Scan and eliminate warnings, if possible (both only).
- debug
- Run
scan-build make
. - Repeat steps 3-14 again and repeat until nothing is found.
- Update the benchmarks.
- Change the version (remove "-dev") and commit.
- Run
make clean_tests
. - Run the release script.
- Upload the custom tarball to GitHub.
- Add sha's to release notes.
- Edit release notes for the changelog.
- Increment to the next version (with "-dev").
- Notify the following:
- FreeBSD
- Adelie Linux
- Ataraxia Linux
- Sabotage
- xstatic
- OpenBSD
- NetBSD
- Submit new packages for the following:
- Alpine Linux
- Void Linux
- Gentoo Linux
- Linux from Scratch
- Arch Linux