Commit Graph

10 Commits

Author SHA1 Message Date
Denis 'GNUtoo' Carikli 6e5e4f3421
Merge website and website-build.
Before being merged with the commit
dc6e1f32c1 ("Import website-build to
build the GNU Boot website."), website-build was a separate git
repository.

And so, even after the merge, until the commit
20d122e94a ("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>
2024-06-11 20:29:47 +02:00
Denis 'GNUtoo' Carikli b3dcd2e1da
website-build: configure: require awk.
Without that fix, running configure fails both without and and with
guix:
    $ guix shell -C \
      bash coreutils findutils git \
      grep gzip pandoc sed tar  -- \
      ./configure --disable-guix --disable-lighttpd
    [...]
    config.status: creating Makefile
    ./config.status: line 920: awk: command not found
    sed: couldn't write 24 items to stdout: Broken pipe
    config.status: error: could not create Makefile

    $ guix shell -C \
      bash coreutils grep guix sed tar -- \
      ./configure --disable-lighttpd
    [...]
    config.status: creating Makefile
    ./config.status: line 920: awk: command not found
    sed: couldn't write 24 items to stdout: Broken pipe
    config.status: error: could not create Makefile

And in both tests above we need coreutils, grep, sed and tar anyway as
without that configure doesn't even get to the point of failing to
find the other utilities:
    $ guix shell -C bash -- ./configure
    [...]
    ./configure: line 492: sed: command not found
    ./configure: line 491: expr: command not found
    ./configure: line 492: sed: command not found
    ./configure: line 506: sed: command not found
    : error: cannot create .lineno; rerun with a POSIX shell

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-28 00:00:00 +02:00
Denis 'GNUtoo' Carikli 145ebf780a
website-build: configure: make realpath and tar requirement work.
Before this change, we wanted to require realpath and tar and we check
for both but it didn't fail if they are not found.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 23:59:46 +02:00
Denis 'GNUtoo' Carikli 0d3a20db9a
website-build: use a less common port.
When working on multiple websites the same time, having every website
using the port 8080 by default isn't very convenient.

In addition here we need a number that is somewhat easy to remember
and possibly meaningful for each website, so in general that not easy
to choose.

But in the case of GNU Boot we can find a scheme because:
- GNU Boot supports only x86 machines for now,
- the GM45 ThinkPads are probably the most well supported by GNU
  Boot and also well known machines,
- that the GM45 ThinkPads use Intel CPUs,
- that 8086 is frequently used as vendor ID for Intel,

so here we can simply use 8086 as it's meaningful and at least very
easy to remember at least for people working in that field.

In addition for people not familiar with writing drivers for x86
computers, it could also reminds of a CPU also from Intel.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 23:57:47 +02:00
Denis 'GNUtoo' Carikli 162bfd9f0f
website-build: make the lighttpd port configurable
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 23:57:31 +02:00
Denis 'GNUtoo' Carikli feaa2511bf
website-build: configure.ac: remove duplicated line breaks.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 23:57:15 +02:00
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 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 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 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