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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Guix now supports debootstraping both PureOS and Trisquel. In Guix,
the keyring packages are runtime dependencies of debootstrap, and
debootstrap refers to them by their full path in /gnu/store.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
We need to install the keyring packages to make sure that the
signatures are checked. So a table was created for that and also to
enable to add more distributions in it (like Guix) later on.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
While T60 with ATI GPUs can be used as servers for instance, not
officially supporting them simplifies the support and also doesn't
steer users toward installing nonfree Video BIOS afterward.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
The patch added support for deploying websites made with untitled in
subdirectory and was needed to make the news/ pages work.
But now the functionality has been merged upstream, so we don't need a
patch for that anymore.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
In the commit d68b4f8930 ("Makefile: Add
logging.") I forgot to add the SHELL := $(shell which bash) line that
is mentionned in the commit to the Makefile.
So now the Makefile targets are actually broken:
$ make release
echo 'Makefile: running release target' >> make-1705163885.log
set -o pipefail ; ./build release src | tee -a make-1705163885.log
/bin/sh: 1: set: Illegal option -o pipefail
make: *** [Makefile:59: release] Error 2
Since 'SHELL := bash' also works on PureOS 10 and Trisquel 10, I'll
use that instead as it is more simple.
The path of bash is not hardcoded to respect users decisions to use
the bash they want, and also to work better with non-FHS
distributions.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
A link was also fixed in the news along the way.
On the Thinkpads T60 and X60 a full installation from the nonfree BIOS
was tested with locally built patched Flashrom 1.2 and bucts.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>