Project Infrastructure: Difference between revisions

From Octave
Jump to navigation Jump to search
m (→‎octave.org: Links added.)
mNo edit summary
 
(37 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: