Cleaning the Parrot Cage
There are many tasks of the Parrot Cage Cleaner. The main set of documentation about which can be found in the Parrot distribution under docs/project/cage_cleaners_guide.pod.
These items might provide good entry points for new committers - they don't necessarily require knowledge of parrot internals, but help "keep parrot's cage clean", making it easier to to advance development.
- Increasing the warnings level in the various compilers and then fixing the code to remove the warnings
- Sun Studio
- cygwin's gcc
- Microsoft Visual Studio
- Static analysis of the code using Coverity Prevent
- scan results: http://scan2.coverity.com:9035/
- to get an account to access the scan page, send an email to: scan-admin@…
- to run Coverity Prevent against the latest Parrot release, follow these steps:
- Download the latest Parrot release from http://www.parrot.org/download and unpack it somewhere
- Ensure that the path to cov-configure is in your PATH (something like export PATH=$PATH:$HOME/prevent-linux-2.4.0/bin/)
- Run cov-configure -co /usr/bin/cc
- Run cov-configure -co /usr/bin/g++
- Go into the Parrot build directory and run perl Configure.pl
- Run cov-build -e emit -o output --config $HOME/prevent-linux-2.4.0/config/coverity_config.xml make
- This should then produce an emit directory and an output directory
- Tar up the emit and output directories (call it something like parrot-<version_number>-covbuild.tar.gz) and put the file somewhere where it can be ftp'd or http'd
- Send an email to email@example.com with the contents: v1:parrot:PASSWORD:URL, where PASSWORD is the password for submitting parrot builds, and URL is the location where the build can be downloaded.
- Static analysis of the code using various lints
- Sun lint
- BSD lint
- const ing the C-language source code.
- this allows the compiler to pick up more potential errors in the code
- Running (and developing!) the coding standards tests (see docs/pdd/pdd07_codingstd.pod and the t/codingstd/*.t)
Warnings explanation for gcc: http://www-numi.fnal.gov/offline_software/srt_public_context/WebDocs/Errors/compiling_warnings.html#string%20constants