OSDN Git Service
Chirayu Desai [Mon, 8 Jun 2015 18:41:29 +0000 (00:11 +0530)]
otasigcheck: Extract the key
* commit
b110c751b181423d268531c624db212d2d81e816
"build: ota: Support for install tools in /tmp/install"
erroneously removed the line extracting the releasekey,
making the script a no-op as it couldn't find a key to
compare against.
Change-Id: I0dc5d15dbf4b0531de4df9e62a5bd47ec463c2a1
Diogo Ferreira [Fri, 3 Apr 2015 11:39:37 +0000 (12:39 +0100)]
build: Add the factorypackage target
The build system generates several artifacts, among them update zips,
OTAs and update packages for fastboot.
Shipping devices typically need extra-special packages in order to
fulfill factory automation requirements.
This patches adds a "factorypackage" target that can be customized
by devices by providing a script that converts target files into the
desired format. The script path should be set into
TARGET_RELEASETOOL_FACTORY_FROM_TARGET_SCRIPT.
Change-Id: I993f12766c96274f096c5f6c6da5aaa32394abbc
dhacker29 [Sun, 7 Jun 2015 02:22:05 +0000 (22:22 -0400)]
Remove LatinIME as it is included per target in vendor/cm
Change-Id: Ibce4a244ec0653a7c7798d864047ac667866a1dc
Chris Sarbora [Thu, 4 Jun 2015 00:25:30 +0000 (17:25 -0700)]
Allow dopush to load binaries onto the "wrong" device
* Lets solitary projects be built+pushed quickly even without a full build
* Affects mmp, mmmp, mkap as well
Change-Id: I53594bcbece9f9458d28c3ea930453c14df95fe8
Anthony King [Thu, 30 Apr 2015 22:16:10 +0000 (23:16 +0100)]
envsetup: cleanup the full list
echo each one and stick it in columns. It was unreadable before
Change-Id: I99c50595dcf35f0f03d5d3d6b01043ad8a8306d2
Anthony King [Thu, 30 Apr 2015 21:57:08 +0000 (22:57 +0100)]
lunch: sort the choices
This will sort the lunch array when lunch is called,
giving us a consistent list of devices, which is easier
to search through
Change-Id: I80854e8b949950cbc928121a184b64fc3b8164c8
envsetup: lunch: always sort the menu
this fixes the use case of 'lunch 34' straight after envsetup
Change-Id: I19d45016edf254131015aab8476bc815bec9abe4
Hashcode [Mon, 1 Jun 2015 22:32:09 +0000 (15:32 -0700)]
build: avoid recovery patch if device setup can't do it correctly
In the case of Amazon OMAP4's there is a 2nd-bootloader which is inserted at
a fixed location in both boot.img and recovery.img. If this 2nd-bootloader
is not present, it puts the device in a non-booting state requiring the user
to recover the device using fastboot tools.
Also, due to the extra binary information in the image, imgdiff hangs during
build.
For devices like this, allow bypass of the recovery patch generatation.
NOTE: In previous versions of CM the BOARD_CUSTOM_BOOTIMG_MK flag accomplished
this, but was never forward ported to cm-12.0 and on. Use a new board flag
here for clarity as most custom bootimg makefiles can still process a patch
for recovery.
https://github.com/CyanogenMod/android_build/blob/cm-11.0/core/Makefile#L935
Change-Id: I9284ee227358224e3add9862db5c1fbd0f5bd226
Anthony King [Thu, 30 Apr 2015 21:19:48 +0000 (22:19 +0100)]
envsetup: add mk_timer
this wraps around any method call, mainly for 'make'.
mka needs this on linux, since ionice and schedtool don't
respect functions
Change-Id: If8cdd235ed9eba377dd90ab8b12e93036a377ea5
Rashed Abdel-Tawab [Fri, 1 May 2015 23:32:21 +0000 (19:32 -0400)]
build: Move msm899x FLAC metadata flag to qcom_utils.mk
Change-Id: I8fa0be15b16324e692547a44ba340657541ca831
Ethan Chen [Mon, 2 Jun 2014 23:49:59 +0000 (16:49 -0700)]
Generate extra userdata partition if needed
* To support variants of devices which may come in 16/32/64GB variants.
Change-Id: I74c32d8316f0450a1445fe95a95e5cabb7a9dd1b
(cherry picked from commit
aae837f9cbcff739cb660016a6d1abd7ef4663db)
Scott Mertz [Mon, 20 Apr 2015 17:40:21 +0000 (10:40 -0700)]
Colorize more target file output
Change-Id: I25aee19e9a5a06eeeaa4040803c064a140a86778
Adnan Begovic [Wed, 15 Apr 2015 19:00:43 +0000 (12:00 -0700)]
build/core: Define find-other-aidl-files.
Useful when utilizing relative paths that mention external
projects. Mimics find-other-java-files, etc.
Change-Id: I3df67f4f35a931facbb1de76936936b092a42bb2
Brint E. Kriebel [Sat, 28 Mar 2015 03:53:59 +0000 (20:53 -0700)]
ota: Include full boot images when imgdiff fails
When generating a non-block based incremental, inclue the full boot
image when imgdiff fails to generate a patch. This logic is already
used for block based incrementals.
Change-Id: Idae484ea8c2553a3480961dfa413724e61c52e5f
Brint E. Kriebel [Thu, 26 Mar 2015 23:32:34 +0000 (16:32 -0700)]
ota_from_target_files: Fix path for SkipNextActionIfTargetExists
Without the leading forward slash, the check always fails.
Change-Id: I57320c20ca2b384713182082b1ad5321d78dbb2b
Brint E. Kriebel [Thu, 26 Mar 2015 01:14:46 +0000 (18:14 -0700)]
releasetools: add compatibility for full ota functions with incrementals
Some device-specific releasetool functions may expect that input_zip
and input_version are set. For incremental OTAs, target_zip and
target_version are set instead.
Set input_zip=target_zip and input_version=target_version to add
compatibility with these functions.
Change-Id: I6a04f67440618d3652396656cc1fe223d4a6b195
Ricardo Cerqueira [Sun, 28 Sep 2014 00:55:24 +0000 (01:55 +0100)]
Add support for mediatek platforms
This includes optional support for building the kernel with mediatek's
build system, which is usually included with OEM source drops for this
platform. (enabled by BOARD_USES_MTK_KERNELBUILD:=true)
Change-Id: I69fb50aa17d9c171bf8a7c220a0707c4bc570733
kernel: remove support for unused MTK Kernel
Remove unused MTK kernel build support.
Change-Id: I4f4df078ae03b1bd5edc7000e5b942bfc05c02bd
Brint E. Kriebel [Wed, 11 Mar 2015 01:58:23 +0000 (18:58 -0700)]
build: Update install tools packaging for target-files support
Modifies "build: ota: Support for install tools in /tmp/install" to
support signing steps being split from build steps.
Package install files into target-files INSTALL path
Read from target-files for OTA package creation
Change-Id: I64f919c2a757b5474f6cc5f82bd6c33c2a8b558a
Brint E. Kriebel [Mon, 23 Feb 2015 07:23:13 +0000 (23:23 -0800)]
releasetools: Add bootable image signing
Set PRODUCT_PRIVATE_KEY to the path of the boot image signing
certificate to sign an image for secure boot.
Change-Id: I2c767c6f9c3740bed3d7094d2d0b50a075e08abc
Brint E. Kriebel [Sun, 22 Feb 2015 23:14:26 +0000 (15:14 -0800)]
releasetools: Store and use the dt image file through target files
Target files packages may be used for signing images separate from the
build process. Store the device tree image file in the target files
package so it can be used during the signing process.
Change-Id: Ie8507121fa9c4ba57ecffeab05bd859ae5f5b788
Ameya Thakur [Tue, 30 Jul 2013 00:39:37 +0000 (17:39 -0700)]
build: Add changes to release tools and mkbootimg
Change the prototype of LoadRecoveryFstab to take in the device type
as a argument. Fix the case where mkbootimg was being passed a incorrect
argument.
Change-Id: Ic6ac596d8d96d3a5effbdf513763ec1cb92b1a03
AUDITYA BHATTARAM [Tue, 5 Aug 2014 05:38:15 +0000 (11:08 +0530)]
Fix the extra dt.img compilation issue.
Add support for optional device tree image (dt.img)
for device that doesnt have TARGET_BOOTIMAGE_USE_EXT2
Change-Id: I6e07b3ca6d049a8ebdad7ea304b4f39e7c846151
Ameya Thakur [Thu, 25 Oct 2012 02:31:42 +0000 (19:31 -0700)]
Fix case where boot/recovery.img were being built with wrong params.
The boot and recovery images now get built using the same params during ota package
generation as during a normal build.
Change-Id: I93d46e11a4245288f0e87c87a2e4bf45ac5aff69
Sreedhar [Wed, 11 Dec 2013 17:46:12 +0000 (23:16 +0530)]
Build: add DT image variable to Makefile
DT image variable is currently present in
generate_extra_images.mk.This file is moved to
build/tasks to support persist image generation
during parallel make. As build/tasks is called
at the end of Makefile, DT image variable is not
available for other images generation like boot and
recovery. Adding this variable in Makefile ensures
the variable is defined before usage
Change-Id: I21f675d8ce648dc1cf1f4f3aede33278300e08c9
CRs-fixed: 548299
David Ng [Sat, 28 Jul 2012 01:39:48 +0000 (18:39 -0700)]
build: Add support for device tree in boot.img
Add support for optional device tree image (dt.img)
to boot and recovery images. Some devices use kernel device
tree and this adds the device tree image as a section within
the boot/recovery images.
Change-Id: I91431ef2f4b86485895678916e39a8572be878eb
Scott Mertz [Thu, 26 Feb 2015 18:51:44 +0000 (10:51 -0800)]
Enable ADB by default when ro.adb.secure is not 1
* Property ro.build.type is not part of the default.prop we can't
use this to decide how to apply adb by default within this function
Change-Id: Ib3eb24c655353966d64c7148d7530244b628ce94
Michael Bestas [Thu, 19 Feb 2015 12:29:21 +0000 (14:29 +0200)]
Don't enable ADB by default on userdebug builds
Change-Id: I33ae5c6f2787017a62e679aa0c28d4b909d45935
Marcos Marado [Tue, 13 Jan 2015 15:14:28 +0000 (15:14 +0000)]
dopush only tries to push if its arg doesn't fail
`dopush mm`, as an example, tried to do mm, ignored its result, and
went to push. Now, it does mm, and if mm exits successfully it
continues to push the results, but if mm fails dopush stops,
returning mm's return code.
This is useful for having things like:
$ mmp && adb reboot
which now reboot the device weather the changes were pushed or not.
With this patch, the device will only get rebooted if the compilation
succeeds.
Change-Id: I001e3dd83e25a775919adbccbd49914da1e94cde
Koushik Dutta [Wed, 20 Jun 2012 01:39:41 +0000 (18:39 -0700)]
add unpackbootimg to otatools
Change-Id: I4e294c05eacc8bef8273247bcf1bf382291a3d31
Ricardo Cerqueira [Tue, 10 Feb 2015 23:58:10 +0000 (23:58 +0000)]
Revert "Add handheld_core_hardware.xml to telephony base"
Don't do this. handheld_core_hardware.xml includes feature declarations
that aren't mandatory, particularly cameras and magnetometers, but also
things like managed users. According to the CDD, these are optional.
Go back to the pre-L mechanism of including the declarations per-device
to make them accurate.
This reverts commit
dccce7bbe9673d4b8ce1a3559182767f926e1ff8.
Conflicts:
target/product/full_base_telephony.mk
Change-Id: I6db55082295171b78fe595e783799ee54458c4fd
Michael Bestas [Sun, 1 Feb 2015 22:11:06 +0000 (00:11 +0200)]
build: Add support for Kurdish
Change-Id: I1bc7638ff92b61be6c3212dbd5a3f1c354093458
Konsta [Thu, 22 Jan 2015 18:05:00 +0000 (20:05 +0200)]
build: Remove OpenWnn IME from target config
Change-Id: Ic34caa26bf53fc882e685794844ecfa27519e580
Michael Bestas [Sat, 29 Mar 2014 23:13:25 +0000 (01:13 +0200)]
build: Add support for Luxembourgish
Change-Id: I0fb6d8f8a33f209d5593f133c2e891fe9be102c2
Marco Brohet [Sat, 28 Dec 2013 17:11:52 +0000 (18:11 +0100)]
build: Add support for Asturian
Change-Id: If666c8390b3c095c16e66df777c67a46511f4916
Brint E. Kriebel [Sat, 24 Jan 2015 01:16:30 +0000 (17:16 -0800)]
releasetools: Add radio images to fastboot packages
Fastboot packages should include radio images, if they exist. Also
generate a flash-radio.sh file if a filesmap file exists to indicate
the partition that a radio image should be flashed to.
Change-Id: I8f603b1509a5c1b55fee1cb6f6a49a7efb8cc594
Ameya Thakur [Tue, 18 Nov 2014 23:27:07 +0000 (15:27 -0800)]
build: releasetools: ota: Add support for 32-64 bit upgrades
We now use the new API to determine if the update package is compatible
with the device it is currently being applied on or not. We also use the
32 bit updater libraries while compiling the ota package
Change-Id: I4d1d2bd90e03e6f4b2f786d25c6d02f62243c3f3
Tom Marshall [Tue, 16 Dec 2014 17:58:47 +0000 (09:58 -0800)]
build: Only set capabilities if provided
* Allows OUT/install to be compatibile with K recoveries.
Change-Id: I308ee5759da1e3c8e749e9408793f0720fb83cee
Tom Marshall [Fri, 12 Dec 2014 19:51:33 +0000 (11:51 -0800)]
build: ota: Support for install tools in /tmp/install
* Anything in OUT/install gets packaged up into the zip and extracted
to /tmp/install immediately after FullOTA_InstallBegin.
* Use /tmp/install in edify scripts and remove code related to using
and manipulating /system for install tools.
Change-Id: I315a3238e36c8d15e26f935e272f7e27dd59c320
Brint E. Kriebel [Thu, 8 Jan 2015 22:36:45 +0000 (14:36 -0800)]
releasetools: Store the build.prop file in the OTA zip
This file is often used to read information about the update contained
in the OTA. Place it in the update so it can be used by scripts.
The file is not added to the updater-script, so it will not be placed
onto the actual system.
Change-Id: I88044796cbe8f199ca02df2840fd944cba2c73fa
Ricardo Cerqueira [Mon, 5 Jan 2015 02:53:51 +0000 (02:53 +0000)]
build: Add an option to block non-enforcing builds
Prevent accidental build of test configurations. Hopping back and
forth between states (especially disabled) leaves a mess in the
filesystems, and we want to try to ensure published builds go out
enforcing.
Change-Id: I2206975968de421dec842f49b02490fa85ca9f3b
Steve Kondik [Sun, 28 Dec 2014 10:53:03 +0000 (02:53 -0800)]
core: Get the RIL variant path into the global includes
* Need to have this in the global path, so shuffle things around a little.
Change-Id: I2dd2b378d17ff3fa0e379793df31d68964d87278
Clark Scheff [Tue, 23 Dec 2014 21:30:51 +0000 (13:30 -0800)]
Add ddclient function for debugging with DDD
While debugging via the CLI is great, it is nice to have the
option to debug using a graphical front end. This patch adds
a function for using ddd to debug native code. Simply replace
gdbclient with dddclient and start debugging.
Change-Id: I3d3afe08772007b11ad6e0f839868e85386340f1
Note: Requires that ddd be installed on the host PC.
Dan Pasanen [Mon, 22 Dec 2014 05:18:16 +0000 (23:18 -0600)]
releasetools: clean up residual targetfiles-* dirs in /tmp/
Change-Id: I3792307663f8a85513e102c8bf3d78cf4e514760
Chirayu Desai [Fri, 28 Sep 2012 06:26:02 +0000 (11:56 +0530)]
envsetup: new function cmka
- The build system adds a clean-<module> target
for each module / package.
- This utilizes that and cleans and builds using mka.
- If no argument is supplied, it runs "mka clean".
- If argument is (bacon|otapackage|systemimage), it
runs installclean.
Change-Id: I582ac2f92df3278c41c254c73e9c02ad7f406851
(cherry picked from commit
eb74c2f2b9bb708e77edfdbb8ba0d0b716fef2fc)
(Also sneak in another minor change, a help entry for mkap)
Pawit Pornkitprasan [Mon, 22 Dec 2014 13:11:47 +0000 (20:11 +0700)]
build: fix dopush for SystemUI
The path for SystemUI has changed in Lollipop
Change-Id: Ib2126f48f6769e5f91d0aa1d44d4049bdbe1deff
Dan Pasanen [Thu, 18 Dec 2014 17:26:37 +0000 (11:26 -0600)]
releasetools: allow devices to specify a custom make_recovery_patch
Change-Id: I891660c1bf919b369afd4ff496fb6bab85dffe3f
Chirayu Desai [Tue, 16 Dec 2014 12:52:55 +0000 (18:22 +0530)]
Improve cmremote
Change-Id: I7e1f87ed92cddcf8df3ea4fd701f56a9ef806add
Steve Kondik [Mon, 8 Dec 2014 00:42:28 +0000 (16:42 -0800)]
build: Parse TARGET_COPY_FILES_OVERRIDES late in the setup
Change-Id: Ie3e4a168ff224e3b65e4627c0757e8813a02167f
dhacker29 [Tue, 2 Dec 2014 07:01:56 +0000 (02:01 -0500)]
Fix ro.build.product not found by ota_from_target_files in some cases
After I5dccba2172dade3dacc55d832a2042fce306b5f5 it was possible that
if override_prop was set and override_device was not set the script
was looking for a prop that did not exist.
Change-Id: I444a33de5bcb59f129bdcf631c2a6540c5926545
Ricardo Cerqueira [Sun, 30 Nov 2014 15:09:43 +0000 (15:09 +0000)]
otasigcheck: Go back to the key-rewrite check.
Using an intermediate file had the at-the-time unintended but good
side-effect of making execution failures (absent script, no
busybox in recovery, bad selinux setup) pass gracefully. Since this
check is intended as a blacklist, blocking the update when only
sure that breakage will ensue, that was a nice thing to get.
Checking the return code, while cleaner, is making non-key-related
failures like those mentioned above abort execution of the script.
The key itself isn't even checked, yet we're aborting because of it.
So go back to the original behavior: In case we're not sure... pass.
To do:
This can be cleaned up differently, and to the same effect, by returning
an explicit error code from the script and aborting when that error
comes up. Change the script to do that and come back here. :)
Change-Id: Ic9d7c3128047c25f31e2ef416c9df4d21ca0a1a8
Revert "otasigcheck: Go back to the key-rewrite check."
sigcheck now returns an explicit abort code
This reverts commit
bab150d79c7b9b1f233fc3592b69a42f0b38fbd8.
Change-Id: I2b5860ea427a4db7e29b55cc632b92c6e2910494
Cristoforo Cataldo [Sun, 30 Nov 2014 05:12:35 +0000 (06:12 +0100)]
core: Enable -mcpu=cortex-a9 flag for Cortex-A9 cpu variant
Change-Id: I9294a518bcdc21ccbae72eadd9f3c1a12982d028
core: armv7-a-neon.mk: Add missing endif
Change-Id: Id6f9c952d01d3c980115a52605d9c86038b3b5bd
invisiblek [Sat, 29 Nov 2014 17:14:13 +0000 (11:14 -0600)]
buildinfo: only set ro.build.product on non-unified devices
Change-Id: I5dccba2172dade3dacc55d832a2042fce306b5f5
Cristoforo Cataldo [Sun, 30 Nov 2014 01:06:42 +0000 (02:06 +0100)]
core: Enable -mcpu=cortex-a8 flag for Scorpion cpu variant
To be used with
http://review.cyanogenmod.org/#/c/77758/
Change-Id: I7ecc4707fa45bd7098165615c0521a12c85fb087
Brandon Bennett [Sat, 19 Nov 2011 23:02:04 +0000 (16:02 -0700)]
Add ext2, ext3, and vfat to releasetools
Support some non-standard partition that may be found in recovery.fstab
Change-Id: I0026a1d3ae5d432db10150d1a15f7bc8e7a6054b
M1cha [Tue, 25 Nov 2014 14:30:48 +0000 (15:30 +0100)]
releasetools: ota_from_target_files: add FullOTA_PostValidate
Change-Id: I152412049f90fd546d4516cc064238c3192be553
Matt Mower [Fri, 21 Nov 2014 06:46:52 +0000 (00:46 -0600)]
build: Ensure /system unmounted at install start
Account for the possibility that a user has mounted system manually
before installing the FullOTA package.
Change-Id: I97d0540676a7ce98762545e76ecb1a7f6335d204
Ricardo Cerqueira [Thu, 19 Jun 2014 00:45:15 +0000 (01:45 +0100)]
ota: Let devices specify their own recovery-from-boot.p installer
Some devices apply transformations to the installed images, making
the sha1 checksums fail (or, worse, generating invalid images). If
"/system/etc/recovery-transform.sh" exists, run that instead, passing
the expected sizes and checksums as arguments in the form of
recovery-transform.sh <recovery_size> <recovery_sha1> <boot_size> <boot_sha1>
A direct emulation of the standard patcher could look like this, transformations
should be added as needed.
----------------
RECSIZE=$1
RECSHA1=$2
BOOTSIZE=$3
BOOTSHA1=$4
dd if=/dev/block/platform/msm_sdcc.1/by-name/recovery of=$C/recovery.img
dd if=/dev/block/platform/msm_sdcc.1/by-name/boot of=$C/boot.img
if ! applypatch -c EMMC:$C/recovery.img:$RECSIZE:$RECSHA1; then
log -t recovery "Installing new recovery image"
applypatch -b /system/etc/recovery-resource.dat EMMC:$C/boot.img:$BOOTSIZE:$BOOTSHA1 EMMC:$C/recovery.img $RECSHA1 $RECSIZE $BOOTSHA1:/system/recovery-from-boot.p || exit 1
else
log -t recovery "Recovery image already installed"
fi
----------------
Conflicts:
tools/releasetools/ota_from_target_files
Change-Id: Ie601841ca1cdad6b8f3b16e593d2718a92e8ca09
Pawit Pornkitprasan [Wed, 19 Nov 2014 16:22:41 +0000 (23:22 +0700)]
build: clean up otasigcheck
- Only mount and unmount /data if it was originally unmounted
- Don't use comparison hack, just check the result of the script
Change-Id: I4a22485d315cf91e95ce578907c49f5fa3a03222
Tom Marshall [Wed, 1 Oct 2014 14:33:51 +0000 (07:33 -0700)]
build: Use project pathmap for recovery
Change-Id: I6339ac77b899a43db21261d587252b65cb58ad79
Brint E. Kriebel [Wed, 13 Aug 2014 19:27:38 +0000 (12:27 -0700)]
build: Handle custom boot images properly
When a pre-built image should be used, it should be stored in the
target files zip so that it can be used with external signing
processes.
Original-Change-Id: I2661af9ac58af30bb9314b552775046d3abf44e0
Change-Id: I10b3bd0bb33489b8ffb26d16d002f8dd6ff405ad
Ricardo Cerqueira [Thu, 17 Nov 2011 00:13:29 +0000 (00:13 +0000)]
ota: Build uboot bootable images when necessary
Change-Id: I18996bb1f5377bbf369fb41774aaa1f5821e7d1f
Matt Mower [Thu, 28 Aug 2014 23:29:14 +0000 (18:29 -0500)]
Edify: Add/Update abort messages for some asserts
* If a bootloader or baseband assert is not satisfied, print the
versions that are supported by the package as well as the version
on the device.
Change-Id: I958d49281c51bd4e60d596a727bb94cfc4a21909
dhacker29 [Tue, 28 Jan 2014 21:51:51 +0000 (15:51 -0600)]
Allow devices to specify certain ro. props via TARGET_UNIFIED_DEVICE
This modifies buildinfo.sh to not set model, name, description, and
fingerprint in build.prop. These can then be set via custom init
lib.
This also fixes ota_from_target_files to function without these
props being preset.
Change-Id: I945b2c38e60b207d2d0f82b34f4f230ac21b0657
Ricardo Cerqueira [Wed, 5 Nov 2014 21:30:23 +0000 (21:30 +0000)]
Redo BOARD_CUSTOM_BOOTIMG_MK support
Simplified version of the previous implementation. Recovery's ramdisk
is spun off from the main recovery target again to allow overriding
just the image-generation step
[mikeioannina]: Squash cm-13.0 changes and adapt to N
Tom Marshall [Tue, 28 Oct 2014 23:12:15 +0000 (16:12 -0700)]
build: recovery: Support adding device-specific items
(cdesai): Also add the relevant parts from koush's
commit
7fd5a89df5ec3961c9aedfd2afad50d6d2561056
"Add initial support for charge mode. also support recovery/root in the device tree to easily copy props into recovery images."
Change-Id: I25205e68282680932917016646dabd1abadbfce6
Arne Coucheron [Sat, 3 Mar 2012 21:53:06 +0000 (22:53 +0100)]
Fix inheritance of PRODUCT_PROPERTY_OVERRIDES for CM audio files
Otherwise the ones set in CM vendor will be overridden by these.
Change-Id: I3f87dfd009d8ddfd48972c15770599742b12c4af
Author: Abhisek Devkota <ciwrl@cyanogenmod.com>
Remove extra product property overrides
This appears to clash with vendor/cm/common mk's for overrides; causes
a broken default alarm (and OnTheHunt is so bleh).
Change-Id: I5ec990d3c5ad56b573c45f1a3b20169c989851a0
Michael Bestas [Thu, 1 May 2014 13:33:02 +0000 (16:33 +0300)]
build: Don't build video editor libraries
* These are gone in L
Change-Id: I7dae9c6736590be8cd080195da4062258ee4a424
Oliver Middleton [Sun, 12 Oct 2014 21:11:26 +0000 (22:11 +0100)]
build: Fix some colored build issues
* Fix some broken lines in definitions.mk
* Finish adding colors to product-graph.mk
Change-Id: I235a60c967b1f10ec6dd1cac25740badbd3b64c9
nuclearmistake [Mon, 28 Apr 2014 01:59:42 +0000 (21:59 -0400)]
Colorize javac errors
You know those multi-line ones that are frequently interspersed with other buld output?
The ones that don't even have the word "error" in them to search for?
This makes them red.
ps2: fix jar_check failures cause by leaving empty stderr files in intermediates dirs
this is probably not the best place to store stderr before colorizing it if javac
exits non-zero, but it seems much lighter than mkdiring a bunch of temp directories
or using sed to mangle the paths to point to per-intermediates directory unique
temporary file names
Change-Id: I3b9b7d8a0c76958588ac1603b6742987d6dde54c
Signed-off-by: nuclearmistake <nuclearmistake@gmail.com>
colorize non-fatal javac stderr yellow (and actually display it... at all)
woops!
Signed-off-by: nuclearmistake <nuclearmistake@gmail.com>
Change-Id: I984f428022a68a825aa041866e8d459bd6611f71
Brint E. Kriebel [Tue, 14 Oct 2014 19:43:28 +0000 (12:43 -0700)]
product_config: Set CM_BUILD priority above TARGET_BUILD_APPS
Even if we are doing TARGET_BUILD_APPS, we may want to use a cm
target for building.
Change-Id: Ic8053bc679fa8b726be90e611aeaacdf1850cabc
Danesh Mondegarian [Fri, 8 Nov 2013 02:44:02 +0000 (18:44 -0800)]
Remove HomeSample from builds
As good as it looks, we already have a launcher (Launcher3)
Change-Id: I87cac70eec30fd62d6f7ecb7777caa9d240fe0ee
Ricardo Cerqueira [Sat, 8 Nov 2014 23:03:53 +0000 (23:03 +0000)]
Remove nulls from the edify generator.
These would break the scripts. WTF are they doing here?
Change-Id: I0c52335a27f7ae974279fde1c2461b2dba24d263
Koushik Dutta [Fri, 1 Jun 2012 20:30:25 +0000 (13:30 -0700)]
Fix file-size stats on OSX
Kernel makefiles that the stat on the system is GNU stat. GNU stat uses the "-c" option to specify format.
Darwin stat uses the "-f" option to specify format. This discrepency will cause kernel build breaks.
On my system, I symlink stat to GNU stat. This causes the "get-file-size" define
to fail.
The fix for this is to detect "gstat", aka GNU stat, and use that appropriately.
Change-Id: I987c155b7dc3ff14ffe6da40edf834ca34b7df75
Fix up the get-file-size function that was broken due to the prior commit that made it utilize gnu stat (gstat)
Change-Id: I24bba2bfcb509ad1ad76d2260eedd685ba45c393
Kyle Ladd [Thu, 12 Sep 2013 00:43:42 +0000 (20:43 -0400)]
build: fix bash completion sourcing
Sourcing functions in files from a function within a file being
sourced was giving bash a hard time. This fixes 'repo' command tab
completions.
Change-Id: Iac1b3078e20749fb474ed1270e0886cf435e24d9
Chirayu Desai [Tue, 19 Mar 2013 12:20:37 +0000 (17:50 +0530)]
envsetup: export ANDROID_BUILD_TOP earlier
Change-Id: Ia3497f61f4e9aaeeb793cecd3b4f488f0a48181a
James Roberts-Thomson [Tue, 16 Apr 2013 03:53:39 +0000 (15:53 +1200)]
Consolidate bash version checks
There were two checks for bash version, the 2nd was superfluous; this
patch removes the duplicate checks, and shifts the bash version check to
being back after the "are we in bash" check.
Change-Id: I57ff8c1fedce80f739c06643d2976d2c1465db1b
Steve Kondik [Sun, 23 Feb 2014 22:36:22 +0000 (23:36 +0100)]
[HAX] Allow per-target dtbTool
* Revert this when fixed
Change-Id: I97ecb0448ae7bd5859454be290c5dde6248b2859
build: Default to dtbToolCM
* The default dtbTool isn't the correct module name for the module that
actually lives in device/qcom/common/dtbtool
Change-Id: I80b427e3652b99742573bc4d2829e51645a8822b
generate_extra_images: Look for 3.10 dtbs
The dtbs have changed location between 3.4 and 3.10. Look for the
new location first and fallback to the 3.4 location if they're
missing.
Change-Id: I7aada8dbcf01ea6f62b3235b452c9329cd69e5e8
build: Generalize kernel DTB path
Use $TARGET_KERNEL_ARCH to specify the architecture-dependent
path location of the DTB files.
Change-Id: I302f407d987e1b33acb0e47b284a1cb793747691
generate_extra_images: Allow supplying arguments to dtbtool
* Also add a message to indicate when dt.img is generated
Change-Id: I670cc8aa571269d1dc1085e51b063fb890dc05f2
JustArchi [Sun, 22 Jun 2014 12:37:30 +0000 (14:37 +0200)]
Build: Add support for specifying build variant in brunch/breakfast
This little modification allows specifying build variant in brunch/
breakfast commands. For example we can use "brunch i9300 user" to build
user variant instead of default userdebug.
When no extra argument is given, userdebug is default.
Change-Id: I935327252098ee74b34a815a023d2ac6b9a53a30
Ricardo Cerqueira [Wed, 5 Nov 2014 19:58:59 +0000 (19:58 +0000)]
ota: Fix recovery-script cleanups in block mode
Change-Id: Iadb480f8062cfb7a0e6c9024e32ac0d71a7481d7
Brint E. Kriebel [Mon, 18 Aug 2014 21:28:42 +0000 (14:28 -0700)]
ota_from_target_files: Validate signatures after possible data wipe
If the data is being wiped, we want to validate the signature after
this step. This is also a good check that the data wipe succeeded.
Change-Id: Iaecfddfb2010944de0c97e7bb21d8e581f20deec
Matt Mower [Thu, 28 Aug 2014 21:51:02 +0000 (16:51 -0500)]
Edify: Add AssertSomeBaseband
Allow releasetools.py to assert a baseband version. Works just like
AssertSomeBootloader.
Change-Id: Ic8eb341cef1d777d983be25ba21a3bc545819c29
Ricardo Cerqueira [Wed, 5 Nov 2014 18:16:43 +0000 (18:16 +0000)]
ota: Include copies of the recovery scripts even if shipping in block mode
Ricardo Cerqueira [Wed, 5 Nov 2014 17:08:57 +0000 (17:08 +0000)]
qcom_utils: Make "is-vendor-board-platform,XX" depend on BOARD_HAS_XX_HARDWARE
Prevent qc's code from wrongly kicking in for AOSP-derived
configurations
Matt Mower [Tue, 20 May 2014 07:52:23 +0000 (02:52 -0500)]
envsetup: dopush: set file permissions on files pushed to /data too
* If pushing to /data, transfer old file owner, group, permissions to
pushed files, then restorecon
Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
Change-Id: Ibf2945adee457a680a288f2bdfba3d2e29ba25a1
Matt Mower [Tue, 20 May 2014 07:52:23 +0000 (02:52 -0500)]
envsetup: fixup dopush
* After clobber, $OUT does not exist and tee cannot create .log; fix
this by calling mkdir -p $OUT
* Make sure Copy and Install are at the beginning of the log line being
analyzed and also search for ':' so that "Copying:" lines don't count
* Fix Copy file list by quoting so shell doesn't think this is a
command: $LOC $(...)
* Fix 'only copy files from $OUT' now that multiple file pushing works
right
* Only stop java services once (if needed) and then wait to restart
services until after all files have been pushed
* Change location of SystemUI.apk to priv-app
Signed-off-by: Chirayu Desai <cdesai@cyanogenmod.org>
Change-Id: I65edd34bf445b28c2638cb3e9621719121fb962f
Brint E. Kriebel [Thu, 10 Jul 2014 17:38:59 +0000 (10:38 -0700)]
build: Store the jenkins build number in misc_info
If the jenkins build number is available, list it as build_number in
the misc_info.txt file.
Change-Id: I6500c6b53661f2904dff738d25d8a8d24a7dca80
Ricardo Cerqueira [Fri, 9 May 2014 21:21:28 +0000 (22:21 +0100)]
ota: Make sure we don't install on top of an incompatible system
If the system has data present, make sure said data doesn't depend
on a system signature different from our own. If we can't find
our platform key, abort the installation
Change-Id: I16572daf9464de326a9d0d126597cfbf03208f94
Mike Grissom [Mon, 26 Aug 2013 23:09:51 +0000 (16:09 -0700)]
Don't set CCACHE_BASEDIR if its already set
* enable use of shared ccache
Change-Id: Ic708a5d5169291d674b167aa2c87bf2c8adaafae
Steve Kondik [Sun, 18 May 2014 22:34:30 +0000 (15:34 -0700)]
build: Include an extra device.mk
Change-Id: I4373f78f57c81e46affc2f6a6bc854bf4c3d00db
build: Clean up use of vendor/extra
* extra_config.mk is not needed anymore
* Include BoardConfigExtra.mk if available
Change-Id: Icd0db0852ceee5cb5c701c9a40b829e1f3ebd69e
Brint E. Kriebel [Thu, 15 May 2014 19:30:37 +0000 (12:30 -0700)]
build: Add new public keys to recovery
Change-Id: I11dea464297813be36e60c23728dde8893535c46
build: Move bacon public key to device tree
Change-Id: I50c780203f7ecdd3008ac07146b7c9db91f9a443
Tom Marshall [Fri, 16 May 2014 20:46:24 +0000 (13:46 -0700)]
build: Set ccache base to build top
This enables ccache sharing between different build tree paths.
Change-Id: I99636bdd2779a6ccf0649f027e35cf67df44b6ae
Andrew Bartholomew [Sat, 10 May 2014 14:58:07 +0000 (10:58 -0400)]
build: use /usr/bin/env to call python
Hardcoding the path to python instead of env is not recommended. This
can break the build in some Linux environments that link /usr/bin/python
to python3.
Change-Id: I4c62eb391acc6d468ce24ac8640834e965e76e78
Ricardo Cerqueira [Wed, 7 May 2014 16:28:49 +0000 (17:28 +0100)]
Store the base64 release key in the OTA zips
This can be directly grepped in pre-existing package.xml tables
to make sure we're not trying to update to a differently signed
build
Change-Id: I7528a8e7c484ea9209cd665b9263328ae834586a
Ricardo Cerqueira [Tue, 1 Oct 2013 19:42:45 +0000 (20:42 +0100)]
tools: getb64key - print the base64 version of a PEM public key file
Change-Id: Ia94ff560c88dfe85c3fa55db5c8219aa0d3419ee
Tom Marshall [Wed, 9 Apr 2014 23:14:07 +0000 (16:14 -0700)]
build: edify: use set_metadata for backuptool
Also use saner permissions on backuptool.sh
Change-Id: I50742b51867aa358f5924b8dc208833092a35bd9
Brint E. Kriebel [Wed, 22 Jan 2014 23:51:46 +0000 (15:51 -0800)]
Store the value from TARGET_OTA_ASSERT_DEVICE to a file
This is needed so it can be read in when re-signing a package to
allow for the proper device asserts.
Change-Id: I8f3bb491bbbaa4d2b827a45ef83f12c6c83e6712
Ricardo Cerqueira [Fri, 3 Jan 2014 02:46:15 +0000 (02:46 +0000)]
Allow individual projects to enforce a property's value
Some projects require system properties to be set to a specific
value (for example, a shared library needing a property pointing
to its own path) in order to work correctly, but some device
configurations are mistakenly setting those properties with the
wrong value (usually inherited from the original OEM build).
"PRODUCT_PROPERTY_UBER_OVERRIDES += property=value" can (and
should) be used in that project's makefile to ensure the value
is the correct one. This variable is intended for software projects,
and should never be used in product makefiles (BoardConfig, cm.mk,
AndroidProduct)
Change-Id: I1986e7c444e51cce8b198e43fdc793fad16d6276
Steve Kondik [Sat, 28 Dec 2013 23:48:20 +0000 (15:48 -0800)]
build: Add QCOM target-specific config
* Needed to support global DirectTract config on legacy targets
* Let's also eliminate some boilerplate
Change-Id: I736c10a5e7e1f3d1e0de9e60f29b60add276f151
build: Fix cflags for QC targets
Change-Id: I2281bec3afb4d80e80845718d880dc24ef7baf32
build: qcom: Set QCOM_*_PATH variables for hardware/qcom-* projects
This consolidates a bunch of one-off logic scattered throughout the
code base. Usage in Android.mk files is trivial:
At top level, use e.g. "ifeq ($(call my-dir),$(QCOM_AUDIO_PATH))".
This works for all variants, including non-variants (i.e. AOSP).
Within subdirs, use e.g. hardware/qcom/audio => $(QCOM_AUDIO_PATH)
Change-Id: Iee2497ea9a7efeb4ae9e861b84c532b19da7b69d
build: Introduce project pathmap and use it for qcom variants
The project pathmap tracks the path to the top level of a project. The
following functions are provided:
* project-set-path adds an entry.
* project-set-path-variant adds a "variant" entry.
* project-path-for retrieves an entry.
To use as a guard in Android.mk:
ifeq ($(call my-dir),$(call project-path-for,projectname))
To use for include paths in Android.mk:
LOCAL_C_INCLUDES += $(call project-path-for,projectname)/...
Set project pathmap for qcom project variants.
Change-Id: I8dceca72a1ba80fc7b1830c5ab285d444f530457
build: Set QCOM variants for non-QCOM_HARDWARE defined targets
* Nexus devices and others typically do not define the QCOM_HARDWARE
flag, so the variant path should always default to the AOSP variant.
* Unconditionally set the variant to the AOSP HAL by default.
Change-Id: I714170897128f92718af266366cfcbf3136e8981
build: Automatically set QCOM audio, display, media variants
* Device platform should determing the HAL that ought to be used. This
commit forces QCOM_HARDWARE to select the -caf HAL variants, which
are then broken down by platform within the variant path.
Change-Id: I6fc7a3def7b93112f034a3b89552f302727cdbf8
build: Enable QCOM_BSP, QC_AV with QCOM_HARDWARE
Change-Id: Ibf9dd35272521109fea52e46bacf6e1e3074ed6a
pathmap: Point QC HAL pathmaps directly to the source
Directly map to the actual HAL directory, including the
board platform. This lets project-path-for point directly
to the respective HALs.
Change-Id: Ic4ed61bbdea9d0b5683502bf84a8410e76858527
Enable QCOM_BSP_LEGACY flag for pre-8974 targets
Change-Id: I895f1b1cbad0d260e1bca87ccb61e6194de023fd
build: Fix QCOM_BSP_LEGACY cflags
Change-Id: I880f32892d9e082e3ba92878414f3cb3c6f08066
Fix QCOM_BSP_LEGACY
Checks in the Android.mk files do not enable the cflags for .h
files, causing a build that crashes constantly.
Change-Id: I315c760488445629fda860ba70066417c7d68b8b
build: Clean up QCOM flag definitions
Change-Id: I66bca2db83260ccd65b82e540ee9f7961f00b030
build: Add QCOM flags to Clang CFLAGS
Change-Id: I56f0d4106f5d3d27c1ace744d30c1c81f0052bbd
build: Remove unused qcom CFLAG
Change-Id: I6ead3e57899bcb007d4d284901f918a65a9e6926
build: Set QCOM global cflags for secondary arch
Change-Id: I637d94f9b0ddee2c8d6057de44355e482163dd36
build: Fix copypasta in 2nd target clang flags
Change-Id: Ieedce8754b145e53d72a5d6a4b41fbe5cdf6473f
build: Allow devices to specify a RIL variant
Change-Id: Ia5d35d916be358fb7be7ead6bd05cc3628b35a37
build: qcom: Set the correct project path for device-specific cameras
Change-Id: I37696dae2c05c4e9f4fc824fbba63af47483ea17
build: Allow QC platforms to share/customize HAL variants
* Allow devices to override HAL variant using QCOM_HARDWARE_VARIANT
* 8909 and 8916 share HALs by default
* 8610, 8226, 8974 share HALs by default
* 8992, 8994 share HALs by default
Change-Id: Idfbdc405a35c5ba518fc71c8b691fc177ddf9068
(cherry picked from commit
338b399a2976993f0758c2f4e61620e987f4cb19)
build: Add a couple more custom pathmap variables
Change-Id: Ie44b9844c6d82dd73d1ea1f16b565f8bb06652c1
qcom: Enable TARGET_COMPILE_WITH_MSM_KERNEL
In the 6.0 HALs, CAF added the TARGET_COMPILE_WITH_MSM_KERNEL
which is enabled when building AOSP with an in-line kernel.
Since we only use in-line kernel builds, go ahead and enable
it across the board for all Qualcomm devices
Change-Id: I36bba34b7f1009b0776256cf0e0ce57e6c7377f4
qcom: Add QTI_BSP
Change-Id: Id99fb17044e453af050e6e3ff59cd3f5a47da268
qcom: Remove QCOM_DIRECTTRACK
* DirectTrack/LPA/tunnel for 8960 only works with AwesomePlayer, which
has been deprecated. Don't bother allowing this to compile.
Change-Id: I4d3e6dd9f1e3047a379fd76af4f6b45d791210de
build: Allow devices to specify a WLAN variant
Change-Id: I59616fa641c4ccddea7eb5fb77e9aeb0423ef234
build: Add bt-vendor variant and fix wlan variant
Change-Id: Ie3c433420504f0f14783f99e2d5fcdd46f1a3f37
build: Adjust for device-specific HAL paths
* QCOM variant HALs are pretty much deprecated, long live
device-specific HALs!
Change-Id: I636d1e851519aba31ea3744b369aea06d6db6f68
build: qcom: Define legacy ALSA audio flag
Change-Id: I83cf184f56e1293f6abaaac7849505260499c9af
build: End this nightmare.
* Disable QC AV enhancements across the board. It brings no value
for CyanogenMod now. We are unable and unwilling to make this
shit work for commercial products- for aftermarket it would
be a complete waste of time to even try.
Change-Id: Id6f0086c107c24178410e726738e666341fdbfe1
qcom: Select Sony display/media variants for Sony devices
Sony's msm8226 and msm8974 devices use HALs that match the 3.10 kernel
they use. Select a custom variant here.
Change-Id: Iecfb6bdf0e989ba5231bce6e650b6926417f7f90
qcom: Fix non-QC target pathmappings
* The actual key for camera, gps, loc-api is qcom-$(name), not $(NAME).
Change-Id: Id0f2ed760cae3b5627983ef5a2206775bc880637
qcom: Add dataservices to project pathmap
* Set vendor/qcom/opensource/dataservices as the default dataservices
provider.
* Devices can override this choice by setting
USE_DEVICE_SPECIFIC_DATASERVICES and providing dataservices in the
$(TARGET_DEVICE_DIR)/dataservices directory.
* Set $(TARGET_DEVICE_DIR)/dataservices as the default dataservices
provider for non-QC hardware (Nexus devices).
Change-Id: Ie003110d7b745367947b4b728bc83800c0351068
qcom: Add support for custom device specific paths
* There are many supported devices with common trees,
and they may wish to put their hals there.
* Allow setting the path to the hal by using
DEVICE_SPECIFIC_<component>_PATH when
USE_DEVICE_SPECIFIC_<component> is true.
Change-Id: I1335d322cd43440b028b51cff6023dd05e1d1024
qcom: Explicitly build the custom audio policy for legacy alsa
Change-Id: Ib0efba23e20ff156c032fe0ad428c5fa08b15f8d
qcom: Allow usage of default QC HAL paths
Change-Id: Icbeaa995047289b5e10cdebf805f8bd8cb7978b1
qcom: Use correct path for BT vendor
Change-Id: I81971e65a7f75ad5755bfdbed229c30d447c7d55
qcom: Support 8937/8953
Change-Id: I84b1807e88d5be1230eab64bd1275a0677ce510f
build: Readd msm7x27a to QCOM Targets
Change-Id: I87db6ee43059c256d338babbdfe414030a06b53e
Signed-off-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Steve Kondik [Fri, 13 Dec 2013 17:47:42 +0000 (12:47 -0500)]
build: Add support for PRODUCT_COPY_FILES_OVERRIDES
* We may have a case where prebuilts need to be built from
source instead based on an externalized config.
* New directive takes a list of destination files to remove from
PRODUCT_COPY_FILES so that other instructions can be supplied.
Change-Id: I7feff16440e54d1676ffddbbd96d5947efa43ede
Emilio López [Sun, 3 Nov 2013 16:05:43 +0000 (13:05 -0300)]
envsetup: Mark zsh as compatible
Basic functionality has been tested on zsh 5.0.2 and has been found to
work correctly.
Change-Id: I02e5e3bedf56b43104c280d9737ae7b334357643
Emilio López [Sun, 3 Nov 2013 16:04:27 +0000 (13:04 -0300)]
envsetup: drop unnecesary exports
export -f is a bashism and we don't actually need it, so lets remove it.
Change-Id: I9228cef0c4a9543b3d34fdc39a368ad0238431e2