Commit Graph

590 Commits

Author SHA1 Message Date
Denis 'GNUtoo' Carikli 32939baf38
website: docs: shorten part about news and put it in a section.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-09-06 19:33:50 +02:00
Denis 'GNUtoo' Carikli 16b173a23f
website: docs: FAQ link: rename Libreboot to GNU Boot.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-09-06 19:32:48 +02:00
Denis 'GNUtoo' Carikli e088fed9eb
website: docs: operating systems: rename Libreboot to GNU Boot.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-09-06 19:31:57 +02:00
Denis 'GNUtoo' Carikli a7bdf7421c
website: docs: Installing: rename Libreboot to GNU Boot.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-09-06 19:31:08 +02:00
Denis 'GNUtoo' Carikli f0d2cf5af0
website: history: copyright: add verified website/serve.sh file.
The entries inside the "Verified copyright headers" section refer to
commit hashes. And since a commit can't refer to itself (unless SHA1
is broken), we split that in two commits.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-09-06 17:39:50 +02:00
Denis 'GNUtoo' Carikli c2d32b05be
website: serve.sh: update copyright headers.
The serve.sh script was added in the commit
58fc2a673d ("Add the ability to test the
website locally") in the website-build repository of the Genuine
Libreboot project. This repository was then merged in GNU Boot.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-09-06 17:39:04 +02:00
Denis 'GNUtoo' Carikli 0b89b94ecb
website: history: copyright: add verified website/.gitignore file.
The entries inside the "Verified copyright headers" section refer to
commit hashes. And since a commit can't refer to itself (unless SHA1
is broken), we split that in two commits.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-09-06 17:38:02 +02:00
Denis 'GNUtoo' Carikli e378b45440
website: .gitignore: add copyright header.
The Libreboot maintainer (Leah Rowe) included nonfree software in
Libreboot releases. This lead to the creation of Genuine Libreboot
project (https://libreboot.at). Since this project reused the
Libreboot website from before the inclusion of nonfree software, it
also depended on Untitled, a website generator written in shell
script.

Since this website generator is not packaged in most distributions,
and that the Genuine Libreboot project wanted automatic builds of the
website, I wrote a set of scripts and Makefile to automatize the
download of Untitiled and the build of the website in November
2022. This corresponds to the commit
db0fb8a251 ("Initial import").

Then I improved these script(s) and Makefile(s) over time and they
were merged in the GNU Boot project.

While what is now in website/ is the result of merging the site/ and
website-build/ directories. To do that site/ was renamed to website/
just before the merge. Only website-build/ had a .gitignore.

This is because the website was only built with the website-build code
in subdirectories of website-build/ and/or in temporary volatile
directories, and so this would not create any built file in the git
repository outside of website-build.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-09-06 17:36:55 +02:00
Denis 'GNUtoo' Carikli abe5a40fad
website: history: track work on copyright headers updates.
Without this commit we have no way of tracking the status of files and
we risk making the same verification too many times.

Ideally we also need procedure and/or tools to make sure omissions
don't get in.

So far the work to update some of the headers on some of the files
required to look at multiple git repositories and even tarball
releases, and in some cases it even required good knowledge of the
provenance of the files to reconstruct the proper history.

In contrast the way we track contributions in git makes it much easier
to fix subsequent omissions of people/dates in the copyright headers.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-09-06 17:34:36 +02:00
Denis 'GNUtoo' Carikli 5ac76f6235
build: replace non-working example.
I've not found how to fix the example, and we also need to document
how to build an image for a specific computer.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-08-30 16:45:23 +02:00
Denis 'GNUtoo' Carikli 1ccd450fec
build: Update copyright header.
At the very beginning, we had tarball releases of Libreboot which were
made by Leah Rowe.

The first 3 tarball releases are in 2013 and the fourth is in
2014. The 2013 tarballs didn't have this build script: In 2013, to
build Libreboot, Leah used a combination of commands typed by hand and
scripts I provided her (they are in the build-makefiles directory in
these tarball releases). So she wrote the build script in 2014.

I also looked if I could find traces of my "build-makefiles" scripts
inside Leahs's build script but I didn't find any. This means that she
wrote it from scratch and that the copyright really starts with her in
2014.

Then in 2014, more tarball releases follow and then we finally have
the very first commit of Libreboot: commit
cee90ae0fce6d6aee8d78969b60c952c8890abd6 ("Libreboot release 6 beta
1.").

Since all these tarball releases and the very first commit of
Libreboot were made by Leah Rowe and that all that happened in 2014,
it means that the build script in it was made in 2014 by Leah Rowe.

After that following the history is easier. To do that we need several
repositories:

- First we need to follow it in
  obsolete-repository-preserved-for-historical-purposes from the very
  first commit until the r20160907 tag.

- Then we follow it in osbmk from the very first commit: commit
  df76c3eb63dd8f4979d78ca262218eedb93512ed ("Fork Libreboot 20160907
  build system. Large parts have been re-written.") up to the last
  commit of the libre branch: commit
  a02723897cab744c7ed31d7cca48308528cafe76 ("fix seabios
  downloading").

- Then we follow it in GNU Boot directly as we included the history of
  lbmk as well, starting from the commit
  89517ed6b9 ("libreboot!").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
neox: minor fix in commit message (typo)
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-08-30 16:44:18 +02:00
Denis 'GNUtoo' Carikli 65c0e57a55
resources: packages: src: release: Update copyright header.
The resources/packages/src/release content appeared in osbmk in the
2e2fe863172b513c3bdd4d0497657223ff6abdb4 ("Retroboot beta release,
20201228"). This commit is present in both the master branch and the
libre branch of osbmk.

The libre branch was then used as a basis to the (first) commit
89517ed6b9 ("libreboot!").

Then since GNU Boot kept the history of lbmk, we then have the rest of
the history of that file.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-08-30 16:42:06 +02:00
Denis 'GNUtoo' Carikli 2695c97561
grub.cfg: Add copyright header.
The GNU Boot project merged several repositories in its main git
repository, each with their separate histories. So far we have:
- the documentation/website that came from Libreboot
- the documentation/website pictures that also came from Libreboot
- the build system that also came from Libreboot (it's called lbmk there).
- some website autotools build system that was made from scratch by me.

The grub.cfg we use comes from the build system repository (lbmk). I
extracted the copyrights from the git commits of this repository.

However the first commit of lbmk (which we also have in our main GNU
Boot repository) is the following:
    commit 89517ed6b9
    Author: [Leah Rowe]
    Date:   [2021]

        libreboot!

        this is forked from the "libre" branch in osboot, which is itself a libre,
        deblobbed fork of osboot, a blobbed up fork of libreboot

        libreboot needed to be purged clean. this is the new libreboot development
        repository. the old one has been abandoned

So I had to continue and look at the libre branch of osboot and
extract the copyrights from its commits as well.

Then I downloaded osbmk (https://notabug.org/osboot/osbmk) and
continued to look.

And here too we need to go beyond the first commit again, because
osbmk is based on 'Libreboot 20160907':
    commit df76c3eb63dd8f4979d78ca262218eedb93512ed
    Author: [Leah Rowe]
    Date:   [2020]

        Fork Libreboot 20160907 build system. Large parts have been re-written.

        This build system builds ROMs for X230, but they are so far untested.
        Use at your own risk!

        I still need to write documentation and do testing.
        SOON: T60 with ATI GPU

We can find Libreboot 20160907 in
https://notabug.org/libreboot/obsolete-repository-preserved-for-historical-purposes

And then we end up with this commit:

    commit cee90ae0fce6d6aee8d78969b60c952c8890abd6
    Author: [Leah Rowe]
    Date:   [2014]

        Libreboot release 6 beta 1.

Before that Libreboot only had tarball releases and the very first
tarball release was based on build scripts/Makefiles made by me, and
the git repository having the GRUB configuration can be found in
Libreboot 20131212 in X60/build-makefiles.

    commit 80c37b9093be8325bf9ca8271ae4c6dba8fe81d6
    Author: [GNUtoo]
    Date:   [2013]

        Initial commit.

        For now we only build the grub payload.

        Signed-off-by: [GNUtoo]

And the intial grub.cfg was made by hand by me.

While I was at it I also updated the name/email combination in the
copyright header for the ones currently used.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-08-30 16:40:07 +02:00
Denis 'GNUtoo' Carikli 9b96b24570
website: status: Add usability bugs.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-08-30 16:37:26 +02:00
Denis 'GNUtoo' Carikli 5627c799b5
website: faq: Puri.sm: remove hardware recommendation.
This has several reasons:

- The GNU Boot project didn't review all the hardware made by Pusi.sm,
  especially because Puri.sm also sell hardware that is out of scope
  for the GNU Boot project like USB tokens or SIM cards.

- Reducing the scope to just x86 computers made by Puri.sm instead
  doesn't work either because there is no context to the
  recommendation.

  In harm reduction[1], the Freedom Ladder campaign by the FSF[2], and
  the FSF giving guide[3], context is taken into account so that people
  can make informed choices based on their constraints and choices.

  In practice these approaches make statement like "this computer
  respects more your freedom than this other one", or "this is
  dangerous because of that and you can reduce harm this way, even if
  it's far from perfect" and give context to statements to enable
  people to really understand what it means.

  [1]https://en.wikipedia.org/wiki/Harm_reduction
  [2]https://www.fsf.org/campaigns/campaigns-summaries#ladder
  [3]https://www.fsf.org/givingguide/

At the end of the day it's also less work and maintenance to just
remove that hardware recommendation statement than to review specific
computers that GNU Boot doesn't even support.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-08-30 16:36:34 +02:00
Denis 'GNUtoo' Carikli 8843206032
website: faq: Add entry about how to support more computers.
The idea behind this FAQ entry is to be able to point to it when
people ask us to support additional computers.

This makes sure we don't miss important points in our answers and it
also tries to convey the kind of work needed, including for less
common but important cases like when the code for a computer is found
to work on another one (in that case we badly want to know about it,
especially if there is only documentation work to be done for it).

In addition this kind of question is very common in projects that have
limited hardware support, so that also should help us spending less
time answering that question again and again.

The answer also makes it very clear that GNU Boot is just a
distribution and also shows the kind of work various contributors do
to show that some of them are really easy to do, in the hope that it
could bring up more contributors as well.

The way the entry is written (trying to avoid technical words, while
also speaking about very technical topics) is because it is meant for
a very wide audience that go from less technical users that just want
GNU Boot to work on the computer they have but don't know anything
about hardware support, to contributors to projects like Coreboot and
U-Boot that might just want to also add support for computers they
worked on in GNU Boot.

Wording like "the computer will need to be supported well by other
project" is vague to enable people used to contribute to projects like
Coreboot or U-Boot or even experienced distributions contributors will
understand it as having the strict minimum of out of tree patches,
while also enabling less technical users (that don't know what is an
"out of tree patch") to understand more or less what it means.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
neox: minor changes (typo and repetition)
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-08-30 16:28:56 +02:00
Denis 'GNUtoo' Carikli 388c0ef3d0
website: add history page of the GNU Boot git repositories.
While this doesn't show the complete history of GNU Boot, it is at
least useful for fixing missing copyrights inside copyright headers.

Also I tried adding the first tarball releases of Libreboot, before it
was in git, inside the same git-history.dot and it turned out to be
way too messy as some arrows ended up mostly in the same place making
it impossible to distinguish which arrow went where without using
color or other ways of distinguishing them.

However the textual version of the tarball history turned out to be
easier to read/understand so we used that.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
neox: minor fix in the commit message
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-08-30 16:04:55 +02:00
Denis 'GNUtoo' Carikli aead2a318c
website: lighttpd.conf: sort mimetype alphabetically.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-08-30 15:55:45 +02:00
Denis 'GNUtoo' Carikli e1b24cb136
website: clarify that patches are not the only way to contribute.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-08-30 15:49:37 +02:00
Anton McClure 6eea404319
Replaced broken contact links with ones to lists.gnu.org
Signed-off-by: Anton McClure <asm@gnu.org>
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-08-26 17:12:02 +02:00
Denis 'GNUtoo' Carikli 269e435233
website: status: fix page title.
The status page was wrongly named from the beginning.

The file title (but not the rest of the content) was copied from
git.md in the commit f431e5a164 ("site:
add GNU Boot status page.").

The title of the git.md file was already there in the very first git
commit of the lbwww repository that was merged in GNU Boot in the
commit b42fd2220c ("Merge the website
into GNU Boot"). The history of that file beyond that is unknown.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-16 12:55:15 +02:00
Denis 'GNUtoo' Carikli cf8a1e26c7
automake: add i945-thinkpads-install-utilities-help target.
Even if we still don't have any installation instructions that use
these tools, we still need to document somehow what the targets to.

And not adding a help for that would make it inconsistent with the
other targets that are somewhat documented in make help.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-16 12:55:15 +02:00
Denis 'GNUtoo' Carikli fa9e4736bc
website: status: add current RYF vendors product.
Adding the product of RYF vendors has several advantages:

- First it enables to later on differenciate vendors computers as some
  are known to change the flash chip size for instance.

- It enable users to more easily identify the computer they have.

Having the computers being RYF also make sure that they work without
nonfree software.

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 524ce4f9ba
website: status: mention upgrade instructions.
Since we now have documentation for using flashrom we can consider
that as having some very generic upgrade instructions.

And since no one tested them we don't know if they work so we can
reflect that.

As for what instructions can be simplified, probably everything can be
simplified at some point, and we need space for mentionning tests of
the upgrade instructions anyway.

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 d02481b589
website: main page: clarify that GNU Boot is a distribution.
At the beginning I tried to describe the GNU Boot project in a single
sentence to be as simple as possible for less technical users.

But then I ended up having to explain again and again to people that
GNU Boot is only a distribution.

We probably had this problem for a very long time, as Libreboot also
had the same issue, and since we inherited all its code and that we
continue its original spirit, we also have the same issue.

And I still had to correct people very recently even long after having
changed the Savannah project description page and having restructured
a bit the build system to look more like packages.

So here I see no other option than changing the front page as well, as
getting this point across is important, especially when we are looking
for contributions, as contributing to a distribution is often easier
than contributing to upstream software.

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
Adrien Bourmault e3caa43f38
Remove old logos, and make the website point to the new ones.
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: removed old logos and stickers, Libreboot -> GNU Boot,
        commit message, merged resources/grub/background/ and
	reworded a bit the copyright declaration.
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
Leah Rowe 4dd202a4ba
website: docs: install: flashrom: document I/O port access.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Signed-off-by: Leah Rowe <info@minifree.org>
GNUtoo: fixed section underline, rebased, commit message, split patch.
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2024-06-16 12:55:14 +02:00
Leah Rowe 46c6326474
website: docs: install: flashrom: add support for BSD.
Signed-off-by: Leah Rowe <leah@libreboot.org>
Signed-off-by: Leah Rowe <info@minifree.org>
GNUtoo: fixed section underline, rebased, commit message, split patch.
Acked-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 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