Attention is currently required from: Anastasia Klimchuk, Thomas Heijligen.
Patrick Georgi has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/81780?usp=email )
Change subject: doc: Make OS specific instructions as headers so they are linkable
......................................................................
Patch Set 2: Code-Review+2
--
To view, visit https://review.coreboot.org/c/flashrom/+/81780?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: main
Gerrit-Change-Id: I78645131b1f0acbedcf11964a204a24c45b62cff
Gerrit-Change-Number: 81780
Gerrit-PatchSet: 2
Gerrit-Owner: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Patrick Georgi
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Comment-Date: Tue, 09 Apr 2024 09:19:04 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: Anastasia Klimchuk, Thomas Heijligen.
Patrick Georgi has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/81780?usp=email )
Change subject: doc: Make OS specific instructions as headers so they are linkable
......................................................................
Patch Set 1: Code-Review+1
(1 comment)
File doc/dev_guide/building_from_source.rst:
https://review.coreboot.org/c/flashrom/+/81780/comment/46199224_2946cecf :
PS1, Line 80:
Is this the right level of indentation?
--
To view, visit https://review.coreboot.org/c/flashrom/+/81780?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: main
Gerrit-Change-Id: I78645131b1f0acbedcf11964a204a24c45b62cff
Gerrit-Change-Number: 81780
Gerrit-PatchSet: 1
Gerrit-Owner: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Patrick Georgi
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Comment-Date: Tue, 09 Apr 2024 06:44:00 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: Anton Samsonov, Anton Samsonov, Thomas Heijligen.
Anastasia Klimchuk has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/81665?usp=email )
Change subject: meson: Update CI script to enforce building man pages and docs
......................................................................
Patch Set 3:
(1 comment)
Patchset:
PS3:
> Although I get all kinds of build and testing errors when running `test_build.sh` […]
Yes, the script is designed for Jenkins container, and it expects a specific environment (currently being x86 Linux, all dependencies installed). We have some plans to add FreeBSD environment to run on CI, but this hasn't happened yet.
About unit tests: you can run them without running full script test_build.sh.
Because they test low level code, it typically needs fixes for each environment. I would really love to have unit tests running on as much environments as possible (out of the ones flashrom supports). Currently they run on Linux (and Jenkins keeps an eye on that), also last year I fixed them to run on top 4 BSDs. I have an idea to try fix them on mac. But the main thing, you need to have that specific environment, to run and re-run tests and fix them.
If you would like to join this adventure, you can try fix the unit tests for your environment! The most common causes for segfault in tests are two:
1) missing wrap (example https://review.coreboot.org/c/flashrom/+/73649)
2) syscall which expands into inline code (example https://review.coreboot.org/c/flashrom/+/74157)
This is optional, but if you decide to do it, thank you so so much!
There is also a doc https://flashrom.org/contrib_howtos/how_to_add_unit_test.html
I like flashrom unit tests, I can talk about them forever :)
--
To view, visit https://review.coreboot.org/c/flashrom/+/81665?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: main
Gerrit-Change-Id: Ib89abddad27d1168cf0a621cf4bdb9f541266165
Gerrit-Change-Number: 81665
Gerrit-PatchSet: 3
Gerrit-Owner: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Anton Samsonov <avscomputing(a)gmail.com>
Gerrit-Reviewer: Anton Samsonov <devel(a)zxlab.ru>
Gerrit-Reviewer: Martin L Roth <gaumless(a)gmail.com>
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Anton Samsonov <avscomputing(a)gmail.com>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Anton Samsonov <devel(a)zxlab.ru>
Gerrit-Comment-Date: Tue, 09 Apr 2024 02:57:06 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Anton Samsonov <avscomputing(a)gmail.com>
Gerrit-MessageType: comment
Attention is currently required from: Anton Samsonov, Thomas Heijligen.
Anastasia Klimchuk has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/81802?usp=email )
Change subject: Makefile: Fix cleanup for Sphinx versions prior to 4.x
......................................................................
Patch Set 1: Code-Review+2
--
To view, visit https://review.coreboot.org/c/flashrom/+/81802?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: main
Gerrit-Change-Id: I123aec7cf2f016ba905c220cfc84a217523f9932
Gerrit-Change-Number: 81802
Gerrit-PatchSet: 1
Gerrit-Owner: Anton Samsonov <devel(a)zxlab.ru>
Gerrit-Reviewer: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Anton Samsonov <devel(a)zxlab.ru>
Gerrit-Comment-Date: Tue, 09 Apr 2024 02:24:39 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
Attention is currently required from: Anastasia Klimchuk, Brian Norris, Thomas Heijligen.
Peter Marheine has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/81545?usp=email )
Change subject: udelay: only use OS time for delays, except on DOS
......................................................................
Patch Set 9:
(4 comments)
Commit Message:
https://review.coreboot.org/c/flashrom/+/81545/comment/27cac6b1_03442abc :
PS7, Line 10: )
> you can also add the link to archive (keep the title) https://mail.coreboot. […]
Done
File tests/udelay.c:
https://review.coreboot.org/c/flashrom/+/81545/comment/84c49c7f_92768e76 :
PS7, Line 47: default_delay(100);
> I thought for a moment we can afford a long delay test, for usec = 100001, but I don't know would it […]
I think it's most useful to be testing the short delay case, since it's easy to understand the situations in which it should sleep and we depend on the OS for ensuring a sleep is long enough.
My goal here was to have some confidence that timer-polling waits won't terminate early, and in that context I don't think it's very useful to exercise a long wait.
File udelay.c:
https://review.coreboot.org/c/flashrom/+/81545/comment/6ac9c6a0_18bf2605 :
PS7, Line 33: #ifdef _POSIX_MONOTONIC_CLOCK
: static clockid_t clock_id = CLOCK_MONOTONIC;
: #else
: static clockid_t clock_id = CLOCK_REALTIME;
: #endif
> This is only used inside `clock_usec_delay` now, can it be locally defined inside the function? It w […]
Done
https://review.coreboot.org/c/flashrom/+/81545/comment/66d4ec8e_574ea1f2 :
PS7, Line 62: inline
> For my education, why the function is inline only for this case and not the above?
That's how it was before; no reason as far as I'm concerned. I've removed the inline.
--
To view, visit https://review.coreboot.org/c/flashrom/+/81545?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: main
Gerrit-Change-Id: I7ac5450d194a475143698d65d64d8bcd2fd25e3f
Gerrit-Change-Number: 81545
Gerrit-PatchSet: 9
Gerrit-Owner: Peter Marheine <pmarheine(a)chromium.org>
Gerrit-Reviewer: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Brian Norris <briannorris(a)chromium.org>
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Brian Norris <briannorris(a)chromium.org>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Comment-Date: Mon, 08 Apr 2024 23:23:38 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-MessageType: comment
Attention is currently required from: Brian Norris, Peter Marheine, Thomas Heijligen.
Hello Anastasia Klimchuk, Brian Norris, Thomas Heijligen, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/flashrom/+/81545?usp=email
to look at the new patch set (#9).
The following approvals got outdated and were removed:
Verified+1 by build bot (Jenkins)
Change subject: udelay: only use OS time for delays, except on DOS
......................................................................
udelay: only use OS time for delays, except on DOS
As proposed on the mailing list ("RFC: remove the calibrated delay
loop" [1]), this removes the calibrated delay loop and uses OS-based
timing functions for all delays because the calibrated delay loop can
delay for shorter times than intended.
When sleeping this now uses nanosleep() unconditionally, since usleep
was only used on DOS (where DJGPP lacks nanosleep). When busy-looping,
it uses clock_gettime() with CLOCK_MONOTONIC or CLOCK_REALTIME depending
on availability, and gettimeofday() otherwise.
The calibrated delay loop is retained for DOS only, because timer
resolution on DJGPP is only about 50 milliseconds. Since typical delays
in flashrom are around 10 microseconds, using OS timing there would
regress performance by around 500x. The old implementation is reused
with some branches removed based on the knowledge that timer resolution
will not be better than about 50 milliseconds.
Tested by reading and writing flash on several Intel and AMD systems:
* Lenovo P920 (Intel C620, read/verify only)
* "nissa" chromebook (Intel Alder Lake-N)
* "zork" chromebook (AMD Zen+)
[1]: https://mail.coreboot.org/hyperkitty/list/flashrom@flashrom.org/thread/HFH6…
Signed-off-by: Peter Marheine <pmarheine(a)chromium.org>
Change-Id: I7ac5450d194a475143698d65d64d8bcd2fd25e3f
---
M Makefile
M include/programmer.h
M libflashrom.c
M meson.build
M tests/meson.build
M tests/tests.c
M tests/tests.h
A tests/udelay.c
M udelay.c
A udelay_dos.c
10 files changed, 268 insertions(+), 178 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/45/81545/9
--
To view, visit https://review.coreboot.org/c/flashrom/+/81545?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: main
Gerrit-Change-Id: I7ac5450d194a475143698d65d64d8bcd2fd25e3f
Gerrit-Change-Number: 81545
Gerrit-PatchSet: 9
Gerrit-Owner: Peter Marheine <pmarheine(a)chromium.org>
Gerrit-Reviewer: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Brian Norris <briannorris(a)chromium.org>
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Brian Norris <briannorris(a)chromium.org>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Peter Marheine <pmarheine(a)chromium.org>
Gerrit-MessageType: newpatchset
Attention is currently required from: Brian Norris, Peter Marheine, Thomas Heijligen.
Hello Anastasia Klimchuk, Brian Norris, Thomas Heijligen, build bot (Jenkins),
I'd like you to reexamine a change. Please visit
https://review.coreboot.org/c/flashrom/+/81545?usp=email
to look at the new patch set (#8).
Change subject: udelay: only use OS time for delays, except on DOS
......................................................................
udelay: only use OS time for delays, except on DOS
As proposed on the mailing list ("RFC: remove the calibrated delay
loop" [1]), this removes the calibrated delay loop and uses OS-based
timing functions for all delays because the calibrated delay loop can
delay for shorter times than intended.
When sleeping this now uses nanosleep() unconditionally, since usleep
was only used on DOS (where DJGPP lacks nanosleep). When busy-looping,
it uses clock_gettime() with CLOCK_MONOTONIC or CLOCK_REALTIME depending
on availability, and gettimeofday() otherwise.
The calibrated delay loop is retained for DOS only, because timer
resolution on DJGPP is only about 50 milliseconds. Since typical delays
in flashrom are around 10 microseconds, using OS timing there would
regress performance by around 500x. The old implementation is reused
with some branches removed based on the knowledge that timer resolution
will not be better than about 50 milliseconds.
Tested by reading and writing flash on several Intel and AMD systems:
* Lenovo P920 (Intel C620, read/verify only)
* "nissa" chromebook (Intel Alder Lake-N)
* "zork" chromebook (AMD Zen+)
[1]: https://mail.coreboot.org/hyperkitty/list/flashrom@flashrom.org/thread/HFH6…
Signed-off-by: Peter Marheine <pmarheine(a)chromium.org>
Change-Id: I7ac5450d194a475143698d65d64d8bcd2fd25e3f
---
M Makefile
M include/programmer.h
M libflashrom.c
M meson.build
M tests/meson.build
M tests/tests.c
M tests/tests.h
A tests/udelay.c
M udelay.c
A udelay_dos.c
10 files changed, 261 insertions(+), 172 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/45/81545/8
--
To view, visit https://review.coreboot.org/c/flashrom/+/81545?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: main
Gerrit-Change-Id: I7ac5450d194a475143698d65d64d8bcd2fd25e3f
Gerrit-Change-Number: 81545
Gerrit-PatchSet: 8
Gerrit-Owner: Peter Marheine <pmarheine(a)chromium.org>
Gerrit-Reviewer: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Brian Norris <briannorris(a)chromium.org>
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Brian Norris <briannorris(a)chromium.org>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Peter Marheine <pmarheine(a)chromium.org>
Gerrit-MessageType: newpatchset
Anastasia Klimchuk has uploaded this change for review. ( https://review.coreboot.org/c/flashrom/+/81780?usp=email )
Change subject: doc: Make OS specific instructions as headers so they are linkable
......................................................................
doc: Make OS specific instructions as headers so they are linkable
When html page is generated, all headers are generated as links on
the page. It is useful to have OS specific instructions as a link
to share with people.
Change-Id: I78645131b1f0acbedcf11964a204a24c45b62cff
Signed-off-by: Anastasia Klimchuk <aklm(a)flashrom.org>
---
M doc/dev_guide/building_from_source.rst
1 file changed, 120 insertions(+), 96 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/80/81780/1
diff --git a/doc/dev_guide/building_from_source.rst b/doc/dev_guide/building_from_source.rst
index c997832..a6d1dbf 100644
--- a/doc/dev_guide/building_from_source.rst
+++ b/doc/dev_guide/building_from_source.rst
@@ -47,141 +47,165 @@
* No external dependencies (documentation should be build without fetching all of pypi)
* No Javascript?
-* Linux
- * Debian / Ubuntu
- ::
+Linux
+"""""
- apt-get install -y \
- gcc meson ninja-build pkg-config python3-sphinx \
- libcmocka-dev libpci-dev libusb-1.0-0-dev libftdi1-dev libjaylink-dev
+* Debian / Ubuntu
- * ArchLinux / Manjaro
- ::
+ ::
- pacman -S --noconfirm \
- gcc meson ninja pkg-config python-sphinx cmocka \
- pciutils libusb libftdi libjaylink
+ apt-get install -y \
+ gcc meson ninja-build pkg-config python3-sphinx \
+ libcmocka-dev libpci-dev libusb-1.0-0-dev libftdi1-dev libjaylink-dev
- * openSUSE / SUSE
- ::
+* ArchLinux / Manjaro
- zypper install -y \
- gcc meson ninja pkg-config python3-Sphinx \
- libcmocka-devel pciutils-devel libusb-1_0-devel libftdi1-devel libjaylink-devel
+ ::
- * NixOS / nixpkgs
- * There is a ``shell.nix`` under ``scripts/``
+ pacman -S --noconfirm \
+ gcc meson ninja pkg-config python-sphinx cmocka \
+ pciutils libusb libftdi libjaylink
- ::
+* openSUSE / SUSE
- nix-shell -p \
- gcc meson ninja pkg-config sphinx \
- cmocka pciutils libusb1 libftdi1 libjaylink
+ ::
- * Alpine Linux
- ::
+ zypper install -y \
+ gcc meson ninja pkg-config python3-Sphinx \
+ libcmocka-devel pciutils-devel libusb-1_0-devel libftdi1-devel libjaylink-devel
- apk add \
- build-base meson ninja pkgconf py3-sphinx \
- cmocka-dev pciutils-dev libusb-dev libjaylink-dev
+* NixOS / nixpkgs
-* Windows
- * MSYS2
- Install `MSYS2 <https://www.msys2.org/>`_ and ensure it is `fully updated <https://www.msys2.org/docs/updating/>`_.
+ * There is a ``shell.nix`` under ``scripts/``
- * ``libpci`` is not available through the package manager and pci based programmer are not supported on Windows.
- * ``ni845x_spi`` is only available with the proprietary library from National Instruments. Download and install the driver
- from `ni.com <https://www.ni.com/en-us/support/downloads/drivers/download.ni-845x-driver-…>`_ and build flashrom
- for **32-bit**. Add ``-Dprogrammer=ni845x_spi`` to your meson configuration.
+ ::
- In the MINGW64 shell run::
+ nix-shell -p \
+ gcc meson ninja pkg-config sphinx \
+ cmocka pciutils libusb1 libftdi1 libjaylink
- pacman -Sy \
- mingw-w64-x86_64-gcc mingw-w64-x86_64-meson mingw-w64-x86_64-ninja mingw-w64-x86_64-pkg-config mingw-w64-x86_64-python-sphinx \
- mingw-w64-x86_64-cmocka mingw-w64-x86_64-libusb mingw-w64-x86_64-libftdi mingw-w64-x86_64-libjaylink-git
+* Alpine Linux
- For building flashrom as 32-bit application, use the MSYS2 MINGW32 shell and run::
+ ::
- pacman -Sy \
- mingw-w64-i686-gcc mingw-w64-i686-meson mingw-w64-i686-ninja mingw-w64-i686-pkg-config mingw-w64-i686-python-sphinx \
- mingw-w64-i686-cmocka mingw-w64-i686-libusb mingw-w64-i686-libftdi mingw-w64-i686-libjaylink-git
+ apk add \
+ build-base meson ninja pkgconf py3-sphinx \
+ cmocka-dev pciutils-dev libusb-dev libjaylink-dev
-* MacOS
- * Homebrew
- * ``libpci`` is not available through the package manager
- * ``libjaylink`` is not available through the package manager
+Windows
+"""""""
- ::
+* MSYS2
- brew install \
- meson ninja pkg-config sphinx-doc \
- libusb libftdi
+ Install `MSYS2 <https://www.msys2.org/>`_ and ensure it is `fully updated <https://www.msys2.org/docs/updating/>`_.
-* BSD
- * FreeBSD / DragonFlyBSD
- * ``libusb1`` is part of the system
- * ``libjaylink`` is not available through the package manager
+ * ``libpci`` is not available through the package manager and pci based programmer are not supported on Windows.
+ * ``ni845x_spi`` is only available with the proprietary library from National Instruments. Download and install the driver
+ from `ni.com <https://www.ni.com/en-us/support/downloads/drivers/download.ni-845x-driver-…>`_ and build flashrom
+ for **32-bit**. Add ``-Dprogrammer=ni845x_spi`` to your meson configuration.
- ::
+ In the MINGW64 shell run::
- pkg install \
- meson ninja pkgconf py39-sphinx \
- cmocka libpci libftdi1
+ pacman -Sy \
+ mingw-w64-x86_64-gcc mingw-w64-x86_64-meson mingw-w64-x86_64-ninja mingw-w64-x86_64-pkg-config mingw-w64-x86_64-python-sphinx \
+ mingw-w64-x86_64-cmocka mingw-w64-x86_64-libusb mingw-w64-x86_64-libftdi mingw-w64-x86_64-libjaylink-git
- * OpenBSD
- * ``libjaylink`` is not available through the package manager
+ For building flashrom as 32-bit application, use the MSYS2 MINGW32 shell and run::
- ::
+ pacman -Sy \
+ mingw-w64-i686-gcc mingw-w64-i686-meson mingw-w64-i686-ninja mingw-w64-i686-pkg-config mingw-w64-i686-python-sphinx \
+ mingw-w64-i686-cmocka mingw-w64-i686-libusb mingw-w64-i686-libftdi mingw-w64-i686-libjaylink-git
- pkg_add \
- meson ninja pkg-config py39-sphinx\
- cmocka pciutils libusb1 libftdi1
+MacOS
+"""""
- * NetBSD
- * ``libjaylink`` is not available through the package manager
- * note: https://www.cambus.net/installing-ca-certificates-on-netbsd/
+* Homebrew
- ::
+ * ``libpci`` is not available through the package manager
+ * ``libjaylink`` is not available through the package manager
- pkgin install \
- meson ninja pkg-config py39-sphinx \
- cmocka pciutils libusb1 libftdi1
+ ::
-* OpenIndiana (Illumos, Solaris, SunOS)
- * ``libpci`` missing, pciutils is build without it
- * ``libftdi1`` & ``libjaylink`` are not available through the package manager
- * TODO: replace ``build-essential`` with the default compiler
+ brew install \
+ meson ninja pkg-config sphinx-doc \
+ libusb libftdi
- ::
+BSD
+"""
- pkg install build-essential meson ninja cmocka libusb-1
+* FreeBSD / DragonFlyBSD
-* DJGPP-DOS
- * Get `DJGPP <https://www.delorie.com/djgpp/>`_
- * A great build script can be found `here <https://github.com/andrewwutw/build-djgpp>`_
- * Download the `pciutils <https://mj.ucw.cz/sw/pciutils/>`_ sources
+ * ``libusb1`` is part of the system
+ * ``libjaylink`` is not available through the package manager
- | Run the following commands in the the pciutils directory to build libpci for DOS.
- | Replace ``<DOS_INSTALL_ROOT>`` with your cross-compile install root.
+ ::
- ::
+ pkg install \
+ meson ninja pkgconf py39-sphinx \
+ cmocka libpci libftdi1
- make install-lib \
- ZLIB=no \
- DNS=no \
- HOST=i386-djgpp-djgpp \
- CROSS_COMPILE=i586-pc-msdosdjgpp- \
- STRIP="--strip-program=i586-pc-msdosdjgpp-strip -s" \
- PREFIX=<DOS_INSTALL_ROOT>
+* OpenBSD
- Point pkg-config to the ``<DOS_INSTALL_ROOT>`` ::
+ * ``libjaylink`` is not available through the package manager
- export PKG_CONFIG_SYSROOT=<DOS_INSTALL_ROOT>
+ ::
- * To compile flashrom use the ``meson_cross/i586_djgpp_dos.txt`` cross-file
- * You will need `CWSDPMI.EXE <https://sandmann.dotster.com/cwsdpmi/>`_ to run flashrom
+ pkg_add \
+ meson ninja pkg-config py39-sphinx\
+ cmocka pciutils libusb1 libftdi1
-* libpayload
+* NetBSD
+
+ * ``libjaylink`` is not available through the package manager
+ * note: https://www.cambus.net/installing-ca-certificates-on-netbsd/
+
+ ::
+
+ pkgin install \
+ meson ninja pkg-config py39-sphinx \
+ cmocka pciutils libusb1 libftdi1
+
+OpenIndiana (Illumos, Solaris, SunOS)
+"""""""""""""""""""""""""""""""""""""
+
+* ``libpci`` missing, pciutils is build without it
+* ``libftdi1`` & ``libjaylink`` are not available through the package manager
+* TODO: replace ``build-essential`` with the default compiler
+
+::
+
+ pkg install build-essential meson ninja cmocka libusb-1
+
+DJGPP-DOS
+"""""""""
+
+* Get `DJGPP <https://www.delorie.com/djgpp/>`_
+* A great build script can be found `here <https://github.com/andrewwutw/build-djgpp>`_
+* Download the `pciutils <https://mj.ucw.cz/sw/pciutils/>`_ sources
+
+| Run the following commands in the the pciutils directory to build libpci for DOS.
+| Replace ``<DOS_INSTALL_ROOT>`` with your cross-compile install root.
+
+::
+
+ make install-lib \
+ ZLIB=no \
+ DNS=no \
+ HOST=i386-djgpp-djgpp \
+ CROSS_COMPILE=i586-pc-msdosdjgpp- \
+ STRIP="--strip-program=i586-pc-msdosdjgpp-strip -s" \
+ PREFIX=<DOS_INSTALL_ROOT>
+
+Point pkg-config to the ``<DOS_INSTALL_ROOT>`` ::
+
+ export PKG_CONFIG_SYSROOT=<DOS_INSTALL_ROOT>
+
+* To compile flashrom use the ``meson_cross/i586_djgpp_dos.txt`` cross-file
+* You will need `CWSDPMI.EXE <https://sandmann.dotster.com/cwsdpmi/>`_ to run flashrom
+
+libpayload
+""""""""""
+
.. todo:: Add building instructions for libpayload
--
To view, visit https://review.coreboot.org/c/flashrom/+/81780?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: main
Gerrit-Change-Id: I78645131b1f0acbedcf11964a204a24c45b62cff
Gerrit-Change-Number: 81780
Gerrit-PatchSet: 1
Gerrit-Owner: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-MessageType: newchange
Attention is currently required from: Anastasia Klimchuk, Anton Samsonov, Thomas Heijligen.
Anton Samsonov has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/81665?usp=email )
Change subject: meson: Update CI script to enforce building man pages and docs
......................................................................
Patch Set 3: Code-Review+1
(1 comment)
Patchset:
PS3:
Although I get all kinds of build and testing errors when running `test_build.sh`
(with both `make` and `meson`, mainly because of running on non-x86 architecture,
while the scenario tries to build x86-specific stuff unconditionally, as well
as do some unit-testing that mostly segfaults and reports memory corruption —
the situation I need much more time to investigate on wider range of systems),
this change itself looks fine — the documentation is built successfully.
I even found a small bug in my previous commit, thanks to this script! (81802)
--
To view, visit https://review.coreboot.org/c/flashrom/+/81665?usp=email
To unsubscribe, or for help writing mail filters, visit https://review.coreboot.org/settings
Gerrit-Project: flashrom
Gerrit-Branch: main
Gerrit-Change-Id: Ib89abddad27d1168cf0a621cf4bdb9f541266165
Gerrit-Change-Number: 81665
Gerrit-PatchSet: 3
Gerrit-Owner: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Reviewer: Anton Samsonov <avscomputing(a)gmail.com>
Gerrit-Reviewer: Anton Samsonov <devel(a)zxlab.ru>
Gerrit-Reviewer: Martin L Roth <gaumless(a)gmail.com>
Gerrit-Reviewer: Thomas Heijligen <src(a)posteo.de>
Gerrit-Reviewer: build bot (Jenkins) <no-reply(a)coreboot.org>
Gerrit-Attention: Thomas Heijligen <src(a)posteo.de>
Gerrit-Attention: Anastasia Klimchuk <aklm(a)chromium.org>
Gerrit-Attention: Anton Samsonov <devel(a)zxlab.ru>
Gerrit-Comment-Date: Mon, 08 Apr 2024 13:40:51 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment