The function image-size-from-data-size was using hard
coded values. The size of spare area and pages has become
configurable so we need to read from the variables.
Change-Id: I9461d34400ffc2cc5920860d8aa78750d559e397
With this change it is possible for vendors to create rules that depend on
targets defined in Android.mk files.
This makes it easier to decouple functionality from the core buildsystem.
Very much as is done within the build git for tasks like creating SDK addon,
Generating eclipse .classpath file etc can then be done for vendors as well.
You can add targets that could perform poststeps on produced modules.
E.g. Do static verification or documentation on modules of a certain type.
You can e.g. create a target that would resign and upload all apks to a
binary repository.
Change-Id: Ic0fa7b60b919ede3c59fa2885d1fd4be1e928c04
Merge commit '4038bbc426776d8adc57d7c3c8123357b50b1615'
* commit '4038bbc426776d8adc57d7c3c8123357b50b1615':
Don't build update zip package if there is no kernel, or it's generic device.
Merge commit '09a00a672bb18dccc97af6090739ea275c39d8a3' into gingerbread-plus-aosp
* commit '09a00a672bb18dccc97af6090739ea275c39d8a3':
Don't build update zip package if there is no kernel, or it's generic device.
Move the update package code block forward to be side by side with the ota package code,
so that they are built under the same condition.
Bug: 3116070
Change-Id: I8055909cc614bfbeee215d1b770a80f728e326ee
As the sdk.git project is branched differently from the rest
of the platform, it's important to be able to control what
goes in the tools folder of the SDK on a per-branch basis.
Right now development/build/sdk.atree control what goes in
the tools folder (coming almost only from sdk.git) which causes
problems when the development.git and sdk.git branches are not
in sync.
Change-Id: I9158501cd68783d593e49e5fdea7f17d19b0120f
Merge commit 'ffd5087ec81a281b1299048b4282dad593ccd703' into gingerbread-plus-aosp
* commit 'ffd5087ec81a281b1299048b4282dad593ccd703':
Use the new sdk/build/tools.atree.
Merge commit 'bb2b82bd557b157fea5e280ef50ee782d15ac032' into gingerbread-plus-aosp
* commit 'bb2b82bd557b157fea5e280ef50ee782d15ac032':
Fix userdata partition's ext4 mount point to data.
As the sdk.git project is branched differently from the rest
of the platform, it's important to be able to control what
goes in the tools folder of the SDK on a per-branch basis.
Right now development/build/sdk.atree control what goes in
the tools folder (coming almost only from sdk.git) which causes
problems when the development.git and sdk.git branches are not
in sync.
Change-Id: Ia0b0ea37f8a4904b3a7f7805a552eeb499a2c0ee
Merge commit 'e7874c430895b9a4e631c89f1e7729da9264d167' into gingerbread-plus-aosp
* commit 'e7874c430895b9a4e631c89f1e7729da9264d167':
Integrate dexpreopt into the build system.
Merge commit 'c0434ac8b504df8a2f2a2828dc9b3f804c3dda72' into gingerbread-plus-aosp
* commit 'c0434ac8b504df8a2f2a2828dc9b3f804c3dda72':
add recovery.fstab as dependency so it triggers rebuild (do not merge)
Make recovery image depend on the fstab file so it gets rebuilt when
fstab changes. Add support for "emmc" fstab partition type to
edify_generator.
Change-Id: Ic5df4e86c24321bf7d82a644e3e4770352e4f64b
Include the recovery.fstab file in the recovery image. Remove the
global fs_type and partition_type values from the target-files
key/value dict, and parse the recovery.fstab file instead to find
types for each partition.
(Cherrypicked from gingerbread w/some edits to resolve conflicts.)
Change-Id: Ic3ed85ac5672d8fe20280dacf43d5b82053311bb
Merge commit '258bf46ea6bb4f25d01fab1b783238589e5bbec4' into gingerbread-plus-aosp
* commit '258bf46ea6bb4f25d01fab1b783238589e5bbec4':
support for per-partition fs_type (do not merge)
Include the recovery.fstab file in the recovery image. Remove the
global fs_type and partition_type values from the target-files
key/value dict, and parse the recovery.fstab file instead to find
types for each partition.
Change-Id: I35ee2dd0989441dc2a704b63c1b32e598049acb5
Merge commit '918ccff37260270d0eef3a3a7bfc2410c46d931a' into gingerbread-plus-aosp
* commit '918ccff37260270d0eef3a3a7bfc2410c46d931a':
consolidate target_files metadata into one key-value file
Instead of separate files for recovery api version, tool extensions,
and mkyaffs2 options, put those all in the generic key-value file.
Change-Id: Ib642311632844d52e4895fd4747093fc7e86232d
Merge commit 'c77a9ad444d49e2ad777678cf5671f0a94f44ffb' into gingerbread-plus-aosp
* commit 'c77a9ad444d49e2ad777678cf5671f0a94f44ffb':
store user-visible image sizes in target-files
Do the yaffs-specific adjustments to image sizes in common.CheckSize,
instead of baking it into the image size stored in the target-files
package. Remove the special fs_type flag and fold it into the
"info_dict" we have for saving key-value pairs from the build system.
Change-Id: I6e63f3330f6277d9a946b22e66cadeb51203ba14
Merge commit '8e8ff4cad905a5b4eed7659152f075f9a5c038b1' into gingerbread-plus-aosp
* commit '8e8ff4cad905a5b4eed7659152f075f9a5c038b1':
support for ext4/EMMC in target_files and OTA generation
Move the image sizes into a more generic key-value file. Make them
optional. Add additional key/value pairs describing what kind of
filesystem the device uses. Pass new fs-type-related arguments in
edify scripts when mounting and reformatting partitions.
Don't include all the init.*.rc files from the regular system in
recovery -- they aren't needed, and break recovery on some devices.
Change-Id: Ic1c651f754ed00ba1cffe8cf56c43f7f3b0ebfd7
Merge commit '671f5fb09f3510c16f73049cad9d8d6d652eaad8' into gingerbread-plus-aosp
* commit '671f5fb09f3510c16f73049cad9d8d6d652eaad8':
Don't increase partition size for ext4 user images. [DO NOT MERGE]
Merge commit 'bc84329757c6b79e1f10c418057e599ee106135c'
* commit 'bc84329757c6b79e1f10c418057e599ee106135c':
remove the system board name from the build fingerprint
Merge commit '135a120e3904d782623e4a3fc958ed098e8de384' into gingerbread-plus-aosp
* commit '135a120e3904d782623e4a3fc958ed098e8de384':
remove the system board name from the build fingerprint
Merge commit '659adc0b54e40b3b194c84ad4ac8d2e775276e60' into gingerbread-plus-aosp
* commit '659adc0b54e40b3b194c84ad4ac8d2e775276e60':
Change "make PRODUCT-XXX-tests" to build only tests-build-target
So that the build server can run the following command to build and dist only the two packages:
make -j16 tests-zip-package userdataimage-nodeps dist showcommands TARGET_BUILD_VARIANT=tests TARGET_PRODUCT=passion
Change-Id: I03d7049582ec8537a389e80b7ecdcae6625222ea
Merge commit '570a0eeffb4c06084f21a058efb25271bb0cd1f6' into gingerbread-plus-aosp
* commit '570a0eeffb4c06084f21a058efb25271bb0cd1f6':
Dist userdataimg and tests-zip-package for tests builds
So that the build server can run the following command to build and dist only the two packages:
make -j16 tests-zip-package userdataimage-nodeps dist showcommands TARGET_BUILD_VARIANT=tests TARGET_PRODUCT=passion
Change-Id: I03d7049582ec8537a389e80b7ecdcae6625222ea
Merge commit '8f731bb2720475f652cc8c5849d564246b234bef'
* commit '8f731bb2720475f652cc8c5849d564246b234bef':
Revert "Allow properties with spaces in their values"
Merge commit '0545c9160d0d3dde4675184609cc7656de5558b0' into gingerbread-plus-aosp
* commit '0545c9160d0d3dde4675184609cc7656de5558b0':
Revert "Allow properties with spaces in their values"
Remove the remaining (unused and untested) support for generating
amend scripts. This means that you won't be able to OTA directly from
cupcake to gingerbread.
Change-Id: Iaf5295db92a42b336960d05295f48b67cb729337
Merge commit '54b8b436a380b053772110796642c7e5e6ba8e64'
* commit '54b8b436a380b053772110796642c7e5e6ba8e64':
Allow properties with spaces in their values
Merge commit 'de3bfade571033b01fbaccac2f0fdf7193e8d3ee' into gingerbread-plus-aosp
* commit 'de3bfade571033b01fbaccac2f0fdf7193e8d3ee':
Allow properties with spaces in their values
This way, such properties can be set in product definition files
instead of having to live in system.prop, which eliminates the need
for system.prop
Change-Id: I25d9665f65436df8215940e46380deb31b8161ba
Merge commit '485bd44d0d78f9f612075e17db1adb281741c84f'
* commit '485bd44d0d78f9f612075e17db1adb281741c84f':
Fix mkyaffs2image extra flags in the release tools.
Merge commit 'd421f57d22009e4d9ce71298c2f93636ff9e7d9d' into gingerbread-plus-aosp
* commit 'd421f57d22009e4d9ce71298c2f93636ff9e7d9d':
Fix mkyaffs2image extra flags in the release tools.
Merge commit 'f11fc5f098ab8481887cbbbbb4246f63837b61c9'
* commit 'f11fc5f098ab8481887cbbbbb4246f63837b61c9':
Disable building OTA package if there is no kernel.
Merge commit 'fb0a347b747a91173c8a9f845a0362e3f8a9701f' into gingerbread-plus-aosp
* commit 'fb0a347b747a91173c8a9f845a0362e3f8a9701f':
Disable building OTA package if there is no kernel.
Merge commit '68bb65177cc6839e985c0a54343f44494de61d62' into gingerbread-plus-aosp
* commit '68bb65177cc6839e985c0a54343f44494de61d62':
Show command lines run by releasetools.
Merge commit '065521be4fd6965058fbd599bb43fe13101fee7c' into gingerbread-plus-aosp
* commit '065521be4fd6965058fbd599bb43fe13101fee7c':
Backport ext4 support from master [DO NOT MERGE]
Merge commit 'ad3cf5f868fc36de0a4fa501f074d35a94496b27' into gingerbread-plus-aosp
* commit 'ad3cf5f868fc36de0a4fa501f074d35a94496b27':
Restore OTA for crespo. [DO NOT MERGE]
Merge commit '60d1ee3e539e02ba701b9ff647fd23aca18f890d' into gingerbread-plus-aosp
* commit '60d1ee3e539e02ba701b9ff647fd23aca18f890d':
Better way to disable OTAs for crespo - DO NOT MERGE
Merge commit '7daa91323139fa7c0435a07b0e3fad6056d0954b' into gingerbread-plus-aosp
* commit '7daa91323139fa7c0435a07b0e3fad6056d0954b':
Disable OTA for crespo [DO NOT MERGE]
Change-Id: I5147d687750a50cfc186e99a9a8c88d3b2eb1692
If PRODUCT_PROPERTY_OVERRIDES has set default locale, buildinfo.sh skips setting them.
http://b/issue?id=2243115
Merge commit '84843e6843f0429f0729deb5670c22da0dcc5507'
* commit '84843e6843f0429f0729deb5670c22da0dcc5507':
Fix event-log-tags so we don't rebuild framework.jar because of an installclean.
Merge commit 'd7324cc356e9c67d878d156ca81928ab2ef220f5' into gingerbread-plus-aosp
* commit 'd7324cc356e9c67d878d156ca81928ab2ef220f5':
Fix event-log-tags so we don't rebuild framework.jar because of an installclean.
Produce an event logs tag file for everything we know about, in order
to properly allocate numbers. Then produce a file that's filtered
for what's going to be installed.
Change-Id: Id0778aec0b4d045e8ff91ba2c9c8265e860eaba5
Merge commit '0fd96df49ccecbf3628c95dabf3b94dfc27323e5'
* commit '0fd96df49ccecbf3628c95dabf3b94dfc27323e5':
Refactor Stripper. Allow a stripper other than SOSLIM to be specified
Merge commit '39a6a64471b28032d2037d9472d58dc0a77ef313'
* commit '39a6a64471b28032d2037d9472d58dc0a77ef313':
Create systemtarball either with bz2 or gz
Merge commit 'd05a47c00ec3595b25ef9f46cd8b825cd35a8dca'
* commit 'd05a47c00ec3595b25ef9f46cd8b825cd35a8dca':
Add $(TARGET_DEVICE_DIR)/system.prop to be a prerequisite
If $(TARGET_DEVICE_DIR)/system.prop exists, it should be
a prerequisite of $(INSTALLED_BUILD_PROP_TARGET),
as the following rules state.
Change-Id: Ie395b6f08cef198c3f5c733a5b6ae5a458335a9c
Move the image sizes into a more generic key-value file. Make them
optional. Add additional key/value pairs describing what kind of
filesystem the device uses. Pass new fs-type-related arguments in
edify scripts when mounting and reformatting partitions.
Don't include all the init.*.rc files from the regular system in
recovery -- they aren't needed, and break recovery on some devices.
Change-Id: I40e49e65f0d76f735259e4b4fef882322cd739da
Merge commit '068986605b2afcd5e044b62f22ac6ecd5c15b519' into gingerbread
* commit '068986605b2afcd5e044b62f22ac6ecd5c15b519':
A nothing-to-do build should do nothing.
commit 7401608f3b9b52b3348e32ec9fefe7583d6c2fa4
Author: Guang Zhu <guangzhu@google.com>
Date: Fri Apr 23 11:54:37 2010 -0700
collect emm meta files for emma instrumented build
when doing 'make dist', with EMMA_INSTRUMENT on the coverage.em files
generated for each module will be collected into one emma_meta.zip file
Change-Id: I382c39a97005e6cae5c79ad7eaef1c8857f658af
commit 8376d70938f6507d54b66fe5832a637aa883974e
Author: Guang Zhu <guangzhu@google.com>
Date: Wed Mar 10 15:48:03 2010 -0800
enhancement for building app with emma code coverage
* global filter to avoid applying instrumentation on emma classes
* remove local variable information at dex step instead of compile time
Change-Id: If04c27bc717f34816077a98ead9ceb0dbcbb0d2f
Change-Id: I971bd0f291bede2568b21347247d37a7d035c661
when doing 'make dist', with EMMA_INSTRUMENT on the coverage.em files
generated for each module will be collected into one emma_meta.zip file
Change-Id: I382c39a97005e6cae5c79ad7eaef1c8857f658af
- envsetup.mk & config.mk: we define a new BUILD_OS and a minimal set
of things like BUILD_OUT to be able to use some local tools when
doing cross-compilation. This allows us to use the Linux version of
ACP when cross-compiling the tools to Windows.
- Makfile: include windows_sdk.mk when needed to build a Windows SDK.
- main.mk: support a win_sdk target (e.g. PRODUCT-sdk-win_sdk)
(Merge master Change I9d08d0df)
- envsetup.mk & config.mk: we define a new BUILD_OS and a minimal set
of things like BUILD_OUT to be able to use some local tools when
doing cross-compilation. This allows us to use the Linux version of
ACP when cross-compiling the tools to Windows.
- Makfile: include windows_sdk.mk when needed to build a Windows SDK.
- main.mk: support a win_sdk target (e.g. PRODUCT-sdk-win_sdk)
Change-Id: I9d08d0df598b8a7292532d23c55f48101a95a240
Store a dump of the desired uid/gid/mode for every system file in the
target_files zip. Modify ota_from_target_files to use this stored
information when it is available, instead of running fs_config from
the current client (which might be out of sync from the one where the
target_files zip was built).
b/2516887 - New android_filesystem_config.h needed
Change-Id: I8409a0265d1d50daad9c2bc033c99b74b8931b20
This allows to explicitly deal with situations where we
want to use PRODUCT_COPY_FILES to manage overrides.
Change-Id: I2f87862e19b973f090099f335e9bdeb0c9f3bfe9
This allows "make dist" to work on that configuration.
A better fix would be to allow each product to specify
whether it's an emulator target or a device target, and
to adapt to that, but that'd be a lot more intrusive.
Change-Id: I47708025204a4991466abceb1708a3020a543238
Setting LOCAL_CERTIFICATE to "EXTERNAL" now marks an apk (either a
prebuilt or otherwise) as needing the default test key within the
system, but one that should be signed after the target_files is
produced but before sign_target_files_apks does the rest of the
signing. (We use this to ship apps on the system that are signed by
third parties, like Facebook.)
Construct the /system/etc/event-log-tags file by unioning together any
*.logtags files included in LOCAL_SRC_FILES throughout the system (with
appropriate error checking for dup tag numbers, etc.)
For java packages, generate a java source file from the logtags file for
that package that contains static integer constants for each tag name.
Merge commit '1ae988040777f88f766fc421af79a61175e917af' into eclair
* commit '1ae988040777f88f766fc421af79a61175e917af':
Change where makefile looks for sdk_clean.sh
BoardConfig.mk typically defines TARGET_CPU_ABI to the name of the
native machine code CPU ABI supported by the target device. For example,
existing devices today use the value 'armeabi' corresponding to an
ARMv5TE instruction set with soft-float implementation.
This patch allows this file to also define TARGET_CPU_ABI2 to name
a secondary (minor) CPU ABI also supported by the device. This is useful
when the main ABI is ARMv7-A (identified as 'armeabi-v7a') which also
supports ARMv5TE. Such devices should have TARGET_CPU_ABI defined to
'armeabi-v7a' and TARGET_CPU_ABI2 defined to 'armeabi'.
TARGET_CPU_ABI2 will be translated into the ro.product.cpu.abi2 property
in build.prop. This value will be used by the PackageManager to handle
"fat-binaries" generated with the NDK.
Store the location of the releasetools extensions in the target-files
zip, and make ota_from_target_files use that stored location by
default (though it can still be overridden with -s if desired).
Make BoardConfig.mk store the size of the partition rather than the
maximum size of the image that can be flashed there, because the
function used to do the conversion isn't available when BoardConfig.mk
is read any more.