<danielrf[m]>
this file specifies that additional source dirs need to be included in the build
<matthewcroughan_>
Right, so it's missing a source dir that I've specified in pyxis.nix?
<danielrf[m]>
and while robotnix handles this correctly for official devices, it doesn't know anything about the dependencies of the source dirs you manually included
<matthewcroughan_>
Sure! I get that :D
<matthewcroughan_>
wow
<samueldr>
(it also needs to happen recursively)
<matthewcroughan_>
so that -common dir I added, it's not there
<matthewcroughan_>
right?
<danielrf[m]>
thinking of the best way to do this for unofficial devices currently
<danielrf[m]>
no, I think the -common dir is there
<danielrf[m]>
but that dir needs "hardwafd/xiaomi" as well
<matthewcroughan_>
danielrf[m]: is it likely that I can override/fix this in pyxis.nix tonight? Or is this a fundamental problem?
<danielrf[m]>
Fixing it correctly might take a little while
<danielrf[m]>
but I have some time tonight to look into it
<danielrf[m]>
there isn't an trivial workaround either
<danielrf[m]>
but thanks for bringing this to my attention
<matthewcroughan_>
I knew it wouldn't be this easy :P
<danielrf[m]>
It's not too bad, just need to figure out how to better expose some of this dependency calculation to external sources
<matthewcroughan_>
You'd be bringing LineageOS to this device.
<matthewcroughan_>
Once I have it compiled, I'd be on XDA forums, perhaps even tonight with a tutorial, a video, a blog post.
<matthewcroughan_>
"Unofficial" isn't bad anymore when you have Robotnix building it :D
<danielrf[m]>
If you do make a blog post, just mention that the lineageos support in robotnix is still not currently up to the standard for vanilla/grapheneos on pixed phones
<matthewcroughan_>
Yeah, like the updater and stuff, I get that.
<matthewcroughan_>
But the fact that I can just switch between grapheneos, aosp and lineageos like it's nothing, that's magical
<matthewcroughan_>
nothing short of miraculous
<danielrf[m]>
I initially added lineageos support when prompted by samueldr
<danielrf[m]>
I don't use it personally
<matthewcroughan_>
I don't really want to, but it's the easiest to build I think.
<samueldr>
(I didn't end up using it in the end)
<danielrf[m]>
But I get that a lot of people use it, and it'd be nice to have better support for it
<matthewcroughan_>
Or could I build AOSP right now without this issue?
<matthewcroughan_>
Is this issue I have unique to LineageOS?
<danielrf[m]>
Well robotnix vanilla aosp only supports pixel phones in robotnix currently
<danielrf[m]>
and your device dirs target lineageos
<matthewcroughan_>
Oh really? That's interesting, I didn't know this was non-generic.
<matthewcroughan_>
Does this mean that Xiaomi's stock rom is based on Lineage?
<danielrf[m]>
definitely not
<danielrf[m]>
this might be non-generic, I shouldn't have made that assumption
<danielrf[m]>
it's just that they have files like the `lineage.dependencies`
<matthewcroughan_>
So what does "support" mean? If I switch my flavor to Vanilla, what would happen?
<matthewcroughan_>
Are vanilla and aosp different?
<danielrf[m]>
I use vanilla to mean the aosp provided by google
<danielrf[m]>
If you switched to `flavor="vanilla";` with these device source dirs then it just wouldn't work
<danielrf[m]>
Yeah, I'm quite certain it's not intended to work without lineageos
<danielrf[m]>
They would have options for `aosp_pyxis` instead of `lineage_pyxis` otherwise
<matthewcroughan_>
I see, interesting.
<matthewcroughan_>
danielrf[m]: getting anywhere on this? :P
<matthewcroughan_>
I can't believe I'm still fetching stuff haha
<matthewcroughan_>
Man I need faster internet.
<samueldr>
AFAIK each vendors basically havea fork of android for their needs
<samueldr>
probably not like lineageOS, but not like AOSP either, probably somewhere in-between
<samueldr>
and the fun part is that "Android" proper, it's ASL (the license), so there's no requirement for the device trees to be published, or anything like that
<samueldr>
so building AOSP would probably mean as much or more work than building e.g. LineageOS or one of its derivative, to integrate the device-specific things
<samueldr>
uh, s/building/porting/
<samueldr>
there's a reason there's nothing else on than LineageOS derivatives in custom ROMs
<samueldr>
(GrapheneOS doesn't count here, it's less of a custom ROM, more of a hardened AOSP... though I don't mean to demean the project)
<danielrf[m]>
I would like to be able to build a "vanillla AOSP" for non-pixel phones as well
<danielrf[m]>
lineageos disables a bunch of security features like AVB/dm-verity as well as using userdebug by default
<danielrf[m]>
would be nice if there was a project to make plain android work on all these phones, and then have lineageos be a layer on top of that
<danielrf[m]>
but as you said, there's no requirement for vendors to publish their sources
<danielrf[m]>
matthewcroughan_: still looking in to it
<danielrf[m]>
I might need to extend the existing updater scripts
<matthewcroughan_>
danielrf[m]: how come? LineageOS doesn't even have updater support
<danielrf[m]>
no i mean my updater scripts
<matthewcroughan_>
ah ok :D
<danielrf[m]>
includes how I get the information to determine the dependency relationships between source dirs
<matthewcroughan_>
Not flashed it yet, going to in a moment.
<danielrf[m]>
nice!
<danielrf[m]>
whether it boots is another hurdle :(
<danielrf[m]>
*:)
<matthewcroughan_>
*:(
<danielrf[m]>
no luck?
<matthewcroughan_>
No just replacing your smiley face with a sad face
<matthewcroughan_>
it's sad before it's happy
<danielrf[m]>
haha, ok
<matthewcroughan_>
Things get worse before they get better ;D
<matthewcroughan_>
danielrf[m]: Exciting. It's flashing, hasn't failed any checksumming, etc.
<matthewcroughan_>
Super cool
<matthewcroughan_>
TWRP still things the CPU is at 128712387961296C
<matthewcroughan_>
danielrf[m]: IT WORKED
<matthewcroughan_>
IT ABSOLUTELY WORKED, I"M IN
<danielrf[m]>
yay!
<matthewcroughan_>
danielrf[m]: what's the full process for upstreaming it now into robotnix?
<danielrf[m]>
oh, I don't think we should upstream unofficial lineageos builds into robotnix itself
<danielrf[m]>
that said, you can create another github repo containing your configuration and a known robotonix revision it builds against
<danielrf[m]>
We do still need to upgrade to lineage-18.1 in robotnix itself, however.
<danielrf[m]>
if you're familiar with nix flakes, making a flake that provides pyxis support could be worthwhile as well
<matthewcroughan_>
danielrf[m]: how would I do that exactly? I am familiar with flakes.
<danielrf[m]>
sorry I can't help with that at the moment, but I am working on some docs to describe how to easily share your builds
<danielrf[m]>
if you just want to have someone easily reproduce your build, I'd just make a nix expression that imports the robotnix default.nix from hmenke's branch, and passes in your configuration
<samueldr>
danielrf[m]: what's the plan for linageos major version changes? thinking about how some devices always end up being left behind, would it make sense to keep the previous versions along?
<samueldr>
e.g. you'd never be using "LineageOS", you'd always be using "LineageOS XX.Y"
<danielrf[m]>
IIRC, lineageos upstream supports the last two major releases?
<samueldr>
I don't really know
<danielrf[m]>
with some devices supporting the newer one and some only supporting the older one