Compare commits

...

14 commits

Author SHA1 Message Date
Chirayu Desai
43bfd62c88 No more spam
Change-Id: If570268c50eabcbfa357918b1266855f83119233
2024-09-07 22:30:13 +00:00
Chirayu Desai
9061de7a60 Don't set PRODUCT_ENABLE_UFFD_GC by default
* Overriding this from devices doesn't work
* Using ?= here doesn't work either
* It still defaults to "default" based on other places
  and works the same, so let's just remove this

Change-Id: Ie9d732796a46770c11a7608e7c0990653d59fbd0
2024-09-07 22:14:27 +00:00
Michael Bestas
42ab2790f8 Remove non existent health 2.0 recovery package
Health 2.0 targets have been removed in change
I8e1eb743d978315ae9b5b516d3e2e9dc6151d2c2

Test: m, observe "includes non-existent modules in PRODUCT_PACKAGES"
      error is no longer present.
Change-Id: Idd910dfe7028cf0f39e11451a256807c24063061
2024-09-07 22:14:27 +00:00
Chirayu Desai
c8feb79c73 Revert "Add DeviceDiagnostics.apk"
This reverts commit 3cff79686f.

Reason: Not present in AOSP

Change-Id: If4a812327bc44d1fba880726b601971cc946147d
2024-09-07 22:14:27 +00:00
Aaron Kling
107c120b77 Allow passing makefile path to enforce-product-packages-exist
To allow enforcing at a product level

Change-Id: I75084246be885a163260bed42f2b13e0db388f85
2024-09-07 22:14:27 +00:00
LuK1337
d82693def7 Disable sparse images for A/B updater targets
In past, brillo_update_payload was unsparsing all images before putting
them in payload.bin, now we ought to unsparse them ourselves here.

Change-Id: I69baa71678f8116ed8e256bd629a1af9bad13ba8
2024-09-07 22:14:27 +00:00
Michael Bestas
51bd6dd955 envsetup: Automatically set INLINE_KERNEL_BUILDING for QCOM devices
Change-Id: I2404adf572bdafb91edc66a19a83a2696004b33f
2024-09-07 22:14:27 +00:00
Rashed Abdel-Tawab
e937a902a4 build: Automatically replace old-style kernel header includes with new header lib
This is a combination of 3 commits.
This is the 1st commit message:

build: add kernel header dependency if module uses kernel headers

Many of the QCOM components use kernel headers, but don't declare
the dependency on them.  This is fine in CAF because of the way they
build the boot.img before anything else.  In CM, we don't build the
boot.img the same, so we run into a race between the kernel build &
these modules... and the modules lose.

Warn about modules that have this missing dependency, and add it for
them so we don't have to modify each Android.mk.

Change-Id: I95f1e47b5ef440f6f5d8f64a0c3f38d9572e839e

============================================================================
This is the commit message #2:

build: Switch kernel header inclusion

The build is switching to the target INSTALLED_KERNEL_HEADERS to
declare dependencies on kernel headers.

Change-Id: I913e74681b02dfcf1eaed3d1e47ff4ab2300b12d

============================================================================
This is the commit message #3:

build: Automatically replace old-style kernel header includes with new header lib

Since we do this via soong and the result is a header library, just replace all
legacy include paths that point to the old header location with calls to the new
header library. Since we no longer have the legacy include, we can also remove
the additional dependency.

This reverts commit fa798218e5b7f96e12ab3acc9d47a3f26a140777.

Change-Id: I716955534e50831e6568ca01e480aa8b90075d92
2024-09-07 22:14:27 +00:00
Chirayu Desai
3c1a51f132 Add vendor_kernel_boot files to target-files-package
* This is a required dependency of target-files-package
so that it can be built from a clean build.

Test: rm -rf out/target/product && m target-files-package
Change-Id: I89e60f47e3e2cd6029a92b1aca505acd9cf4645b
2024-09-07 22:14:27 +00:00
Trevor Drake
6e20526569 Teach atree about absolute path and fix misleading error message
sdk build was failing when OUT_DIR_COMMON_BASE is an absolute path

Change-Id: Ie84b94a4de19a837a93d4a8338d4ef23f9a5ee4e
2024-09-07 22:14:27 +00:00
dianlujitao
61b7b801b6 Add extra variables to _readonly_late_variables
These are modified by us at a later stage, so be sure
to allow it.

Change-Id: Ib26e83e10aeb6c107fd6e5757185c05cd6665760
2024-09-07 20:34:31 +00:00
Luca Stefani
05ff189cd0 build: Add tequila build support
* Based on "build: Add Lineage build support"

Squashed also with the following changes:

  Author: Luca Stefani <luca020400@lineageos.org>
  Date:   Thu Aug 17 22:22:13 2017 +0200

    core: Include Lineage pathmap

  Change-Id: Ie25dee383cc5bc9bb6390cff2cb2460d526d80b6

  Author: Simon Shields <simon@lineageos.org>
  Date:   Fri Mar 2 12:55:47 2018 +1100

    build: unconditionally use lineage pathmap

    even if we're not building a lineage target, we need to
    use the lineage pathmap to make things like recovery and ril
    happy

  Change-Id: I974c30ad10d4ff5b7805c3df9c22010f1e002bf1

  Author: Luca Stefani <luca020400@lineageos.org>
  Date:   Fri Aug 18 10:17:00 2017 +0200

    envsetup: Call fixup_common_out_dir

  Change-Id: I84e16b0df5822cfd8514c46d709109a13c20f86e

  Author: Adrian DC <radian.dc@gmail.com>
  Date:   Sat May 12 11:24:33 2018 +0200

    build: Include LineageOS specific properties in build.prop

     * Our properties were supposed to go to /system/etc/prop.default
        after the following commit:
        "lineage: Move to Google's method of defining system default props"
        Change-Id: I6cb0e28a7599b010b389cc541015a37010a00f4b

     * However if BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED is not true,
        only /default.prop will retain the properties contents of
        ADDITIONAL_DEFAULT_PROPERTIES and PRODUCT_SYSTEM_DEFAULT_PROPERTIES,
        and none of our versioning identification was held in the system

     * Enabling BOARD_PROPERTY_OVERRIDES_SPLIT_ENABLED globally would
        break all properties on devices that handle partitions usually
        at the device level rather than the kernel due to mounting races

     * Include the vendor/lineage/config/main.mk entrypoint to be allowed
        to extend ADDITION_BUILD_PROPERTIES as we need to define our releases

  Change-Id: I19918eece0f0dd3ee967db0339b4d09c9a6d540e
  Signed-off-by: Adrian DC <radian.dc@gmail.com>

  Author: dianlujitao <dianlujitao@lineageos.org>
  Date:   Thu Sep 5 21:56:36 2019 +0800

    product: Exclude AOSP apn list on Lineage build

    Change-Id: I1fd10089421a2e4b57ef565d87ad1f6036bd1898

  Author: Michael Bestas <mkbestas@gmail.com>
  Date:   Fri Dec 4 22:01:21 2020 +0200

    Include Calyx sepolicy before including soong config

    ...otherwise property_contexts are not generated properly

    Change-Id: I426191b8b675b6ab44f79a20e481c732e4efced7

Change-Id: Iab8b2ef8b644a7bea10bfd28b99d9e69539b1357
2024-09-07 20:34:18 +00:00
Michael Bestas
57f681ac39 Source tequila specific envsetup
Change-Id: I39d3e711a6beab47e3284919a9a4fef15b0f40b9
2024-09-07 20:31:06 +00:00
Chirayu Desai
38db97dd09 envsetup: export ANDROID_BUILD_TOP earlier
Change-Id: Ia3497f61f4e9aaeeb793cecd3b4f488f0a48181a
2024-09-07 20:31:06 +00:00
13 changed files with 93 additions and 20 deletions

View file

@ -2142,9 +2142,11 @@ $(if $(BOARD_$(_var)IMAGE_SQUASHFS_COMPRESSOR),$(hide) echo "$(1)_squashfs_compr
$(if $(BOARD_$(_var)IMAGE_SQUASHFS_COMPRESSOR_OPT),$(hide) echo "$(1)_squashfs_compressor_opt=$(BOARD_$(_var)IMAGE_SQUASHFS_COMPRESSOR_OPT)" >> $(2))
$(if $(BOARD_$(_var)IMAGE_SQUASHFS_DISABLE_4K_ALIGN),$(hide) echo "$(1)_squashfs_disable_4k_align=$(BOARD_$(_var)IMAGE_SQUASHFS_DISABLE_4K_ALIGN)" >> $(2))
$(if $(PRODUCT_$(_var)_BASE_FS_PATH),$(hide) echo "$(1)_base_fs_file=$(PRODUCT_$(_var)_BASE_FS_PATH)" >> $(2))
$(eval _size := $(BOARD_$(_var)IMAGE_PARTITION_SIZE))
$(eval _reserved := $(BOARD_$(_var)IMAGE_PARTITION_RESERVED_SIZE))
$(eval _headroom := $(PRODUCT_$(_var)_HEADROOM))
$(if $(filter true,$(AB_OTA_UPDATER)),,\
$(eval _size := $(BOARD_$(_var)IMAGE_PARTITION_SIZE))
$(eval _reserved := $(BOARD_$(_var)IMAGE_PARTITION_RESERVED_SIZE))
$(eval _headroom := $(PRODUCT_$(_var)_HEADROOM))
)
$(if $(or $(_size), $(_reserved), $(_headroom)),,
$(hide) echo "$(1)_disable_sparse=true" >> $(2))
$(call add-common-flags-to-image-props,$(1),$(2))
@ -6296,6 +6298,10 @@ ifdef BUILDING_VENDOR_BOOT_IMAGE
endif
endif
ifdef BUILDING_VENDOR_KERNEL_BOOT_IMAGE
$(BUILT_TARGET_FILES_DIR): $(INTERNAL_VENDOR_KERNEL_RAMDISK_FILES)
endif
ifdef BUILDING_RECOVERY_IMAGE
# TODO(b/30414428): Can't depend on INTERNAL_RECOVERYIMAGE_FILES alone like other
# BUILT_TARGET_FILES_PACKAGE dependencies because currently there're cp/rsync/rm

View file

@ -44,6 +44,26 @@ endif
my_soong_problems :=
# Automatically replace the old-style kernel header include with a dependency
# on the generated_kernel_headers header library
ifneq (,$(findstring $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include,$(LOCAL_C_INCLUDES)))
LOCAL_C_INCLUDES := $(patsubst $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include,,$(LOCAL_C_INCLUDES))
LOCAL_HEADER_LIBRARIES += generated_kernel_headers
endif
# Some qcom binaries use this weird -isystem include...
ifneq (,$(findstring $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include,$(LOCAL_CFLAGS)))
LOCAL_CFLAGS := $(patsubst -isystem $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr/include,,$(LOCAL_CFLAGS))
LOCAL_HEADER_LIBRARIES += generated_kernel_headers
endif
# Remove KERNEL_OBJ/usr from any LOCAL_ADDITIONAL_DEPENDENCIES, we will
# just include generated_kernel_headers which already has the proper
# dependency
ifneq (,$(findstring $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr,$(LOCAL_ADDITIONAL_DEPENDENCIES)))
LOCAL_ADDITIONAL_DEPENDENCIES := $(patsubst $(TARGET_OUT_INTERMEDIATES)/KERNEL_OBJ/usr,,$(LOCAL_ADDITIONAL_DEPENDENCIES))
endif
# The following LOCAL_ variables will be modified in this file.
# Because the same LOCAL_ variables may be used to define modules for both 1st arch and 2nd arch,
# we can't modify them in place.

View file

@ -440,6 +440,10 @@ endif
# See envsetup.mk for a description of SCAN_EXCLUDE_DIRS
FIND_LEAVES_EXCLUDES := $(addprefix --prune=, $(SCAN_EXCLUDE_DIRS) .repo .git)
ifneq ($(TEQUILA_BUILD),)
include vendor/tequila/config/BoardConfigtequila.mk
endif
# The build system exposes several variables for where to find the kernel
# headers:
# TARGET_DEVICE_KERNEL_HEADERS is automatically created for the current
@ -1249,6 +1253,14 @@ include $(BUILD_SYSTEM)/sysprop_config.mk
# consistency with those defined in BoardConfig.mk files.
include $(BUILD_SYSTEM)/android_soong_config_vars.mk
ifneq ($(TEQUILA_BUILD),)
ifneq ($(wildcard device/tequila/sepolicy/common/sepolicy.mk),)
## We need to be sure the global selinux policies are included
## last, to avoid accidental resetting by device configs
$(eval include device/tequila/sepolicy/common/sepolicy.mk)
endif
endif
ifeq ($(CALLED_FROM_SETUP),true)
include $(BUILD_SYSTEM)/ninja_config.mk
include $(BUILD_SYSTEM)/soong_config.mk
@ -1258,6 +1270,11 @@ endif
DEFAULT_DATA_OUT_MODULES := ltp $(ltp_packages)
.KATI_READONLY := DEFAULT_DATA_OUT_MODULES
ifneq ($(TEQUILA_BUILD),)
# Include any vendor specific config.mk file
-include vendor/*/build/core/config.mk
endif
include $(BUILD_SYSTEM)/dumpvar.mk
ifdef BOARD_VNDK_VERSION

View file

@ -209,6 +209,12 @@ endif
BUILD_WITHOUT_PV := true
ifneq ($(TEQUILA_BUILD),)
# ------------------------------------------------------------
# Include vendor specific additions to build properties
-include vendor/tequila/build/core/main.mk
endif
# ------------------------------------------------------------
# Define a function that, given a list of module tags, returns
# non-empty if that module should be installed in /system.

View file

@ -92,3 +92,7 @@ FRAMEWORKS_BASE_SUBDIRS := \
#
FRAMEWORKS_BASE_JAVA_SRC_DIRS := \
$(addprefix frameworks/base/,$(FRAMEWORKS_BASE_SUBDIRS))
ifneq ($(TEQUILA_BUILD),)
-include vendor/tequila/build/core/pathmap.mk
endif

View file

@ -550,12 +550,15 @@ endef
# Makes including non-existent modules in PRODUCT_PACKAGES an error.
# $(1): list of non-existent modules to allow.
define enforce-product-packages-exist-internal
$(eval PRODUCTS.$(1).PRODUCT_ENFORCE_PACKAGES_EXIST := true) \
$(eval PRODUCTS.$(1).PRODUCT_ENFORCE_PACKAGES_EXIST_ALLOW_LIST := $(2)) \
$(eval .KATI_READONLY := PRODUCTS.$(1).PRODUCT_ENFORCE_PACKAGES_EXIST) \
$(eval .KATI_READONLY := PRODUCTS.$(1).PRODUCT_ENFORCE_PACKAGES_EXIST_ALLOW_LIST)
endef
define enforce-product-packages-exist
$(eval current_mk := $(strip $(word 1,$(_include_stack)))) \
$(eval PRODUCTS.$(current_mk).PRODUCT_ENFORCE_PACKAGES_EXIST := true) \
$(eval PRODUCTS.$(current_mk).PRODUCT_ENFORCE_PACKAGES_EXIST_ALLOW_LIST := $(1)) \
$(eval .KATI_READONLY := PRODUCTS.$(current_mk).PRODUCT_ENFORCE_PACKAGES_EXIST) \
$(eval .KATI_READONLY := PRODUCTS.$(current_mk).PRODUCT_ENFORCE_PACKAGES_EXIST_ALLOW_LIST)
$(enforce-product-packages-exist-internal,$(current_mk),$(1))
endef
#
@ -597,9 +600,11 @@ _readonly_late_variables := \
# Modified internally in the build system
_readonly_late_variables += \
PRODUCT_CFI_INCLUDE_PATHS \
PRODUCT_COPY_FILES \
PRODUCT_DEX_PREOPT_NEVER_ALLOW_STRIPPING \
PRODUCT_DEX_PREOPT_BOOT_FLAGS \
PRODUCT_SOONG_NAMESPACES
_readonly_early_variables := $(filter-out $(_readonly_late_variables),$(_product_var_list))

View file

@ -53,8 +53,8 @@ function build_build_var_cache()
{
local T=$(gettop)
# Grep out the variable names from the script.
cached_vars=(`cat $T/build/envsetup.sh | tr '()' ' ' | awk '{for(i=1;i<=NF;i++) if($i~/_get_build_var_cached/) print $(i+1)}' | sort -u | tr '\n' ' '`)
cached_abs_vars=(`cat $T/build/envsetup.sh | tr '()' ' ' | awk '{for(i=1;i<=NF;i++) if($i~/_get_abs_build_var_cached/) print $(i+1)}' | sort -u | tr '\n' ' '`)
cached_vars=(`cat $T/build/envsetup.sh $T/vendor/tequila/build/envsetup.sh | tr '()' ' ' | awk '{for(i=1;i<=NF;i++) if($i~/_get_build_var_cached/) print $(i+1)}' | sort -u | tr '\n' ' '`)
cached_abs_vars=(`cat $T/build/envsetup.sh $T/vendor/tequila/build/envsetup.sh | tr '()' ' ' | awk '{for(i=1;i<=NF;i++) if($i~/_get_abs_build_var_cached/) print $(i+1)}' | sort -u | tr '\n' ' '`)
# Call the build system to dump the "<val>=<value>" pairs as a shell script.
build_dicts_script=`\builtin cd $T; build/soong/soong_ui.bash --dumpvars-mode \
--vars="${cached_vars[*]}" \
@ -324,8 +324,6 @@ function set_stuff_for_environment()
{
set_lunch_paths
set_sequence_number
export ANDROID_BUILD_TOP=$(gettop)
}
function set_sequence_number()
@ -524,12 +522,21 @@ function _lunch_meat()
# Note this is the string "release", not the value of the variable.
export TARGET_BUILD_TYPE=release
local uses_qcom_hardware=$(get_build_var BOARD_USES_QCOM_HARDWARE)
if [ "$uses_qcom_hardware" = true ]; then
export INLINE_KERNEL_BUILDING=true
else
unset INLINE_KERNEL_BUILDING
fi
[[ -n "${ANDROID_QUIET_BUILD:-}" ]] || echo
fixup_common_out_dir
set_stuff_for_environment
[[ -n "${ANDROID_QUIET_BUILD:-}" ]] || printconfig
if [[ -z "${ANDROID_QUIET_BUILD}" ]]; then
if [[ -z "${ANDROID_QUIET_BUILD}" && -z "${CALYX_BUILD}" ]]; then
local spam_for_lunch=$(gettop)/build/make/tools/envsetup/spam_for_lunch
if [[ -x $spam_for_lunch ]]; then
$spam_for_lunch
@ -1178,4 +1185,6 @@ set_global_paths
source_vendorsetup
addcompletions
export ANDROID_BUILD_TOP=$(gettop)
. $ANDROID_BUILD_TOP/vendor/tequila/build/envsetup.sh

View file

@ -37,5 +37,7 @@ PRODUCT_PACKAGES += \
# Telephony:
# Provide a APN configuration to GSI product
ifeq ($(TEQUILA_BUILD),)
PRODUCT_COPY_FILES += \
device/sample/etc/apns-full-conf.xml:$(TARGET_COPY_OUT_PRODUCT)/etc/apns-conf.xml
endif

View file

@ -17,7 +17,6 @@
# Base modules and settings for recovery.
PRODUCT_PACKAGES += \
adbd.recovery \
android.hardware.health@2.0-impl-default.recovery \
build_flag_vendor \
cgroups.recovery.json \
charger.recovery \

View file

@ -183,5 +183,3 @@ PRODUCT_SYSTEM_PROPERTIES += \
dalvik.vm.image-dex2oat-Xmx=64m \
dalvik.vm.dex2oat-Xms=64m \
dalvik.vm.dex2oat-Xmx=512m \
PRODUCT_ENABLE_UFFD_GC := default

View file

@ -24,8 +24,12 @@ PRODUCT_VENDOR_PROPERTIES := \
ro.com.android.dataroaming?=true
PRODUCT_COPY_FILES := \
device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml \
frameworks/native/data/etc/handheld_core_hardware.xml:$(TARGET_COPY_OUT_VENDOR)/etc/permissions/handheld_core_hardware.xml
ifeq ($(TEQUILA_BUILD),)
PRODUCT_COPY_FILES += \
device/sample/etc/apns-full-conf.xml:system/etc/apns-conf.xml
endif
$(call inherit-product, $(SRC_TARGET_DIR)/product/aosp_base.mk)
$(call inherit-product, $(SRC_TARGET_DIR)/product/telephony.mk)

View file

@ -45,7 +45,6 @@ PRODUCT_PACKAGES += \
CertInstaller \
CredentialManager \
DeviceAsWebcam \
DeviceDiagnostics \
DocumentsUI \
DownloadProviderUi \
EasterEgg \

View file

@ -339,11 +339,15 @@ locate(FileRecord* rec, const vector<string>& search)
}
int err;
string full;
for (vector<string>::const_iterator it=search.begin();
it!=search.end(); it++) {
string full = path_append(*it, rec->sourceName);
struct stat st;
if (rec->sourceName.length() != 0 && rec->sourceName[0] == '/')
full = rec->sourceName;
else
full = path_append(*it, rec->sourceName);
err = stat(full.c_str(), &st);
if (err == 0) {
rec->sourceBase = *it;
@ -356,7 +360,7 @@ locate(FileRecord* rec, const vector<string>& search)
}
fprintf(stderr, "%s:%d: couldn't locate source file: %s\n",
rec->listFile.c_str(), rec->listLine, rec->sourceName.c_str());
rec->listFile.c_str(), rec->listLine, full.c_str());
return 1;
}