[flashrom] Re: Release preparations

2022-03-21 Thread Thomas Heijligen



On 21 March 2022 22:04:07 WET, Greg Troxel  wrote:
>
>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.
>

Beside from the documentation, the meson file currently only works for Linux 
and was never announced as official way to build flashrom. Dropping the 
Makefile is also no option as long as the meson.build does not work with all 
platforms supported by flashrom. In a release we should have a consisted build 
system across all those platforms. 
The two build systems are also topic of the next developer meeting. Imo we 
should find a proper solution for the meson build file and do not rush for the 
next release.

-- Thomas
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[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: Release preparations

2022-03-21 Thread Richard Hughes
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.

Richard
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: Questions regarding Easy project and GSoC

2022-03-21 Thread Aarya Chaumal
Hi Simon,

I got my hardware yesterday and I played around with it and flashrom. I
also studied the code flow for the erase functions. I saw that flashrom
tries different erase functions given in the
flashctx->chip->block_erasers[] by iterating through the list. Assuming
these functions are in order of the length (number of sectors)  they erase,
the first one would get selected most of the time as it erases the smallest
length. But this would be inefficient as the function which erases more
length would do the job faster although it might not give the required
granularity. A better approach could be to use the latter (if necessary)
until the remaining length is less than the length that this function can
erase.

Aarya

On Wed, Mar 16, 2022 at 4:45 PM Buhrow, Simon 
wrote:

> Hi Aarya,
>
>
>
> nice progress!
>
>
>
> I´m writing having "optimizing erase-function" in mint. However the
> following might apply fully or in parts to the other topic(s) as well:
>
>
>
> As written to Hui Xiang:
>
> As it´s never a good idea to experiment with the workhorse itself, I would
> recommend to do tests on extra hardware. (There might be some things you
> can test with software dummies, someone else must tell you about that). A
> very cheap programmer often mentioned here is the CH341A Programmer,
> however there are many other affordable programmers with ftdi chips, the
> raspberry pi and other manufactures as well (
> https://www.flashrom.org/Supported_programmers).
>
> In addition you would need any supported Flash in a DIP package or a in
> SO-Package plus DIP-adapter.
>
> There are several examples along the internet using flashrom and a
> programmer plus flash or target board with a soldered flash. Just pick any
> and start with that.
>
>
>
>
>
> >> Can you suggest some tasks so that I can know more about these projects
>
> > A question from me: have you tried to build and run flashrom from your
> local repo source code?
>
>
>
> Building flashrom is a good start. Furthermore possible steps to play a
> bit around would be this:
>
> * Read a good article (e.g. wikipedia) about flash memory technology and
> understand why there are “block erase” functions (instead of byte wise
> erase).
>
> * When you have done so and have any supported programmer plus flash at
> your hands (see above), take the datasheet of the flash and explore the
> parts about the different erase functions.
>
> * Then try running erase (parts of or the entire) flash memory. Check (via
> debugging/print messages/verbose output) which block erase function is
> used.
>
> * Compare the result with the best theoretical option derived from
> datasheet values. (“best” = fastest)
>
>
>
> Hope this helps and you´ve got some dollars for the hardware. If anyone
> else has some thoughts about making progress without proposing a purchase,
> just let Aarya know.
>
>
>
> Regards,
>
>
>
> Simon
>
>
>
>
>
> *Von:* Anastasia Klimchuk 
> *Gesendet:* Sonntag, 13. März 2022 07:45
> *An:* flashrom@flashrom.org; Aarya Chaumal 
> *Betreff:* [flashrom] Re: Questions regarding Easy project and GSoC
>
>
>
> Aarya,
>
>
>
> Thank you so much for your patches, awesome work!
>
>
>
> Don't worry about merging for now. Merging almost never happens
> immediately. Reviewers will come back to the patches, check that everything
> is fine, all the comments are resolved etc. If everything is alright,
> reviewers will approve and then at some point merge.
>
> It can also happen that you get another iteration of comments: but don't
> worry this is a normal process!
>
> From your side, you always (for now, and for future) need to understand
> all the comments, resolve and reply - once this is done, it is the
> Reviewer's turn :)
>
>
>
> It is very good that you identified two projects that are interesting for
> you. You will discuss a project in more detail with someone who plans to be
> Mentor for the project. Let me check who that will be.
>
> Also, if someone who plans to be a Mentor for "optimizing erase-function"
> or "fixing endianness issues" is reading this, you can just reply :) What
> would be the best next steps for Aarya to prepare?
>
>
>
> A question from me: have you tried to build and run flashrom from your
> local repo source code? To begin with you can run
>
>
>
> flashrom -h
>
>
>
> which is help information. It tells you all command line operations and
> arguments. It is served by cli_classic.c file.
>
> So you can read about "erase" operation and then explore the code which
> implements it.
>
>
>
> Meanwhile, just to check, have you read official resources from gsoc?
> These ones:
>
> Student Guidelines https://google.github.io/gsocguides/student/
>
> Rules https://summerofcode.withgoogle.com/rules (especially p.7)
>
> And timeline https://developers.google.com/open-source/gsoc/timeline
>
>
>
> Anastasia.
>
>
>
> On Sun, Mar 13, 2022 at 1:44 PM Aarya Chaumal 
> wrote:
>
> As suggested, I have been doing some of the easy projects till now and
> I have enjoyed it. I have 

[flashrom] Re: Release preparations

2022-03-21 Thread Nico Huber
Hello Richard,

On 21.03.22 17:23, Richard Hughes wrote:
> On Sun, 13 Mar 2022 at 15:49, Nico Huber  wrote:
>>> Also I understand Meson already got into v1.2? I thought the next version
>>> is based on the previous?
>> Yes, but I hope that doesn't mean we can't revert problems :)
>
> I don't think adding a smiley face makes it any less insulting to the
> people that added, and *continue to maintain* the meson feature.

sorry if the context offended you. I meant this rather generally: We
should be open to discuss such things. In the Meson case, I'd be happy
about any solution that avoids accidental use of Meson for releases,
i.e. when nobody tested if it's working correctly in a given environ-
ment.

>
>> The `meson.build` made it into v1.2, that is right but turned out to
>> cause more trouble than was expected. OS package maintainers quickly
>> adopted it without any second thought.
>
> Have you pondered why that might be? OS package maintainers usually
> don't change the way they build packages without a good reason.

I assume they got used to configuration systems like autotools/cmake/
Meson and use them by default if the necessary files are around. I
consider not using such a system the exception today.

>
>> And then all their packages had
>> issues because the `meson.build` did some things wrong (no version in-
>> formation in the binary for instance, no man page in the package, CLI
>> options not working).
>
> Are there any issues outstanding?

How should we know? Nobody is taking the time to really test the Meson
setup on Meson-supported platforms (except Linux). Or maybe somebody is
and doesn't tell us. The issues that were fixed so far were only iden-
tified when quirky binaries made it to the end users already. Fixing
issues is the easy part, one needs to find them first though. And if
that happens too late, it creates unnecessary work for developers and
package maintainers.

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. And we can't use Meson only,
because nobody knows if and how it works on all the platforms suppor-
ted by the Makefile.

Nico

> All this talk of "removing things"
> does not give me the warm-and-fuzzies for building things on top of
> the flashrom project.
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: Release preparations

2022-03-21 Thread Richard Hughes
On Sun, 13 Mar 2022 at 15:49, Nico Huber  wrote:
> > Also I understand Meson already got into v1.2? I thought the next version
> > is based on the previous?
> Yes, but I hope that doesn't mean we can't revert problems :)

I don't think adding a smiley face makes it any less insulting to the
people that added, and *continue to maintain* the meson feature.

> The `meson.build` made it into v1.2, that is right but turned out to
> cause more trouble than was expected. OS package maintainers quickly
> adopted it without any second thought.

Have you pondered why that might be? OS package maintainers usually
don't change the way they build packages without a good reason.

> And then all their packages had
> issues because the `meson.build` did some things wrong (no version in-
> formation in the binary for instance, no man page in the package, CLI
> options not working).

Are there any issues outstanding? All this talk of "removing things"
does not give me the warm-and-fuzzies for building things on top of
the flashrom project.

Richard
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: Release preparations

2022-03-21 Thread Nico Huber
Hi,

On 21.03.22 10:11, Anastasia Klimchuk wrote:
> Thank you for the explanations! Really helpful.
>
> I am trying to understand the mechanics.
>
>> This is also why I suggested that we can drop suspicious
>> code from a release branch (i.e. we could branch 1.3.x now
>> and then delete code on that branch without affecting master).
>> Then the freeze might be over really quickly.
>
> This option would mean all the items from the first list are reverted in
> v1.3?

in the most extreme scenario, yes. Please note that I don't consider
everything on that list as a release blocker. Some things just looked
odd and may only need a second look.

> And then they, hopefully, all get fixed to the time of v1.4?
> (correct me if I am wrong)

Hopefully, yes. Not sure what to do if not, I wouldn't like to
repeatedly clean up on release branches. Also, some of the items
look like something we wouldn't even want on master, e.g. known
broken things.

>
> Then that means on the other end there is an ideal scenario where all the
> items from the first list are fixed (on master) and then v1.3 happens?

Then we would branch 1.3.x from master and v1.3-rc1 happens.

>
> And also a scenario in between when some of the items are fixed, but not
> all of them?

Pretty much, yes, and I'd hope for this. Better to compromise than to
wait forever ;)

>
> Which of these scenarios has minimum time to freeze master, and which one
> takes second place? I am asking because I fully agree with you, it seems
> just as you said “a very desperate measure”... so I am worried this may
> create a drama :\

Given that nobody reacted with "let's do it", it seems very unlikely
to me that we will exercise a freeze.

Nico
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org


[flashrom] Re: Release preparations

2022-03-21 Thread Anastasia Klimchuk
Thank you for the explanations! Really helpful.

I am trying to understand the mechanics.

“This is also why I suggested that we can drop suspicious
code from a release branch (i.e. we could branch 1.3.x now
and then delete code on that branch without affecting master).
Then the freeze might be over really quickly.”

This option would mean all the items from the first list are reverted in
v1.3?
And then they, hopefully, all get fixed to the time of v1.4?
(correct me if I am wrong)

Then that means on the other end there is an ideal scenario where all the
items from the first list are fixed (on master) and then v1.3 happens?

And also a scenario in between when some of the items are fixed, but not
all of them?

Which of these scenarios has minimum time to freeze master, and which one
takes second place? I am asking because I fully agree with you, it seems
just as you said “a very desperate measure”... so I am worried this may
create a drama :\

We have already created 5 bugs as “flashrom release blockers” in our
internal bug tracker (the only reason they are created in internal one is
because flashrom bug tracker is not ready yet). There is no secret info
there at all. That’s for all the items that are missing documentation.
It is not a hasty activity, we want to help! Release is important.
And especially the items which say “missing documentation”, it’s a
no-brainer, needs to be fixed.

“My latest idea about this is that we could add an option (e.g.
`inofficial`) and a whitelist of known working platforms. Such that
one would have to literally state they want an inofficial binary to
build on a platform with unknown status.”

Looks fine, let’s keep it unofficial (if it really is). Let’s just not
delete it :)

“I can work on that unless someone else wants the task.”

Thanks Martin! There is a patch currently for man page:
https://review.coreboot.org/c/flashrom/+/62768
But did you mean more than that?

On Fri, Mar 18, 2022 at 2:56 AM Nico Huber  wrote:

> On 13.03.22 16:28, Nico Huber wrote:
> > On 13.03.22 08:28, Anastasia Klimchuk wrote:
> >>> I suggest that we freeze the master branch for everything that is
> neither
> >>> a fix nor on the list (or a similar case that I missed)
> >>
> >> But how can we freeze master… that would mean no one can do any work?
> Maybe
> >> I am missing something?
> >
> > No you didn't miss anything :) it would be a very desperate
> > measure. However, I see no other solution to make progress
> > again without forking or further stalling a release. And
> > after 2 years I think the project has waited long enough.
>
> Sorry folks, I didn't mean to provoke any hasty activity to fix the
> listed problems. Rather to push us to talk about what we should fix
> before a release and what features we could do without in a release.
> If we'd wait for everything to be fixed at snail pace, I fear people
> would give up before another release happens (I would). Not to mention
> that people will continue to push more controversial patches in the
> meantime.
>
> Nico
> ___
> flashrom mailing list -- flashrom@flashrom.org
> To unsubscribe send an email to flashrom-le...@flashrom.org
>


-- 
Anastasia.
___
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org