Reviewing Octave Forge packages: Difference between revisions
Jump to navigation
Jump to search
Tags: Mobile edit Mobile web edit |
|||
(30 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
{{Warning | Since July 2022 Octave packages are organized by https://packages.octave.org.}} | |||
The reviewing procedure in short: | |||
# 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 passed | #* <code>[x]</code> for successfully passed | ||
#* <code>[ | #* <code>[ ]</code> for not done / error (please give below the checklist a brief reason) | ||
# 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 == | ||
<pre> | |||
# 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 | |||
[ ] release | - [ ] `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 == | ||
# 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, | |||
# 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 == | |||
<references/> | |||
[[Category: | [[Category:Outdated pages]] |
Latest revision as of 18:58, 21 February 2023
Since July 2022 Octave packages are organized by https://packages.octave.org.
The reviewing procedure in short:
- Pick a package at https://sourceforge.net/p/octave/package-releases/
- 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)
- Paste your filled in check-list as a comment on the issue above
- An Octave Forge Admin will try to look over your review and hopefully release the package.
Checklist[edit]
# 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 tasks[edit]
- Upload release tarball to Individual Package Releases
- Update https://octave.sourceforge.io/
- Upload new package HTML documentation to /home/project-web/octave/htdocs/packages/foo/ [1]
- 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 htdocs/news.html
- (currently unmaintained, after about March 2022)
SourceForge Project information[edit]
- admin accounts: https://sourceforge.net/p/octave/_members
- Package repositories
- Octave Forge web site https://octave.sourceforge.io and source code
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>
Footnotes[edit]
- ↑ How to access the Octave Forge webspace SourceForge help.