Release checklist
For each module it is necessary to:
- Update the version number in the configure.ac file
- Check executing make check works correctly, it doesn't require user interaction and all tests pass.
- Check manually all tests that should not be run by 'make check'
- If you don't want to install the module run checks as following under module top directory: perl -I./src/EBox <file-test>
- Search for buggy or forgotten debug messages
- Run this command to find these messages under src directory.
find . -name '*.pm' -exec grep -H '\(print\|STDERR\|EBox::debug\)' {} \;
- Run this command to find these messages under src directory.
- After running sh autogen.sh; ./configure --disable-runtime-tests, check all strings are correctly translated to Spanish.
- Under po directory run:
rm -f *.gmo && make update-po
- Under po directory run:
- Run update-po-files under scripts directory to update Project-Id-Version from translation files.
- The two previous topics can be skipped, if the translation is done via pootle, which is mandatory.
- Translation domain appears in po/domainName.pot file, e.g. ebox-dhcp.pot, and it has to match to the ones are put in the different source files:
- In src directory:
- Run: find . \( -name '*.pm' -or -name '*.pm.in' \) -exec grep -Hi domain {} \;
- In src directory:
- It just SHOULD appear source file which implements module class, which is on gconf schema under schemas directory:
<key>/schemas/ebox/modules/global/modules/ipsec/class</key> <default>EBox::IPSec</default>
- Check for updates in the following files: Changelog, README, AUTHORS, INSTALL and INSTALL.<lang> (<lang>: translated language)
- Also check debian/control file content matches with README content
- Check the INSTALL instructions match with the postinst scripts in the debian directory
- Check all dependencies are documented in the INSTALL file and included in configure.ac file.
- Perl libraries dependencies which are satisfied from eBox main module MUST NOT be checked, only the ones which are particular to the module.
- eBox dependencies can be found in its configure.ac
- In order to find which Perl libraries are needed from a module in src directory run: find . -name '*.pm' -exec grep -H '^use' {} \;
- Perl libraries dependencies which are satisfied from eBox main module MUST NOT be checked, only the ones which are particular to the module.
- Check eBox inter-module dependencies are indicated in gconf schemas.
- In order to set eBox module dependencies, search for modInstance strings in source files: find . -name '*.pm' -exec grep -H modInstance {} \;
- Schema depends entries show modules whose changes influence to this module, i.e. the configuration file from this module depends on the other one to work.
- They MUST be in gconf schemas, common sense MAY be used to identify them.
- Step-by-step module installation from the scratch following INSTALL instructions.
- Check all steps are corrected and completed.
- Check final tarball, created with make dist contains all needed and nothing unnecessary.
- They MUST be in:
- Makefile.in
- Makefile.am
- INSTALL (So far and to speed up the process this is not mandatory as the debian scripts: postinst, control... are enough to articulate the installation. INSTALL.es are totally deprecated)
- m4 directory
- TODO (Not mandatory)
- It MUST NOT be in:
- Makefile
- All generated files from a .in or some .pm.in.
- debian directory.
- A directory diff GUI tool SHOULD be used, such as Medl, Kompare or Tkdiff, configuring it to ignore .svn hidden directories
- A complete list of them in http://en.wikipedia.org/wiki/Category:Free_file_comparison_tools
- diff plus lsdiff maybe enough too
- tree is an useful tool as well
- They MUST be in:
- Check debian build
- Update debian changelog package (typing dch -v $version) and debian control dependencies if those ones are needed.
