[ASUS ZenFone 8] bnsmb:
Notes:

The info below are for building OmniROM 14 for the ASUS Zenfone 8. But I assume that this is also true for other AOSP based custom ROMs.

brunch and breakfast are commands defined in the init script for OmniROM and may not be available in other Custom ROMs

Credits

Thanks to the OmniROM developer for this hint

Attempting to create a new OmniROM image based on Android 14 using the well-known parameter for the command lunch in Q1 2024 or later may fail with this error:

[ OmniRom 14 Dev - xtrnaw7@t15g /data/develop/android/OmniROM_14.0 ] $ lunch omni_zenfone8-user

Invalid lunch combo: omni_zenfone8-user
Valid combos must be of the form <product>-<release>-<variant>
[ OmniRom 14 Dev - xtrnaw7@t15g /data/develop/android/OmniROM_14.0 ] $

This is because Google changed the naming conventions for Android releases created with Google's repositories in QPR2 (QPR = Quarterly Platform Releases) :

It's now necessary to specify a specific version to create a new image using the commands lunch and brunch (see envsetup.sh).

To get the necessary values for the lunch and brunch command check the entries in the file AndroidProducts.mk for your device:

[ OmniRom 14 Dev - xtrnaw7@t15g /data/develop/android/OmniROM_14.0 ] $ cat ./device/asus/zenfone8/AndroidProducts.mk
PRODUCT_MAKEFILES := \
$(LOCAL_DIR)/omni_zenfone8.mk

COMMON_LUNCH_CHOICES := \
omni_zenfone8-ap1a-user \
omni_zenfone8-ap1a-userdebug \
omni_zenfone8-ap1a-eng

(the example above is for a ASUS Zenfone 8; the file used for other phones is most probably in a different directory, of course)

So the commands lunch and brunch to build the OmniROM 14 image for an ASUS Zenfone 8 are now:

lunch omni_zenfone8-ap1a-user

brunch zenfone8 ap1a user

(use the parameter eng or userdebug instead of user for one of the other flavours of the ROM image).

The version string used, ap1a, is part of the build_id for the current security patch level:

View attachment 6085618

(see here: https://source.android.com/docs/setup/reference/build-numbers#source-code-tags-and-builds)

To check whether an AOSP source tree uses the new version definition, check whether the repository build/release exists, e.g:

[ OmniRom 14 Dev - xtrnaw7@t15g /devpool001/develop/OmniROM_14.0 ] $ repo info build/release
Manifest branch: refs/tags/android-14.0.0_r29
Manifest merge branch: refs/heads/android-14.0
Manifest groups: default,platform-linux
----------------------------
Project: platform/build/release
Mount path: /devpool001/develop/OmniROM_14.0/build/release
Current revision: b63ef38d4ff1ced7ed8c16733b2b19c8d421aff8
Manifest revision: refs/tags/android-14.0.0_r29
Local Branches: 0
----------------------------
[ OmniRom 14 Dev - xtrnaw7@t15g /devpool001/develop/OmniROM_14.0 ] $

In an AOSP source tree using the old version definitions the output looks like this:

[ OmniRom 14 Dev - xtrnaw7@t15g /devpool001/develop/OmniROM_14.0_patch_2024-02-05 ] $ repo info build/release
Manifest branch: refs/tags/android-14.0.0_r27
Manifest merge branch: refs/heads/android-14.0
Manifest groups: default,platform-linux
----------------------------
error: project build/release not found
[ OmniRom 14 Dev - xtrnaw7@t15g /devpool001/develop/OmniROM_14.0_patch_2024-02-05 ] $

I wrote a little script, print_security_patch, to print the current Security Patch level and build id for an AOSP based repository tree.

This script works for repositories that were last updated before Q1 2024 and after Q1 2024.

The script was only tested with the repositories for OmniROM 14 but I think it should work with every AOSP based repository tree.

Usage:

[ OmniRom 14 Dev - xtrnaw7@t15g /data/develop/android/OmniROM_14.0 ] $ /data/develop/android/scripts_on_linux/print_security_patch -h

print_security_patch - print the security patch and the the build id used in an repository tree for AOSP

This script works for repositories that were last updated before Q1 2024 and after Q1 2024.
The script must be executed at the top level in a repository tree for AOSP

[ OmniRom 14 Dev - xtrnaw7@t15g /data/develop/android/OmniROM_14.0 ] $

Spoiler content hidden.

Update 09.04.2024

There is now a version of the script with enhanced functionality avaliable see

How to print the security patch level used in repositories or ROM image zip files

The script can be downloaded from here: print_security_patch

Notes

Note that as of 29.03.2024 the command breakfast does not work anymore in repository trees with the new version definitions.

See How to compile the OmniROM 14 for the the ASUS Zenfone 8 for general instructions how to create your own Custom ROM image with OmniROM 14.