A newbie who wants to build /e/ Pie, possible?

This is the latest Docker build command.
Run this command to get the latest image first.
Not sure if you have tried running a supported device build first to check if everything works.

adopt the rest from the official documentation as harvey and manoj posted, my scripts are outdated and need updates :smiley:

1 Like

Yes, the sources tree is now different and all included

1 Like

Now that I have my roomservice.xml file and I know where to put it, I’m almost ready to try this night (the only moment I can have the laptop for hours, so I can only try one time per day and I have the surprise when a wake up).

Here is what I will do, (in case you see a mistake, a useless or missing thing) :

sudo docker run \
-v "/srv/e/src:/srv/src" \
-v "/srv/e/zips:/srv/zips" \
-v "/srv/e/logs:/srv/logs" \
-v "/srv/e/ccache:/srv/ccache" \
-v "/srv/e/local_manifests:/srv/local_manifests:delegated" \
-e "BRANCH_NAME=v1-oreo" \
-e "DEVICE_LIST=j5nlte" \
-e "INCLUDE_PROPRIETARY=false" \
-e "OTA_URL=https://ota.ecloud.global/api" \
-e "REPO=https://gitlab.e.foundation/e/os/android.git" \
registry.gitlab.e.foundation:5000/e/os/docker-lineage-cicd:community

I’m not sure if the “:delegated” is useful since now it’s not after “/srv/src”, “/srv/zips/”, “/srv/logs”, and “/srv/ccache” anymore.

And what about the “OTA_URL” line ? Will I receive OTA update if I flash this unofficial /e/OS Oreo, which is already supported by /e/ ? In the documentation the line is here but not filed.

And to achive my main goal, build a Pie version, the only thing I will have to do is modify a little the roomservice.xml and the “v1-pie” line ? Sounds too easy ahah :yum:

For pie you have to change branch to v1-pie but also in your roomservice the revision. Also don t forget the line include proprietary…

Okay I will add the following line, thanks.

-e “INCLUDE_PROPRIETARY=false” \

1 Like

Also is your local_manifest folder really directly in /srv or in /srv/e ?

Yes you’re right it’s in /srv/e. Thanks again and again

1 Like

Bad news, it failed, with exactly the same logs that the first time.

I put the following roomservice.xml file in /srv/e/local_manifests :

<?xml version="1.0" encoding="UTF-8"?>
<manifest>

  <remote  name="Galaxy-MSM8916"
           fetch="https://github.com"
           review="review.msm8916.com"
           revision="lineage-15.1" />

  <remove-project name="device/generic/mini-emulator-arm64" />
  <remove-project name="device/generic/mini-emulator-x86" />
  <remove-project name="device/generic/mini-emulator-x86_64" />
  <remove-project name="device/generic/qemu" />
  <remove-project name="device/generic/x86" />
  <remove-project name="device/generic/x86_64" />

  <remove-project name="platform/prebuilts/android-emulator" />
  <remove-project name="platform/prebuilts/clang/host/darwin-x86"/>
  <remove-project name="platform/prebuilts/gcc/darwin-x86/arm/arm-eabi-4.8" />
  <remove-project name="platform/prebuilts/gcc/darwin-x86/arm/arm-linux-androideabi-4.9" />
  <remove-project name="platform/prebuilts/gcc/darwin-x86/aarch64/aarch64-linux-android-4.9" />
  <remove-project name="platform/prebuilts/gcc/darwin-x86/host/i686-apple-darwin-4.2.1" />
  <remove-project name="platform/prebuilts/gcc/darwin-x86/x86/x86_64-linux-android-4.9" />
  <remove-project name="platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9" />
  <remove-project name="platform/prebuilts/gdb/darwin-x86"/>
  <remove-project name="platform/prebuilts/go/darwin-x86"/>
  <remove-project name="platform/prebuilts/python/darwin-x86/2.7.5" />
  <remove-project name="platform/prebuilts/gradle-plugin" />
  <remove-project name="platform/prebuilts/libs/libedit" />

  <remove-project name="platform/sdk" />

 <!-- Samsung MSM8916 Common Repos -->
  <project path="device/samsung/msm8916-common" name="Galaxy-MSM8916/android_device_samsung_msm8916-common" groups="device" remote="Galaxy-MSM8916"/>
  <project path="device/samsung/qcom-common" name="LineageOS/android_device_samsung_qcom-common" groups="device" remote="github" revision="lineage-15.1"/>

 <!-- Samsung Hardware Repo -->
  <project path="hardware/samsung" name="LineageOS/android_hardware_samsung" />

 <!-- Common Samsung MSM8916 Kernel -->
  <project path="kernel/samsung/msm8916" name="Galaxy-MSM8916/android_kernel_samsung_msm8916" remote="Galaxy-MSM8916"/>

 <!-- Vendor Trees (for all devices) -->
  <project path="vendor/samsung" name="Galaxy-MSM8916/proprietary_vendor_samsung" groups="device" remote="Galaxy-MSM8916"/>

 <!-- Qcom audio  -->
  <remove-project name="LineageOS/android_hardware_qcom_audio"/>
  <project path="hardware/qcom/audio-caf/msm8916" name="Galaxy-MSM8916/android_hardware_qcom_audio" groups="qcom,qcom_audio,pdk" revision="lineage-15.1-caf-8916" />

 <!-- Qcom Common -->
  <project path="device/qcom/common" name="LineageOS/android_device_qcom_common"/>

 <!-- Dependencies -->
  <project path="external/busybox" name="omnirom/android_external_busybox" remote="github" revision="android-8.1"/>
  <project path="external/sony/boringssl-compat" name="LineageOS/android_external_sony_boringssl-compat" remote="github" revision="lineage-15.1"/>
  <project path="packages/resources/devicesettings" name="LineageOS/android_packages_resources_devicesettings"/>

 <!-- arm-eabi-7.2 -->
  <project path="prebuilts/gcc/linux-x86/arm/arm-eabi-7.2" name="Galaxy-MSM8916/android-prebuilts-gcc-linux-x86-arm-arm-eabi-7.2" remote="github" revision="master"/>

 <!-- Galaxy J5 (2015) -->
  <project path="device/samsung/j5-common" name="Galaxy-MSM8916/android_device_samsung_j5-common" groups="device" remote="Galaxy-MSM8916"/>
  <project path="device/samsung/j5nlte" name="Galaxy-MSM8916/android_device_samsung_j5nlte" groups="device" remote="Galaxy-MSM8916"/>

</manifest>

What I entered in the terminal :

sudo docker pull registry.gitlab.e.foundation:5000/e/os/docker-lineage-cicd:community

sudo docker run \
-v "/srv/e/src:/srv/src" \
-v "/srv/e/zips:/srv/zips" \
-v "/srv/e/logs:/srv/logs" \
-v "/srv/e/ccache:/srv/ccache" \
-v "/srv/e/local_manifests:/srv/local_manifests:delegated" \
-e "BRANCH_NAME=v1-oreo" \
-e "DEVICE_LIST=j5nlte" \
-e "INCLUDE_PROPRIETARY=false" \
-e "OTA_URL=https://ota.ecloud.global/api" \
-e "REPO=https://gitlab.e.foundation/e/os/android.git" \
registry.gitlab.e.foundation:5000/e/os/docker-lineage-cicd:community

What I had on screen :

anonyme@anonyme-VirtualBox:~$ sudo docker run -v "/srv/e/src:/srv/src" -v "/srv/e/zips:/srv/zips" -v "/srv/e/logs:/srv/logs" -v "/srv/e/ccache:/srv/ccache" -v "/srv/e/local_manifests:/srv/local_manifests:delegated" -e "BRANCH_NAME=v1-oreo" -e "DEVICE_LIST=j5nlte" -e "INCLUDE_PROPRIETARY=false" -e "OTA_URL=https://ota.ecloud.global/api" -e "REPO=https://gitlab.e.foundation/e/os/android.git" registry.gitlab.e.foundation:5000/e/os/docker-lineage-cicd:community
Set cache size limit to 50.0 GB
>> [Thu Apr 30 16:24:11 UTC 2020] Branch:  v1-oreo
>> [Thu Apr 30 16:24:11 UTC 2020] Devices: j5nlte,
>> [Thu Apr 30 16:24:11 UTC 2020] (Re)initializing branch repository
>> [Thu Apr 30 16:24:12 UTC 2020] Copying '/srv/local_manifests/*.xml' to '.repo/local_manifests/'
>> [Thu Apr 30 16:24:12 UTC 2020] Syncing branch repository
>> [Thu Apr 30 16:24:13 UTC 2020] Setting "UNOFFICIAL" as release type
>> [Thu Apr 30 16:24:13 UTC 2020] Adding OTA URL overlay (for custom URL https://ota.ecloud.global/api)
>> [Thu Apr 30 16:24:13 UTC 2020] Using OpenJDK 8
>> [Thu Apr 30 16:24:13 UTC 2020] Preparing build environment
>> [Thu Apr 30 16:24:14 UTC 2020] Starting build for j5nlte, v1-oreo branch
ANDROID_JACK_VM_ARGS=-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G
Switch to Python2
>> [Thu Apr 30 16:24:15 UTC 2020] Failed build for j5nlte
>> [Thu Apr 30 16:24:15 UTC 2020] Finishing build for j5nlte
>> [Thu Apr 30 16:24:15 UTC 2020] Cleaning source dir for device j5nlte
Switch back to Python3

What I have in the /srv/e/logs/j5nlte/eelo-0.9-20200430-UNOFFICIAL-j5nlte.log file :

>> [Thu Apr 30 16:24:14 UTC 2020] Starting build for j5nlte, v1-oreo branch
including vendor/lineage/vendorsetup.sh
build/core/product_config.mk:238: *** Can not locate config makefile for product "lineage_j5nlte".  Stop.
Device j5nlte not found. Attempting to retrieve device repository from LineageOS Github (http://github.com/LineageOS).
Repository for j5nlte 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.
build/core/product_config.mk:238: *** Can not locate config makefile for product "lineage_j5nlte".  Stop.
build/core/product_config.mk:238: *** Can not locate config makefile for product "lineage_j5nlte".  Stop.

** Don't have a product spec for: 'lineage_j5nlte'
** Do you have the right repo manifest?

No such item in brunch menu. Try 'breakfast'
>> [Thu Apr 30 16:24:15 UTC 2020] Failed build for j5nlte
>> [Thu Apr 30 16:24:15 UTC 2020] Finishing build for j5nlte
>> [Thu Apr 30 16:24:15 UTC 2020] Cleaning source dir for device j5nlte
16:24:18 Entire build directory removed.

#### build completed successfully (3 seconds) ####

What I have in the /srv/e/logs/repo-20200430.log file :

>> [Thu Apr 30 16:24:11 UTC 2020] (Re)initializing branch repository
fatal: manifest 'default.xml' not available
fatal: remove-project element specifies non-existent project: LineageOS/android_hardware_qcom_audio
>> [Thu Apr 30 16:24:12 UTC 2020] Syncing branch repository
fatal: remove-project element specifies non-existent project: LineageOS/android_hardware_qcom_audio

I tried to put everything directly in /srv instead of /srv/e but same thing, I tried without the “:delegated” but same thing.

could you please try with these lines added to your roomservice:


otherwise i will check if it is possible for me to build this night…

for me the roomservice.xml looks very very strange !!!
why all these removes ??

And by the way, your headline is ‘build for pie’, but your docker command is for oreo ??

My roomservice.xml looking allways like this https://ecloud.global/s/GczxjZxG9AA8deR

some project need their own projects patched and apllied, i had quite a few now that were that needed to have something removed of roomservice and also build from the same source as this local_manifest came from succesful for another device :slight_smile:

But the sources are from los15.1. why not using LOS16 sources ??

and I can’t find device sources, only device kernel sources

That i dont know…

just what you linked are device sources…

Here is the complete manifest https://github.com/Galaxy-MSM8916/local_manifests

is that the rommservice you have used ??

clone it and start over with pie

I thought it would be better to start with Oreo then Pie but I will also try Pie now.

Thanks for the example of roomservice.

use that from git https://github.com/Galaxy-MSM8916/local_manifests

and it should work (I hope)

I used this one : https://github.com/Galaxy-MSM8916/local_manifests/blob/master/lineage-15.1.xml (with removal of some strings not related to my device)

When you say that, do you mean “use https://github.com/Galaxy-MSM8916/local_manifests/blob/master/lineage-16.0.xml” ?

Thanks.

1 Like

yes that should be the one, though you can delete the stuff that isn t for your build again :slight_smile:

Newbie question : if it didn’t work with Oreo, why would it work with Pie since both the roomservice.xml are from the same “provider” and are similar ?