Commit Graph

630 Commits

Author SHA1 Message Date
Denis 'GNUtoo' Carikli 25c5ac1d8d
Add code style checks to track regressions.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-12 01:42:03 +01:00
Denis 'GNUtoo' Carikli a705ef9e78
website: Remove absolute links.
Without that fix, clicking to Download will go to
https://gnu.org/download.html.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-11-07 19:10:15 +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 3adc217cf1
Move the website to /software/gnuboot/test
The website will be published to https://gnu.org/software/gnuboot. But
for now it is not ready yet to be published as-is because there are no
contribution instructions yet and we also need to agree on what to put
on the main page.

So until that's fixed, it will be published to
https://gnu.org/software/gnuboot/test.

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:08:13 +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
Denis 'GNUtoo' Carikli 54c6ae497d
Merge the documentation/website pictures into GNU Boot
The documentation/website pictures are currently in a separate
repository, but they are needed to build the documentation/website.

Since we want to be able to have commits that modify both the code and
the documentation, including its pictures in order to keep everything
in sync, we need to merge both histories.

It's also a good idea to do that as early as possible as we don't need
to deal with the confusion of having to keep an extra unused git
repository for historic purposes.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-10-12 16:19:08 +02:00
Denis 'GNUtoo' Carikli b42fd2220c
Merge the website into GNU Boot
The website and the documentation are currently in a separate
repository.

Since we want to be able to have commits that modify both the code and
the documentation in order to keep everything in sync, we need to
merge both histories.

It's also a good idea to do that as early as possible as we don't need
to deal with the confusion of having to keep an extra unused git
repository for historic purposes.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-10-07 19:27:31 +02:00
Denis 'GNUtoo' Carikli 364cf80216
website: index: inform about the RC1 and tests status
Now there are probably too much people to thank to have all that on
the main page.

If we want to keep their names, a better idea would be to collect all
their names and add them to the release announcement.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-10-04 21:34:48 +02:00
Denis 'GNUtoo' Carikli 8bd31b5c2e
Add warning about unreviewed web pages.
For the GNU Boot website and documentation we reused:

- The Libreboot website as it contains a lot of documentation
  (installation instructions, documentation on supported computers,
  etc). And we don't want to re-do all that from scratch.

- The libreboot.at website as some of its modifications (like the
  ability to include images from the same domain, the fact that it
  mention that it's not libreboot.org, etc) are useful to us, and here
  too it's a good idea not to have to re-do all that work from
  scratch.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-10-04 21:34:08 +02:00
Denis 'GNUtoo' Carikli d7fc6bc94b
website: index: help: reorder paragraphs and adapt to GNU Boot.
Informing about Libreboot freedom status and/or switching URLs to GNU
Boot are two approaches meant to deal with the same issue.

Informing people about GNU Boot however is not necessarily directly
related to that.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-10-04 21:24:18 +02:00
Denis 'GNUtoo' Carikli a64d284fd7
.gitignore: order alphabetically
The sort was done with 'sort -u'.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-08-22 21:18:12 +02:00
Adrien Bourmault 0df4fe5fad
GRUB: config from HDD/SSD: Add support for gnuboot_grub.cfg
The "Load Operating System (incl. fully encrypted disks) [o]" GRUB
entry tries to load grub configuration files from the hard disk or SSD
partitions. It tries various files in /boot, /grub, /grub2,
/boot/grub, /boot/grub2.

For consistency we at least need to make it search for the
gnuboot_grub.cfg in these directories as well. Since this is GNU Boot,
the gnuboot_grub.cfg takes precedence over files made for other boot
software distributions.

For libreboot_grub.cfg, it was not replaced because it is still
mentioned in the documentation.

Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: reworked code and commit message.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-08-22 21:17:29 +02:00
Adrien Bourmault ce13d22c07
GRUB: Use GNU Boot logo
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: updated commit message
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-08-22 21:16:59 +02:00
Adrien Bourmault 74b678c023
GRUB: Say the name GNUBoot in the grub menu
Signed-off-by: Adrien Bourmault <neox@a-lec.org>
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-08-22 21:16:51 +02:00
Adrien Bourmault eeddd2b610
build/dependencies: debian: adding python-is-python3 to build seabios properly
Without having python-is-python3 installed, on recent PureOS 10
(byzantium) with at least the d510mo target, we have the following
 build failure:
	$ ./build boot roms d510mo
	[...]
	  Compiling (16bit) out/vgaentry.o
	  Compiling whole program out/vgaccode16.raw.s
	  Fixup VGA rom assembler
	make: python: No such file or directory
	make: *** [Makefile:228: out/vgaccode16.o] Error 127

Without python-is-python3, the build also fails on recent
versions of Trisquel and Debian.

Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: Part of the commit message
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-08-22 21:16:40 +02:00
Adrien Bourmault 58b8e09526
coreboot/fam15h: don't build ada toolchain for generic platforms
These folders (fam15h_rdimm and fam15h_udimm) are generic plateforms to gather
patches in common for multiple boards (e.g. kgpe-16 and kcma-d8), this is why we also
disable crossgcc_ada in the configuration, since it will be built by specific boards
if needed, avoiding double compilation.

Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: split commit
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-08-22 21:16:19 +02:00
Adrien Bourmault f7c0fec698
coreboot/fam15h: update code base, deblob, unset CONFIG_STM (see bug #64535)
This commit updates the coreboot code base from release 4.11 to 4.11_branch for kgpe-d16,
kcma-d8, kfsn4-dre and addresses one new blob related to this update.

The main reason to update the codebase is to prevent a bug with RAM initialization
that occured with coreboot 4.11 and raised the following critical error:

	fam15_receiver_enable_training_seed: using seed: 0054
	fam15_receiver_enable_training_seed: using seed: 0054
	TrainRcvrEn: Status 2005
	TrainRcvrEn: ErrStatus 4000
	TrainRcvrEn: ErrCode 0
	TrainRcvrEn: Done

	TrainDQSReceiverEnCyc_D_Fam15: lane 0 failed to train!  Training for receiver 2 on DCT 0 aborted
	TrainDQSReceiverEnCyc: Status 2205
	TrainDQSReceiverEnCyc: TrainErrors 44000
	TrainDQSReceiverEnCyc: ErrStatus 44000
	TrainDQSReceiverEnCyc: ErrCode 0
	TrainDQSReceiverEnCyc: Done

	TrainDQSReceiverEnCyc: Status 2005
	TrainDQSReceiverEnCyc: TrainErrors 4000
	TrainDQSReceiverEnCyc: ErrStatus 4000
	TrainDQSReceiverEnCyc: ErrCode 0
	TrainDQSReceiverEnCyc: Done

	DIMM training FAILED!  Restarting system...soft_reset() called!

This coreboot revision also correct some bugs with SMM, SMBIOS, IPMI and BMC.

Some new values in coreboot configuration make coreboot first build stop to prompt
users and forcing them to choose an option to continue:
	- CONFIG_STM
	- CONFIG_DEBUG_IPMI
	- CONFIG_VENDOR_VIA
	- CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900
	- CONFIG_IPMI_FRU_SINGLE_RW_SZ
	- CONFIG_IPMI_KCS_TIMEOUT_MS

A bug has been opened about CONFIG_STM on our bug tracker [1], and we decided,
for now, to unset this option explicitely.

So in this commit we just regenerated configurations for each fam15h board via
coreboot build prompts and copied the resulting configurations in the configuration
folder and that results in the following:
	- unset CONFIG_STM
	- unset CONFIG_DEBUG_IPMI
	- unset CONFIG_VENDOR_VIA
	- unset CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900
	- set CONFIG_IPMI_FRU_SINGLE_RW_SZ=16
	- set CONFIG_IPMI_KCS_TIMEOUT_MS=5000

[1]https://savannah.gnu.org/bugs/?64535

Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: split commit into "don't build ada toolchain for generic platforms"
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-08-22 21:15:39 +02:00
Adrien Bourmault de9297fc89
coreboot/fam15h: fix crossgcc acpica build on newer hostcc
With newer hostcc, trying to build IASL will raise an error:
    -  Intermediate obj/aslcompilerlex.c
    - Link obj/iasl
    /usr/bin/ld: obj/aslcompilerparse.o:(.bss+0x8): multiple
    definition of `AslCompilerlval'; obj/aslcompilerlex.o:(.bss+0x0):
    first defined here
    /usr/bin/ld: obj/prparserlex.o:(.bss+0x0): multiple definition of
    `LexBuffer'; obj/dtparserlex.o:(.bss+0x0): first defined here
    collect2: error: ld returned 1 exit status

This commit adds a patch for GCC 8.3.0 that modifies the ASL engine:
    - making LuxBuffer variable static to avoid multiple definitions
      being treated as errors
    - removing a redundant definition of AcpiGbl_DbOpt_NoRegionSupport

Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: commit: cosmetics changes only
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-08-22 21:15:09 +02:00
Adrien Bourmault c38348dbb5
coreboot/fam15h: fix for gcc/gnat building
With newer hostcc, trying to build GCC 8.3.0 will raise an error from ld:

	undefined reference to `__gnat_begin_handler_v1'

This commit adds a patch for GCC found on coreboot [1] correcting this
error by backporting the GNAT exception handler v1 to GCC 8.3.0 allowing
GNAT to be built with newer hostcc like GCC 10+.

[1]https://review.coreboot.org/c/coreboot/+/42158

Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-08-22 21:15:00 +02:00
Adrien Bourmault 0d77d99d23
coreboot/fam15h: fixing binutils not building properly
Without that fix, if we build for a fam15h target on PureOS byzantium,
we have a build failure:

	$ ./build boot roms kgpe-d16-udimm_2mb
	  [...]
	  Building MPC v1.1.0 for host ... ok
	  Building BINUTILS v2.32 for target ... failed. Check 'build-i386-elf-BINUTILS/build.log
	  make[2]: *** [Makefile:26: build_gcc] Error 1
	  make[1]: *** [Makefile:51: build-i386] Error 2
	  make: *** [util/crossgcc/Makefile.inc:48: crossgcc-i386] Error 2
	  Error: build/roms: something went wrong

Then the build log (here) in available in
coreboot/fam15h_udimm/util/crossgcc/build-i386-elf-BINUTILS/build.log
has the following:
	In file included from ../../binutils-2.32/gold/debug.h:29,
        	         from ../../binutils-2.32/gold/descriptors.cc:31:
	../../binutils-2.32/gold/errors.h:87:50: error:
	'string' in namespace 'std' does not name a type
	   87 |   undefined_symbol(const Symbol* sym, const std::string& location);
	      |                                                  ^~~~~~
	../../binutils-2.32/gold/errors.h:29:1: note: 'std::string'
	is defined in header '<string>'; did you forget to '#include <string>'?
	   28 | #include "gold-threads.h"
	  +++ |+#include <string>
	   29 |

Signed-off-by: Adrien Bourmault <neox@a-lec.org>
GNUtoo: commit message but not its title
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-08-22 21:14:49 +02:00
Denis 'GNUtoo' Carikli b77307995a
coreboot/default, coreboot/fam15h: use GNU mirror for acpica
Crossgcc needs acpica-unix2-20210331.tar.gz and acpica-unix2-20190703.tar.gz,
but this file is gone from upstream[1], so with guix-time-machine and
guix build --source, we recovered these files and published it at the addresses
in the patches.

[1]https://github.com/acpica/acpica/issues/883

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Co-developed-by: Adrien 'neox' Bourmault <neox@gnu.org>
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
neox: Added fam15h patches and adjusted the commit message accordingly
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-08-22 21:14:24 +02:00
Adrien Bourmault bf1799344f
Continue Libreboot under the GNU project
This commit is based on the 20220710 tag from Libreboot.

To our knowledge, 20220710 is the last really libre Libreboot
release as the next releases from libreboot.org has nonfree
software (like nonfree microcode updates).

Because of that we've stepped forward to stand up for freedom,
and we started maintaining our own version of Libreboot that
didn't include nonfree software.

To make sure that our version remains free and continue to be
maintained over time, we chose to now do this as part of the
GNU project.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
GNUtoo: commit message
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-08-22 21:13:26 +02:00
Denis 'GNUtoo' Carikli 9fcac299dc
.gitignore: order alphabetically
The sort was done with 'sort -u'.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-08-17 03:19:37 +02:00
Denis 'GNUtoo' Carikli 2741da3959
Fix images path for web usage
We don't plan to use an external website just for the images, so
we need a local path for the images.

Since the images are in www/ in the images repositories, it's easier
to expect the images in img/www to enable easy deployment by users.

The path of the images aren't relative to the page. So we need to use
a kind of absolute path for it to work.

We have the choice of not using any domain (/img/www/) or using a
specific domain (DOMAIN/img/www/). We use the former as the later
doesn't work offline and cannot use the local images.

However the downside is that we need a local web server for it to work
as simply opening the html files in a browser won't work unless the
user puts the images inside /img/www inside the root filesystem.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-08-17 01:21:51 +02:00
Denis 'GNUtoo' Carikli 2e12909078
Add GNU Boot project announcement
We reused the work of libreboot.at as this is less work than
restarting from scratch.

It also contains the smallest possible change to make the review
easier.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-08-03 18:45:41 +02:00
Denis 'GNUtoo' Carikli 955ecb391f
configure.ac: Add --disable-lighttpd
Users can also extract the tarball manually and point a browser to it,
so lighttpd should not be striclty required.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-04-14 18:54:59 +02:00
Denis 'GNUtoo' Carikli 9cac692b41
configure.ac: fix dependencies checking with and without guix
There was several issues with the way dependencies were handled:

- First the dependencies were checked but if they weren't found,
  nothing happened: you would have "checking for <command>... no" in
  the configure output, but configure would then ignore that issue and
  continue.

- Then there was no need to check for dependencies provided by Guix if
  they weren't also used outside of Guix.

- Then when guix wasn't used, a lot more dependencies are required,
  and most of them were missing. The list was made by reading
  lbwww-build's Makefile.am and scripts but also untitled's build
  script.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-04-14 18:54:58 +02:00
Denis 'GNUtoo' Carikli a6e4a2a225
configure.ac: Add --disable-guix option
This should make it easier for people not having guix to test the
website.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-04-14 18:54:53 +02:00
Denis 'GNUtoo' Carikli 5434311144
Makefile.am: help: Remove extra new lines
Without that fix, running 'make help' prited 3 extra new lines at the
end of the help.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-04-14 18:54:46 +02:00
Denis 'GNUtoo' Carikli efdfbcadd2
Order maintainers names alphabetically
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-04-14 18:51:22 +02:00
Denis 'GNUtoo' Carikli 641e4aaa82
configure.ac: Add --with-untitled-path=PATH
This allows to use a local untitled repository.

It is also now possible to build offline by cloning the lbwww,
lbwww-img and untitled repositories locally and passing them to
configure with --with-*-path.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-04-04 16:17:17 +02:00
Denis 'GNUtoo' Carikli eb5845b8b1
build.sh: improve command line parsing
The previous code was simple and worked but it didn't scale.

With one --with-*-path argument, we have only one elif clause. With 2
--with-*-path arguments we end up with 4 elif clauses. And with 3
--with-*-path arguments we end up with 13 elif clauses which is way
too much.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-04-04 16:17:16 +02:00
Denis 'GNUtoo' Carikli e4fe5e0e56
configure.ac: Add --with-lbwww-img-path=PATH
This allows to use a local lbwww-img repository.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-04-04 16:17:16 +02:00
Denis 'GNUtoo' Carikli c81c3ec944
Add automatic tests
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-04-04 16:14:41 +02:00
Adrien Bourmault a7b2dcd815
Better instructions to create patches
Signed-off-by: Adrien Bourmault <neox@a-lec.org>
GNUtoo: Removed tab in the line after "You'll have to specify the
        mailing list address:"
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-04-02 02:24:20 +02:00
Denis 'GNUtoo' Carikli 0ee39b89b6
site/docs/install/index.md: Update contact information
Thanks to the person who reported the issue.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-03-29 15:44:19 +02:00
Denis 'GNUtoo' Carikli 3e9180a277
Convert to autotools to enable configuring the lbwww directory
Using autotools has several advantages against trying to add such a
feature to the Makefile:
- we don't need to always pass an extra option to make, so once
  configured there is less to type
- we also check for dependencies along the way
- the trade-off between easy to use and code simplicity looks better
  than with plain Makefile: with a single option we can easily make
  the Makefile use --share and --with-lbwww-path conditionally. Doing
  that with a plain Makefile would probably be way more complex, or
  would require code duplication (to only use --share and
  --with-lbwww-path when an option is passed to the Makefile), or
  would require to pass raw build.sh options (which would complicate
  usage).

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-03-23 01:55:59 +01:00
Denis 'GNUtoo' Carikli 0259444361
build.sh: Add --with-lbwww-path to use a local lbwww git repository
The ideal situation would be to move integrate all the files of this
repository inside lbwww to be able to easily test local changes.

However that doesn't work as untitled expect lbwww to be in
untitled/www/lbwww and there is no way to configure that.

Using symlinks doesn't work either as untitled doesn't trust symlinks
as there are TOCTU attacks with it if the distribution doesn't
fs.protected_hardlinks and fs.protected_symlinks in sysctl.

Patching untitled is also not the best option here as it could
potentially add extra maintenance in the long run.

So we add the configuration inside lbwww-build instead.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-03-23 01:53:35 +01:00
Denis 'GNUtoo' Carikli 84bb0a3076
build.sh: Add help
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-03-23 01:53:25 +01:00
Denis 'GNUtoo' Carikli 6ba4e7cf7d
README: Add basic information on dependencies
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-03-23 01:50:41 +01:00
Ian Kelling 0f3dc82ed5
fix typo
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-03-22 13:11:50 +01:00
Denis 'GNUtoo' Carikli 1ef4a4e9cc
Fix first Libreboot release date
The first Libreboot release was the 12th December 2013[1].

This is also correlated with the fact that I moved to France around
summer 2013, and around December, I gave Leah my build scripts (under
a free license) and I answered all her questions in order to help her
getting the first RYF computer certified. That then lead to the
creation of Libreboot. So the first release cound't have happened in
2009.

[1]https://libreboot.org/news/libreboot20131212.html

Reported-by: f_ (Ferass El Hafidi) on #libreboot on Liberachat.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@a-lec.org>
2023-03-20 15:46:08 +01:00
Denis 'GNUtoo' Carikli d64da48264
Update to current domain
This change is urgent to make as my talk will start in less than 1
hour, so it was not sent for review.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-03-19 15:30:23 +01:00