Commit Graph

724 Commits

Author SHA1 Message Date
Denis 'GNUtoo' Carikli f59d024ba4
./modify: enable to mask tasks.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:59:04 +01:00
Denis 'GNUtoo' Carikli 3759da48f6
./download: enable to mask tasks.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:58:52 +01:00
Denis 'GNUtoo' Carikli 4c7895d38b
./build: enable to mask some tasks.
If we list all the packages that have a release task we have:
    $ ./build release list
    Available packages for task 'release':

    roms
    src
    u-boot-libre
    website

If for some reasons we don't want to have u-boot-libre shown (because
for instance it doesn't build and you want to avoid building it as
part of the './build release all' command, then you can mask it by
removing the executable permission:
    $ chmod -x resources/packages/u-boot-libre/release

And it then doesn't show up anymore:
    $ ./build release list
    Available packages for task 'release':

    roms
    src
    website

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:57:51 +01:00
Denis 'GNUtoo' Carikli 1943c8ce72
tests: lint: sort files to check alphabetically.
This helps avoiding duplicate lines and make it easier to find things.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:57:38 +01:00
Denis 'GNUtoo' Carikli 5c921f07bf
Makefile: check: don't check u-boot-libre yet.
The u-boot-libre check has reproducibility issues. In addition it's
currently broken. So it's better to disable it until patches to fix it
are merged in.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:57:23 +01:00
Denis 'GNUtoo' Carikli fa4cd06333
build instructions: explain how to run Trisquel/PureOS in other distros.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:55:32 +01:00
Denis 'GNUtoo' Carikli 86f6022c3f
website-build: Update Guix revision.
Generating the website works again with the latest Guix revision.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:55:15 +01:00
Denis 'GNUtoo' Carikli fc14e5da06
website-build: don't hardcode bash location.
This also makes it possible to use --disable-guix on a Guix system.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:54:44 +01:00
Denis 'GNUtoo' Carikli 0057ddf2a1
packages: coreboot: distclean: Use bash to avoid issue in PureOS.
Without that fix we have the following issue on PureOS byzantium:
    $ resources/packages/coreboot/distclean
    resources/packages/coreboot/distclean: 19:
    resources/packages/coreboot/../../scripts/tasks/distclean.sh:
    Bad substitution
    resources/packages/coreboot/distclean: 20: .:
    cannot open /../../..//resources/scripts/misc/sysexits.sh:
    No such file

This happens because packages/coreboot/distclean uses #!/bin/sh and
that the default sh shell isn't using bash:
    $ readlink $(which sh)
    dash
and using bash instead works fine:
    $ bash resources/packages/coreboot/distclean ; echo $?
    0
all the other distclean scripts in packages/*/ have exactly the same
issue. The tests/distlean script is also affected since it also
sources the distclean task.

So we use #!/usr/bin/env bash as it work with both Guix and regular
more or less FHS compliant distributions.

This issue was introduced by the commit
c7e28dc660 ("packages: Add distclean").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:53:48 +01:00
Denis 'GNUtoo' Carikli a40a028726
site: build instructions: mention where to find binaries.
Documenting where to find binaries built with 'make release' helps
users trying to build GNU Boot for the first time, especially if
something goes wrong.

It is also extremely useful for contributors writing release scripts
as this avoid needing to build a complete release just to find out the
name and location of released files.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:53:19 +01:00
Denis 'GNUtoo' Carikli 17b5b87d0f
site: status: Add Thinkpad X60T test.
The test was reported in the bug #64981[1].

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

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:49:53 +01:00
Denis 'GNUtoo' Carikli 993a700b21
site: remove docs/maintain and references to it.
This page is supposed to describe the Libreboot build system, but it
seems to only be there as a placeholder waiting for contributions that
add the actual information.

The problem here is that we don't want to describe the build system in
details in the manual for now as it is being reworked and it is
subject to change.

So for now we prefer to cleanup the code instead, and commenting it
along the way if possible, and if some explanations need to be added
in the manual it will most likely cover the global architecture which
isn't defined yet.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:49:06 +01:00
Denis 'GNUtoo' Carikli c2621a6fd3
dependencies: trisquel: Fix libusb package name.
Trisquel 10 (nabia) doesn't have libusb-1.0-dev or libusb-dev
packages.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:48:42 +01:00
Denis 'GNUtoo' Carikli e45ccea78e
dependencies: trisquel: replace iasl by acpica-tools.
In Trisquel 10 (nabia) /usr/bin/iasl is provided by acpica-tools.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:48:29 +01:00
Denis 'GNUtoo' Carikli 0b2de04b99
dependencies: trisquel: remove lib32ncurses5-dev
In Trisquel 10 (nabia) there is no lib32ncurses5-dev package anymore.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:48:16 +01:00
Denis 'GNUtoo' Carikli 2e38114034
dependencies: Trisquel 10: remove lib32tinfo-dev.
In Trisquel 10 (nabia) there is no lib32tinfo-dev package anymore.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:48:02 +01:00
Denis 'GNUtoo' Carikli 5050b5365e
dependencies: trisquel-10: workaround package not found if already installed.
If wget isn't installed and that we install it, it works fine:
    # pkcon -y --allow-reinstall install wget
    Resolving                     [=========================]
    Installing                    [=========================]
    Loading cache                 [=========================]
    Running                       [=========================]
    Installing packages           [=========================]
    Finished                      [=========================]

But then if we try again it fails because it's already installed:
    # pkcon -y --allow-reinstall install wget
    Resolving                     [=========================]
    Package not found: wget
    Command failed: This tool could not find any available package: No
    packages were found

So for now we need to workaround this issue.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:46:54 +01:00
Denis 'GNUtoo' Carikli 8f3d30f809
dependencies: rename debian in pureos-10.
We can't require contributors to install Debian as it has freedom
issues[1] but for contributors, installing PureOS is easier since
it's at least FSDG compliant[2]. So it makes sense to show that
PureOS is the primary target here.

This is also reflected in the reality as the current GNU Boot
maintainers already installed PureOS 10 inside virtual machines
and/or containers to test this script and build the GNU Boot 0.1
RC1 release.

[1]https://www.gnu.org/distros/common-distros.html#Debian
[2]https://www.gnu.org/distros/free-distros.html

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:46:33 +01:00
Denis 'GNUtoo' Carikli dbdeb37326
dependencies: rename ubuntu2004 in trisquel-10.
We can't require contributors to install Ubuntu as it has freedom
issues[1] but for contributors, installing Trisquel is easier since
it's at least FSDG compliant[2]. So it makes sense to show that
Trisquel is the primary target here.

This is also reflected in the reality as the current GNU Boot
maintainers already installed Trisquel 10 inside virtual machines
and/or containers to test this script.

[1]https://www.gnu.org/distros/common-distros.html#Ubuntu
[2]https://www.gnu.org/distros/free-distros.html

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:45:50 +01:00
Denis 'GNUtoo' Carikli 290769d016
dependencies: debian: Fix libusb package name.
PureOS 10 (byzantium) doesn't have libusb-1.0-dev or libusb-dev packages.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:45:22 +01:00
Denis 'GNUtoo' Carikli 364c09a176
dependencies: debian: remove lib32ncurses5-dev.
In PureOS 10 (byzantium) there is no lib32ncurses5-dev package anymore.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:44:46 +01:00
Denis 'GNUtoo' Carikli afe49875b5
dependencies: debian: replace iasl by acpica-tools.
In PureOS 10 (byzantium) /usr/bin/iasl is provided by acpica-tools.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:44:26 +01:00
Denis 'GNUtoo' Carikli 85617168e5
dependencies: debian: remove lib32tinfo-dev.
In PureOS 10 (byzantium) there is no lib32tinfo-dev package anymore,
so running the debian dependency script fails with:
    Package not found: lib32tinfo-dev

    Command failed: This tool could not find any available package: No
    packages were found

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:43:46 +01:00
Denis 'GNUtoo' Carikli e8f42a4180
dependencies: fix installation when the package is already installed.
Without that fix already the installation script fails on PureOS when
some packages are already installed :
    # ./resources/dependencies/debian
    [...]
    [...] Package not found: wget
    [...] Command failed: The selected packages may already be installed.

Since most other dependencies installation scripts also use
PackageKit, they are likely to behave in the same way and so we also
apply the same fix.

This was broken by the commit 0f74569af0
("dependencies: switch arch, debian, fedora35, ubuntu2004 to
packagekit").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:43:07 +01:00
Denis 'GNUtoo' Carikli 28247e6aa1
website-build: build.sh: fix offline builds.
Without that fix, build.sh compares the desired Untitled revision with
the GNU Boot git revision, so the comparison always fail, which leads
to broken offline builds.

This was broken from the start in the commit
cabc1cac08 ("website-build: avoid
unnecessary git fetch").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:42:39 +01:00
Denis 'GNUtoo' Carikli 6921a76b8d
README.md: fix typo, add linebreak
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:33:03 +01:00
Denis 'GNUtoo' Carikli 88d3ad4765
site: fix the GNU Boot build instructions.
The reference to lbmk was removed because there is no lbmk script in
GNU Boot.

The python section was removed as this is already taken care of by the
combination of the dependencies installation scripts and the
recommendation of specific distributions to build GNU Boot. Untested
distributions were also removed.

As for the removal of x-toc-enable, we had issues when having both
x-toc-enable and x-reviewed on the same page in the past. This is
documented in the commit adc578ae49
("site: license.md: fix x-reviewed"). So to make sure to avoid similar
issue we preemptively remove x-toc-enable.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:57 +01:00
Denis 'GNUtoo' Carikli f431e5a164
site: add GNU Boot status page.
Many projects that make hardware work (drivers, etc) have status
pages.

Here GNU Boot is a distribution and with very few exceptions (like
infrared and TPM on I945 Thinkpads) most of the hardware work fine.

However we currently need to track what computers were tested, if the
installation instruction work, and the upstream status to know if a
computer is likely to continue being supported or not if nobody
volunteers to help.

This is also a practical way to ask volunteers to test with very
simple tasks like bug reporting if things work or don't work.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:54 +01:00
Denis 'GNUtoo' Carikli 3ad9ba11f4
dependencies: Add script to update Guix.
The website-build code already uses guix by default. Given that it
also requires a specific Guix revision to workaround an issues with
pandoc, it's a good idea to help users easily install Guix.

PureOS Byzantium has a package for Guix 1.2.0, so if users install
that they will need to update it at least to Guix 1.4.0 to have the
same Guix commands.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:51 +01:00
Denis 'GNUtoo' Carikli 0f74569af0
dependencies: switch arch, debian, fedora35, ubuntu2004 to packagekit
Void was not migrated to PackageKit because there is no backend for
xbps in it.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:48 +01:00
Denis 'GNUtoo' Carikli fd9986da0b
Move releases from releases/<git describe> to releases.
This can simplify the overal structure of GNU Boot as we don't need to
compute some git tag everytime in the code.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:45 +01:00
Adrien Bourmault 6c51d58af3
site/contact.md: adapt the contacts to GNU Boot
GNU boot has mailing lists and an IRC channel. This commit reflects that in
contact.md

Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
GNUtoo: Fixed lines over 80 characters, fixed main mailing list scope,
        grouped mailing lists together.
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2023-12-06 17:32:42 +01:00
Denis 'GNUtoo' Carikli 0ff3302df3
site: remove .htaccess
The t60_unbrick.html[1] page didn't show any images on gnu.org but it
worked fine locally with 'make test'. A sysadmin from the FSF noticed
that these pages had an .htaccess and after temporarily removing them
the pages worked again. So removing the .htaccess should fix that
issue.

[1]https://www.gnu.org/software/gnuboot/web/docs/install/t60_unbrick.html

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:39 +01:00
Denis 'GNUtoo' Carikli 585f4d359a
coreboot/i945 Thinkpads: replace dd commands with INTEL_ADD_TOP_SWAP_BOOTBLOCK
It is possible to install GNU Boot on I945 Thinkpads without opening
the computer even if the nonfree bios sets the bootblock region (the
last 64K of the flash chip) read-only.

The flash chip looks like that:
+-----   -----+---------------------------+-------------------------+
|     ...     | Secondary bootblock (64k) | Primary bootblock (64k) |
+-----   -----+---------------------------+-------------------------+
0      0x1e0000                                                  2MiB

To bypass the read-only restriction we use an utility (bucts) that
tells the hardware to swap the primary bootblock with the secondary
one for the next boot. We then have to disable that swap and reflash
again.

CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK generates the two bootblocks
directly in coreboot so we don't need to use special commands to do
that anymore.

In addition the MacBook 1.1 and 2.1 are known not to have such
read-only restrictions so they don't need to have
CONFIG_INTEL_ADD_TOP_SWAP_BOOTBLOCK enabled.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:36 +01:00
Denis 'GNUtoo' Carikli 7bf153a207
update: make it pass shellcheck
Without that fix, running 'shellcheck -x build' produces the following
errors/warnings:
    In update line 81:
    case "${option}" in
    ^-- SC1009 (info):
    The mentioned syntax error was in this case expression.

    In update line 82:
    list)
    ^-- SC1073 (error):
    Couldn't parse this case item. Fix to allow more checks.

    In update line 92:
    all)
       ^-- SC1072 (error):
       Fix any mentioned problems and try again.
       ^-- SC1074 (error):
       Did you forget the ;; after the previous case item?

After fixing these and rerunning 'shellcheck -x build', we then have
the following errors/warnings:
    In update line 23:
    [ "x${DEBUG+set}" = 'xset' ] && set -v
      ^-------------^ SC2268 (style):
    Avoid x-prefix in comparisons as it no longer serves a purpose.

    In update line 32:
    ls -d resources/packages/*/update/ | \
    ^-- SC2012 (info):
    Use find instead of ls to better handle non-alphanumeric filenames.

    In update line 40:
    ls -d resources/packages/"${package}"/update/* | \
    ^-- SC2012 (info):
    Use find instead of ls to better handle non-alphanumeric filenames.

    In update line 95:
    resources/packages/"${package}"/update/"${option}" $@
                                                       ^-- SC2068 (error):
    Double quote array expansions to avoid re-splitting elements.

    In update line 102:
    "${pkg_dir}"/update/"${option}" $@
                                    ^-- SC2068 (error):
    Double quote array expansions to avoid re-splitting elements.
so we fix them as well.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:33 +01:00
Denis 'GNUtoo' Carikli 68cb3ac110
download: make it pass shellcheck
Without that fix, running 'shellcheck -x build' produces the following
errors/warnings:
    In download line 26:
    [ "x${DEBUG+set}" = 'xset' ] && set -v
      ^-------------^ SC2268 (style):
    Avoid x-prefix in comparisons as it no longer serves a purpose.

    In download line 37:
    [ "x${NODELETE+set}" = 'xset' ] && deleteblobs="false"
      ^----------------^ SC2268 (style):
    Avoid x-prefix in comparisons as it no longer serves a purpose.

    In download line 102:
    NODELETE= "${script}"
             ^-- SC1007 (warning):
    Remove space after = if trying to assign a value (for empty string,
    use var='' ... ).

    In download line 117:
    NODELETE= resources/packages/"${package}"/download
             ^-- SC1007 (warning):
    Remove space after = if trying to assign a value (for empty string,
    use var='' ... ).

    In download line 123:
    NODELETE= resources/packages/"${package}"/download $@
             ^-- SC1007 (warning):
    Remove space after = if trying to assign a value (for empty string,
    use var='' ... ).
                                                       ^-- SC2068 (error):
    Double quote array expansions to avoid re-splitting elements.

    In download line 125:
    resources/packages/"${package}"/download $@
                                             ^-- SC2068 (error):
    Double quote array expansions to avoid re-splitting elements.

    In download line 131:
    ./.gitcheck clean
    ^---------------^ SC2317 (info):
    Command appears to be unreachable. Check usage (or ignore if invoked
    indirectly).

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:30 +01:00
Denis 'GNUtoo' Carikli 2a5e494ac9
modify: make it pass shellcheck
Without that fix, running 'shellcheck -x build' produces the following
errors/warnings:
    In modify line 23:
    [ "x${DEBUG+set}" = 'xset' ] && set -v
      ^-------------^ SC2268 (style):
      Avoid x-prefix in comparisons as it no longer serves a purpose.

    In modify line 106:
    resources/packages/"${package}"/modify/"${option}" $@
                                                       ^-- SC2068 (error):
    Double quote array expansions to avoid re-splitting elements.

    In modify line 113:
    "${pkg_dir}"/modify/"${option}" $@
                                    ^-- SC2068 (error):
    Double quote array expansions to avoid re-splitting elements.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:28 +01:00
Denis 'GNUtoo' Carikli e0159d22f4
build: make it pass shellcheck
Without that fix, running 'shellcheck -x build' produces the following
errors/warnings:
    In build line 25:
    [ "x${DEBUG+set}" = 'xset' ] && set -v
      ^-------------^ SC2268 (style): Avoid x-prefix in comparisons
                                      as it no longer serves a purpose.
    In build line 131:
    resources/packages/"${package}"/"${task}" $@
                                              ^-- SC2068 (error):
    Double quote array expansions to avoid re-splitting elements.

    In build line 138:
    "${pkg_dir}"/"${task}" $@
                           ^-- SC2068 (error):
    Double quote array expansions to avoid re-splitting elements.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:25 +01:00
Denis 'GNUtoo' Carikli de1d84340d
dependencies: Add programs used in 'make check'
The arch, debian and ubuntu2005 packages names were respectively
checked on Parabola, PureOS byzantium and Trisquel 11.

The fedora35 and void packages were checked using the Fedora and Void
Linux online package databases.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:21 +01:00
Denis 'GNUtoo' Carikli c7e28dc660
packages: Add distclean
The various scripts present in GNU Boot are very fragile, so it's a
good idea to have a pristine GNU Boot source code for making releases.

The issue is that 'git clean -dfx' doesn't remove existing git
repositories like coreboot/ grub/ etc, so we need additional code to
take care of that.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:32:18 +01:00
Denis 'GNUtoo' Carikli 514c573b4d
download: improve help.
This commit corrects linelength (this should have no functional impact)
and adds exit codes

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
neox: wrote the commit message
2023-12-06 17:32:01 +01:00
Denis 'GNUtoo' Carikli c410023ea3
update: improve help.
This commit corrects linelength (this should have no functional impact)
and adds exit codes

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
neox: wrote the commit message
2023-12-06 17:31:41 +01:00
Denis 'GNUtoo' Carikli a945fa8e15
modify: improve help.
This commit corrects linelength (this should have no functional impact)
and adds exit codes

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
neox: wrote the commit message
2023-12-06 17:31:21 +01:00
Denis 'GNUtoo' Carikli 57050c2985
build: improve help.
This commit corrects linelength (this should have no functional impact)
and adds exit codes (sysexit.sh)

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
neox: wrote the commit message
2023-12-06 17:30:41 +01:00
Denis 'GNUtoo' Carikli 5d2405eb2e
packages: grub: payload: cleanup line length and whitespaces.
This should contain no functional modifications.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
neox: wrote the commit message
2023-12-06 17:14:34 +01:00
Denis 'GNUtoo' Carikli fe28bc3c82
dependencies: move into single package.
Having an {arch,debian,fedora35,ubuntu2004,void} GNU Boot package
looked strange. Having a dependencies package instead makes more
sense.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:14:30 +01:00
Denis 'GNUtoo' Carikli 857afa42a8
Switch to packages structure.
The various build scripts are scattered around in multiple
places. This make it hard for contributors to understand what they
need to modify.

Most GNU Boot users are interested in running GNU/Linux or BSD
operating systems. And the way to install software on these
operating systems is through a package manager. So most users and
contributors already know the package manager abstraction.

So using that abstraction makes it easier to find where things are.

The scripts to install dependencies don't really fit the new structure
but for now we move them in to make sure that everything works
fine. This could be fixed later on and migrated to a single
dependencies packages by auto-detecting the distribution with
/etc/os-release.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:14:14 +01:00
Denis 'GNUtoo' Carikli 12a200fc18
build: rename mode(s) to task(s).
Most GNU Boot users are interested in running GNU/Linux or BSD
operating systems. And the way to install software on these
operating systems is through a package manager. So most users and
contributors already know the package manager abstraction.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:13:59 +01:00
Denis 'GNUtoo' Carikli c9b194409d
update: rename mode(s) to package(s).
Most GNU Boot users are interested in running GNU/Linux or BSD
operating systems. And the way to install software on these
operating systems is through a package manager. So most users and
contributors already know the package manager abstraction.

So referring to packages instead of options makes it easier to
understand what the script is doing.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:13:41 +01:00
Denis 'GNUtoo' Carikli f85c91beab
modify: rename mode(s) to package(s).
Most GNU Boot users are interested in running GNU/Linux or BSD
operating systems. And the way to install software on these
operating systems is through a package manager. So most users and
contributors already know the package manager abstraction.

So referring to packages instead of options makes it easier to
understand what the script is doing.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-06 17:13:25 +01:00