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
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
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
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
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.
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).
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.
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)
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)) ####
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 ?
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
}