Difference between revisions of "Reviewing Octave Forge packages"

From Octave
Jump to navigation Jump to search
m (→‎Other info: check INDEX)
(Overhaul page.)
Line 1: Line 1:
== Help reviewing Octave Forge packages ==
+
{{Note|More than one person can review a package, in fact that would be great.}}
  
We need help. Here is how:
+
The reviewing procedure in short:
  
 
# Pick a package at https://sourceforge.net/p/octave/package-releases/
 
# Pick a package at https://sourceforge.net/p/octave/package-releases/
Line 10: Line 10:
 
#* <code>[F]</code> for fails.
 
#* <code>[F]</code> for fails.
 
# Paste your filled in check-list as a comment on the issue above
 
# Paste your filled in check-list as a comment on the issue above
 
+
# An [https://sourceforge.net/p/octave/_members/ Octave Forge Admin] will try to look over your review and hopefully release the package.
=== What happens next ===
 
 
 
An admin will try to look over your review and hopefully release the package. More than one person can review a package, in fact that would be great.
 
 
 
  
 
== Checklist ==
 
== Checklist ==
Line 53: Line 49:
 
[ ] contains no hidden dot files, junk backup files, results of configure runs, etc (should be taken care of by maintainer Makefile).
 
[ ] contains no hidden dot files, junk backup files, results of configure runs, etc (should be taken care of by maintainer Makefile).
 
</pre>
 
</pre>
 
== Other info ==
 
 
TODO:  how does one check all functions are listed in INDEX?
 
 
: Carne Draug wrote a script to do this several years ago. It is in the [https://sourceforge.net/p/octave/code/HEAD/tree/trunk/octave-forge/admin/check_INDEX.pl old OF admin repository] [[User:KaKiLa|KaKiLa]] ([[User talk:KaKiLa|talk]]) 07:56, 20 November 2019 (PST)
 
 
TODO: document how to run "all tests including those in src"  Someday this should be just "pkg test foo".
 
 
TODO: would be good to provide more specific instructions for when the package as a Maintainer Makefile?  But we don't usually put the Maintainer Makefile in the .tar.gz package to do?  (At least Doctest and Symbolic don't).
 
 
=== Meta helping ===
 
 
* Feel free to edit this wiki with explanations of the check list tasks
 
* Please do add (reasonable) tasks to the check list
 
  
 
=== Common problems ===
 
=== Common problems ===

Revision as of 19:55, 30 September 2020

Info icon.svg
More than one person can review a package, in fact that would be great.

The reviewing procedure in short:

  1. Pick a package at https://sourceforge.net/p/octave/package-releases/
  2. Copy the check-list below and fill it out, marking each box:
    • [x] for passed
    • [n/a] for non-applicable
    • [ ] for skipped (because you cannot do it, missing software, etc)
    • [F] for fails.
  3. Paste your filled in check-list as a comment on the issue above
  4. An Octave Forge Admin will try to look over your review and hopefully release the package.

Checklist

== Repository ==
[ ] maintainer has specified a corresponding revision commit/changeset
[ ] checkout code from Sourceforge, commit/changeset is present

== Compile and Install ==
[ ] release candidate installs on latest stable Octave release
[ ] no compiler errors or warnings
[ ] ran tests using <code>runtests /path/to/pkg</code> (use <code>oruntests</code> instead in Octave 6.0.0 or later)
[ ] ran all tests, including those in src (how??)
[ ] ran doctest on all functions (optional)
[ ] ran generate_package_html (if Makefile present try <code> make html </code>)
[ ] no makeinfo errors and warnings during HTML build
[ ] unpacked and spot-checked the generated HTML documentation

== Interaction with pkg ==
[ ] <code>pkg load foo</code> runs with errors or warnings
[ ] <code>pkg unload foo</code> runs with errors or warnings
[ ] <code>pkg uninstall foo</code> runs with errors or warnings

[ ] Above steps were run on Octave and OS versions:
     *  ________
     *  ________

== Package files in release candidate tarball ==
[ ] tested with minimum Octave version list in DESCRIPTION
[ ] reasonable dependencies listed in DESCRIPTION
[ ] NEWS file makes sense, version and date match
[ ] All functions are listed in INDEX
[ ] check licenses (<code>licensecheck -r</code> "plus some manual checks").
[ ] package files are readable/executable by all users (reasonably current maintainer Makefile should be doing this).
[ ] version number in src/configure.ac (if present) matches DESCRIPTION and tarball name.
[ ] any version numbers within the help or function body (e.g., banners) matches above.
[ ] contains no hidden dot files, junk backup files, results of configure runs, etc (should be taken care of by maintainer Makefile).

Common problems

Here are some common problems that reviewers can check for

  • INDEX is missing some new functions added
  • NEWS has not been updated or is missing something big
  • Version numbers or dates do not match between DESCRIPTION and NEWS
  • Common makeinfo errors like "@bye seen before @end deftypefn"
  • DESCRIPTION says pkg works with old Octave 4.x but it fails for me
  • Obviously, compiler errors, warnings, test failures