Looking for some BUILDERS to teach / guide me

Your vendor_e and extendrom should be as post #122. Did you not get to save a roomservice.xml from a previous build ?

revision="lineage-18.1" | revision="lineage-17.1"

Is ^^ required ?

I don’t think you can hash lines out with #, better <!-- unreadable -->

White space … in chunks, is not usually seen in .xml format https://www.oracle.com/technical-resources/articles/wang-whitespace.html

Must include

<manifest> | </manifest>

they are.

i don’t understand.

have deleted the lines.

have corrected.

i think it does.

In general one would attempt a first build where the available components for the whole project were the same Android version. Then Android version can be set with repo init.

You did your research, so I should assume it is correct.

Here is an example where I attempted to mix revisions
  <project path="device/samsung/universal7870-common" remote="samsungexynos7870" name="android_device_samsung_universal7870-common" revision="lineage-18.1" />
  <project path="kernel/samsung/exynos7870" remote="samsungexynos7870" name="android_kernel_samsung_exynos7870" revision="master" />

in my local_manifest, i have deleted reference to the two additional devices covered by the build codename but with outdated branch (serranoltespr and serranolteusc) because repo sync stay stuck for a while at 99% related to those devices

antec@antec-p6-2038fr:~/android/e/R$ source build/envsetup.sh > envsetup_01.txt
find: ‘/home/antec/android/e/R/out/target/product’: Aucun fichier ou dossier de ce type
find: ‘/home/antec/android/e/R/out/target/product’: Aucun fichier ou dossier de ce type
find: ‘/home/antec/android/e/R/out/target/product’: Aucun fichier ou dossier de ce type

because there is no existing /out/target folder.

source build/envsetup.sh > envsetup_01.txt

including device/samsung/serranoltexx/vendorsetup.sh

************************************************** STARTING EXTENDROM **************************************************

ENABLE_EXTENDROM: true
EXTENDROM_PACKAGES: noMagicEarth noVOSK noPicoTTS noeSpeakTTS noPdfViewer
EOS_EDITION:
EXTENDROM_SIGNING_PATCHES:
EXTENDROM_SIGNATURE_SPOOFING:
EXTENDROM_SIGSPOOF_RESET:
EXTENDROM_SIGSPOOF_FORCE_PDIR:
EXTENDROM_TARGET_VERSION: 11
EXTENDROM_TARGET_PRODUCT: aosp
SRC_TOP: ./
EXTENDROM_PRODUCT_DEVICE=generic
EXTENDROM_BOOT_DEBUG=
EXTENDROM_DEBUG_PATH=/data/vendor_de (will be suffixed with /boot_debug)
EXTENDROM_DEBUG_PATH_SIZE_FULL=5000 KB
EXTENDROM_DEBUG_PATH_SIZE_CRASH=500 KB
EXTENDROM_DEBUG_PATH_SIZE_KERNEL=500 KB
EXTENDROM_DEBUG_PATH_SIZE_SELINUX=500 KB
e[0;31mERROR: missing required binary: aapte[0m

e[0;31mbash stack trace (first occurence is likely where you should look at):e[0m

e[0;31mERROR: last command ended with status >1< at line >142<e[0m
including vendor/e/vendorsetup.sh

[lun. 18 sept. 2023 06:28:21 CEST] Reset variables finished
including device/samsung/serranoltexx/vendorsetup.sh

************************************************** STARTING EXTENDROM **************************************************

ENABLE_EXTENDROM: true
EXTENDROM_PACKAGES: noMagicEarth noVOSK noPicoTTS noeSpeakTTS noPdfViewer
EOS_EDITION:
EXTENDROM_SIGNING_PATCHES:
EXTENDROM_SIGNATURE_SPOOFING:
EXTENDROM_SIGSPOOF_RESET:
EXTENDROM_SIGSPOOF_FORCE_PDIR:
EXTENDROM_TARGET_VERSION: 11
EXTENDROM_TARGET_PRODUCT: aosp
SRC_TOP: ./
EXTENDROM_PRODUCT_DEVICE=generic
EXTENDROM_BOOT_DEBUG=
EXTENDROM_DEBUG_PATH=/data/vendor_de (will be suffixed with /boot_debug)
EXTENDROM_DEBUG_PATH_SIZE_FULL=5000 KB
EXTENDROM_DEBUG_PATH_SIZE_CRASH=500 KB
EXTENDROM_DEBUG_PATH_SIZE_KERNEL=500 KB
EXTENDROM_DEBUG_PATH_SIZE_SELINUX=500 KB
e[0;31mERROR: missing required binary: aapte[0m

e[0;31mbash stack trace (first occurence is likely where you should look at):e[0m

e[0;31mERROR: last command ended with status >1< at line >142<e[0m
including vendor/e/vendorsetup.sh
… auto-detected CPU count: 4
… will use this thread count: 3
not exporting special var CCACHE_COMPRESS as it is an unset variable
not exporting special var CCACHE_NOCOMPRESS as it is an unset variable
emptied MIRROR ><
emptied OTA_URL ><
emptied CUSTOM_PACKAGES ><

!!!
******** /e/ - set JAVA ********
!!!

[lun. 18 sept. 2023 06:28:36 CEST] Determining correct OpenJDK version for v1-r
… checking if we need to switch Java version
… skipping touching java as we use a shipped one (/home/antec/android/e/R/prebuilts/jdk/jdk11/linux-x86)
[lun. 18 sept. 2023 06:28:36 CEST] Using Java JDK /home/antec/android/e/R/prebuilts/jdk/jdk11/linux-x86

!!!
******** /e/ - INIT ********
!!!

[lun. 18 sept. 2023 06:28:36 CEST] Preparing build environment
[lun. 18 sept. 2023 06:28:36 CEST] DEBUG: ROOT_DIR is set to: >/home/antec/android/e/R/.e/root<
Set cache size limit to 100.0 GB

!!!
******** /e/ - POSTSYNC ********
!!!

[lun. 18 sept. 2023 06:28:36 CEST] Setting “UNOFFICIAL” as release type
[lun. 18 sept. 2023 06:28:36 CEST] Adding keys path (/home/antec/android/e/R/.e/keys)
Switch back to Python3

============================================
/e/ build variables:

EOS_DEVICE=“serranoltexx”
DEBUG_LOG=“/home/antec/android/e/R/.e/logs/e-20230918-UNOFFICIAL-serranoltexx.log”
_MAX_THREADS=“3”
MAX_THREADS_ARG=“-j 3”
USE_CCACHE=“1”
CCACHE_EXEC=“/usr/bin/ccache”
CCACHE_DIR=“/home/antec/android/e/ccache/eos”
CCACHE_SIZE=“100G”
CCACHE_COMPRESS=“”
CCACHE_NOCOMPRESS=“true”
CCACHE_COMPRESSLEVEL=“6”
BRANCH_NAME=“v1-r”
RELEASE_TYPE=“UNOFFICIAL”
REPO=“https://gitlab.e.foundation/e/os/releases.git
MIRROR=“”
OTA_URL=“”
USER_NAME=“xxxxxxxxxxxxxxxxx”
USER_MAIL="xxxxxxxxxxxxxxxxx@murena.io"
INCLUDE_PROPRIETARY=“false”
BUILD_OVERLAY=“false”
LOCAL_MIRROR=“false”
CRONTAB_TIME=“now”
CLEAN_AFTER_BUILD=“false”
CLEAN_BEFORE_BUILD=“false”
WITH_SU=“false”
ANDROID_JACK_VM_ARGS=“-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx8G”
CUSTOM_PACKAGES=“”
SIGN_BUILDS=“true”
KEYS_SUBJECT=“/C=DE/ST=Somewhere/L=Somewhere/O=xxxxxxxxxxxxxxxxxx/OU=e/CN=eOS/emailAddress=android@android.local”
KEYS_SUBJECT=“/C=DE/ST=Somewhere/L=Somewhere/O=xxxxxxxxxxxxxxxxx/OU=e/CN=eOS/emailAddress=android@android.local”
ZIP_SUBDIR=“true”
LOGS_SUBDIR=“true”
SIGNATURE_SPOOFING=“restricted”
DELETE_OLD_ZIPS=“0”
DELETE_OLD_LOGS=“0”
EOS_BUILD_DATE=“20230918”
TMP_DIR=“/home/antec/android/e/R/.e/tmp”
ZIP_DIR=“/home/antec/android/e/R/.e/zips/serranoltexx”
SYNC_RESET=“0”
KEYS_DIR=“/home/antec/android/e/R/.e/keys”
MINIMAL_APPS=“true”

This is true before the build starts !

Look for a clue in build/envsetup.sh line 142 reads local T=$(gettop).

The subject was

# check to see if the supplied product is one we can build
function check_product()
e[0;31m    <e[0m

are to do with Git shell coloring

.repo/local_manifest/eos.xml <?xml version="1.0" encoding="UTF-8"?>
<!-- KERNEL
#####################################################-->

<project path="kernel/samsung/msm8930-common"
         name="LineageOS/android_kernel_samsung_msm8930-common" 
         remote="github" 
         revision="lineage-18.1" />
         
<!-- DEVICE TREES
#####################################################-->


<project path="device/samsung/qcom-common"
         name="LineageOS/android_device_samsung_qcom-common"
         remote="github"
         revision="lineage-18.1" />
         
<project path="device/samsung/msm8930-common"
         name="LineageOS/android_device_samsung_msm8930-common"
         remote="github"
         revision="lineage-18.1" />
         
<project path="device/samsung/serrano-common"
         name="LineageOS/android_device_samsung_serrano-common"
         remote="github"
         revision="lineage-18.1" />
         
<project path="device/samsung/serranoltexx"
         name="LineageOS/android_device_samsung_serranoltexx"
         remote="github"
         revision="lineage-18.1" />
         
<!-- HARDWARE
#####################################################-->
<project path="hardware/samsung"
         name="LineageOS/android_hardware_samsung"
         remote="github" />
         
<!-- /e/ vendor repo
#####################################################-->
<project path="vendor/samsung"
         name="TheMuppets/proprietary_vendor_samsung"
         remote="github"
         depth="1" />
         
<project path="vendor/e"
         name="steadfasterX/android_vendor_e"
         remote="e"
         revision="v1-r" />

<!-- vendor extendrom
##################################################### -->
<remote  name="sfX"
         fetch="https://github.com/sfX-Android/" />
       
<project path="vendor/extendrom"
         name="android_vendor_extendrom"
         remote="sfX"
         revision="main" />

OK

/device/samsung/serranoltexx/vendorsetup.sh

#!/bin/bash
#######################################################################################
export EOS_USE_CCACHE=true
export EOS_CCACHE_DIR=/home/antec/android/e/ccache/eos
export EOS_CCACHE_SIZE=100G
export EOS_DEVICE=serranoltexx
export EOS_BRANCH_NAME=“v1-r”
export EOS_RELEASE_TYPE=“UNOFFICIAL”
export MINIMAL_APPS=“$EOS_MINI_APPS”
export EOS_MINI_APPS=true
export RECOVERY_IMG=“$EOS_SAVE_RECOVERY”
export EOS_SIGNATURE_SPOOFING=restricted

########### extendrom section ###########
$PWD/vendor/extendrom/get_prebuilts.sh
export ENABLE_EXTENDROM=true
export EXTENDROM_PACKAGES=“noMagicEarth noVOSK noPicoTTS noeSpeakTTS noPdfViewer”

discutable because :

antec@antec-p6-2038fr:~/android/e/R$ source build/envsetup.sh > envsetup_01.txt
find: ‘/home/antec/android/e/R/out/target/product’: Aucun fichier ou dossier de ce type
find: ‘/home/antec/android/e/R/out/target/product’: Aucun fichier ou dossier de ce type
find: ‘/home/antec/android/e/R/out/target/product’: Aucun fichier ou dossier de ce type

/build/envsetup.sh

so i continue with

`breakfast serranoltexx`

antec@antec-p6-2038fr:~/android/e/R$ breakfast serranoltexx
Looking for dependencies in device/samsung/serranoltexx
Looking for dependencies in device/samsung/serrano-common
Looking for dependencies in device/samsung/qcom-common
Looking for dependencies in hardware/samsung
hardware/samsung has no additional dependencies.
Looking for dependencies in device/samsung/msm8930-common
device/samsung/msm8930-common has no additional dependencies.
Looking for dependencies in kernel/samsung/msm8930-common
kernel/samsung/msm8930-common has no additional dependencies.

============================================
PLATFORM_VERSION_CODENAME=REL
PLATFORM_VERSION=11
LINEAGE_VERSION=1.15""-r-20230918-UNOFFICIAL-serranoltexx
TARGET_PRODUCT=lineage_serranoltexx
TARGET_BUILD_VARIANT=userdebug
TARGET_BUILD_TYPE=release
TARGET_ARCH=arm
TARGET_ARCH_VARIANT=armv7-a-neon
TARGET_CPU_VARIANT=generic
HOST_ARCH=x86_64
HOST_2ND_ARCH=x86
HOST_OS=linux
HOST_OS_EXTRA=Linux-5.15.0-83-generic-x86_64-Ubuntu-20.04.6-LTS
HOST_CROSS_OS=windows
HOST_CROSS_ARCH=x86
HOST_CROSS_2ND_ARCH=x86_64
HOST_BUILD_TYPE=release
BUILD_ID=RQ3A.211001.001
OUT_DIR=out
PRODUCT_SOONG_NAMESPACES=vendor/samsung/serrano-common device/samsung/serrano-common vendor/samsung/serranoltexx hardware/qcom-caf/msm8960 vendor/qcom/opensource/data-ipa-cfg-mgr vendor/qcom/opensource/dataservices packages/apps/Bluetooth
WITH_SU=false

and

mka eos

result in "out of system space"

Out of space? Out of inodes? The tree size of /home/antec/android/e/R/out/soong/.temp/tmpdSgQ9X is 1771503616 bytes (1689 MB), with reserved space of 0 bytes (0 MB).
The max image size for filesystem files is 1572864000 bytes (1500 MB), out of a total partition size of 1572864000 bytes (1500 MB).
12:44:33 ninja failed with: exit status 1

failed to build some targets (05:30:05 (hh:mm:ss))

.

but difference is less than the last time

Out of space? Out of inodes? The tree size of /home/antec/android/e/R/out/soong/.temp/tmpP4gD4X is 1909393408 bytes (1820 MB), with reserved space of 0 bytes (0 MB).
The max image size for filesystem files is 1572864000 bytes (1500 MB), out of a total partition size of 1572864000 bytes (1500 MB).

Your extendrom list has not knocked out sufficient “weight”. It is not linear but check the “weight” of prebuilts here Looking for some BUILDERS to teach / guide me - #79 by aibd. (Browser is large but not that large !)

I think MINIMAL_APP=true already eliminated MagicEarth and PdfViewer. I mentioned already the different permutations I tried with this link Looking for some BUILDERS to teach / guide me - #126 by aibd

1 Like

that was my sort of “MINIMAL_APPS” build test to keep “UNOFFICIAL”.

i had also prepared a sort of “RADICAL_MINIMAL_APPS” but it is clearly “CUSTOM” :

vendorsetup.sh

#!/bin/bash
#######################################################################################
export EOS_USE_CCACHE=true
export EOS_CCACHE_SIZE=100G
export EOS_CCACHE_DIR=/home/antec/android/e/ccache/eos
export EOS_DEVICE=serranoltexx
export EOS_BRANCH_NAME=“v1-r”
export EOS_RELEASE_TYPE=“CUSTOM_SLIM”
export EOS_MINI_APPS=true
export EOS_SIGNATURE_SPOOFING=restricted
export EOS_SAVE_RECOVERY=true

########### extendrom section ###########
$PWD/vendor/extendrom/get_prebuilts.sh
export ENABLE_EXTENDROM=true
export EXTENDROM_PACKAGES=“noApps noGmsCore noFakeStore noMozillaNlpBackend noNominatimNlpBackend noGsfProxy noTalkback noVOSK noPicoTTS noeSpeakTTS noMagicEarth noPdfViewer noOpenWeatherMapWeatherProvider noWebCalendarManager noNotes”

what do you think about this exclusion list ?

My inclination is to get something to build so that you can boot it and see the behaviour even if you knock out too much.

Your second build in this environment will be much faster, so the cost of “experimentation” is lower.

You appear to have 1.4 G available, while bacon has 1.2G.

You might double check the /e/ OS packages which your build environment proposes to install by looking here /vendor/lineage/config/common.mk about line 140.

Avoid duplication

“noApps noGmsCore noFakeStore noMozillaNlpBackend noNominatimNlpBackend noGsfProxy noPicoTTS noeSpeakTTS noMagicEarth noPdfViewer noOpenWeatherMapWeatherProvider”

MINIMAL_APP=true already eliminated MagicEarth and PdfViewer

@piero duplication is noMagicEarth noPdfViewer.

what i did just now was :

  1. modify device/samsung/serranoltexx/vendorsetup.sh

  2. here i must have missed something…

then,

  1. antec@antec-p6-2038fr:~/android/e/R$ source build/envsetup.sh > envsetup_01.txt

  2. antec@antec-p6-2038fr:~/android/e/R$ breakfast serranoltexx

  3. antec@antec-p6-2038fr:~/android/e/R$ mka eos

because it return exactly the same result as previous build :

Out of space? Out of inodes? The tree size of /home/antec/android/e/R/out/soong/.temp/tmpxNs5JT is 1771505664 bytes (1689 MB), with reserved space of 0 bytes (0 MB).
The max image size for filesystem files is 1572864000 bytes (1500 MB), out of a total partition size of 1572864000 bytes (1500 MB).
ninja: build stopped: subcommand failed.

#### failed to build some targets (07:09 (mm:ss)) ####

.

because /source/build/envsetup.sh was unchanged ! since 02h00 (UTC)

Use of run is not correct (maybe the inclusion of lunch helps)

From https://github.com/sfX-android/android_vendor_extendrom/wiki/Setup

The regular build process should always be like:

source build/envsetup.sh
lunch lineage_j5y17lte-user
mka otapackage
# (or mka eos when buildin /e/)

Also the use of > envsetup_01.txt may be unhelpful for small edits.

antec@antec-p6-2038fr:~/android/e/R$ source build/envsetup.sh
antec@antec-p6-2038fr:~/android/e/R$ lunch lineage_serranoltexx-user
antec@antec-p6-2038fr:~/android/e/R$ mka eos

) violated by allow vendor_fm_app bluetooth_prop:file { read getattr map open };
libsepol.report_failure: neverallow on line 10 of system/sepolicy/public/apexd.te (or line 9517 of policy.con
f) violated by allow system_app apexd:binder { call };
libsepol.report_failure: neverallow on line 9 of system/sepolicy/public/apexd.te (or line 9516 of policy.conf
) violated by allow system_app apex_service:service_manager { find };
libsepol.check_assertions: 119868 neverallow failures occurred
Error while expanding policy
15:53:35 ninja failed with: exit status 1
ninja: build stopped: subcommand failed.

#### failed to build some targets (03:07 (mm:ss)) ####

latest error.log (13h54 UTC)

maybe lunch eos_serranoltexx-user will be a better idea ?

but /source/build/envsetup.sh is still unchanged since 02h00 UTC ! (am)

I think user is wrong ! (in this case)

Edit suggested confirmed – https://forum.xda-developers.com/t/thousands-of-violations-against-neverallows-in-building-user-variant.4207045/. One could look for a cause later.

user:
Limited access; suited for production

userdebug:
Like user but with root access and debug capability; very close to production performance

eng:
Development configuration with faster build time; most suited for day-to-day development

so, lunch eos_serranoltexx-userdebug ?
.
also i think about redoing repo sync… edit : i do

eos_serranoltexx-userdebug

userdebug (or even eng)
but no to eos_serranoltexx-userdebug

1 Like

/build/envsetup.sh is still the same since 02h00 UTC

even after :

repo init -u https://gitlab.e.foundation/e/os/android.git -b v1-r
repo sync
repo forall -c 'git lfs pull'
source build/envsetup.sh
lunch lineage_serranoltexx-userdebug
mka eos

i think i need to delete build generated files using a " r m " command…

i will try to to restart building after a make clean

I have seen the output of envsetup.sh remain unchanged with edits. So this output is only really useful on the first run to check for gross error. You got such an error reported by envsetup.sh, Post #138. So the device.xml is not beyond suspicion but likely OK as builds were completing (oversize).

However I expect the envsetup.sh output to include the “extendrom intention”. Is that still seen ?

Which of the three options did you use to activate and configure extendrom ?
I prefer Option 2

lunch lineage_serranoltexx-user is this a sign you are short of sleep ? :slightly_smiling_face:

eng is suitable as you are “developing” for device seemingly too small for regular /e/OS.

no, last command was userdebug, but to post on the forum i have copied from an old note

that’s somrthing i have missed !

.

but not the cause of the error during source build/envsetup.sh

antec@antec-p6-2038fr:~/android/e/R$ source build/envsetup.sh
including device/samsung/serranoltexx/vendorsetup.sh


************************************************** STARTING EXTENDROM **************************************************


ENABLE_EXTENDROM: true
EXTENDROM_PACKAGES: noApps noGmsCore noFakeStore noMozillaNlpBackend noNominatimNlpBackend noGsfProxy noTalkback noVOSK noPicoTTS noeSpeakTTS noMagicEarth noPdfViewer noOpenWeatherMapWeatherProvider noWebCalendarManager noNotes
EOS_EDITION: 
EXTENDROM_SIGNING_PATCHES: 
EXTENDROM_SIGNATURE_SPOOFING: 
EXTENDROM_SIGSPOOF_RESET: 
EXTENDROM_SIGSPOOF_FORCE_PDIR: 
EXTENDROM_TARGET_VERSION: 11
EXTENDROM_TARGET_PRODUCT: lineage
SRC_TOP: ./
EXTENDROM_PRODUCT_DEVICE=serranoltexx
EXTENDROM_BOOT_DEBUG=
EXTENDROM_DEBUG_PATH=/data/vendor_de (will be suffixed with /boot_debug)
EXTENDROM_DEBUG_PATH_SIZE_FULL=5000 KB
EXTENDROM_DEBUG_PATH_SIZE_CRASH=500 KB
EXTENDROM_DEBUG_PATH_SIZE_KERNEL=500 KB
EXTENDROM_DEBUG_PATH_SIZE_SELINUX=500 KB
ERROR: missing required binary: aapt

bash stack trace (first occurence is likely where you should look at):

ERROR: last command ended with status >1< at line >142<


line 142 :

# check to see if the supplied product is one we can build
function check_product()
{
    local T=$(gettop)
    if [ ! "$T" ]; then
        echo "Couldn't locate the top of the tree.  Try setting TOP." >&2
        return
    fi
    if (echo -n $1 | grep -q -e "^lineage_") ; then
        LINEAGE_BUILD=$(echo -n $1 | sed -e 's/^lineage_//g')
    else
        LINEAGE_BUILD=
    fi
    export LINEAGE_BUILD

        TARGET_PRODUCT=$1 \
        TARGET_BUILD_VARIANT= \
        TARGET_BUILD_TYPE= \
        TARGET_BUILD_APPS= \
        get_build_var TARGET_DEVICE > /dev/null
    # hide successful answers, but allow the errors to show
}

must be something like :
SRC_TOP: ./e

So can we say what changed just before this error was seen ? I was about Post #136 ?