[flashrom] Re: libflashrom rust binding

2022-07-18 Thread Greg Troxel

Evan Benn  writes:

> I think the first question is is the flashrom community happy to have
> these bindings live inside the flashrom git repo? They could live in
> their own separate repos, but keeping them with flashrom will make
> keeping up with libflashrom API changes more straightforward.

I am more or less an outsider, but as a packager:

  I do not want the binding to be hooked into the main build system.

  Building flashrom is one thing, and I expect that to work pretty much
  everywhere.

  Building the rust bindings I expect to be not wanted by everyone who
  wants flashrom, to have heavier dependencies (rustc is beastly), and
  to have signficant portability problems.  That's all fine, but if in
  the same release tarball there should be a way to cd to some subdir,
  and build, expecting that flashrom is already installed and using the
  installed headers and libs, and expecting a rust compiler.

  I don't care at all about upstream repo organization if the rust
  binding is its own release tarball.

  I'll observe that changes to libflashrom and changes to the bindings
  may not be connected.

  Given all of the above, I think it's better to have each language
  binding be a separate repo with separate release tarballs.


signature.asc
Description: PGP signature
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: Release preparations

2022-04-28 Thread Greg Troxel

Anastasia Klimchuk  writes:

> I haven’t done any releases before, so tell me if I am wrong. But what I am
> thinking when looking at the list of issues: maybe we can have some time
> for “just fixing issues on master” and after that do a release branch? Does
> it make sense?
> “Some time” won’t take forever (AU winter maybe?). I have issue #353
> assigned to me, so now it has to happen :)

My $0.02 from dealing with various projects.

Flashrom is small and I think it's best to do the release off master,
getting everything done that needs to get done, and then beginning the
process with feature freeze, moving to regression and doc fixes only,
maybe alpha, beta, rc and then release.  Only when there is a release
create a branch that would be used for micro updates to the release
while master is back open for development.

In order to make a release it is necessary to say no to further
changes.  It is always possible to improve, but that leads to never
releasing, and users are better served with a series of better releases,
as long as each one does not have significant regressions.   This is
easy to say and hard to do!

Creating a release branch before release means changes happen in master
disconnected from release and there's backporting effort and a lot more
work.  Not branching incentivizes everyone to get the release done and
hold their feature branches.




signature.asc
Description: PGP signature
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: One Build System Working Group

2022-04-07 Thread Greg Troxel

Thomas Heijligen  writes:

> The current policy with the Makefile is to stay backwards compatible.

That's fine because make is stable, even the GNU flavor.  There really
shouldn't be anything in a makefile that is an issue for 5 year old
make.  The dependency requirements are a different matter, and not
different from make to meson.

> Since meson is not this long around we have to choose a way to go.
> Personally I had the problem that my system meson from a rolling
> release distro was to old to build a project from master branch. 

That's a clue that something is wrong.  I would pull a date out of a hat
and say that the meson that was the current formal release on 2020-01-01
should be good enough.  So that means the build system should work with
meson 0.52.1 or higher.

Another view is that Ubuntu 20.04's included meson ought to be good
enough.  With any luck that's at least 0.52.1.


signature.asc
Description: PGP signature
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: One Build System Working Group

2022-04-06 Thread Greg Troxel

pkgsrc has cmocka 1.1.5.  Telling the flashrom package that it is needed
for running tests, or that it's always needed is one line in the control
Makefile.  Including it or downloading it is much more painful.


signature.asc
Description: PGP signature
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: One Build System Working Group

2022-04-06 Thread Greg Troxel

Some comments from a packager and experience with switching to cmake,
some of it ok, some of it bad.  I'm trimming stuff I don't have any
comments on as I think you have this mostly right.

Thomas Heijligen  writes:

> ## Platforms to support
>   * Systems
> * Linux (Distros / ChromeOS)

Long-Term Stable is a real issue.  It's not really reasonable for people
to expect to build new flashrom with ancient tools, on a system where
they have chosen to run old code to get some kind of stability.  Yet
people routinely demand that they be able to build the latest release of
Foo using an LTS with compiler, autoconf, cmake and the like from 5
years ago.  They want new Foo, but suggesting they get non-crufty tools
and they act like upstream is being unreasonable because their LTS is
"supported".  My respones is "well, tell RHEL/Ubuntu to do it for you
and stop demanding I do it".

> * SunOS / Solaris / the current version of it

There are two worlds: Oracle Solaris and illumos (OmniOS, OpenIndiana,
and more).  Probably doesn't need specific code for both, but good to be
aware.

>   * Architectures
> * X86
> * ARM
> * MIPS
> * POWER
> x86 supports port I/O (mostly relevant to PCI), others may through
> MMIO emulation

I guess that's an interesting question.  I'm not clear on the full set
of interfaces for reading/writing.  But really the code should be
portable to any reasonable CPU.  x86, arm, mips, and ppc are really
pairs of CPU architectures, each of which has a 32-bit and a 64-bit
variant.  And it's a pretty short list; NetBSD also runs on sparc,
sparc64, m68k, and less sensible for flashrom, vax, alpha, ia64, and
hppa.  And, RISC-V is coming and I expect it to appear whereever arm64
does in a few years.

In requirements, you left out (but I know you are thinking of cross):

  cross compilation

  Almost entirely, switch code on/off by feature tests, and attempt to
  drive the number of "#ifdef FooOS" to zero.  It's not doable entirely,
  but autoconf got this right and a lot of things that claim they are
  better do not.

>   * Write documentation
> * Build instructions for all platforms

Aside from windows, they really should not be different.

> ## Open questions
>   * System requirements
> * How long should we support systems / libraries?
>   * As long as they have vendor support

That's very messy.  On one hand if vendors (== "os maintainers") drop
support early, it's good to go back slightly further.  On the other, if
someone decides to freeze code in 2020 and maintain it with *security
patches only* for 10 years, then I think a reasonable response is "if
you want to run code from 2020 with only security patches, good luck -
the license gives you the freedom to do that, but it's not our
obligation to do work to make that be easy".  Note that such people are
welcome to keep running the flashrom version from 2020; that is after
all what they chose to do.

Yes, I sound cranky, but the crankiness comes from maintaining unison.

> * What should be the minimum required version of meson?
>   * The version of the oldest supported system.

Again, same issue.

>   * Build dependencies
> * Can we fetch dependencies like cmocka? This makes building for
> some systems easier

No, you can't fetch anything at build time.  Packaging systems view that
as a bug.  It means you can't build on a machine not on the internet.
Yes, I have built lots of packages on a disconnected machine after
fetching their releaes tarballs and transferring on CDROM, and it almost
entirely works.

So options are:

  if you want to depend on something, list in in the README and demand
  that the user have it installed already.  If it doesn't already exist
  as a package in most packaging systems, that's a clue you shouldn't
  use it.

  vendor it in.  But you really shouldn't do this, because then when
  there is a security release of that included code, you really need to
  have a new micro very fast, and I'll pick 7 days out of a hat.

>   * Shared libflashrom
> * How to handle versioning?

shared library major/minor is pretty well established (major bump on ABI
break, minor bump on ABI addition, and try really hard not to break the
ABI).  I'm not sure what the question is.

> ## Sequence for switching the primary build system
>   * Meson is feature equivalente with the Makefile
>   * Switch to meson as default build system, update the documentation
>   * Make a release with meson as the primary build system, keep the
> Makefile for legacy compatible.
>   * Drop the Makefile
>   * Drop dead code from Makefile only based option

Understand that packagers will need to put in work to switch, they
aren't usually paid 40h/week to package, and they don't think flashrom
is the most important thing in the world.  So what you said means that
they have the time between the release with meson documented as primary
and the release w/o Makefile.   If meson behaves as well as meson
proponents say 

[flashrom] Re: Release preparations

2022-03-21 Thread Greg Troxel

Richard Hughes  writes:

> On Mon, 21 Mar 2022 at 20:04, Nico Huber  wrote:
>> There is also one big general issue: we need to maintain two build
>> systems now. We can't use GNU make only, because nobody knows what
>> the requirements of the Meson users are.
>
> My vote would be to remove the *Makefile*, and move 100% to Meson --
> the modern build-system that's *already* being used by the packagers
> for all the supported architectures and OS builds on dozens of
> distros.

FWIW, the pkgsrc build is currently using the Makefile.   I use that to
get flashrom on NetBSD-9 amd64 to use with apu2.

More importantly, the instructions in the README in flashrom 1.2 do not
mention meson and say to use make.

Similary,
  https://www.flashrom.org/Downloads#Installation_from_source
does not mention meson.
(It also doesn't mention that specifically GNU make is required, vs BSD
make, but that's pretty common to omit.)

(I'm not claiming that building with meson wouldn't work, but just
pointing out that "all packaging system builds use meson" is incorrect.)

So if there is any talk of removing makefiles, there needs to be a
release with formal support for meson including it being the standard
approach in REAMDE and a deprecation warning.



signature.asc
Description: PGP signature
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: Gatekeeping, ACLs and Review Rules

2022-03-13 Thread Greg Troxel

> I've noticed something related in reviews over the years, though. Some-
> times when reviewers give a lot of comments on Gerrit, among them some
> critical ones about the overall patch and a lot of nits, the author
> tends to fix the nits and ignore the critical comments. Sure, when
> somebody ignores comments and then things get reverted, it's techni-
> cally their fault. But I can well imagine that such incidents would
> affect future reviews, also for the reviewers. Somehow, everybody
> learned that they wasted their time :-/

In formal software engineering culture, there is a notion of findings
being major vs minor, where major is failure to meet specification and
minor is something else, usually style.

I think the basic issue is that flashrom, quite reasonably, is trying to
achieve a far higher level of software quality than is typical in open
source.

It might be reasonable to expect that after a review which had a major
finding, to expect it to be re-reviewed before merging.



signature.asc
Description: PGP signature
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: Flashrom Dev Meeting once a month?

2022-02-03 Thread Greg Troxel

Felix Singer  writes:

> Hi Greg,
>
> thanks for reaching out :)
>
> On Thu, 2022-02-03 at 08:11 -0500, Greg Troxel wrote:
>> However, if I were, then I would reject anything that requires a
>> Google account (or even worse, a facebook account), and also reject
>> anything that requires installing proprietary software.
>
> A Google account for Google Meet is not needed. It depends on the room
> settings. So I'm wondering, do you reject Google services in general or
> just if an account is needed?  

That's a bit complicated.   I find needing accounts (at ad companies) to
be the biggest issue, and then there are lesser issues:

  Being asked to agree to terms and privacy policy (of google, rather
  than a separate service with a simple/reasonable policy that only
  covers that service): I find this objectionable too, and I suspect it
  would dissuade me from participating about 90% of the time, limiting
  to the things I really strongly want to participate in.  If it's just
  click and join and no text that tries to claim there is any consent,
  and the conference itself has a clear privacy policy that prohibits
  google from retaining the audio and video, it's not so bad.  But I
  don't think people should be asked to grant an advertising company any
  permission to use or store their image/audio.

  I don't think Free Software projects should use proprietary tools, if
  it's possible/reasonable to avoid them.  I realize with
  videoconferencing that's difficult these days, and it's necessary to
  make project progress.

(I also realize I'm an outlier; I originally commented privately and was
asked to re-comment onlist.)





signature.asc
Description: PGP signature
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: Flashrom Dev Meeting once a month?

2022-02-03 Thread Greg Troxel

I am just a lurker because I use flashrom to update my apu2 bios, so I
am not going to attend anyway (even if it were at a convenient time
EST).

However, if I were, then I would reject anything that requires a Google
account (or even worse, a facebook account), and also reject anything
that requires installing proprietary software.

I suggest looking at jitsi meet, and there are multiple public servers
for it besides meet.jit.si.  One is calyx.meet.net.  FSF associate
members can use the FSF instance.  It can be self-hosted pretty easily
if you have a GNU/Linux server.

I gather there is Big Blue Button too, but I have never tried to use it.


signature.asc
Description: PGP signature
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: FAILED: apu2e4

2021-07-17 Thread Greg Troxel

Stephen Hladysh  writes:

> flashrom -w /tmp/apu2_v4.14.0.1.rom -p internal
> flashrom v1.2 on FreeBSD 12.2-STABLE (amd64)
> flashrom is free software, get the source code at https://flashrom.org

I am far from an expert, but:

  have you previously run flashrom successfully on this device?  Other
  apu2 boxes?

  I have run flashrom under NetBSD on two apu2 boxes.  I did this in
  March with the then-current BIOS, v4.13.0.6, which worked entirely
  fine.  I am 90% sure it was 1.2, but I might have been running 1.1.
  One apu2 was bought in 2019, and I think is a 2d4 and the other in
  2020, I think 2e4 but it might still be 2d4.

  I really don't expect 2d4 vs 2e4 to be any different

  I hope you ordered the BIOS rescue chip when you got your apu2.  I did
  but I have not needed it.  It's very cool that such a thing exists.



signature.asc
Description: PGP signature
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: flashrom on NetBSD 8 and apu2?

2021-04-03 Thread Greg Troxel

Greg Troxel  writes a year ago (in March of 2020):

> I have a PC Engines apu2d4 running NetBSD 8 (amd64), and would like to
> update coreboot/etc. on it.  I searched the list (perhaps not well) and
> didn't find any reports of success, although I realize things are
> generally expected to work so success might well go unreported.
>
> I am using flashrom 1.1 as built from pkgsrc.
>
> I was able to read the existing bios without issues as:
>   flashrom --programmer internal -r 20200301-readflash.rom
>
> Before I try to write, I am wondering if anyone has successfully done an
> apu2 bios update with flashrom under NetBSD 8 amd64?

I didn't hear back from anyone, and ended up with a second apu2, that I
felt comfortable trying this on before it was in service.

  Under NetBSD 9, using flashroom 1.2 to update an apu2 was
  straightforwardly successful.  (I had to override the name match just
  as the instructions say, but that's not related to host os for
  flashrom.)
flashrom -w apu2_v4.13.0.4.rom -p internal:boardmismatch=force

  I used
pcictl /dev/pci0 write -d 24  0x6c 0x580ffe10
  to force a cold boot, adapted from FreeBSD instructions.

and in the end this was an entirely unexciting experience, for which I
am grateful.



signature.asc
Description: PGP signature
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] flashrom on NetBSD 8 and apu2?

2020-03-03 Thread Greg Troxel
I have a PC Engines apu2d4 running NetBSD 8 (amd64), and would like to
update coreboot/etc. on it.  I searched the list (perhaps not well) and
didn't find any reports of success, although I realize things are
generally expected to work so success might well go unreported.

I am using flashrom 1.1 as built from pkgsrc.

I was able to read the existing bios without issues as:
  flashrom --programmer internal -r 20200301-readflash.rom

Before I try to write, I am wondering if anyone has successfully done an
apu2 bios update with flashrom under NetBSD 8 amd64?

(I have a debricking adaptor (spi1a) and will prepare a Linux flashing
image on USB before trying myself, whether I not a get a report of
success.)

Thanks,
Greg
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org