Difference between revisions of "Reviewing Octave Forge packages"

 
(2 intermediate revisions by the same user not shown)
Line 54: Line 54:
 
# Update https://octave.sourceforge.io/
 
# 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>
 
## 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>
## Update index
+
## Update news feed, add entry in [https://sourceforge.net/p/octave/project-web/ci/default/tree/htdocs/news.html htdocs/news.html]
### Add entry in [https://sourceforge.net/p/octave/project-web/ci/default/tree/htdocs/news.html htdocs/news.html]
+
 
 +
== 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,
 +
# so we have to check for looping instead if necessary
 +
 
 +
# forbid direct access to packages directory
 +
RewriteCond %{ENV:REDIRECT_STATUS} ^$
 +
RewriteRule ^packages(/|$)(.*) - [F]
 +
 
 +
# paths in all other sudirectories are rewritten to be under directory
 +
# "packages"
 +
RewriteCond %{ENV:REDIRECT_STATUS} ^$
 +
RewriteRule ^(.+/.*) /packages/$1 [L]
 +
 
 +
# FIXME: Trailing slash is not appended for (non-existing, to be
 +
# 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]
 +
 
 +
 
 +
<FilesMatch "\.(php|css)$">
 +
FileETag None
 +
<ifModule mod_headers.c>
 +
Header unset ETag
 +
Header unset Expires
 +
Header set Cache-Control "no-cache, must-revalidate"
 +
</ifModule>
 +
</FilesMatch>
 +
</pre>}}
  
 
== Footnotes ==
 
== Footnotes ==

Latest revision as of 19:40, 26 October 2021

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 successfully passed
    • [ ] for not done / error (please give below the checklist a brief reason)
  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.

ChecklistEdit

# 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

- [ ] `pkg install   foo`
- [ ] `pkg load      foo`
- [ ] `pkg unload    foo`
- [ ] `pkg uninstall foo`
- Above steps were run on Octave and OS versions:
  -  ________
  -  ________

# Package tests

- [ ] ran `pkg test foo`
- [ ] ran `doctest` 

# Package files in release candidate tarball

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

Admin tasksEdit

  1. Upload release tarball to Individual Package Releases
  2. Update https://octave.sourceforge.io/
    1. Upload new package HTML documentation to /home/project-web/octave/htdocs/packages/foo/ [1]
    2. Update news feed, add entry in htdocs/news.html

SourceForge Project informationEdit

File: .htaccess
<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,
# so we have to check for looping instead if necessary

# forbid direct access to packages directory
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^packages(/|$)(.*) - [F]

# paths in all other sudirectories are rewritten to be under directory
# "packages"
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(.+/.*) /packages/$1 [L]

# FIXME: Trailing slash is not appended for (non-existing, to be
# 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]


<FilesMatch "\.(php|css)$">
FileETag None
<ifModule mod_headers.c>
Header unset ETag
Header unset Expires
Header set Cache-Control "no-cache, must-revalidate"
</ifModule>
</FilesMatch>

FootnotesEdit

  1. How to access the Octave Forge webspace SourceForge help.