Difference between revisions of "Reviewing Octave Forge packages"

From Octave
Jump to navigation Jump to search
m (→‎Other info: check INDEX)
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
== Help reviewing Octave-Forge packages ==
+
== Help reviewing Octave Forge packages ==
  
 
We need help. Here is how:
 
We need help. Here is how:
Line 22: Line 22:
 
[ ] maintainer has specified a corresponding revision commit/changeset
 
[ ] maintainer has specified a corresponding revision commit/changeset
 
[ ] checkout code from Sourceforge, commit/changeset is present
 
[ ] checkout code from Sourceforge, commit/changeset is present
 +
 
== Compile and Install ==
 
== Compile and Install ==
 
[ ] release candidate installs on latest stable Octave release
 
[ ] release candidate installs on latest stable Octave release
 
[ ] no compiler errors or warnings
 
[ ] no compiler errors or warnings
[ ] ran tests using <code>runtests /path/to/pkg</code>
+
[ ] 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 all tests, including those in src (how??)
 
[ ] ran doctest on all functions (optional)
 
[ ] ran doctest on all functions (optional)
Line 31: Line 32:
 
[ ] no makeinfo errors and warnings during HTML build
 
[ ] no makeinfo errors and warnings during HTML build
 
[ ] unpacked and spot-checked the generated HTML documentation
 
[ ] unpacked and spot-checked the generated HTML documentation
 +
 
== Interaction with pkg ==
 
== Interaction with pkg ==
 
[ ] <code>pkg load foo</code> runs with errors or warnings
 
[ ] <code>pkg load foo</code> runs with errors or warnings
Line 40: Line 42:
 
     *  ________
 
     *  ________
  
== Package files ==
+
== Package files in release candidate tarball ==
 
[ ] tested with minimum Octave version list in DESCRIPTION
 
[ ] tested with minimum Octave version list in DESCRIPTION
 
[ ] reasonable dependencies listed in DESCRIPTION
 
[ ] reasonable dependencies listed in DESCRIPTION
 
[ ] NEWS file makes sense, version and date match
 
[ ] NEWS file makes sense, version and date match
 
[ ] All functions are listed in INDEX
 
[ ] 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).
 
</pre>
 
</pre>
  
Line 50: Line 57:
  
 
TODO:  how does one check all functions are listed in INDEX?
 
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: document how to run "all tests including those in src"  Someday this should be just "pkg test foo".
Line 72: Line 81:
  
 
[[Category:Octave Forge]]
 
[[Category:Octave Forge]]
[[Category:Packages]]
 

Latest revision as of 08:56, 20 November 2019

Help reviewing Octave Forge packages[edit]

We need help. Here is how:

  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

What happens next[edit]

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[edit]

== 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).

Other info[edit]

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 old OF admin repository 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[edit]

  • Feel free to edit this wiki with explanations of the check list tasks
  • Please do add (reasonable) tasks to the check list

Common problems[edit]

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