Project Infrastructure: Difference between revisions

From Octave
Jump to navigation Jump to search
m (Link added.)
mNo edit summary
 
(36 intermediate revisions by 5 users not shown)
Line 1: Line 1:
The project sources, web pages, and related tools are spread over a number of different services.
The project sources, web pages, and related tools are spread over a number of different services. Many of these services have been consolidated over the years to make management easier.


As discussed at [[OctConf 2017]], we would like to consolidate and update some of these resources so that they are easier to keep track of and manage.
Here is a summary of what we are currently using, as of November 2022:


Here is a summary of what we are currently using:
== jwe's DreamHost account ==


== Hosted on jwe's dreamhost.com account ==
* octave.org domain registration and DNS records. Managed through DreamHost web hosting control panel web app thing.


=== octave.org domain registration and dns records ===
== Digital Ocean ==


Managed through dreamhost web hosting control panel web app thing.
* https://github.com/gnu-octave/doc/blob/main/digital-ocean.md - Setup documentation


=== octave.org ===
Hosted sub domains:
* https://bugs.octave.org
** Redirects to https://savannah.gnu.org/bugs/?group=octave
* https://buildbot.octave.org
** [[Continuous Build | Buildbot]] installation
* docs.octave.org
** Octave manual and [[Doxygen]]
* https://ftp.octave.org
** Redirects to https://ftp.gnu.org/
* https://hg.octave.org
** https://hg.octave.org/octave - mirror of Savannah master hg archive
** https://hg.octave.org/mxe-octave - [[MXE]] main repository
** various octave clones
* https://mxe-pkg-src.octave.org
** Fallback source packages for [[MXE]]
* https://packages.octave.org
** <code>pkg install -forge</code>
* https://wiki.octave.org
** This wiki
* https://www.octave.org
** Project main website
** website repository: https://github.com/gnu-octave/gnu-octave.github.io


* main project web site address ([http://octave.org http://octave.org] &rarr; https://www.gnu.org/software/octave)
== GNU Savannah ==
* email forwarding
* [[Doxygen]] pages hosted here
* other pages redirect elsewhere (gnu.org/software/octave, octave.sf.net)
* htaccess file:
<nowiki>
RewriteEngine on


RewriteRule ^doc/octave_toc.html http://www.gnu.org/software/octave/doc/interpreter/index.html [R=301,L]
Project:
* https://savannah.gnu.org/projects/octave
* admin accounts: [https://savannah.gnu.org/users/jwe jwe], [https://savannah.gnu.org/users/rik5 rik], [https://savannah.gnu.org/users/jordigh jordigh], [https://savannah.gnu.org/users/mtmiller mtmiller]


RewriteRule ^hg/(.*) http://hg.savannah.gnu.org/hgweb/$1 [R=301,L]
Tracker:
* [https://savannah.gnu.org/bugs/?group=octave bug tracker]
* [https://savannah.gnu.org/patch/?group=octave patch tracker]
* [https://savannah.gnu.org/task/?group=octave task tracker]
* [https://savannah.gnu.org/mail/?group=octave mailing lists]


RewriteRule ^testfailure/(.*) https://savannah.gnu.org/bugs/$1 [R=301,L]
Website:
* https://www.gnu.org/software/octave/ redirects to https://octave.org


RewriteRule ^bugs/(.*) http://bugs.octave.org/bugs/$1 [R=301,L]
Master hg repository for Octave
* https://hg.savannah.gnu.org/hgweb/octave/


RewriteRule ^docs.html http://www.gnu.org/software/octave/support.html [R=301,L]
Files and binaries:
* https://ftp.gnu.org/gnu/octave - Octave tarball sources
* https://ftp.gnu.org/gnu/octave/windows - MS Windows binaries


RewriteRule ^packages.html http://octave.sf.net [R=301,L]


RewriteCond $1 !^(doxygen|gnulib-git-mapfile|old-list-archives|stats|wiki|octave-wiki|w)
[[Category:Development]]
RewriteRule (.*) http://www.gnu.org/software/octave/$1 [R=301,L]
 
Options +FollowSymLinks
 
## Manipulate query string to preserve old URLs like
## http://www.octave.org/wiki/index.php?title=OctConf_2012
RewriteCond %{QUERY_STRING} ^title=(.*)$
RewriteRule ^wiki/index\.php$ http://wiki.octave.org/%1? [R=301]
 
RewriteRule ^wiki/(.*)$ http://wiki.octave.org/$1 [R=301]
RewriteRule ^wiki$ http://wiki.octave.org/ [R=301]
</nowiki>
 
=== packages.octave.org ===
 
* web site primarily so we can have a stable address for octave's <code>pkg -forge</code> command
* htaccess file:
<nowiki>
RewriteEngine on
 
RewriteRule ^download/(.*) https://downloads.sourceforge.net/octave/$1?download [R=307,L]
 
RewriteRule (.*) https://octave.sourceforge.io/$1 [R=307,L]
</nowiki>
 
=== planet.octave.org ===
 
* Planet blog aggregator
 
=== wiki.octave.org ===
 
* mediawiki installation
* htaccess file:
 
<nowiki>
RewriteEngine on
 
## Manipulate query string to preserve old URLs like
## http://www.octave.org/wiki/index.php?title=OctConf_2012
RewriteCond %{QUERY_STRING} ^title=(.*)$
RewriteRule ^/wiki/index\.php$ http://wiki.octave.org/%1?
 
RewriteCond %{QUERY_STRING} ^title=(.*)$
RewriteRule ^/index\.php$ http://wiki.octave.org/%1?
 
 
RewriteCond %{REQUEST_URI} !^/w.*/
RewriteCond $1 !^(favicon.*)
RewriteRule ^(.*)$ /wiki/index.php?title=$1
</nowiki>
 
=== hg.octave.org ===
 
This site hosts mercurial repos.
 
* web-octave (kai's new web pages)
* gnulib
* mirror of master hg archive for octave
* various octave clones
* htaccess file:
<nowiki>
# Taken from http://www.pmwiki.org/wiki/Cookbook/CleanUrls#samedir
# Used at http://ggap.sf.net/hg/
Options +ExecCGI
RewriteEngine On
 
RewriteBase /
RewriteRule ^$ hgwebdir.cgi  [L]
RewriteRule ^repos/(.*) $1 [L,QSA]
# Send requests for files that exist to those files.
RewriteCond %{REQUEST_FILENAME} !-f
# Send requests for directories that exist to those directories.
RewriteCond %{REQUEST_FILENAME} !-d
# Send requests to hgwebdir.cgi, appending the rest of url.
RewriteRule (.*) hgwebdir.cgi/$1  [QSA,L]
</nowiki>
 
== Hosted on jwe's digitalocean.com account ==
 
* login accounts:  jwe jordigh
 
=== buildbot.octave.org ===
 
* master server for our buildbot installation
 
=== agora.octave.org ===
 
* what remains of the agora web site
 
== Hosted on GNU project systems ==
 
* savannah admin accounts: jwe rik jordigh
* bug tracker
* patch tracker
* task tracker
* mailing lists
 
=== www.gnu.org/software/octave ===
 
* bug tracker
* patch tracker
* task tracker
* mailing lists
* main octave project web pages
* master hg archive for octave
* limited to using CVS to upload web pages
* doxygen, octave forge (other?) pages hosted elsewhere
* htaccess file:  
<nowiki>
<FilesMatch "\.(in|m4)$">
  Order allow,deny
  Deny from all
</FilesMatch>
 
<FilesMatch "Makefile$">
  Order allow,deny
  Deny from all
</FilesMatch>
 
<FilesMatch "CVS">
  Order allow,deny
  Deny from all
</FilesMatch>
 
RewriteEngine on
 
RewriteBase /software/octave/
 
RewriteRule ^octave.pdf doc/octave-4.2.0.pdf [L]
RewriteRule ^NEWS.html NEWS-4.2.html [L]
RewriteRule ^contribute.html get-involved.html [L]
RewriteRule ^img/screenshot.png img/screenshot-octave-4-2.png [L]
 
RewriteRule ^doc/interpreter$ doc/interpreter/ [R,L]
RewriteRule ^doc/interpreter/(.*) doc/v4.2.0/$1 [L]
</nowiki>
 
=== ftp.gnu.org ===
 
* octave tarball sources
* windows binaries
 
== Hosted on SourceForge ==
 
* admin accounts: jbect, oheim, i7tiol
* octave forge hg and git repos
 
=== octave.sourceforge.io ===
 
* Octave Forge web site
* htaccess file:
<nowiki>
<FilesMatch "\.svgz$">
Header set Content-Encoding gzip
</FilesMatch>
 
RewriteEngine on
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]
 
<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>
</nowiki>

Latest revision as of 13:36, 10 November 2022

The project sources, web pages, and related tools are spread over a number of different services. Many of these services have been consolidated over the years to make management easier.

Here is a summary of what we are currently using, as of November 2022:

jwe's DreamHost account[edit]

  • octave.org domain registration and DNS records. Managed through DreamHost web hosting control panel web app thing.

Digital Ocean[edit]

Hosted sub domains:

GNU Savannah[edit]

Project:

Tracker:

Website:

Master hg repository for Octave

Files and binaries: