Project Infrastructure: Difference between revisions

From Octave
Jump to navigation Jump to search
(→‎wiki.octave.org: Update contents of .htaccess)
mNo edit summary
 
(15 intermediate revisions by 2 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.sourceforge.io)


{{File|.htaccess|<pre>
Project:
RewriteEngine on
* 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 ^doc/octave_toc.html https://www.gnu.org/software/octave/doc/interpreter/index.html [R=301,L]
 
RewriteRule ^hg/(.*) http://hg.savannah.gnu.org/hgweb/$1 [R=301,L]
 
RewriteRule ^testfailure/(.*) https://savannah.gnu.org/bugs/$1 [R=301,L]
 
RewriteRule ^bugs/(.*) http://bugs.octave.org/bugs/$1 [R=301,L]
 
RewriteRule ^docs.html https://www.gnu.org/software/octave/support.html [R=301,L]
 
RewriteRule ^packages.html https://octave.sourceforge.io [R=301,L]
 
RewriteCond $1 !^(doxygen|gnulib-git-mapfile|old-list-archives|stats|wiki|octave-wiki|w)
RewriteRule (.*) https://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]
</pre>}}
 
=== packages.octave.org ===
 
* web site primarily so we can have a stable address for octave's <code>pkg -forge</code> command
 
{{File|.htaccess|<pre>
RewriteEngine on
 
RewriteRule ^download/(.*) https://downloads.sourceforge.net/octave/$1?download [R=307,L]
 
RewriteRule (.*) https://octave.sourceforge.io/$1 [R=307,L]
</pre>}}
 
=== planet.octave.org ===
 
* [http://www.planetplanet.org Planet blog aggregator]
 
=== wiki.octave.org ===
 
* [https://www.mediawiki.org/wiki/MediaWiki MediaWiki] installation
 
{{File|.htaccess|<pre>
# https://help.dreamhost.com/hc/en-us/articles/214895317-How-do-I-change-the-PHP-version-of-my-site- (2019-02-26)
AddHandler fcgid-script .php
FCGIWrapper "/dh/cgi-system/php72.cgi" .php
 
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$ https://wiki.octave.org/%1?
 
RewriteCond %{QUERY_STRING} ^title=(.*)$
RewriteRule ^/index\.php$ https://wiki.octave.org/%1?
 
 
RewriteCond %{REQUEST_URI} !^/w.*/
RewriteCond $1 !^(favicon.*)
RewriteRule ^(.*)$ /wiki/index.php?title=$1
</pre>}}
 
== Hosted on jwe's digitalocean.com account ==
 
* login accounts:  jwe jordigh
 
=== buildbot.octave.org ===
 
* master server for our [[Continuous_Build#Buildbot|Buildbot]] installation
 
=== hg.octave.org ===
 
This site hosts [http://hg.octave.org mercurial repos].
 
* [http://hg.octave.org/web-octave web-octave] (Alex and Kai's new web pages)
* [http://hg.octave.org/octave/gnulib-hg gnulib]
* mirror of master hg archive for [http://hg.octave.org/octave octave]
* [http://hg.octave.org/mxe-octave mxe-octave] (see [[MXE]])
* various octave clones
 
=== agora.octave.org ===
 
* what remains of the agora web site
 
== Hosted on GNU project systems ==
 
[https://savannah.gnu.org/projects/octave Savannah] 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]
 
=== www.gnu.org/software/octave ===


Tracker:
* [https://savannah.gnu.org/bugs/?group=octave bug tracker]
* [https://savannah.gnu.org/bugs/?group=octave bug tracker]
* [https://savannah.gnu.org/patch/?group=octave patch tracker]
* [https://savannah.gnu.org/patch/?group=octave patch tracker]
* [https://savannah.gnu.org/task/?group=octave task tracker]
* [https://savannah.gnu.org/task/?group=octave task tracker]
* [https://savannah.gnu.org/mail/?group=octave mailing lists]
* [https://savannah.gnu.org/mail/?group=octave mailing lists]
* main [https://www.gnu.org/software/octave/ octave project web page]
* [https://hg.savannah.gnu.org/hgweb/octave/ master hg archive] for octave
* limited to using [https://web.cvs.savannah.gnu.org/viewvc/octave CVS] to upload web pages
* doxygen, octave forge (other?) pages hosted elsewhere
{{File|.htaccess|<pre>
<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]
</pre>}}
=== ftp.gnu.org ===
* [https://ftp.gnu.org/gnu/octave octave tarball sources]
* [https://ftp.gnu.org/gnu/octave/windows windows binaries]
== Hosted on SourceForge ==
* admin accounts: [https://sourceforge.net/p/octave/_members oheim, i7tiol]
* octave forge [https://sourceforge.net/p/octave/_list/hg hg] and [https://sourceforge.net/p/octave/_list/git git] repos
=== octave.sourceforge.io ===
* [https://octave.sourceforge.io Octave Forge web site] and [https://sourceforge.net/p/octave/project-web/ci/default/tree it's source]
{{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
Website:
# "packages"
* https://www.gnu.org/software/octave/ redirects to https://octave.org
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(.+/.*) /packages/$1 [L]


# FIXME: Trailing slash is not appended for (non-existing, to be
Master hg repository for Octave
# re-written) package directories at top level. This should be cured
* https://hg.savannah.gnu.org/hgweb/octave/
# in a better way than with the following.
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+) /packages/$1/ [L]


Files and binaries:
* https://ftp.gnu.org/gnu/octave - Octave tarball sources
* https://ftp.gnu.org/gnu/octave/windows - MS Windows binaries


<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>}}


[[Category:Development]]
[[Category:Development]]

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: