English

Building /e/ from scratch

I wonder if anyone in this forum has already tried compiling /e/ from the sources? Following this guide I am a little surprised that it is downloading a huge amount of data (>100 GiB so far). Is this a common size for an Android ROM repo? Or are these all sources for all devices they support?

Having finished downloading now (the directory is 177 GiB large meanwhile), I am receiving this error during build:

11:07:49 dumpvars failed with: exit status 1
Device FP3 not found. Attempting to retrieve device repository from LineageOS Github (http://github.com/LineageOS).
Repository for FP3 not found in the LineageOS Github repository list. If this is in error, you may need to manually add it to your local_manifests/roomservice.xml.

Obviously it’s not finding the needed FP3 files and then trying to get them from LineageOS Git repo which fails of course. Any ideas?

Maybe those topics in the /e/ forum help?


2 Likes

Thanks @Ingo, yes these threads explain the problem. There seems to be a private repo at their GitLab which contains vendor specific FP3 blobs as explained by Manoj from /e/:

The answer is we do not build them but get them off a FP3 image. So every time there is a FP release we sync both the sources and the proprietary blobs.
Users who want to build FP3 will also have to follow the same process and pull the files from the latest /e/ FP3 ROM or FP3 stock depending on what you are trying to build.

Not nice.

It is very problematic, indeed. It means that if the cooperation with /e/ should end one day, support for FP3 users would most likely cease. (I hope that my assumptions are plain wrong…)

Well, from my understanding you can simply extract these blobs from the latest FP3 image. That’s what /e/ is doing currently when they build a new version.

1 Like

It might not be a technical matter, but one of Fairphone policy and/or the law to decide if anyone is permitted to do this.

Yes, that’s a pretty normal size. An OS is not a little game you hack in two hours, it has millons of lines of code and resources in a variety of formats (including pre-compiled binaries, *sigh*).

You can check LineageOS’s building instructions, they mention the size you need to free in your disk prior to download the full source code (and, by the way, since eelo is pretty much LineageOS with some changes, that guide could come in handy).

I think this last message of you answers it.

BLOBs are not freely distributable in the same way as you can’t distribute a software application that you payed for (you don’t necesarily need to pay for this to apply, BTW). But since you’ve payed for it (i.e. buying the phone), you may extract them for your own use. There’s a shell script for doing so in each LineageOS device tree.

P.S.: links here are for the FP2 since FP3 is not yet a LOS officially supported device.

2 Likes

Thanks for clarifying, although that does not sound very confident to those who want to stick with /e/ OS. I guess I have been right when I decided to go with Lineage OS.

LineageOS is the same. They don’t publicly host BLOBs repos. In fact, no single aftermarket OS does this because it not permitted (you can’t redistribute software binaries without explicit permission).

2 Likes

I would assume so, since these binaries are probably some device specific drivers or other hardware related stuff. Thanks for clarifying!

1 Like

I am concerned about what could happen when /e/ might “pull the plug” one day and their repositories were no longer accessible. I do not know if it is possible to fork them, while I believe that Lineage OS itself has more potential to be maintained, since /e/ OS is a fork of Lineage, too.