Latest revision |
Your text |
Line 1: |
Line 1: |
| {{Warning | Since July 2022 Octave packages are organized by https://packages.octave.org.}}
| | == Help reviewing Octave-Forge packages == |
|
| |
|
| The reviewing procedure in short:
| | We need help. Here is how: |
|
| |
|
| # 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: |
| #* <code>[x]</code> for successfully passed | | #* <code>[x]</code> for passed |
| #* <code>[ ]</code> for not done / error (please give below the checklist a brief reason) | | #* <code>[n/a]</code> for non-applicable |
| | #* <code>[ ]</code> for skipped (because you cannot do it, missing software, etc) |
| | #* <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.
| |
|
| |
|
| == Checklist == | | === What happens next === |
|
| |
|
| <pre>
| | 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. |
| # Repository / Metadata
| |
|
| |
|
| - [ ] release commit/changeset specified and present in repository
| |
| - [ ] `generate_package_html` / `make html` works without errors and warnings
| |
| - [ ] generated HTML documentation looks sane
| |
|
| |
|
| # pkg-tool runs without errors or warnings
| | == Checklist == |
|
| |
|
| - [ ] `pkg install foo`
| | <pre> |
| - [ ] `pkg load foo`
| | == Repository == |
| - [ ] `pkg unload foo`
| | [ ] maintainer has specified a corresponding revision commit/changeset |
| - [ ] `pkg uninstall foo`
| | [ ] checkout code from Sourceforge, commit/changeset is present |
| - Above steps were run on Octave and OS versions:
| |
| - ________
| |
| - ________
| |
|
| |
|
| # Package tests
| | == 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> |
| | [ ] 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 |
|
| |
|
| - [ ] ran `pkg test foo`
| | == Interaction with pkg == |
| - [ ] ran `doctest`
| | [ ] <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 |
|
| |
|
| # Package files in release candidate tarball
| | [ ] Above steps were run on Octave and OS versions: |
| | * ________ |
| | * ________ |
|
| |
|
| - [ ] `DESCRIPTION` version and release date updated
| | == Package files in release candidate tarball == |
| - [ ] `DESCRIPTION` minimum Octave tested
| | [ ] tested with minimum Octave version list in DESCRIPTION |
| - [ ] `DESCRIPTION` all dependencies are listed
| | [ ] reasonable dependencies listed in DESCRIPTION |
| - [ ] `NEWS` version and date match
| | [ ] NEWS file makes sense, version and date match |
| - [ ] `NEWS` big changes announced
| | [ ] All functions are listed in INDEX |
| - [ ] `INDEX` all (new) functions are listed
| | [ ] check licenses (<code>licensecheck -r</code> "plus some manual checks"). |
| - [ ] version numbers in help text and function body (e.g., banners) updated
| | [ ] package files are readable/executable by all users (reasonably current maintainer Makefile should be doing this). |
| - [ ] license specifications in help text and function body agree `licensecheck -r`
| | [ ] version number in src/configure.ac (if present) matches DESCRIPTION and tarball name. |
| - [ ] file permissions are readable/executable by all users
| | [ ] any version numbers within the help or function body (e.g., banners) matches above. |
| - [ ] junk files are removed (hidden dot files, backup files, results of configure runs, etc.)
| |
| - [ ] (optional if present) `src/configure.ac` version updated
| |
| </pre> | | </pre> |
|
| |
|
| == Admin tasks == | | == Other info == |
| | |
| # Upload release tarball to [https://sourceforge.net/projects/octave/files/Octave%20Forge%20Packages/Individual%20Package%20Releases/ Individual Package Releases]
| |
| # Update https://octave.sourceforge.io/
| |
| #* Upload new package HTML documentation to {{Path|/home/project-web/octave/htdocs/packages/foo/}} <ref>How to access the Octave Forge webspace [https://sourceforge.net/p/forge/documentation/Project%20Web%20Services/ SourceForge help].</ref>
| |
| #* Brief notes: `sftp` to look around the site: `sftp <user>@web.sourceforge.net`
| |
| #* Then `rsync -auvn --delete ...` to sync the particular package content.
| |
| # Optional: Update news feed, add entry in [https://sourceforge.net/p/octave/project-web/ci/default/tree/htdocs/news.html htdocs/news.html]
| |
| #* (currently unmaintained, after about March 2022)
| |
| | |
| == SourceForge Project information ==
| |
| | |
| * admin accounts: https://sourceforge.net/p/octave/_members
| |
| * Package repositories
| |
| ** hg: https://sourceforge.net/p/octave/_list/hg
| |
| ** git: https://sourceforge.net/p/octave/_list/git
| |
| * Octave Forge web site https://octave.sourceforge.io and [https://sourceforge.net/p/octave/project-web/ci/default/tree source code]
| |
| | |
| {{File|.htaccess|<pre>
| |
| <FilesMatch "\.svgz$">
| |
| Header set Content-Encoding gzip
| |
| </FilesMatch>
| |
| | |
| RewriteEngine on
| |
| | |
| # use PHP files in root directory
| |
| RewriteRule ^archive\.html$ /archive.php [PT]
| |
| RewriteRule ^bugs\.html$ /bugs.php [PT]
| |
| RewriteRule ^code\.html$ /code.php [PT]
| |
| RewriteRule ^developers\.html$ /developers.php [PT]
| |
| RewriteRule ^docs\.html$ /docs.php [PT]
| |
| RewriteRule ^FAQ\.html$ /FAQ.php [PT]
| |
| RewriteRule ^function_list\.html$ /function_list.php [PT]
| |
| RewriteRule ^index\.html$ /index.php [PT]
| |
| RewriteRule ^links\.html$ /links.php [PT]
| |
| RewriteRule ^NEWS\.html$ /NEWS.php [PT]
| |
| RewriteRule ^packages\.html$ /packages.php [PT]
| |
| | |
| # root directory of files for download
| |
| RewriteRule ^released-packages/$ https://sourceforge.net/projects/octave/files/ [R=307,L]
| |
| | |
| # a particular packages repository
| |
| RewriteRule ^pkg-repository/(.*)/$ https://sourceforge.net/p/octave/$1/ [R=307,L]
| |
| | |
| # don't rewrite paths in the following directories
| |
| RewriteRule ^templates(/|$)(.*) - [L]
| |
| RewriteRule ^pkg_icon(/|$)(.*) - [L]
| |
| RewriteRule ^java(/|$)(.*) - [L]
| |
| RewriteRule ^doxygen32(/|$)(.*) - [L]
| |
| RewriteRule ^doxygen34(/|$)(.*) - [L]
| |
| RewriteRule ^doxygen36(/|$)(.*) - [L]
| |
| RewriteRule ^doxygen38(/|$)(.*) - [L]
| |
| RewriteRule ^doxygen40(/|$)(.*) - [L]
| |
| RewriteRule ^doxygen41(/|$)(.*) - [L]
| |
| RewriteRule ^coda(/|$)(.*) - [L]
| |
| RewriteRule ^octave(/|$)(.*) - [L]
| |
| RewriteRule ^octave\.old(/|$)(.*) - [L]
| |
| RewriteRule ^old_packages(/|$)(.*) - [L]
| |
|
| |
|
| # webserver of sourceforge doesn't understand END rewrite rule flag,
| | TODO: how does one check all functions are listed in INDEX? |
| # so we have to check for looping instead if necessary
| |
|
| |
|
| # forbid direct access to packages directory
| | TODO: document how to run "all tests including those in src" Someday this should be just "pkg test foo". |
| RewriteCond %{ENV:REDIRECT_STATUS} ^$
| |
| RewriteRule ^packages(/|$)(.*) - [F]
| |
|
| |
|
| # paths in all other sudirectories are rewritten to be under directory
| | 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). |
| # "packages"
| |
| RewriteCond %{ENV:REDIRECT_STATUS} ^$
| |
| RewriteRule ^(.+/.*) /packages/$1 [L]
| |
|
| |
|
| # FIXME: Trailing slash is not appended for (non-existing, to be
| | === Meta helping === |
| # re-written) package directories at top level. This should be cured
| |
| # in a better way than with the following.
| |
| RewriteCond %{ENV:REDIRECT_STATUS} ^$
| |
| RewriteCond %{REQUEST_FILENAME} !-f
| |
| RewriteRule ^(.+) /packages/$1/ [L]
| |
|
| |
|
| | * Feel free to edit this wiki with explanations of the check list tasks |
| | * Please do add (reasonable) tasks to the check list |
|
| |
|
| <FilesMatch "\.(php|css)$">
| | === Common problems === |
| FileETag None
| |
| <ifModule mod_headers.c>
| |
| Header unset ETag
| |
| Header unset Expires
| |
| Header set Cache-Control "no-cache, must-revalidate"
| |
| </ifModule>
| |
| </FilesMatch>
| |
| </pre>}}
| |
|
| |
|
| == Footnotes ==
| | Here are some common problems that reviewers can check for |
|
| |
|
| <references/>
| | * 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 |
|
| |
|
| [[Category:Outdated pages]] | | [[Category:Octave Forge]] |
| | [[Category:Packages]] |