-
Notifications
You must be signed in to change notification settings - Fork 126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extension commands silently missing when git
isn't installed
#617
Comments
This also means that some of west's functionality is not reproducible, since it depends on the |
For more of a background on why |
Looks like this is the code that's preventing zephyr modules from being valid unless there is a |
I'm lost sorry. Can you please share: 1. reproduction steps, 2. expected results, 3. actual results like most bug reports do? Sorry we don't have any bug report template in this repo. Due to the small number of issues filed this hasn't been a big problem so far. So please take inspiration from the zephyr template at https://github.com/zephyrproject-rtos/zephyr/issues/new?assignees=&labels=bug&template=bug_report.md&title=
This code in interestingly not part of west.
You lost me even more. Please explain much more slowly what you're trying to achieve and include an example. Is this maybe related to |
It's still something west interacts with, that I was misplacing blame on. I later found that West itself is deeply intertwined with
I'm trying to build Zephyr with Nix, a reproducible build system. In order to fetch the source code with This fixed-output-derivation can be thought of as a layer in Docker where you might fetch the source code. You would want that layer to be cryptographically reproducible if you were to run it again, which it cannot be if the |
Thanks @MatthewCroughan for enlightening me, I think I'm now at the stage where I "know just enough to be dangerous".
Thanks for the reproduction steps, really helpful. So the When Note both
|
So you found that building Zephyr depends on west (not in theory strictly speaking but yes in practice), which has a very strong dependency on git. So yes: building Zephyr depends on git. While Zephyr may be an "extreme" example, the discussion at your link NixOS/nixpkgs#8567 (comment) shows that Zephyr is far from the only build depending on git in practice. On a personal note I forgot the last time I built anything from a source tarball. Whenever I did, I most likely started by recreating a (temporary) So Nix should solve its The advice I just left at this link is that Nix should simply learn to ignore Quick before the world forgets what source tarballs were. |
If building Zephyr with West depends on
That is what Nix would call an impurity. It's something that can change, outside of our control and knowledge which can effect the build, which means Nix will not ignore it. It is bad to allow inputs to change randomly, which is what ignoring the An example where this would be acceptable is SSL CA certificates, where you would allow this small impurity to increase reproducibility when fetching content via http. But I instead think that |
You're trying hard to make this a
I've never used Nix but based on what I've read about it, Nix' problem with git seems very far from "plain and simple". It rather looks like a problem of overlapping and conflicting features where two different tools are both implementing content-addressable storage: so it does not surprise me that they overlap and conflict a bit with each other and that at least one of them must treat the other as a special case. Considering the huge popularity gap between the two, it's pretty obvious which one must. |
I think you're searching in the wrong project. The You're probably wondering why the preferred way to build Zephyr is through the tool to manage multiple git repos. Good question. This clearly hurts Nix which wants to keep git and the build as far away from each other as possible. Again the answer is in the first two lines at https://docs.zephyrproject.org/latest/develop/west/why.html |
I expect this page to be enough (plus the documentation it links to which describes the behavior of the various related cmake variables). If not, please be explicit about what's missing. |
As described by @marc-hb this is not a west issue. West is working as designed. The zephyr build system also works without west installed; you have to do more work to set this up, but it's possible. If you are still confused about how that works after reading the documentation linked above, please ask for help in a more appropriate place: https://docs.zephyrproject.org/latest/develop/getting_started/index.html#asking-for-help |
Is there a way to get West to simply print out what it's setting ZEPHYR_MODULES to? I'm not talking about |
Have you looked at |
I have. And I'm wondering how to just get west to dump that variable, since it has all the logic for setting it, rather than reinventing the wheel and even implementing the discovery myself. |
I do not understand why you are telling me to look at that file, as if it will solve my problems? My understanding is that different Zephyr projects have a different This documentation states that you have to set the |
I told you to look at that file because you hadn't said that you already did. I'm merely trying to spend limited time helping you achieve things that most Zephyr developers don't want.
That's because it's 100% application dependent. There is no single thing as "compiling Zephyr". You're supposed to know what your application-specific dependencies are. Don't you? |
I found the comment a bit condescending and "RTFM" given that you said "10s from grep". That's why I'm asking why you're pointing me to it with such confidence that it will solve my problem. |
Right, and that's why |
I see now why you told me to focus on the cmake file.
It seems like it actually does parse is |
I have no idea where you saw "confidence" which I clearly stated I don't have on this particular ZEPHYR_MODULES topic. I spent a significant amount of time trying to help you achieve a non-west objective that no Zephyr developer wants right now. This was admittedly and partly because I was curious about Nix. I'm not curious anymore and I'm not interested in discussing non-technical topics, sorry. There are other places where you can discuss Zephyr topics; @mbolivar-nordic listed one. Best of luck! |
Just confused about the "Found after 10s of git grep" is all. |
If you expect to see an extension command like
build
, but do not havegit
installed, thenwest
will silently not tell you anything about this on the CLI.The text was updated successfully, but these errors were encountered: