Reviewing Octave Forge packages: Difference between revisions

From Octave
Jump to navigation Jump to search
Tags: Mobile edit Mobile web edit
m (→‎Other info: check INDEX)
(24 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 5: Line 5:
# Pick a package at https://sourceforge.net/p/octave/package-releases/
# Pick a package at https://sourceforge.net/p/octave/package-releases/
# Copy the check-list below and fill it out, marking each box:
# Copy the check-list below and fill it out, marking each box:
    * `[x]` for passed
#* <code>[x]</code> for passed
    * `[n/a]` for non-applicable
#* <code>[n/a]</code> for non-applicable
    * `[S]` for skipped (because you cannot do it, missing software, etc)
#* <code>[ ]</code> for skipped (because you cannot do it, missing software, etc)
    * `[F]` for fails.
#* <code>[F]</code> for fails.
# Paste your filled in check-list as a coFeel free to helpmment on the issue above
# Paste your filled in check-list as a comment on the issue above


=== What happens next ===


=== Checklist ===
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 ==


<pre>
<pre>
[ ] release candidate installed on latest Octave release
== Repository ==
[ ] no compiler errors or serious warnings
[ ] maintainer has specified a corresponding revision commit/changeset
[ ] ran all tests using runtests (including tests in the src dir)
[ ] 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 doctest on all functions (optional)
[ ] Above steps were run on Octave versions:
[ ] ran generate_package_html (if Makefile present try <code> make html </code>)
    *  ________ [provide list]
[ ] Run generate_package_html
[ ] 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 ==
[ ] <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
[ ] 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>


== TODO: incorporate into above list ==
== 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).


It would be good to document common problems that reviewers can check
=== Meta helping ===
for, things like
 
* Feel free to edit this wiki with explanations of the check list tasks
* Please do add (reasonable) tasks to the check list
 
=== Common problems ===
 
Here are some common problems that reviewers can check for


* INDEX is missing some new functions added
* INDEX is missing some new functions added
Line 39: Line 79:
* DESCRIPTION says pkg works with old Octave 4.x but it fails for me
* DESCRIPTION says pkg works with old Octave 4.x but it fails for me
* Obviously, compiler errors, warnings, test failures
* Obviously, compiler errors, warnings, test failures
[[Category:Octave Forge]]

Revision as of 15:56, 20 November 2019

Help reviewing Octave Forge packages

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

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

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

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

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

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