99916f0496
Changes minzip and recovery's file signature verification to work on memory regions, rather than files. For packages which are regular files, install.cpp now mmap()s them into memory and then passes the mapped memory to the verifier and to the minzip library. Support for files which are raw block maps (which will be used when we have packages written to encrypted data partitions) is present but largely untested so far. Bug: 12188746 Change-Id: I12cc3e809834745a489dd9d4ceb558cbccdc3f71
117 lines
3 KiB
Makefile
117 lines
3 KiB
Makefile
# Copyright (C) 2007 The Android Open Source Project
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
LOCAL_PATH := $(call my-dir)
|
|
|
|
|
|
include $(CLEAR_VARS)
|
|
|
|
LOCAL_SRC_FILES := \
|
|
recovery.cpp \
|
|
bootloader.cpp \
|
|
install.cpp \
|
|
roots.cpp \
|
|
ui.cpp \
|
|
screen_ui.cpp \
|
|
asn1_decoder.cpp \
|
|
verifier.cpp \
|
|
adb_install.cpp
|
|
|
|
LOCAL_MODULE := recovery
|
|
|
|
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
|
|
|
RECOVERY_API_VERSION := 3
|
|
RECOVERY_FSTAB_VERSION := 2
|
|
LOCAL_CFLAGS += -DRECOVERY_API_VERSION=$(RECOVERY_API_VERSION)
|
|
|
|
LOCAL_STATIC_LIBRARIES := \
|
|
libext4_utils_static \
|
|
libsparse_static \
|
|
libminzip \
|
|
libz \
|
|
libmtdutils \
|
|
libmincrypt \
|
|
libminadbd \
|
|
libminui \
|
|
libpixelflinger_static \
|
|
libpng \
|
|
libfs_mgr \
|
|
libcutils \
|
|
liblog \
|
|
libselinux \
|
|
libstdc++ \
|
|
libm \
|
|
libc
|
|
|
|
ifeq ($(TARGET_USERIMAGES_USE_EXT4), true)
|
|
LOCAL_CFLAGS += -DUSE_EXT4
|
|
LOCAL_C_INCLUDES += system/extras/ext4_utils system/vold
|
|
LOCAL_STATIC_LIBRARIES += libext4_utils_static libz
|
|
endif
|
|
|
|
# This binary is in the recovery ramdisk, which is otherwise a copy of root.
|
|
# It gets copied there in config/Makefile. LOCAL_MODULE_TAGS suppresses
|
|
# a (redundant) copy of the binary in /system/bin for user builds.
|
|
# TODO: Build the ramdisk image in a more principled way.
|
|
LOCAL_MODULE_TAGS := eng
|
|
|
|
ifeq ($(TARGET_RECOVERY_UI_LIB),)
|
|
LOCAL_SRC_FILES += default_device.cpp
|
|
else
|
|
LOCAL_STATIC_LIBRARIES += $(TARGET_RECOVERY_UI_LIB)
|
|
endif
|
|
|
|
LOCAL_C_INCLUDES += system/extras/ext4_utils
|
|
|
|
include $(BUILD_EXECUTABLE)
|
|
|
|
# All the APIs for testing
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := libverifier
|
|
LOCAL_MODULE_TAGS := tests
|
|
LOCAL_SRC_FILES := \
|
|
asn1_decoder.cpp
|
|
include $(BUILD_STATIC_LIBRARY)
|
|
|
|
include $(CLEAR_VARS)
|
|
LOCAL_MODULE := verifier_test
|
|
LOCAL_FORCE_STATIC_EXECUTABLE := true
|
|
LOCAL_MODULE_TAGS := tests
|
|
LOCAL_CFLAGS += -DNO_RECOVERY_MOUNT
|
|
LOCAL_SRC_FILES := \
|
|
verifier_test.cpp \
|
|
asn1_decoder.cpp \
|
|
verifier.cpp \
|
|
ui.cpp
|
|
LOCAL_STATIC_LIBRARIES := \
|
|
libmincrypt \
|
|
libminui \
|
|
libminzip \
|
|
libcutils \
|
|
libstdc++ \
|
|
libc
|
|
include $(BUILD_EXECUTABLE)
|
|
|
|
|
|
include $(LOCAL_PATH)/minui/Android.mk \
|
|
$(LOCAL_PATH)/minelf/Android.mk \
|
|
$(LOCAL_PATH)/minzip/Android.mk \
|
|
$(LOCAL_PATH)/minadbd/Android.mk \
|
|
$(LOCAL_PATH)/mtdutils/Android.mk \
|
|
$(LOCAL_PATH)/tests/Android.mk \
|
|
$(LOCAL_PATH)/tools/Android.mk \
|
|
$(LOCAL_PATH)/edify/Android.mk \
|
|
$(LOCAL_PATH)/updater/Android.mk \
|
|
$(LOCAL_PATH)/applypatch/Android.mk
|