Commit Graph

712 Commits

Author SHA1 Message Date
Denis 'GNUtoo' Carikli 96c95f3489
website: status: Fix ThinkPad spelling.
The English Wikipedia uses 'ThinkPad'[1].

[1]https://en.wikipedia.org/wiki/ThinkPad

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-16 12:55:14 +02:00
Denis 'GNUtoo' Carikli 5a4ea74643
website: status: clarify what kind of T60 are supported.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-16 12:55:14 +02:00
Denis 'GNUtoo' Carikli 2eb38030b5
website: status: update Spanish translation.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-16 12:55:13 +02:00
Denis 'GNUtoo' Carikli 19edb6177c
website: pages: Get GNU Boot: add section about install parties.
While this mentions a previously held install party, it encourages
people to organize install parties and shows that they could be
mentioned on the GNU Boot website in some ways.

In addition it also explains the pros and cons of install parties.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-16 12:55:08 +02:00
Denis 'GNUtoo' Carikli eb4eb8bfc5
website: pages: Get GNU Boot: separate install from upgrade.
This enables to later on have some separation between the first
installation which typically requires to open the computer or at least
need a special procedure like for I945 ThinkPads, with upgrade
instructions that just require to run 'flashrom -p internal -w
<gnuboot-image>'.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-16 12:55:02 +02:00
Denis 'GNUtoo' Carikli a187d8d913
website: pages: Create new 'Get GNU Boot' landing page.
This allow to have on the same page different options (Install, Buy
preinstalled) to get GNU Boot, and have a short description of each
option as it is not necessarily obvious which option can work for a
given user.

In addition it also enables to warn people just using 'Download' to
read the documentation as it is not obvious what to do once a user
downloaded an archive with images inside.

And finally it also allow to add more options later on.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-16 12:54:55 +02:00
Denis 'GNUtoo' Carikli 228985f1dc
website: move images out of the pages directory.
It's a good idea not to mix markdown files with other file types as
this facilitates a lot the migration to haunt.

In addition it also helps separating these dumps from the general
website as they are also useful without the website.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-11 20:30:04 +02:00
Denis 'GNUtoo' Carikli fed0a0711e
website: move hwdumps out of the pages directory.
It's a good idea not to mix markdown files with other file types as
this facilitates a lot the migration to haunt.

In addition it also helps separating these dumps from the general
website as they are also useful without the website.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-11 20:30:00 +02:00
Denis 'GNUtoo' Carikli 776073e2f8
website: make the website prefix (software/gnuboot) configurable.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-11 20:29:57 +02:00
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 1ee52ec0df
site: rename to website.
First this is more consistent as we already have a website-build
directory. Then it is also useful for migrating to haunt as 'haunt
build' puts the generated website in a 'site/' directory, so without
this rename, when the migration would be complete we'd have site/site
instead of website/site.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-11 20:29:35 +02:00
Denis 'GNUtoo' Carikli 85a6444802
website-build: check.sh: start adding tests for site/.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-28 00:00:49 +02:00
Denis 'GNUtoo' Carikli c2b4c87fda
website-build: serve.sh: remove the need for random temporary directory.
Since we are migrating to haunt and that haunt builds the website in
site/ we also use that.

In addition that also simplifies the lighttpd configuration.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-28 00:00:37 +02:00
Denis 'GNUtoo' Carikli 14167862d7
website-build: check.sh: help: fix program name.
The GNU Coding Standards has the following in the chapter "4.8.1
--version"[1]:
    The program’s name should be a constant string; don’t compute it
    from argv[0]. The idea is to state the standard or canonical name
    for the program, not its file name. There are other ways to find
    out the precise file name where a command is found in PATH.
[1]https://www.gnu.org/prep/standards/standards.html#g_t_002d_002dversion

This fixes that.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-28 00:00:24 +02:00
Denis 'GNUtoo' Carikli fc8aa115a0
website-build: serve.sh: help: fix program name.
The GNU Coding Standards has the following in the chapter "4.8.1
--version"[1]:
    The program’s name should be a constant string; don’t compute it
    from argv[0]. The idea is to state the standard or canonical name
    for the program, not its file name. There are other ways to find
    out the precise file name where a command is found in PATH.
[1]https://www.gnu.org/prep/standards/standards.html#g_t_002d_002dversion

This fixes that.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-28 00:00:11 +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 be96a95bf9
website-build: README: fix introduction.
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.

However since that commit, website-build stopped downloading the
website from git and built it from the current tree instead, but the
instructions were not updated

This was broken by commit 20d122e94a
("website-build: use website from local git repository.")

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 23:59:36 +02:00
Denis 'GNUtoo' Carikli 851289241b
website-build: Makefile: default to help target.
To work on the website, more than one of the targets (like 'make
serve' or 'make check') are useful. So it's better to inform users
about the available targets instead of building a tarball directly.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 23:59:26 +02:00
Denis 'GNUtoo' Carikli 6b4b553d49
website-build: targets: rename targets to use build, serve and publish.
Since we're migrating to haunt, and that 'haunt build' builds the
website, 'haunt serve' serve the website locally, and that 'haunt
publish' takes care of publishing the website, using the same target
names will make remembering the targets easier.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 23:59:14 +02:00
Denis 'GNUtoo' Carikli 491225f38a
website-build: build.sh: make it pass shellcheck.
Without that fix, shellcheck -x complains a lot:
    In build.sh line 53:
    mkdir -p "$(dirname ${dst_path})"
                        ^---------^
    SC2086 (info): Double quote to prevent globbing and word splitting.

    In build.sh line 82:
    git -C "${dst_path}" am $(realpath ${patch})
                            ^------------------^
    SC2046 (warning): Quote this to prevent word splitting.
    git -C "${dst_path}" am $(realpath ${patch})
                                       ^------^
    SC2086 (info): Double quote to prevent globbing and word splitting.

    In build.sh line 112:
    opt="$(eval echo \$$i)"
                       ^--
    SC2086 (info): Double quote to prevent globbing and word splitting.

    In build.sh line 127:
    untitled_path="$(eval echo \$$(expr $i + 1))"
                                 ^------------^
    SC2046 (warning): Quote this to prevent word splitting.
    untitled_path="$(eval echo \$$(expr $i + 1))"
                                   ^--^
    SC2003 (style): expr is antiquated.
    Consider rewriting this using $((..)), ${} or [[ ]].
    untitled_path="$(eval echo \$$(expr $i + 1))"
                                        ^--
    SC2086 (info): Double quote to prevent globbing and word splitting.

    In build.sh line 128:
    i="$(expr "$i" + 1)"
         ^--^
    SC2003 (style): expr is antiquated.
    Consider rewriting this using $((..)), ${} or [[ ]].

    In build.sh line 136:
    i="$(expr "$i" + 1)"
         ^--^
    SC2003 (style): expr is antiquated.
    Consider rewriting this using $((..)), ${} or [[ ]].

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 23:58:49 +02:00
Denis 'GNUtoo' Carikli d13f8ecf50
website-build: check.sh: make it pass shellcheck.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 23:58:33 +02:00
Denis 'GNUtoo' Carikli 5403f28028
website-build: check.sh: fix line length.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 23:58:16 +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 224554d19f
website-build: remove unused DOMAIN variable.
The variable could be updated, but this could be misleading as it is
only used in the help of that Makefile.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 23:56:23 +02:00
Denis 'GNUtoo' Carikli 452e845d80
website-build: index.html: add license header and add the GFDL 1.3+.
This file is included in the GNU Boot website which is under the GFDL
1.3+, so to simplify license compliance it's easier to also relicense
it under the same license than the other files in the website.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 01:34:33 +02:00
Denis 'GNUtoo' Carikli 60ad6be640
website-build: lighttpd.conf.tmpl: add license header.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-27 01:33:50 +02:00
Denis 'GNUtoo' Carikli 7a2e55867d
site: repair link to logo directory.
The logo links were not real links and at least the one in the FAQ was
converted multiple times and I'm not sure exactly when it was broken
or if it ever worked as finding out would require to test on
previously used infrastructure like sourcehut or even
https://libreboot.org.

As for the link in the logo-license page I didn't investigate when it
was broken either, but it was probably broken from the start since it
didn't have any URI protocol in it (like https://).

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-25 20:07:55 +02:00
Denis 'GNUtoo' Carikli 9a8226c74c
site: tasks: fix link to g43t-am3/soic8.jpg picture.
The link was not a real link and I'm not sure exactly when it was
broken or if it ever worked as finding out would require to test on
previously used infrastructure like sourcehut or even
https://libreboot.org.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-25 20:07:50 +02:00
Denis 'GNUtoo' Carikli f9876dd342
site: tasks: index.md: fix broken link.
This was broken by the commit 795c669c58
("shorten title on release announcement").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-25 20:07:46 +02:00
Denis 'GNUtoo' Carikli 19f76075d8
site: faq: Use relative links for images.
This enable to later on change the subdirectory in which the website
is reployed (for instance from software/gnuboot/web to
software/gnuboot/web/test) without breaking images.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-25 20:07:42 +02:00
Denis 'GNUtoo' Carikli 90336699eb
site: docs: hardware: Use relative links for images.
This enable to later on change the subdirectory in which the website
is reployed (for instance from software/gnuboot/web to
software/gnuboot/web/test) without breaking images.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-25 20:07:37 +02:00
Denis 'GNUtoo' Carikli a002294b70
site: docs: install: Use relative links for images.
This enable to later on change the subdirectory in which the website
is reployed (for instance from software/gnuboot/web to
software/gnuboot/web/test) without breaking images.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-25 20:07:33 +02:00
Denis 'GNUtoo' Carikli 2de8b8c89b
site: img: fix license location.
The LICENSE file talks about a repository, but since the commit
54c6ae497d ("Merge the
documentation/website pictures into GNU Boot"), the images were merged
into a bigger repository, and so the license in the root directory of
the repository changed. So we need to update the license path.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-25 20:07:28 +02:00
Denis 'GNUtoo' Carikli bcdb25dc70
site: img: clarify license scope.
The LICENSE file talks about a repository, but since the commit
54c6ae497d ("Merge the
documentation/website pictures into GNU Boot"), the images were merged
into a bigger repository with files under different free software
licenses.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-25 20:07:17 +02:00
Denis 'GNUtoo' Carikli 377ace982d
site: site.cfg: Add license header.
While the file originally came from the Libreboot website and it is
probably copyrighted by Leah Rowe and under the same license, almost
all the lines were changed, so it's probably safe to only add my
copyright header not to have to do extensive research on all the
authors that touched this file over the years.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-25 20:06:25 +02:00
Denis 'GNUtoo' Carikli 5b58977b5e
site: git.md: document research on pseudonymous contributions.
The Guix manual[1] allows patches under pseudonymous:
    Contributors are not required to use their legal name in patches
    and on-line communication; they can use any name or pseudonym of
    their choice.
[1]https://guix.gnu.org/en/manual/en/html_node/Contributing.html

For Guix packages that contain patches to other upstream projects we
would need to contact the upstream project to best see how to handle
that.

As for the documentation, part of it is most likely to stay specific
to GNU Boot, but other parts could be merged into Guix (which was
already checked), GRUB or other projects to simplify maintenance.

As for the GNU Boot build system, it's most likely specific to GNU
Boot or likely to be moved into Guix packages at some point. The only
problematic cases that can remain are the move of the build logic
inside upstream project or for transforming hacks into autotools
contributions.

But in any case when contributions that could be merged in projects
that weren't checked are made, the GNU Boot maintainers and/or
followers of the GNU Boot patches mailing list could simply mention
the issue and look up the upstream policy with regard to pseudonymous
contributions, and if that doesn't work out, work with upstream
projects to find a solution.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-16 15:52:34 +02:00
DiffieHellman c97a4d903a
site: faq: don't refer to GNU Boot images as ROMs.
One of the definitions of ROM is read-only-memory. Because of that it
creates confusion when this term is used to refer to an image that
is to be installed on a writable storage.

Signed-off-by: DiffieHellman <DiffieHellman@endianness.com>
GNUtoo: split commit, commit message.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-16 15:52:28 +02:00
DiffieHellman 2b9d596de1
site: faq: Replace "Libreboot" with "GNU Boot" where it makes sense to.
Signed-off-by: DiffieHellman <DiffieHellman@endianness.com>
GNUtoo: split, modified commit message, changed "GNU boot" to "GNU
        Boot" removed change about copyright ownership->holdership in
        site/git.md.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-16 15:52:19 +02:00
DiffieHellman 7caced72cf
site: faq: fix various spelling mistakes.
Signed-off-by: DiffieHellman <DiffieHellman@endianness.com>
GNUtoo: split, commit message, keep "Linux kernel", rephrase the part
        with BusyBox, fix more spelling mistakes found by neox and me.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-16 15:45:39 +02:00
DiffieHellman 4d63dc7e40
site: status: GNU Boot 0.1 RC3: set KGPE-D16 as tested.
Signed-off-by: DiffieHellman <DiffieHellman@endianness.com>
GNUtoo: commit message, split commit.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-16 10:34:04 +02:00
Denis 'GNUtoo' Carikli 7df6d6169b
Build bucts and patched flashrom for I945 ThinkPads with Guix.
GNU Boot can be installed on some I945 ThinkPads without disassembling
them. To do that it requires both a patched flashrom and bucts.

This build them and also integrate Guix in GNU Boot as a dependency to
build them.

This will enable us to later on ship these utilities and then update
the installation instructions to use them somehow.

It also makes sure that we have proper authorship of the patch used
for flashrom and also unify the two flashrom patches not to require
two different flashrom binaries.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-12 22:56:04 +02:00
Denis 'GNUtoo' Carikli f8faf2803d
Makefile.am: Document commands from site/docs/build/index.md.
The build documentation (site/docs/build/index.md) references some
commands, so documenting them in the a 'make help' command as well can
help improve the contributors efficiency by not having to re-read the
documentation every time we are looking for a command.

In addition this can help separate well known commands from other less
documented ones that are internal to GNU Boot and that can more easily
change.

This is also important as it allows, if the need arrise, to have the
the autotools system play a more important role than merely a
"compatibility system" for people used to type "make" as the build
instructions currently state.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-12 22:56:04 +02:00
Denis 'GNUtoo' Carikli b175bd85a5
Add topdir ./configure.
The goal here is to be able to add configure options later on.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-12 22:56:04 +02:00
Denis 'GNUtoo' Carikli dd21918746
gitignore: don't ignore .scm files.
For some reason the regex being removed ends up ignoring .scm files:
if we run git add to some files in ./resources/guix/*/*.scm, we end up
with:
    The following paths are ignored by one of your .gitignore files:
    [...]
    hint: Use -f if you really want to add them.
    hint: Turn this message off by running
    hint: "git config advice.addIgnoredFile false"
but if we remove '*.s[a-w]?' from .gitignore, git add works fine
without any warning.

As this gitignore entry was added by the very first commit of this
repository (commit 89517ed6b9
"libreboot!"), we don't really know why it was added (what type of
files it's supposed to match again).

But given that we plan to use .scm files extensively, it's probably
better to remove that ignore rule and find out later the reason why it
was added in the first place, and adjust the rules accordingly, than
risking to forget some important scheme files.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-12 22:56:04 +02:00
Denis 'GNUtoo' Carikli 19757f8b23
gitignore: sort rules.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-12 22:56:04 +02:00
Denis 'GNUtoo' Carikli 34007c4baf
scripts: misc: guix.sh: make it pass shellcheck.
Without this fix, running shellcheck -x on
resources/scripts/misc/guix.sh returns many errors.

For each guix version declaration we have something like that:
    In resources/scripts/misc/guix.sh line 21:
    guix_v0_0="6365068393254e1131ab80eb0d68a759e7fd2256"
    ^-------^ SC2034 (warning): guix_v0_0 appears unused.
    Verify use (or export if used externally).
and here the variables are actually used in this code:
    guix_version_commit()
    {
        version="$1"

        eval echo "$(echo \$guix_"${version}" | sed 's#\.#_#g')"
    }
so we workaround by disabling that test for each version declaration.

Then shellcheck cannot find "$GUIX_PROFILE"/etc/profile:
In resources/scripts/misc/guix.sh line 91:
        . "$GUIX_PROFILE"/etc/profile
          ^-------------------------^ SC1091 (info):
   Not following: ./etc/profile: openBinaryFile:
   does not exist (No such file or directory)
so we disabled that test for this line.

After that we have many issues with quoting like this one:
    In resources/scripts/misc/guix.sh line 104:
        eval echo $(echo \$guix_"${version}" | sed 's#\.#_#g')
                  ^-- SC2046 (warning):
                  Quote this to prevent word splitting.
or this one:
    In resources/scripts/misc/guix.sh line 233:
        major="$(echo ${version} | awk -F . '{print $1}')"
                      ^--------^ SC2086 (info):
                      Double quote to prevent globbing and word splitting.
these were fixed.

We also improved a test by using grep -q:
    In resources/scripts/misc/guix.sh line 272:
        elif [ -n "$(echo ${revision} | grep '\.')" ] ; then
               ^-- SC2143 (style):
        Use grep -q instead of comparing output with [ -n .. ]

And finally in guix_version_commit a sed was avoided by using bash
replacement, and when that was not possible (in guix_next_version),
the shellcheck test for that was disabled.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-12 22:56:04 +02:00
Denis 'GNUtoo' Carikli b3a0ddd92c
scripts: misc: guix.sh: fix last version detection.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-05-12 22:55:33 +02:00