OSDN Git Service

android-x86/build.git
7 years agobuild: Separate commands in recovery foreach loops
Matt Mower [Tue, 8 Sep 2015 15:57:18 +0000 (10:57 -0500)]
build: Separate commands in recovery foreach loops

The foreach loops output a space separated list, not necessarily one
command per line. Separate commands with semicolons. Notably, this
fixes an issue with multiple device directories included in
TARGET_RECOVERY_DEVICE_DIRS.

Change-Id: I5ebdc84ecaaacabaea77b8b752141e2041622480

7 years agobuild: Create a oem image when BOARD_OEMIMAGE_FILE_SYSTEM_TYPE is defined
Diogo Ferreira [Fri, 4 Sep 2015 10:59:13 +0000 (11:59 +0100)]
build: Create a oem image when BOARD_OEMIMAGE_FILE_SYSTEM_TYPE is defined

This adds the capability of generating a OEM image with the build
and adding it to target files when BOARD_OEMIMAGE_FILE_SYSTEM_TYPE
is set.

Change-Id: I6c596d58d9d5ece1a261d953eeb8c60eac30e642
Ticket: CYNGNOS-936

7 years agobuild: allow using host flex binary
luca020400 [Mon, 7 Sep 2015 13:22:02 +0000 (15:22 +0200)]
build: allow using host flex binary

* Prebuilt flex doesn't work on newer glibc
  flex-2.5.39: loadlocale.c:131: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_COLLATE) / sizeof (_nl_value_type_LC_COLLATE[0]))' failed.
* Enable with USE_HOST_LEX=yes

Change-Id: Id683ff2fdf03edf88f8459ed32986a05334cd7fc

7 years agoproduct: Let a device customize its own locales
Ricardo Cerqueira [Sat, 15 Aug 2015 14:29:29 +0000 (15:29 +0100)]
product: Let a device customize its own locales

Use TARGET_LOCALES. If existing, it'll override the defaults except
for en_US

Change-Id: I450fa5023ba48f07622d23158012b5b7d5f2130b

7 years agoApply correct, optimized mfpu compiler flag for ARMv7-A Cortex CPUs
arter97 [Tue, 9 Sep 2014 02:44:22 +0000 (11:44 +0900)]
Apply correct, optimized mfpu compiler flag for ARMv7-A Cortex CPUs

For those ARMv7-A Cortex CPUs that can handle VFPv4 floating point,
We can set "-mfpu=neon-vfpv4" instead of generic "-mfpu=neon"
to gain extra performance improvements.

References :
 - GCC : https://gcc.gnu.org/onlinedocs/gcc/ARM-Options.html
 - Cortex A15 : http://www.arm.com/products/processors/cortex-a/cortex-a15.php
 - Cortex A9 : http://www.arm.com/products/processors/cortex-a/cortex-a9.php
 - Cortex A8 : http://www.arm.com/products/processors/cortex-a/cortex-a8.php
 - Cortex A7 : http://www.arm.com/products/processors/cortex-a/cortex-a7.php
 - Cortex A5 : http://www.arm.com/products/processors/cortex-a/cortex-a5.php

Currently prebuilt clang doesn't support neon-vfpv4 flag so fall back to neon
Also added support for cortex-a5 arch

Change-Id: I91893789ed8edabf3767e1782e494b81158332bb
Signed-off-by: Park Ju Hyung <qkrwngud825@gmail.com>
Signed-off-by: Maxime Poulain <maxime.poulain@student.uclouvain.be>
7 years agoForce bsdiff for recovery_from_boot.p if not using GZIP
Andreas Blaesius [Fri, 15 May 2015 10:11:44 +0000 (06:11 -0400)]
Force bsdiff for recovery_from_boot.p if not using GZIP

imgdiff expects a ramdisk to use GZIP, which is causing a chunk
size issue if recovery is using LZMA

Change-Id: I3194b4faed25a298fe23b4e24b6dea2885bafda8

7 years agobuild: Enable custom ccache cache dir for Android
Matt Mower [Wed, 10 Jun 2015 00:35:53 +0000 (19:35 -0500)]
build: Enable custom ccache cache dir for Android

During lunch, check environment variables for ANDROID_CCACHE_DIR.
If it is specified, CCACHE_DIR is set to match. Prevents issues
with multiple versions of ccache writing to the same cache dir.

ANDROID_CCACHE_SIZE should also be specified, allowing for a distinct
cache directory size from the default. Syntax for ANDROID_CCACHE_SIZE
is the same as applied in the command: 'ccache -M$ANDROID_CCACHE_SIZE'

Change-Id: I17497a6f56347850e0fa7b8ebd4de0b5a0b13e55

7 years agobuild: Fix extra userdata generation some more
Brint E. Kriebel [Thu, 6 Aug 2015 20:21:29 +0000 (13:21 -0700)]
build: Fix extra userdata generation some more

Use the prefix variable when placing the file in the target files
package.

Change-Id: Ia4b795416b58c493c3ea91b964e3b6f4cdf0fef1
Ticket: OPO-191

7 years agobuild: Fix extra userdata generation
Brint E. Kriebel [Thu, 6 Aug 2015 20:21:29 +0000 (13:21 -0700)]
build: Fix extra userdata generation

Image generation has been combined into the target file script and
requires the prefix parameter to work properly. This also needs to be
called properly when creating fastboot packages.

Change-Id: I1f716cc375ffe401d5f18487330fc9bb809ff3b4
Ticket: OPO-191

7 years agobuild: Allow packaging of factory image files into target files
Brint E. Kriebel [Thu, 23 Jul 2015 17:36:27 +0000 (10:36 -0700)]
build: Allow packaging of factory image files into target files

Files may be required inthe target files package for factory flashing
processes. Allow these to be added using PRODUCT_FACTORYIMAGE_FILES.

Change-Id: I74b42daee7b73f762f3c75904c6c278b1e5f5c53
Ticket: RM-112

7 years agomisc_info: Add factory script location to misc_info when available
Brint E. Kriebel [Wed, 22 Jul 2015 21:10:29 +0000 (14:10 -0700)]
misc_info: Add factory script location to misc_info when available

When a factory script is specified for the device, store the location
of the script in the misc_info package for proper use during package
signing.

Change-Id: Icd3ab59ebb68b8b6c92aff8eaf9e44322cdcbc18
Ticket: RM-112

7 years agoAllow setting the recovery density separately from the aapt config
Chirayu Desai [Wed, 15 Jul 2015 14:17:45 +0000 (19:47 +0530)]
Allow setting the recovery density separately from the aapt config

Change-Id: I817a4c01302956ec846503d9a585c43e690e45bf

7 years agobuild: Fix device detection for a few of the envsetup commands
Steve Kondik [Fri, 10 Jul 2015 09:31:24 +0000 (02:31 -0700)]
build: Fix device detection for a few of the envsetup commands

 * Edge case where a certain developer ended up with a blank system
   partition in recovery. Wonder how that happened?

Change-Id: I17854a53bf18d07c98c4b7f53df252d6f1d7113d

7 years agobuild: Fix image creation for F2FS-only configuration
Steve Kondik [Fri, 10 Jul 2015 07:58:53 +0000 (00:58 -0700)]
build: Fix image creation for F2FS-only configuration

 * Add f2fs dependencies regardless of whether we're building ext4
   images or not.

Change-Id: I886c52edaf56eb96fb931384440f33b00aa5c9ec

7 years agominnow_max: search for cm.mk in additional directories
Howard M. Harte [Fri, 22 May 2015 16:54:20 +0000 (09:54 -0700)]
minnow_max: search for cm.mk in additional directories

Intel's product configuration files are structured slightly
differentily than others.  Device-specific configuration is nested
one additional level, as follows:

device/intel/<family>/<product>/

Change-Id: I78b02978dc759b94024e5c5533d1108ac2634549

7 years agoenvsetup: repolastsync
Matt Mower [Sun, 29 Dec 2013 18:57:20 +0000 (12:57 -0600)]
envsetup: repolastsync

Prints date and time of last repo sync. Example:
Last repo sync: 11 Jun 2015, 21:54:59 CDT / 12 Jun 2015, 02:54:59 UTC

Change-Id: I4280b500e58237479194ad2e230ed7466db87755

7 years agootasigcheck: Extract the key
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

7 years agobuild: Add the factorypackage target
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

7 years agoRemove LatinIME as it is included per target in vendor/cm
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

7 years agoAllow dopush to load binaries onto the "wrong" device
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

7 years agoenvsetup: cleanup the full list
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

7 years agolunch: sort the choices
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

7 years agobuild: avoid recovery patch if device setup can't do it correctly
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

7 years agoenvsetup: add mk_timer
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

7 years agobuild: Move msm899x FLAC metadata flag to qcom_utils.mk
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

7 years agoGenerate extra userdata partition if needed
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)

7 years agoColorize more target file output
Scott Mertz [Mon, 20 Apr 2015 17:40:21 +0000 (10:40 -0700)]
Colorize more target file output

Change-Id: I25aee19e9a5a06eeeaa4040803c064a140a86778

7 years agobuild/core: Define find-other-aidl-files.
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

7 years agoota: Include full boot images when imgdiff fails
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

7 years agoota_from_target_files: Fix path for SkipNextActionIfTargetExists
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

7 years agoreleasetools: add compatibility for full ota functions with incrementals
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

7 years agoAdd support for mediatek platforms
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

7 years agobuild: Update install tools packaging for target-files support
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

7 years agoreleasetools: Add bootable image signing
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

7 years agoreleasetools: Store and use the dt image file through target files
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

7 years agobuild: Add changes to release tools and mkbootimg
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

7 years agoFix the extra dt.img compilation issue.
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

7 years agoFix case where boot/recovery.img were being built with wrong params.
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

7 years agoBuild: add DT image variable to Makefile
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

7 years agobuild: Add support for device tree in boot.img
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

7 years agoEnable ADB by default when ro.adb.secure is not 1
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

7 years agoDon't enable ADB by default on userdebug builds
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

7 years agodopush only tries to push if its arg doesn't fail
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

7 years agoadd unpackbootimg to otatools
Koushik Dutta [Wed, 20 Jun 2012 01:39:41 +0000 (18:39 -0700)]
add unpackbootimg to otatools

Change-Id: I4e294c05eacc8bef8273247bcf1bf382291a3d31

7 years agoRevert "Add handheld_core_hardware.xml to telephony base"
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

7 years agobuild: Add support for Kurdish
Michael Bestas [Sun, 1 Feb 2015 22:11:06 +0000 (00:11 +0200)]
build: Add support for Kurdish

Change-Id: I1bc7638ff92b61be6c3212dbd5a3f1c354093458

7 years agobuild: Remove OpenWnn IME from target config
Konsta [Thu, 22 Jan 2015 18:05:00 +0000 (20:05 +0200)]
build: Remove OpenWnn IME from target config

Change-Id: Ic34caa26bf53fc882e685794844ecfa27519e580

7 years agobuild: Add support for Luxembourgish
Michael Bestas [Sat, 29 Mar 2014 23:13:25 +0000 (01:13 +0200)]
build: Add support for Luxembourgish

Change-Id: I0fb6d8f8a33f209d5593f133c2e891fe9be102c2

7 years agobuild: Add support for Asturian
Marco Brohet [Sat, 28 Dec 2013 17:11:52 +0000 (18:11 +0100)]
build: Add support for Asturian

Change-Id: If666c8390b3c095c16e66df777c67a46511f4916

7 years agoreleasetools: Add radio images to fastboot packages
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

7 years agobuild: releasetools: ota: Add support for 32-64 bit upgrades
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

7 years agobuild: Only set capabilities if provided
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

7 years agobuild: ota: Support for install tools in /tmp/install
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

7 years agoreleasetools: Store the build.prop file in the OTA zip
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

7 years agobuild: Add an option to block non-enforcing builds
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

7 years agocore: Get the RIL variant path into the global includes
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

7 years agoAdd ddclient function for debugging with DDD
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.

7 years agoreleasetools: clean up residual targetfiles-* dirs in /tmp/
Dan Pasanen [Mon, 22 Dec 2014 05:18:16 +0000 (23:18 -0600)]
releasetools: clean up residual targetfiles-* dirs in /tmp/

Change-Id: I3792307663f8a85513e102c8bf3d78cf4e514760

7 years agoenvsetup: new function cmka
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)

7 years agobuild: fix dopush for SystemUI
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

7 years agoreleasetools: allow devices to specify a custom make_recovery_patch
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

7 years agoImprove cmremote
Chirayu Desai [Tue, 16 Dec 2014 12:52:55 +0000 (18:22 +0530)]
Improve cmremote

Change-Id: I7e1f87ed92cddcf8df3ea4fd701f56a9ef806add

7 years agobuild: Parse TARGET_COPY_FILES_OVERRIDES late in the setup
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

7 years agoFix ro.build.product not found by ota_from_target_files in some cases
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

7 years agootasigcheck: Go back to the key-rewrite check.
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

7 years agocore: Enable -mcpu=cortex-a9 flag for Cortex-A9 cpu variant
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

7 years agobuildinfo: only set ro.build.product on non-unified devices
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

7 years agocore: Enable -mcpu=cortex-a8 flag for Scorpion cpu variant
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

7 years agoAdd ext2, ext3, and vfat to releasetools
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

7 years agoreleasetools: ota_from_target_files: add FullOTA_PostValidate
M1cha [Tue, 25 Nov 2014 14:30:48 +0000 (15:30 +0100)]
releasetools: ota_from_target_files: add FullOTA_PostValidate

Change-Id: I152412049f90fd546d4516cc064238c3192be553

7 years agobuild: Ensure /system unmounted at install start
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

7 years agoota: Let devices specify their own recovery-from-boot.p installer
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

7 years agobuild: clean up otasigcheck
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

7 years agobuild: Use project pathmap for recovery
Tom Marshall [Wed, 1 Oct 2014 14:33:51 +0000 (07:33 -0700)]
build: Use project pathmap for recovery

Change-Id: I6339ac77b899a43db21261d587252b65cb58ad79

7 years agobuild: Handle custom boot images properly
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

7 years agoota: Build uboot bootable images when necessary
Ricardo Cerqueira [Thu, 17 Nov 2011 00:13:29 +0000 (00:13 +0000)]
ota: Build uboot bootable images when necessary

Change-Id: I18996bb1f5377bbf369fb41774aaa1f5821e7d1f

7 years agoEdify: Add/Update abort messages for some asserts
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

7 years agoAllow devices to specify certain ro. props via TARGET_UNIFIED_DEVICE
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

7 years agoRedo BOARD_CUSTOM_BOOTIMG_MK support
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

7 years agobuild: recovery: Support adding device-specific items
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

7 years agoFix inheritance of PRODUCT_PROPERTY_OVERRIDES for CM audio files
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

7 years agobuild: Don't build video editor libraries
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

7 years agobuild: Fix some colored build issues
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

7 years agoColorize javac errors
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

7 years agoproduct_config: Set CM_BUILD priority above TARGET_BUILD_APPS
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

7 years agoRemove HomeSample from builds
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

7 years agoRemove nulls from the edify generator.
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

7 years agoFix file-size stats on OSX
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

7 years agobuild: fix bash completion sourcing
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

7 years agoenvsetup: export ANDROID_BUILD_TOP earlier
Chirayu Desai [Tue, 19 Mar 2013 12:20:37 +0000 (17:50 +0530)]
envsetup: export ANDROID_BUILD_TOP earlier

Change-Id: Ia3497f61f4e9aaeeb793cecd3b4f488f0a48181a

7 years agoConsolidate bash version checks
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

7 years ago[HAX] Allow per-target dtbTool
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

7 years agoBuild: Add support for specifying build variant in brunch/breakfast
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

7 years agoota: Fix recovery-script cleanups in block mode
Ricardo Cerqueira [Wed, 5 Nov 2014 19:58:59 +0000 (19:58 +0000)]
ota: Fix recovery-script cleanups in block mode

Change-Id: Iadb480f8062cfb7a0e6c9024e32ac0d71a7481d7

7 years agoota_from_target_files: Validate signatures after possible data wipe
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

7 years agoEdify: Add AssertSomeBaseband
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

7 years agoota: Include copies of the recovery scripts even if shipping in block mode
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

7 years agoqcom_utils: Make "is-vendor-board-platform,XX" depend on BOARD_HAS_XX_HARDWARE
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

7 years agoenvsetup: dopush: set file permissions on files pushed to /data too
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

7 years agoenvsetup: fixup dopush
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