Commit Graph

16 Commits

Author SHA1 Message Date
Denis 'GNUtoo' Carikli 20d122e94a
website-build: use website from local git repository.
Before we needed to fetch the website from git because it was in a
separate repository.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-12 01:44:50 +01:00
Denis 'GNUtoo' Carikli 399360485d
website-build: build.sh: i="$(expr "$i" + 1)": fix double quote.
Without that fix, we end up with 'Fix SC2086 (info): Double quote to
prevent globbing and word splitting.' shellcheck warnings.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-12 01:44:35 +01:00
Denis 'GNUtoo' Carikli 4b122e8989
website-build: build.sh: fix missing double quote in $i comparison.
Without that fix, using shellcheck on this file results in several warning
like this one:
    In website-build/build.sh line 101:
    			if [ $i -ge $# ] ; then
                                 ^-- SC2086 (info):
				 Double quote to prevent
				 globbing and word splitting.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-12 01:44:18 +01:00
Denis 'GNUtoo' Carikli 971eae0ca5
website-build: check.sh: Improve grep usage.
Without that fix, using shellcheck on this file results in this
warning:
    In website-build/check.sh line 56:
    	nr_files=$(tar tf "${tarball}" | grep -v '/' | wc -l)
                                             ^---------^ SC2126 (style):
					     Consider using
					     'grep -c' instead of 'grep|wc -l'.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-12 01:44:04 +01:00
Denis 'GNUtoo' Carikli 1645d7abe1
website-build: build.sh: Use bash.
Without that fix, using shellcheck on this file results in several warning
like this one:
    In website-build/build.sh line 32:
    	echo -e "\t-h, --help"
                 ^-- SC3037 (warning):
		 In POSIX sh, echo flags are undefined.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-12 01:43:31 +01:00
Denis 'GNUtoo' Carikli 56af2d62fe
website-build: check.sh: fix missing double quote.
Without that fix, using shellcheck on this file results in this
warning:
    In website-build/check.sh line 58:
    	if [ ${nr_files} -eq 1 ] ; then
                 ^---------^ SC2086 (info):
		 Double quote to prevent globbing and word splitting.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-12 01:43:09 +01:00
Denis 'GNUtoo' Carikli c5694162d2
website-build: check.sh: Use bash.
Without that fix, using shellcheck on this file results in several warning
like this one:
    In website-build/check.sh line 27:
    	echo -e "\t-h, --help"
                 ^-- SC3037 (warning):
		 In POSIX sh, echo flags are undefined.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-12 01:42:30 +01:00
Denis 'GNUtoo' Carikli 36214d6fa1
website-build: Fix build target with --disable-guix option.
This was broken by commit a6e4a2a225
("configure.ac: Add --disable-guix option").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-07 19:10:00 +01:00
Denis 'GNUtoo' Carikli 4af4722580
website-build: README: Add information on how to test modifications.
The build.sh script currently hardcodes the repository URL and
revisions or branches name it uses.

If contributors aren't aware of that they could end up testing a
revision that is different from the one that they are working on.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-07 19:09:46 +01:00
Denis 'GNUtoo' Carikli be72474aa0
website-build: Use rsync for deploying the website.
The website and documentation originally comes from Libreboot and
Libreboot didn't have separate website and documentation.

And we need to reuse it because without it, GNU Boot would be almost
useless as without documentation most users would not be able to
install it.

The website is about 900 files and consist in about 27 MiB of
pictures.

Given that the website is not ready yet and that we are looking for
contributions to help us fixing it, we will end up having to update it
often, and ideally in a timely manner as well not to discourage
contributions.

So we needed some way to deployment the website with very few
commands.

GNU typically use CVS for deploying the website, but it is harder to
use than rsync for automatizing the deployment of a website.

To do that someone would have to write or adapt code to do the
deployment automatically, but that can potentially be time consuming
to do, especially if it needs to be done efficiently (for instance by
only adding files that changed since the last time) not to load too
much the CVS server.

Because of all that, an rsync access was temporarily setup for us, to
enable us to publish the website now and to be able to fixing this
deployment issue later and/or ask for help on the website to fix it.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-07 19:09:21 +01:00
Denis 'GNUtoo' Carikli 19a26051d1
website-build: Makefile: rename upload target to deploy.
Guix is being used to build the website and Guix has the 'guix deploy'
command, so this should look more familiar to people using Guix.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-07 19:09:01 +01:00
Denis 'GNUtoo' Carikli 75f335ee5f
website-build: Add Savannah CVS constraint.
Most GNU projects use a CVS repository to publish their web pages.

For some reasons, in the CVS root directory (inside the gnuboot CVS
module) the only file that we can add is index.html. Subdirectories
don't have this limitation.

So we add a test for that.

In addition when the website will be ready we will most likely have an
html file that redirect to a subdirectory (like /web/) and so we add
the html file for doing that too.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-07 19:08:48 +01:00
Denis 'GNUtoo' Carikli c007ab227d
website-build: build.sh: switch to GNU Boot repositories.
Since the website and the images were merged in GNU boot respectively
in site/ and www/, we can now modify GNU boot to only be cloned once
to build the website.

The image path was also modified to make images work both in the local
served website and at gnu.org and also to minimize the differences
between the test and deployment setups.

Libreboot.at also hosted a copy of Untitled to make it simple to
control the revision being used.

But in the longer term, it would be a bad idea to do that again for
GNU boot since there are plans to convert the website and/or
documentation to the texinfo format, and so at some point Untitled
will stop being used, and we don't want to end up with a git
repository that needs to be kept for historic reasons but that is
unused.

Since the website isn't ready we also have a redirection to Savannah
to make sure that visitors are redirected to something meaningful.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Neox: Suggested the split in smaller commits and various ways to do
    that (including some that were used).
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-07 19:08:25 +01:00
Denis 'GNUtoo' Carikli cc3dea2d7b
Move images in the website directory
Since the website and the images were merged in GNU boot respectively
in site/ and www/, we can now modify GNU boot to only be cloned once
to build the website.

This also requires to move the images inside site/ at the place where
website-build expects them.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Neox: Suggested the split from the "website-build: build.sh: switch to
      GNU Boot repositories." commit.
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-07 19:07:59 +01:00
Denis 'GNUtoo' Carikli 0ef17277de
website-build: Enable to use specific revisions for git repositories.
This for instance enable users to manually override the revisions to
test branches of git repositories.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-07 19:07:43 +01:00
Denis 'GNUtoo' Carikli dc6e1f32c1
Import website-build to build the GNU Boot website.
Having that code inside the same repository than GNU Boot makes it
easier to keep Untitled versions (and possibly additional patches on
top) in sync with the documentation/website being worked on.

This is relevant as there are plans within GNU Boot to convert the
website to Texinfo but that would require to patch untitled (to add
support for Texinfo pages in untitled) to do a progressive transition
to Texinfo.

Using an external repository to temporarily maintain a patched version
of Untitled is not optimal as we would end up having to warn users not
to use that repository anymore at some point.

Bringing in the whole untitled source code and documentation in this
GNU Boot repository is also not a good option since we only need
minimal patching on top of untitled, so in the long run not doing that
would help keep the GNU Boot repository smaller and more simple.

In addition we currently do need to wrap the build with a fixed Guix
revision as for instance with a more recent Guix revision than the one
used by website-built, for instance at the commit ("gnu: nyxt: Update
to 3.9.0."), if we run ./build.sh directly without using a fixed Guix
revision, the build is broken:
    Generating 'www/lbwww/site/index.html'
    Generating 'www/lbwww/site/license.html'
    YAML parse exception at line 7, column 0,
    while scanning a simple key:
    could not find expected ':'

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-07 18:28:16 +01:00