| 24 May 2024 |
jaen | Okay, pushed one more commit — patching derivation won't work, because it's just a shim apparently and it downloads it's code from the interwebs anyway. I did leave overlaying pkgs to a matching version, though (not sure if it matters, but why not). Other than that removed python2 from a couple of places that seemed safe and switched flake-compat to the nix-community version. Let me know if you can test this works for you and/or you have any other remarks. I tried to build some lineageos myself and at least it fetched the code and started building the ROM. It failed when trying to build Chromium, but I guess that's fare enough for it to not be related — would appreciate a double–check, though. | 23:04:49 |
| 25 May 2024 |
eyJhb | Maybe i should try to bump the lineageos deps from my mirror... | 06:55:47 |
eyJhb | In reply to @atemu12:matrix.org I might be getting ajs124 ' old Pixel 4a soon though at which point I could I have a Pixel 8 now, but it's still in the box, and very likely to be sold. Doesn't seems right to keep it around for not using it as a daily driver 😅 Seems like aiding ewaste | 06:56:31 |
atemu12 | In reply to @jaen:matrix.org Okay, pushed one more commit — patching derivation won't work, because it's just a shim apparently and it downloads it's code from the interwebs anyway. I did leave overlaying pkgs to a matching version, though (not sure if it matters, but why not). Other than that removed python2 from a couple of places that seemed safe and switched flake-compat to the nix-community version. Let me know if you can test this works for you and/or you have any other remarks. I tried to build some lineageos myself and at least it fetched the code and started building the ROM. It failed when trying to build Chromium, but I guess that's fare enough for it to not be related — would appreciate a double–check, though. Disable chromium for now | 10:02:25 |
atemu12 | I'll be removing it | 10:02:35 |
jaen | Hmmm, doesn't Vanadium need that, though? As far as I can see there are no binaries available. So unsure if it's removable if we want to keep GrapheneOS? Thought that's a separate topic I guess, for now I just want to see if any ROM will build on my PR, currently running this to see if it builds:
nix-build --arg configuration '{ device="lemonade"; flavor="lineageos"; androidVersion=13; apps.chromium.enable = false; webview.prebuilt.enable = false; webview.chromium.enable = false; webview.chromium.availableByDefault = false; }' -A factoryImg
Don't have an appropriate phone to test it on, though. If there's anything else I should test or you can test it at least for the things you use and should know work — let me know.
| 10:54:40 |
jaen | Also not sure what we want to do about repo — like I mentioned in the PR, applying a patch to nixpkg's derication won't help, because the resulting package is basically just the main repo script and it downloads all the rest from the interwebs on use. So at least for this PR we'd have to live with it downloading stuff, but we probably need to figure a more official place to put it, instead of on my GitHub? Not sure if nix-community would be appropriate? | 10:57:13 |
jaen | Here's the reformat PR FWIW — https://github.com/nix-community/robotnix/pull/237. It's based on top of the Python fixes, so they will have to go in first. I'll make one more PR to re-enable running those checks in CI (and maybe pre-commit hooks — I'm ambivalent on them personally, but some find them useful) and then I'll maybe start looking at GrapheneOS finally, though who knows how well will that go, it's not quick to iterate on without a 32 core Threadripper xD | 14:12:01 |
atemu12 | No idea w.r.t. Vanadium, I have never used GOS | 15:29:23 |
atemu12 | My view on things is that if nobody has been around to maintain it for years, it's better to just remove it | 15:30:36 |
atemu12 | Neither Vanadium nor GOS have been touched by anyone the past few years | 15:31:03 |
atemu12 | As for repo, is it really not possible to run it without it attempting to download some other version? I'd prefer to patch it to not download any updates whatsoever | 15:32:54 |
jaen | Well, on the other hand I never used LineageOS ; d What I'm just saying that unless you want to drop GrapheneOS wholesale, then it might need to stay. At least it's how it looks to me. I guess I don't care much either way, since I can try fixing it to the side anyway, or something. | 18:13:50 |
jaen | In reply to @atemu12:matrix.org As for repo, is it really not possible to run it without it attempting to download some other version? I'd prefer to patch it to not download any updates whatsoever I would've preferred to not have done that particular yak shave, but oh well — https://github.com/nix-community/robotnix/pull/236/commits/4a347287aa2812d50ada2c87c7284e59617c9a41. This seems to work and have local sources as far as I can tell. Kind of ugly with the git shenanigans, but didn't see a better way so far. | 18:15:06 |
| 26 May 2024 |
jaen | Ok, got three basic checks (running nix flake check on flake/templated flake, formatters/linters and pytest) working again — https://github.com/jaen/robotnix/actions/runs/9243699871. Will see if I can get more working, but at least it's something. Two questions re: that:
- pre-commit hooks yay/nay? When doing those changes I certainly forgot to re–format code once or twice — GHA caught that, but maybe it would be better to have caught that before pushing?
- I've noticed after adding
treefmt-nix and nix-github-actions get propagated down to the client flake as dependencies when running the templated flake test. Do you think it would make sense to try a pattern like https://figsoda.github.io/posts/2023/developing-nix-libraries-with-subflakes/ to avoid it?
| 13:47:23 |
atemu12 | I'm not a fan of pre-commit hooks. When I commit, I should commit precisely what I saw in the staging area. They're also a huge security liability which is why I've disabled them globally and I think that it's insane that git enables them by default. | 14:06:06 |
atemu12 | CI should be red on wrong format, that's good enough. | 14:06:24 |
atemu12 | I have no idea about flakes. | 14:06:58 |
jaen | Yeah, like I said I'm mostly ambivalent on them, so if you don't want them, then I don't feel like I need to add them. If you don't have an opinion re: subflake dependencies, then I'll try adding it and see how it works out, I guess? | 14:21:02 |
atemu12 | Sure, knock yourself out | 14:21:33 |
atemu12 | As long as I can nix-build, I'm happy. | 14:21:51 |
| 27 May 2024 |
jaen | Okay, changed my mind, forgot how error–prone that is with all the NixCpp corner cases around relative flake paths : V I guess it's better to suffer a superfluous input or two than britleness. So I guess the Python tests PR and the format PR (probably best reviewed after the first goes in; couldn't find a way to stack PRs with forks) are ready from my end. Please let me know if there's still something missing from them on your end (whenever you are able). In the mean time I'll be chipping away at the checks PR an possibly further at GrapheneOS after that's done. | 19:48:45 |
| 28 May 2024 |
erahhal | I've been trying to get LineageOS 21 to build (discussed here) , and feel like I'm getting close. Updated the python scripts, device and vendor files, and patches. Now when I build I'm running into the following. Not sure where to make a change to address this:
warning: Git tree '/home/erahhal/Code/nix-android' is dirty
warning: creating lock file '/home/erahhal/Code/nix-android/flake.lock'
warning: Git tree '/home/erahhal/Code/nix-android' is dirty
these 3 derivations will be built:
/nix/store/jp9lghipjq8gym5i4i37i9q7scc8wqlp-robotnix-lineage_cheetah-2024052404.drv
/nix/store/lmq73sjh1kk0dpfqqhrqkky4cvg7vd0j-ota-tools.drv
/nix/store/k38ncc9ih0523fsisrm4wcmrwx67diap-cheetah-ota_update-2024052404.zip.drv
robotnix-lineage_cheetah> building '/nix/store/jp9lghipjq8gym5i4i37i9q7scc8wqlp-robotnix-lineage_cheetah-2024052404.drv'
robotnix-lineage_cheetah> unpacking sources
robotnix-lineage_cheetah> patching sources
robotnix-lineage_cheetah> building
robotnix-lineage_cheetah> Build type choices are:
robotnix-lineage_cheetah> 1. release
robotnix-lineage_cheetah> 2. debug
robotnix-lineage_cheetah>
robotnix-lineage_cheetah> Which would you like? [1] release
robotnix-lineage_cheetah> In file included from build/make/core/config.mk:389:
robotnix-lineage_cheetah> In file included from build/make/core/envsetup.mk:51:
robotnix-lineage_cheetah> build/make/core/release_config.mk:100: error: No release config set for target; please set TARGET_RELEASE, or if building on the command line use 'lunch <target>-<release>-<build_type>', where release is one of: ap1a.
robotnix-lineage_cheetah> 00:43:28 dumpvars failed with: exit status 1
error: builder for '/nix/store/jp9lghipjq8gym5i4i37i9q7scc8wqlp-robotnix-lineage_cheetah-2024052404.drv' failed with exit code 1;
last 10 log lines:
> building
> Build type choices are:
> 1. release
> 2. debug
>
> Which would you like? [1] release
> In file included from build/make/core/config.mk:389:
> In file included from build/make/core/envsetup.mk:51:
> build/make/core/release_config.mk:100: error: No release config set for target; please set TARGET_RELEASE, or if building on the command line use 'lunch <target>-<release>-<build_type>', where release is one of: ap1a.
> 00:43:28 dumpvars failed with: exit status 1
For full logs, run 'nix log /nix/store/jp9lghipjq8gym5i4i37i9q7scc8wqlp-robotnix-lineage_cheetah-2024052404.drv'.
error: 1 dependencies of derivation '/nix/store/k38ncc9ih0523fsisrm4wcmrwx67diap-cheetah-ota_update-2024052404.zip.drv' failed to build
┏━ 1 Errors:
┃ error: builder for '/nix/store/jp9lghipjq8gym5i4i37i9q7scc8wqlp-robotnix-lineage_cheetah-2024052404.drv' failed with exit code 1;
┃ last 10 log lines:
┃ > building
┃ > Build type choices are:
┃ > 1. release
┃ > 2. debug
┃ >
┃ > Which would you like? [1] release
┃ > In file included from build/make/core/config.mk:389:
┃ > In file included from build/make/core/envsetup.mk:51:
┃ > build/make/core/release_config.mk:100: error: No release config set for target; please set TARGET_RELEASE, or if building on the command line use 'lunch <target…
┃ > 00:43:28 dumpvars failed with: exit status 1
┃ For full logs, run 'nix log /nix/store/jp9lghipjq8gym5i4i37i9q7scc8wqlp-robotnix-lineage_cheetah-2024052404.drv'.
| 00:46:48 |
erahhal | Found this thread, but I don't see the release variant being set to "trunk" anywhere. | 01:27:15 |
atemu12 | Check whether the LOS build instructions have changed | 14:34:56 |
atemu12 | It's smells like the targets are specified differently now | 14:35:07 |
erahhal | Looking at https://wiki.lineageos.org/devices/cheetah/build/ I'm not seeing anything obvious. Will need to familiarize more with what Robotnix is doing. I assume base.nix is the right file. | 16:12:23 |
erahhal | I tried explicitly setting the target using export TARGET_RELEASE=ap1a and it goes a little further, with the following error:
robotnix-lineage_cheetah> building '/nix/store/9pnnwqhaz86hy9hlsqvf1ayz9fcp0l91-robotnix-lineage_cheetah-2024052404.drv'
robotnix-lineage_cheetah> unpacking sources
robotnix-lineage_cheetah> patching sources
robotnix-lineage_cheetah> building
robotnix-lineage_cheetah> Build type choices are:
robotnix-lineage_cheetah> 1. release
robotnix-lineage_cheetah> 2. debug
robotnix-lineage_cheetah>
robotnix-lineage_cheetah> Which would you like? [1] release
robotnix-lineage_cheetah>
robotnix-lineage_cheetah>
robotnix-lineage_cheetah> Which product would you like? [aosp_arm] lineage_cheetah
robotnix-lineage_cheetah> In file included from build/make/core/config.mk:389:
robotnix-lineage_cheetah> In file included from build/make/core/envsetup.mk:51:
robotnix-lineage_cheetah> build/make/core/release_config.mk:109: error: No release config found for TARGET_RELEASE: trunk_staging. Available releases are: ap1a.
robotnix-lineage_cheetah> 16:15:11 dumpvars failed with: exit status 1
robotnix-lineage_cheetah> ** Not a valid product: lineage_cheetah
| 16:16:26 |
| 29 May 2024 |
| raitobezarius changed their display name from raitobezarius to raitobezarius (DECT: 7248). | 17:09:57 |
erahhal | Is this line the one that is supposed to set TARGET_PRODUCT? Or is it the envsetup.sh line above? | 17:30:22 |