mirror of
https://git.savannah.gnu.org/git/gnuboot.git
synced 2025-01-06 08:17:41 +01:00
Denis 'GNUtoo' Carikli
6e5e4f3421
Before being merged with the commitdc6e1f32c1
("Import website-build to build the GNU Boot website."), website-build was a separate git repository. And so, even after the merge, until the commit20d122e94a
("website-build: use website from local git repository."), it still worked in the same way and still downloaded the website from git. This prevented merging the website and website-build directories together as the GNU Boot repository also needed to be a valid Untitled website repository as well. Now after this commit, the website is built from the same git tree, so we can simply adjust the build scripts to be able to move things around. In addition of making things more clear for contributors, it also simplify the migration to haunt as with haunt we typically have the haunt.cfg (and the autotools build code if needed) code in the top directory and the markdown files in a subdirectory. Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org> Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
106 lines
4 KiB
Text
106 lines
4 KiB
Text
== Introduction ==
|
|
This directory contains both the website in pages/ and build code to
|
|
easily build and deploy the GNU Boot website with very few commands.
|
|
|
|
If you want to test your own modifications to the dependencies of this
|
|
build code, you either need to use the configure options to use
|
|
external repositories that have your modifications, or you could also
|
|
modify the build.sh script to use different git repositories and/or
|
|
revisions.
|
|
|
|
== Local deployments ==
|
|
Here's how to deploy the website in a local webserver:
|
|
$ ./autogen.sh
|
|
$ ./configure
|
|
$ make serve
|
|
|
|
Then you can point a browser to http://localhost:8086/software/gnuboot/web/ or
|
|
to http://localhost:PORT/software/gnuboot/web/ if you changed the port through
|
|
./configure options.
|
|
|
|
== Deployment on https://gnu.org/software/gnuboot/ ==
|
|
|
|
The deployment to https://gnu.org/software/gnuboot/ uses rsync. As
|
|
gnu.org machine is behind a firewall, so you need to workaround
|
|
that.
|
|
|
|
A way to do that is to get a shell account on fencepost.gnu.org, and
|
|
use SSH to forward the connection to gnu.org. This can be done with
|
|
something like that in your SSH configuration:
|
|
|
|
Host fencepost.gnu.org
|
|
User USERNAME
|
|
|
|
Host gnu.org
|
|
User wwwcvs
|
|
ProxyJump fencepost.gnu.org
|
|
|
|
In the example above you will need to adjust the fencepost USERNAME,
|
|
and modify it to suit your SSH setup if needed (for instance if you
|
|
use keys in different locations, etc). Of course, you'll have to get
|
|
access to gnu.org ssh server too.
|
|
|
|
See https://www.gnu.org/software/README.accounts.html for more details
|
|
about Fencepost accounts, the SSH fingerprints, etc.
|
|
|
|
For gnu.org, it's easier if you use an ED25519 key for gnu.org as I
|
|
have the fingerprints below. See [1] for other options.
|
|
|
|
To check that everything is setup you can then SSH into gnu.org:
|
|
$ ssh gnu.org
|
|
The authenticity of host '[127.0.0.1]:2224 ([127.0.0.1]:2224)' can't be established.
|
|
ED25519 key fingerprint is SHA256:pmCf0NrBzSSYfg6DdgmlMzPWZzGpXXcPEz6LP1+o5Jc.
|
|
This host key is known by the following other names/addresses:
|
|
~/.ssh/known_hosts:306: [127.0.0.1]:4444
|
|
Are you sure you want to continue connecting (yes/no/[fingerprint])?
|
|
|
|
You can then confirm by pasting the fingerprint like that[2]:
|
|
Are you sure you want to continue connecting (yes/no/[fingerprint])? SHA256:pmCf0NrBzSSYfg6DdgmlMzPWZzGpXXcPEz6LP1+o5Jc
|
|
Warning: Permanently added '[127.0.0.1]:2224' (ED25519) to the list of known hosts.
|
|
|
|
Note that it is normal for the connection to gnu.org to block at this
|
|
point. You can exit it with the Ctrl+D or Ctrl+C key combinations.
|
|
|
|
At this point everything is setup.
|
|
|
|
To deploy the website, use the following commands from the website
|
|
directory:
|
|
$ ./autogen.sh
|
|
$ ./configure
|
|
$ make publish
|
|
|
|
Then you can point a browser to https://gnu.org/software/gnuboot/web/
|
|
|
|
References:
|
|
-----------
|
|
[1]If you want to use RSA the easiest way is probably to contact the
|
|
FSF system administrator that will install your key on #fsfsys and
|
|
also ask that person for the server fingerprint. In that case it
|
|
would be a good idea to also contribute a patch to add the
|
|
fingerprint here.
|
|
[2]The 'SHA256:pmCf0NrBzSSYfg6DdgmlMzPWZzGpXXcPEz6LP1+o5Jc'
|
|
fingerprint was confirmed to me the 24 October 2023 on the #fsfsys
|
|
IRC channel on liberachat by Ian Kelling, a system administrator
|
|
that has access to the gnu.org machine: "18:07 < iank> i see that
|
|
SHA256:pmCf0NrBzSSYfg6DdgmlMzPWZzGpXXcPEz6LP1+o5Jc exists on the
|
|
server".
|
|
|
|
== Dependencies ==
|
|
* autoconf
|
|
* automake
|
|
* coreutils
|
|
* guix
|
|
* lighttpd: optional: for testing the website if you don't have Guix.
|
|
* make
|
|
* tar
|
|
|
|
== License ==
|
|
This project is free software:
|
|
- For the files that are in website/pages and the the site.cfg file in
|
|
the same directory than this README see website/pages/license.md for
|
|
the license.
|
|
- For all the other files in the same directory than this README, you
|
|
can redistribute them and/or modify them under the terms of the GNU
|
|
General Public License as published by the Free Software Foundation,
|
|
either version 3 of the License, or (at your option) any later
|
|
version.
|