Editing Reviewing Octave Forge packages

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

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`
[ ] release candidate installed on latest stable Octave release
- [ ] `pkg unload    foo`
[ ] no compiler errors or serious warnings
- [ ] `pkg uninstall foo`
[ ] ran all tests using runtests (including tests in the src dir)
- Above steps were run on Octave and OS versions:
[ ] ran doctest on all functions (optional)
  - ________
[ ] Above steps were run on Octave versions:
  - ________
    * ________
 
    * ________
# Package tests
[ ] tested with minimum Octave version list in DESCRIPTION
 
[ ] reasonable dependencies listed in DESCRIPTION
- [ ] ran `pkg test foo`
[ ] ran generate_package_html
- [ ] ran `doctest`
[ ] no makeinfo errors and warnings during HTML build
 
[ ] unpacked and spot-checked the generated HTML documentation
# Package files in release candidate tarball
[ ] NEWS file makes sense, version and date match
 
[ ] All functions are listed in INDEX
- [ ] `DESCRIPTION` version and release date updated
- [ ] `DESCRIPTION` minimum Octave tested
- [ ] `DESCRIPTION` all dependencies are listed
- [ ] `NEWS` version and date match
- [ ] `NEWS` big changes announced
- [ ] `INDEX` all (new) functions are listed
- [ ] version numbers in help text and function body (e.g., banners) updated
- [ ] license specifications in help text and function body agree `licensecheck -r`
- [ ] file permissions are readable/executable by all users
- [ ] 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: add something about testing multiple OSes, or at least listing what OS we tested...
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]]
Please note that all contributions to Octave may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Octave:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page: