Am 20.02.2025 um 11:00 schrieb Richard Purdie via lists.openembedded.org:
On Thu, 2025-02-20 at 10:48 +0100, Stefan Herbrechtsmeier wrote:
Am 19.02.2025 um 18:33 schrieb Richard Purdie:
On Wed, 2025-02-19 at 17:48 +0100, Stefan Herbrechtsmeier wrote:
I don't change the exception. The exceptions are the reason for the state of the series.


The missing point is that the expectation is related to the end of a dependency chain and not to a task itself. In any case the real expectation isn't clear. What happens if the configuration need a compiled source and it isn't feasible to create a native package. My series satisfy the following expectations:

* All sources are downloaded after the do_fetch
* All sources are unpacked after the do_unpack
* All sources are patched after the do_patch

I could try and reply to all your points but this one jumps out as a really fundamental thing we disagree on. All our existing code assumes that:

"All sources are downloaded during do_fetch"


which means once do_fetch runs, we have all the sources. That is quite different to what you say above. I fully appreciate it imposes quite some constraints but it doesn't change the fact that this is the situation.

I don't get the point. Do you say that only the do_fetch is allow to download anything? So my assumption that I can download something outside the do_fetch task as long as the download happens if something depend on the fetch task (like bitbake -c fetch ...) is wrong?

I don't understand that requirement but I can fulfill it. The only consequence is a complex do_fetch task.


The fetch task is the only task allowed to access the network and is the only place where the sources should be being downloaded. Once the do_fetch task completes, we have everything we need from the network and no further network access is allowed.
I don't understand why the network need to be restricted to the do_fetch task only but okay.


So yes, your assumption is therefore wrong. I'm focusing on this as if we don't have that common understanding, nothing built upon those different understandings is going to work.

I have tried to seek help from the people who effectively oversee me as
a maintainer (i.e. the TSC) with limited success. I'm not sure what to
do from here.

I really like to upstream my work because I think it would simplify the package manager support, but there doesn't seem to be much interest in the community for it.

People are too focused in their own problems to be able to spend enough time on these architectural type pieces. We do badly need this kind of work which is why I'm trying to help this move forward but equally we have to do it in a way which doesn't destablise our existing userbase, in other words we may have to make some compromises. I'd like to hope we pick the right ones. I'm worried as we have tried solutions for this space before and the fact we're discussing them again shows we haven't got it right yet.

I always try my best to not break existing users. Therefore I keep the old behavior of the existing tasks or function calls. But we need to sharpen the concepts and unify the code base. We have different solutions (like go-vendor.bbclass and gomod.py) for the same problem and partial integration of features (like expanded_urldata).

I think we have to much theoretical discussion and to less code. I would like to integrate a Fetcher OE library to remove the redundant code, unify the codebase and use the extended URIs where appropriate. This would fix some existing problems and could help in the next step independence of the solution. Would that be okay with you?


It would not be okay at all, no.

I want to fix existing gitsm problems which are independent of the solution. We have duplicated code inside oe-core and need to fix them for both solutions. Otherwise the sources from the lock file aren't handle by the classes.

We have the archiver.bbclass, cargo_common.bbclass, create-spdx-2.2.bbclass and spdx30_tasks.py files with use slightly different code to receive the URIs and only one use the expanded list of gitsm. How should I fix them?

I appreciate theoretical discussion is hard work but we've tried taking patches in the past and we've ended up making things worse. I can tell the direction you've been going isn't correct and is going to lead to patches which are unable to be merged.

I've made it very very clear that the fetch module stays in bitbake and that we need to find a way to support this in the fetch module, not OE. Yes, that complicates things unfortunately but I have good reasons for doing it, whether you understand or agree with them or not. I'm not changing my mind on this.
Sorry, but I don't know how do go on. I don't understand the reasons nor goals. I propose to change the code to remove code duplication and you refuse it. I ask for the desired concept (pypi / go-vendor vs gomod) and don't get a clear answer. I have a lot of improvements, harmonization and fixes in the last series and doesn't know if they are desired.


I will say your original patch series against bitbake was probably a lot closer to what I think we probably need. I didn't like the "magic" going on to extend the data so perhaps if that piece were reworked and made a more default/simpler/clearer part of the fetcher rather than hidden, we'd probably reach some code we could agree on.

Which "magic" do you mean and what isn't clean enough?
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#211768): 
https://lists.openembedded.org/g/openembedded-core/message/211768
Mute This Topic: https://lists.openembedded.org/mt/111229335/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to