Commit Graph

515 Commits

Author SHA1 Message Date
Leah Rowe ab4bba6c25 Add support for google gru_bob and gru_kevin
These are chromebooks using Rockchip RK3399 SoCs.
I've largely re-used GNU Boot's current U-Boot logic,
which only handles a single tree. I'm inheriting all
of this from Caneboot which, although it can support
multiple u-boot trees, only uses one anyway. This patch
bootstraps the necessary cross compilers from coreboot
crossgcc, so that U-Boot can be compiled.

U-Boot configs are provided per board. Thanks go to
Alper Nebi Yasak who initially did this work in the
Libreboot project.

GNU Kevin.

Signed-off-by: Leah Rowe <info@minifree.org>
2024-01-16 15:38:08 +00:00
Leah Rowe 4a3b2a416a add .log files to .gitignore
The GNU Boot build system produces these log files, which
should not appear in Git history, so put them in .gitignore.

Signed-off-by: Leah Rowe <info@minifree.org>
2024-01-16 15:38:05 +00:00
Leah Rowe 8c7114e042 NEW MAINBOARD: Dell Latitude E6400
This uses a newer coreboot revision, where E6400 support is
available in the master branch. This is another GM45 machine,
but it has DDR2 raminit instead of DDR3. Thanks go to Nicholas
Chin who ported this to coreboot.

A utility is added, written by Nicholas Chin, that can unlock
the flash for internal programming, bypassing Dell's security.
This can be used to flash GNU Boot from the Dell BIOS, without
taking this machine apart; the dell-flash-unlock README contains
instructions for how to do this.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-16 15:38:01 +00:00
Leah Rowe 3f9f58327e GRUB: Don't spew "Unknown key 0xFF"
If the user has a stuck key, this can cause invalid scancodes
to be sent out repeatedly to GRUB, which is currently programmed
to spew an error message when that happens, by detecting bad
scancode input.

However, when the keyboard is electrically faulty in such a way
as to repeatedly send such scancodes, GRUB repeatedly prints
the error message. When this happens, GRUB is no longer
responsive. The user loses all control, and the system is
effectively bricked. Without this patch, the user's keyboard
is a ticking timebomb. On desktops, this is not a problem, but
many laptop users will not want to (or know how to) replace
their keyboards easily, but the system may still boot and they
may still be able to use the keyboard.

With this patch, the same errno value is set in GRUB, but the
error message is no longer printed. This will permit the user
to boot the system normally. No more error spew. No more brick.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-16 15:37:58 +00:00
Leah Rowe 5dbd0e7f90 GRUB: Force scancode set 2 with translation
Although GNU Boot does not yet support the Dell Latitude E6400,
its MEC5035 EC firmware emulates a PS/2 controller and it has
a bug where it always outputs scancode set 1, regardless of how
the keyboard controller is configured.

Without this patch, GRUB sets the keyboard controller to scancode
set 2 *without* translation, which the keyboard controller reports
is working (when it isn't).

With this patch, GRUB behaves in the same way as SeaBIOS and the
kernel, Linux. Without this patch, the keyboard input is completely
messed up in the GRUB payload on Dell Latitude E6400.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-16 15:37:56 +00:00
Leah Rowe db51e3d271 coreboot/fam15h: fix binutils build error on gcc13
newer gcc treats warnings as errors by default. a user on gnuboot
irc had issues compiling kgpe-d16 images on current gentoo as
of 13 january 2024. the kgpe-d16 boards use coreboot 4.11_branch,
on which coreboot's crossgcc toolchain uses binutils 2.32.

instead of endlessly patching binutils, modify coreboot's build
system to disable warnings-as-errors when building binutils.

with this patch, it will now be possible to compile images for
kgpe-d16, kcma-d8 and kfsn4-dre mainboards on modern distros.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-16 15:37:53 +00:00
Leah Rowe 360684e4a8 build/module/grub: disable -Werror on builds
A user on the GNU Boot IRC channel had trouble building
GRUB from GNU Boot, on a current Gentoo system as of 13
January 2024, due to how newer GCC versions treat all
warnings as errors.

Use the "--disable-werror" option on the ./configure
script, to disable treating warnings as errors. This is
also what the coreboot build system does, when building
GRUB images, but GNU Boot builds GRUB itself, without
relying on the logic in coreboot to do it.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-16 15:37:51 +00:00
Leah Rowe 78654c86e9 cache cbfstool and ifdtool builds
coreboot's build system regularly purges these, when
executed, and parts of gnuboot expect the builds to
be there, where it currently uses them directly from
the coreboot build system.

this patch copies them to a dedicated directory within
the gnuboot build system, instead of coreboot's, and
that version is called.

this causes the roms build script to be more robust in
general, preventing build errors under certain edge cases.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-16 15:37:47 +00:00
Leah Rowe b566142205 build/boot/roms: skip building gnat on fam15h
the fam15h boards do not use libgfxinit, instead deferring
to coreboot's old style of graphics initialisation written in C.

libgfxinit is otherwise the only thing that needs gcc-gnat, so
skip building gcc-gnat on coreboot/fam15h_udimm and rdimm.

neox added crossgcc_ada="n" to board.cfg files before, but
forgot to add the handling of it, so these boards still didn't
build on modern distros, where building the old gnat version
was problematic.

with this patch, those fam15h boards should now build, on modern
distros and modern toolchains. this is done by using
the BUILD_LANGUAGES environmental variable, setting it to c,
which tells coreboot to skip building gcc-gnat

MERGE NOTE: this is v2 of the earlier patch, but it actually in
fact sets crossgcc_ada="n" on all of the amd boards, whereas
the v1 patch did not, in this 0.1 buildfix series.

Signed-off-by: Leah Rowe <info@minifree.org>
2024-01-16 15:37:45 +00:00
Leah Rowe 536d8ac919 grub.cfg: support ESP, btrfs subvols and extlinux
This is backported from lbmk at revision:
09bed9a4c3257dbf9b4d59975db0071472ed67eb

In comparison to the GNU Boot configuration, Libreboot's
GRUB configuration provides the following improvements:

* Support for scanning of BTRFS sub volumes, on most setups.
* Support for scanning syslinux and extlinux configs, in
  the main "Load Operating System" menuentry. This will make
  distros automatically boot in most cases, where they use
  extlinux/syslinux instead of GRUB.
* Support for scanning EFI System Partitions, when scanning
  for GRUB, Syslinux and Extlinux configuration files. This
  adds support for UEFI-based distro installations; the GNU
  Boot supported mainboards are all BIOS-based, but the user
  may have transferred an HDD/SSD from another system, where
  UEFI was used. On UEFI-based systems, there is a special FAT
  partition called the ESP (EFI System Partition) that boot
  loaders and configurations are installed to.
* The ESP support is also extended to USB-based booting. This
  increases support out of the box for more distro installers,
  many of which are now UEFI-only, or only well-tested for UEFI.
  Many distros today now use *GRUB* (built for UEFI) on their
  install media, but these can also be used on bare metal setups
  such as GNU Boot's GRUB payload.
* The fallback entry was removed, that assumed /dev/sda1 as
  the root partition; where scanning of GRUB configurations
  failed, GNU Boot GRUB would try this fallback logic, but such
  logic may in some cases result in the system being booted,
  in such a way that *breaks* the user's distro, so it's better
  that GNU Boot only scan for GRUB/Extlinux/Syslinux configs
  and return with an error if none are found. This is also how
  Libreboot does it nowadays.

With this, and the previous patches that I've committed, GNU
Boot's GRUB setup should now be in feature parity with Lbreboot.

Signed-off-by: Leah Rowe <leah@libreboot.org>
2024-01-16 15:37:33 +00:00
Leah Rowe d7372a620b crossgcc/default: fix build errors on host gcc 13.x
import a workaround from upstream for gnat builds, and
disable treating warnings as errors. i've pretty much
taken the bazooka approach here.

tested on a bleeding edge gnu+linux distro. boards
using coreboot/default should now compile on parabola,
for example.

also disable treating warnings as errors, when building
gcc 11.2 from coreboot crossgcc

Signed-off-by: Leah Rowe <info@minifree.org>
2024-01-16 15:36:29 +00:00
Jordán (isf) 526761153a
site/status.md: add Spanish translation
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
neox: corrected whitespace issues
GNUtoo: fixed whitespaces, list indentation, title underlines.
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2024-01-10 00:18:57 +01:00
Jordán (isf) 549bd6a61d
site/git.md: add Spanish translation
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
neox: corrected whitespace issues
GNUtoo: fixed 1 whitespace, commands indentation,
        Acked-by (removed translation), and title underlines.
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2024-01-10 00:08:50 +01:00
Jordán (isf) 069c13ad96
site/index.md: improve and update Spanish translation
Signed-off-by: Adrien 'neox' Bourmault <neox@gnu.org>
neox: corrected whitespace issues
Acked-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
2024-01-09 23:47:04 +01:00
Denis 'GNUtoo' Carikli 881af84c9c
Announce and release GNU Boot 0.1 RC3.
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>
2023-12-29 18:39:55 +01:00
Denis 'GNUtoo' Carikli 9f08068d87
site: status: Fix Chromebook C201 status.
The GNU Boot 0.1 RC1 and 0.1 RC2 releases don't have any images for
the Chromebook C201. And the Chromebook C201 also cannot use images
for any of the other computers as all the other computers are x86
whereas the C201 is ARM.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-29 18:39:40 +01:00
Denis 'GNUtoo' Carikli d7ad533fb8
packages: release: test: fix typo
Without that fix the test fail with the following error:
    $ ./build test release
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_colemak.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_deqwertz.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_esqwerty.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_frazerty.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_frdvbepo.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_itqwerty.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_svenska.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_trqwerty.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_ukdvorak.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_ukqwerty.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_usdvorak.rom
    [ !! ] qemu-pc_2mb/seabios_withgrub_qemu-pc_2mb_libgfxinit_txtmode_usqwerty.rom

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-29 18:39:32 +01:00
Denis 'GNUtoo' Carikli 1611a810b4
packages: roms: boot: filter out invalid computers.
For some reason, 'make release' produces the following files:
- release/roms/gnuboot-lbwww-20211122-328-gafe01fb_default.tar.xz
- release/roms/gnuboot-lbwww-20211122-328-gafe01fb_fam15h_rdimm.tar.xz
- release/roms/gnuboot-lbwww-20211122-328-gafe01fb_fam15h_udimm.tar.xz

This commit works around that issue.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:43:27 +01:00
Denis 'GNUtoo' Carikli e4c2fd5eb6
packages: release tests: check the content of the qemu-pc_2mb rom archive.
We also need to check if we have all the files and no superfluous
files inside the released archives.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:43:09 +01:00
Denis 'GNUtoo' Carikli 771688ac4c
packages: release tests: check for superfluous files.
This has several goals:

- It checks if the test works fine and if someone forgot to add some
  files.

- It checks if the build system produces files that it should not
  produce due to some bugs.

- It can also check if some leftover files are there from previous
  builds. This can help avoiding pushing wrong files as part as a
  release.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:42:16 +01:00
Denis 'GNUtoo' Carikli d68b4f8930
Makefile: Add logging.
This should help catching bugs that are hard to reproduce.

Without the pipefail make only take into account the tee command
return code.

The 'SHELL := $(shell which bash)' is to use bash as dash for instance
doesn't have pipefail and we don't want to have to install new
utilities to handle that.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:42:04 +01:00
Denis 'GNUtoo' Carikli 2d11302693
tests: lint: fix u-boot-libre test.
In the commit 4744953f73 ("u-boot-libre:
move to different tasks."), the distclean task of u-boot-libre was
removed, so this broke the lint tests as that file was not removed
from the list of files to check in tests/lint.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:41:37 +01:00
Denis 'GNUtoo' Carikli 578fda0e90
packages: Add target to test the release.
This makes sure that the release at least has all the expected files.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:41:15 +01:00
Denis 'GNUtoo' Carikli 5b9dd7adba
packages: fix calls to build descriptors.
Without that fix building images with make release or './build release
all' results in the following error:
    [...]
    Built lenovo/t400 (ThinkPad R400)
    make[1]: Leaving directory '/home/gnutoo/gnuboot/coreboot/default'

    Creating new ROM image: bin/r400_16mb/seabios_withgrub_r400_16mb_libgfxinit_corebootfb_colemak.rom
    Usage:
            ./build <TASK> <PACKAGE>
            ./build --help
    [...]
    Refer to the gnuboot documentation for more information.
    Error: Invalid task 'descriptors'.
    Error:  See './build --help'.
    Error: build/roms: something went wrong
    make: *** [Makefile:47: release] Error 1

This was broken by the commit 857afa42a8
("Switch to packages structure.").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:40:31 +01:00
Denis 'GNUtoo' Carikli fcccaee8a5
packages: Also release GNU Boot source code.
This can be restored with the following command:
  $ mkdir /tmp/gnuboot-source
  $ cp release/gnuboot-source-*.bundle /tmp/gnuboot-source
  $ cd /tmp/gnuboot-source
  $ git init
  $ git fetch gnuboot-source-*.bundle
  $ git checkout FETCH_HEAD -b main

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:40:17 +01:00
Denis 'GNUtoo' Carikli 864df2a04b
packages: website: Also release untitled source code.
Since we use untitled as well it's a good practice to release its
corresponding source code as well to make sure people can rebuild the
website in case upstream disapear.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:39:16 +01:00
Denis 'GNUtoo' Carikli bc72f06f37
resources/packages/website/download: fix progname
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:39:00 +01:00
Denis 'GNUtoo' Carikli 1b18d46adf
packages: dependencies: fix distribution detection for Trisquel 10.
This was broken from the start in the commit
fe28bc3c82 ("dependencies: move into
single package.").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:38:41 +01:00
Denis 'GNUtoo' Carikli 87c1e4c195
packages: dependencies: fix debian/pureos
This was broken by the commit 8f3d30f809
("dependencies: rename debian in pureos-10.").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:38:16 +01:00
Denis 'GNUtoo' Carikli e1b48e7436
packages: dependencies: fix is_base_distro argument
This was broken from the start in the commit
fe28bc3c82 ("dependencies: move into
single package.").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:37:19 +01:00
Denis 'GNUtoo' Carikli a3b5f5dc7b
packages: dependencies: fix finding dependencies scripts.
The "$(dirname $0)"/../dependencies/ directory is the same as
"$(dirname $0)".

So when running the script we have:
     # ./resources/packages/dependencies/install
     ./resources/packages/dependencies/install: 49:
     ./resources/packages/dependencies/../dependencies/arch: not found

This was broken from the start in the commit
fe28bc3c82 ("dependencies: move into
single package.").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:36:55 +01:00
Denis 'GNUtoo' Carikli a9c754e324
packages: dependencies: fix command line usage.
Without that fix, running ./resources/packages/dependencies/install
prints the help and does not do any dependency installation.

This was broken from the start in the commit
fe28bc3c82 ("dependencies: move into
single package.").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:36:29 +01:00
Denis 'GNUtoo' Carikli 6f39a0011d
site: process: Use a temporary branch for patch series.
We had both issues described in the text during the RC2:

- Both maintainers agreed to merge a translation under a pseudonym but
  one of the maintainers also asked to GNU permission to do that. Due
  to a miscommunication between the maintainers it was pushed before
  getting feedback from the GNU project.

- Both maintainers agreed to the release commit but due to a
  misunderstanding / miscommunication it was pushed too early while
  some other commits that still need to be made were supposed to go in
  before that announcement commit in order to tag that announcement.

In both cases a process like the one mentioned in the text would
probably avoid to push things too early, especially because the author
of the patch set new about these issues and had them in mind all the
time, and since an additional Ack from that person would still be
needed before pushing, it would avoided this issue.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:36:02 +01:00
Denis 'GNUtoo' Carikli a73a33fb17
dependencies: trisquel: fix python path.
Several scripts in the SeaBIOS source code used during its build use
'#!/usr/bin/env python' but there is no 'python' when installing
Trisquel through debootstrap.

So to fix that we simply add the python-is-python3 package which
creates the /usr/bin/python symlink and points it to python3.

This work is based on the commit
eeddd2b610 ("build/dependencies: debian:
adding python-is-python3 to build seabios properly").

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:35:21 +01:00
Denis 'GNUtoo' Carikli 8a181f112f
dependencies: trisquel: Add pandoc
Without that fix 'make release' fails with the following error:
    checking for mkdir... mkdir
    checking for pandoc... no
    configure: error: pandoc was not found in PATH
    (/usr/local/bin:/usr/bin:/bin:/usr/games)

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-11 11:34:42 +01:00
Denis 'GNUtoo' Carikli 0e3ff8047f
Announce and release GNU Boot 0.1 RC2 and project status.
The file adding the news is named gnuboot-december-2023.md instead of
gnuboot-0.1-rc1.md as the later is understood as a translation in the
'1-rc1' lang. Renaming the file to gnuboot-0.1-rc1.en.md instead makes
untitled detect the lang correctly but then it assumes this is a
translation and adds a broken link for "English" on the new page.

For now the older Libreboot news were kept as this shows the history
of the project and since GNU Boot is a continuation of the Libreboot
project it makes sense to also keep them.

The CSS also needed to be separated from the template because
otherwise the generated news page would be incomplete and miss all
what comes before the CSS like '<!DOCTYPE html>' for instance.

Finally x-reviewed was changed into x-unreviewed because we can't set
x-reviewed for the news, so the only way to remove the banner for the
individual news is to default to reviewed (and to mark all unreviewed
files as such).

As for the Untitled patch it is needed to make the news page work.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 16:01:23 +01:00
Jordán (isf) a2b122343c
site: index.md: Add Spanish translation.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
GNUtoo: fixed a typo, some whitespace issues and removed a leftover
english paragraph.
Tested-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 16:00:58 +01:00
Denis 'GNUtoo' Carikli 4744953f73
u-boot-libre: move to different tasks.
The 'make release' or './build release all' commands build releases of
GNU Boot that consist of installable images and the upstream source
code used to build them.

The u-boot-libre package is instead meant to follow different release
schedules as it releases deblobbed versions of various u-boot releases
for reuse by distributions like Parabola.

Before the commit 857afa42a8 ("Switch to
packages structure.") users were expected to run the release script of
u-boot-libre separately but after it it ended up being run
automatically as part of 'make release' or ./build release all.

Renaming this script ensure that it's not run during regular releases.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 16:00:19 +01:00
Denis 'GNUtoo' Carikli 190d9f37bd
packages: also ship website tarball.
Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 16:00:05 +01:00
Denis 'GNUtoo' Carikli 8212861d88
scripts: misc: guix.sh: fix typo.
After installing Guix with the following command on PureOS 10
(byzantium) with the following command:
    $ sudo pkcon -y --allow-reinstall install guix
we have:
    $ ./resources/dependencies/guix
    ./resources/dependencies/guix: 91: .:
    cannot open [$HOME]/.config/guix/current/etc/profile: No such file

This should fix it.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
Acked-by: Adrien 'neox' Bourmault <neox@gnu.org>
2023-12-09 15:59:50 +01:00
Denis 'GNUtoo' Carikli f433a7344c
./update: 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:37 +01:00
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