[Replicant] Building Replicant 10

Tobias Tefke t.tefke at stud.fh-sm.de
Wed Jun 24 07:25:04 UTC 2020


Hi,


I tried to build Replicant 10 during the past few days and encountered 
some issues.

In this mailing list submission I'd like to describe these issues and 
provide possible solutions for them.

All patches that need to be made can be found in the attachments.


1) The first issues occured when selecting the device Replicant should 
be built for. This issue was caused because the devices were not 
correctly integrated in the build system. I wrote patches for i9300 and 
i9305 that solve this problem.

2) Some issues were undeclared properties (like you can find them in the 
build.prop file). These properties were declared in repositories from 
LineageOS that Replicant didn't fork. Rebasing all forked directories 
helped me to solve these errors, which are a result of the divergence of 
the repositories. The manifest needs to be rebased, too.

3) When building mesa, errors like "using <name of the program> is not 
allowed" occurred. I found out that these errors happen because of some 
limits Soong (a part of the build system) introduces. Soong uses a 
configuration list containing programs that can be used for building 
Android and because the mesa build needs some programs that are not on 
the list, an error message is being displayed. However, the solution is 
simple: just add the names of the programs to that list. In the 
attachments you can find the patch allowing the programs needed for the 
mesa builds. Unfortunately, we need to fork build/soong for introducing 
this patch permanently.

4) Another error occurring during the mesa build was an ImportError 
raised by Python, stating a module named 'mako' is not being found. 
Installing mako using apt or pip did not work for me. I needed to 
download mako from PyPI and copy the module to 
development/python-packages. However, this solution would require us to 
fork the development directory and I think there are better solutions. A 
reason that installing mako did not work could arise if Android uses its 
own python environment, but I don't know if that actually is the case. 
If you have a better solution for that problem, please let me know.

After making all changes described above I was able to compile Replicant 
10 and flash it to an i9300 in Dowload Mode using heimdall.


Yours,


Tobias

-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-i9300-replace-vendorsetup.sh-by-COMMON_LUNCH_CHOICES.patch
Type: text/x-diff
Size: 1504 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/replicant/attachments/20200624/02053f70/attachment.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-i9300-properly-inherit-from-LineageOS.patch
Type: text/x-diff
Size: 861 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/replicant/attachments/20200624/02053f70/attachment-0001.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-i9305-replace-vendorsetup.sh-by-COMMON_LUNCH_CHOICES.patch
Type: text/x-diff
Size: 1458 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/replicant/attachments/20200624/02053f70/attachment-0002.patch>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-Soong-allow-tools-for-building-mesa.patch
Type: text/x-diff
Size: 973 bytes
Desc: not available
URL: <http://lists.osuosl.org/pipermail/replicant/attachments/20200624/02053f70/attachment-0003.patch>


More information about the Replicant mailing list