5ee71ba372ddef9bc2b5e12f55f0b449d320282c |
|
23-Mar-2016 |
Alex Deymo <deymo@google.com> |
Implement Xz compressor functions. The new XzCompress() function is similar to BzipCompress() function but uses the Xz compression algorithm. This patch simplifies the unittests of the compressors and reuses the client-side decompresor implementation instead of repeating the implementation in the delta generator. This patch removes the unused compression/decompression functions. Bug: 24578399 TEST=Added unittests. (cherry picked from commit 246bf21fd0074a1897c28a7c4703c2223e6224b6) Change-Id: I20cc3035d36c1041cc67fe88435c720d9dbc8733
/system/update_engine/Android.mk
|
3a92aa2fe6aafd1007b6427795dfe8711b6cb094 |
|
01-Mar-2016 |
Sen Jiang <senj@google.com> |
Check if zlib is compatible. Add a --zlib_fingerprint flag in delta_generator to check if the zlib of source image is compatible, and only enable IMGDIFF operation if it is. Test: Added unittest to check /etc/zlib_fingerprint Bug: 27156099 (cherry picked from commit e0d04282910d423ddc950dd38224c001efc41d42) Change-Id: Ic5dd14abaa4e7b6644bfcb5d73cfc42cc39195c2
/system/update_engine/Android.mk
|
c4db97bfa6f24e987c8298f721a6c99f5febb599 |
|
14-Mar-2016 |
Sen Jiang <senj@google.com> |
Fix PayloadSignerTest.* in Brillo. Added modules to install missing private and public keys. There's no openssl binary in target device, rewrote SignHash() using openssl library functions. Test: GTEST_FILTER="PayloadSignerTest.*" ./update_engine_unittests Bug: 26955860 (cherry picked from commit 923886a86013fbba05d00dd64d4ddc9b9a6dffe4) Change-Id: I9952409480cc1e70b90999f3dda7dfab5cc413f1
/system/update_engine/Android.mk
|
bb0c067bf37c98cc55b6c79c1174084b1e0c9b0b |
|
10-Mar-2016 |
Alex Deymo <deymo@google.com> |
Implement susped, resume and cancel for the Postinstall action. This patch sends SIGSTOP/SIGCONT to the running postinstall program to suspend/resume the child process, and SIGKILL when cancelling it. Bug: 27272144 TEST=Added unittest to check the signal being sent. (cherry picked from commit d15c546ed794293d0a63770467a0f3c4c84c6214) Change-Id: Ie99b406b4d7f73dda4189b7a5a7d627c866055d6
/system/update_engine/Android.mk
|
3275606278533a27f61263e39718acc8d77afebb |
|
05-Mar-2016 |
Alex Deymo <deymo@google.com> |
sample_images: Support sparse files. The sample images are mostly sparse space. This patch stores those files as sparse files in the .tar.bz2 files and simplifies the rules to extract them directly onto the destination directory. acp still doesn't support sparse files, so when these files get copied to the /data partition, they won't be sparse files. Nevertheless, this patch is still required. Bug: 26955860 TEST=mmma showcommands system/update_engine; `du -hs` the intermediate files. (cherry picked from commit a3553e42ce7255034044f364f72516b29417bbdc) Change-Id: I6abe3456d412248b5df13129936463a4efc120ba
/system/update_engine/Android.mk
|
dc873fa24a49165c6eacc7628713066adb028e60 |
|
04-Mar-2016 |
Alex Deymo <deymo@google.com> |
Fix test_http_server location. The test_http_server is not a gtest executable, but a test helper used by the unittests. It is expected to be in the same directory. Bug: 26955860 TEST=Ran HttpFetcher unittests. Change-Id: I8d05212089d6c774c59c85dc8299984757bbb29d
/system/update_engine/Android.mk
|
63bdd876ff81cf93d945c7e473ff7fa17655a8f8 |
|
25-Feb-2016 |
Alex Deymo <deymo@google.com> |
Don't rebuild .img files on incremental builds. The sample image files are extracted from a .tar.bz2 file. The images were generated at some point in the past and this date is stored in the tarball file, so the rule that extracts them from the tarball keeps this date, making the .img file have an older date than the file that generates it (the .tar.bz2). This casues the build system to rebuild those .img files every time unnecesarily. This patch updates the date on the extracted .img while extracting it fixing this problem. Bug: None TEST=Running `mmma system/update_engine` twice doesn't regenerate the .img files. Change-Id: I76dc536c5ee45898ad5c43fd005fcf30e4311cd1
/system/update_engine/Android.mk
|
c90be63117cdad2622694b6f9ac2aec65fa80bf0 |
|
18-Feb-2016 |
Alex Deymo <deymo@google.com> |
Fix Ext2FilesystemTest unittests on Brillo. The Ext2FilesystemTest tests use a set of pre-generated filesystems stored in sample_images.tar.bz2 and attempt to parse those. This patch installs the used filesystems in the same directory as the Chrome OS test environment would generate those files, relative to the unittest program executed: in a gen/ subdirectory. Also, an empty filesystem that was previously created from the unittests is now pre-generated. The update_engine_unittests program now depends on those modules being installed and those unittests pass. Bug: 26955860 TEST=/data/nativetest/update_engine_unittests/update_engine_unittests --gtest_filter=Ext2FilesystemTest.* Change-Id: I40082e328cec89a7ef4f06d3b8125a953b29efad
/system/update_engine/Android.mk
|
80f70ff45f8ea9a679c0c3ed0dc143dd2fe2b63e |
|
11-Feb-2016 |
Alex Deymo <deymo@google.com> |
Build unittests in Brillo. Many unittests do not pass for simple reasons that will be addressed later. This CL includes all the changes to make the unittests build. In particular, the generated DBus mocks, required to build several unittests are now included here. The dbus-constants.h files were moved to the system_api repo, so they can be removed from here. The unittest build is only enabled for Brillo targets, since non-Brillo targets don't even build DBus. Bug: 26955860 TEST=`mmma` on edison-eng (and aosp_arm-eng). Change-Id: Ib38241f0a6eb99b1d60d72db6bcfd125d38e3fad
/system/update_engine/Android.mk
|
0cd976de289c9f17d2c10814720fbd6d62d7432d |
|
12-Feb-2016 |
Alex Deymo <deymo@google.com> |
Disable ChromeBrowserProxyResolver behind a flag. In Brillo and Android targets, there isn't a Chrome instance running to resolve the proxies for a given URL. While this is not a fatal error it logs abundant error messages on each request, confusing developers. This patch compiles the ChromeBrowserProxyResolver only when the USE_LIBCROS flag is set. This is now disabled by default in Brillo and Android, but enabled in Chrome OS. Bug: 24277309 TEST=`mma` on edison-eng. Applied an update, no more proxy error logs. Change-Id: I27779572bf2fc810cb7846d63e123643d0386b0a
/system/update_engine/Android.mk
|
a96ddc18f0d52c5a73864ee1e7135478cc873c78 |
|
11-Feb-2016 |
Alex Deymo <deymo@google.com> |
Define libupdate_engine_client before using it. This CL simmply move the libupdate_engine_client definition up before it is used locally, to be consistent with its usage and the update_engine.gyp defintion. Bug: None TEST=`mma` on edison-eng Change-Id: Ieb5a17dd25c48d5eba1c9c1f8e2579873a38469e
/system/update_engine/Android.mk
|
2997173235e88c5e4cb13d2844f74afc7b25d6e2 |
|
05-Feb-2016 |
Shuqian Zhao <shuqianz@google.com> |
Add a feature to get the last UpdateAttempt ErrorCode from update_engine For autotest, update_engine test failures are always hard to debug, since the error message is not clear. Add a new flag 'last_attempt_error' to get the last UpdateAttempt ErrorCode from update_engine. Bug:25598547 Test:emerge-peppy update_engine emerge-peppy update_engine_client cros flash a test image to DUT. (on the DUT):update_engine_client --last_attempt_error Compare the results with the update_engine logs, matched. Change-Id: Id12681097ed30b0826cad68809f17f934a07e5b2
/system/update_engine/Android.mk
|
3b678db2e7fd4baa38c6d6b8bb8334f7d88b8682 |
|
09-Feb-2016 |
Alex Deymo <deymo@google.com> |
Implement a new resetStatus() method in Android interface. When an alredy applied update is deleted from the server (normally because is was detected to be a bad update), we need to go back to the idle state and remove the update to prevent it from breaking more devices. This patch allows the application side to reset the applied update back to idle. Bug: 27081760 TEST=Deployed on a non-Brillo device, sent resetStatus. Change-Id: I1bf5a141388250d225515e40f13bc3564fa5d957
/system/update_engine/Android.mk
|
e88e9feb5a64c1358baeb1c8547e82aa08e1cd83 |
|
04-Feb-2016 |
Alex Deymo <deymo@google.com> |
Android: Print the error code string from the client. The update_engine_client needs to translate the numeric ErrorCode to a string name that can be printed on the output. This patch moves the ErrorCodeToString() function to a new error_code_utils.{h,cc} pair of files so it can be included easily from the client binary and uses it in the Android update_engine_client. Bug: 25631767 Bug: 25598547 TEST=`update_engine_client --update` prints the error message in a non-Brillo device. Change-Id: Ib40813924ec676f3e703412de90d389b2596177e
/system/update_engine/Android.mk
|
5e3ea278d9e771be3b51bd72985ad582678baddc |
|
28-Jan-2016 |
Alex Deymo <deymo@google.com> |
Android: Implement the update attempter for Android. This patch implements the update workflow for non-Brillo targets. Only the applyPayload() method is implemented here with a minimal subset of functionally implemented in it. This new class acts as the service delegate, handling all the binder service method calls for non-Brillo targets. Bug: 25631949 TEST=FEATURES=test emerge-link update_engine TEST=`mmma system/update_engine` on aosp_arm-eng and edison-eng TEST=Deployed on a non-Brillo device and tested with update_engine_client Change-Id: I678cd141633bc2c0920a09ef27a02d53682d5330
/system/update_engine/Android.mk
|
2130ee03a1b05c923e3ad44b4beef9849ff939e5 |
|
03-Feb-2016 |
Alex Deymo <deymo@google.com> |
Android: Exit from update_engine_client when daemon dies. When the update_engine daemon dies or is not running, update_engine_client now exists with an error code and prints a message stating a daemon-side failure. Bug: 25631767 TEST=`update_engine_client --follow` and killed update_engine Change-Id: I7c13df56bd384d2bdbc5df402f730b2797753a10
/system/update_engine/Android.mk
|
ab0d976fa47844870d55c87ab530072cea0c8c53 |
|
02-Feb-2016 |
Alex Deymo <deymo@google.com> |
CPULimiter: Refactor class to manage the CPU limitation. This new class replaces the functionality embedded in UpdateAttempter that limits the max CPU usage allowed by update_engine. This refactor helps reusing this class outside of the brillo UpdateAttempter. Bug: None TEST=FEATURES=test emerge-link update_engine Change-Id: Ib5487d314846b497a44bb78a3b94609571e0fe38
/system/update_engine/Android.mk
|
fa78f14d818e8e0b8ed5d05ebc389bf833342e7a |
|
27-Jan-2016 |
Alex Deymo <deymo@google.com> |
Refactor daemon state and service async notification. There are three supported IPC mechanism in this code: DBus, binder and weave (over binder); which are mostly supported by all three platforms Chrome OS, Brillo and Android. The exceptions are that Brillo and Chrome OS still *require* DBus and support the others, while the new Android daemon requires and supports only Binder. This CL introduces two new interfaces: the ServiceObserverInterface and the DaemonStateInterface. The first one abstracts a service (or IPC service) into an interfcae from the point of view of the daemon initialization and async notifications of status changes. The second interface encapsulates the state and main functionality of the update_engine daemon while leaving the shared initialization in the main.cc and daemon.cc classes. Bug: 25631949 TEST=`mmma system/update_engine` on edison-eng and aosp_arm-eng TEST=FEATURES=test emerge-link update_engine Change-Id: Ic15621031a153e14bdc4df8fcedbca1032e82c21
/system/update_engine/Android.mk
|
5f52811e5afda03e374a28233500e151f1e706f4 |
|
28-Jan-2016 |
Alex Deymo <deymo@google.com> |
Compile update_engine_client for non-Brillo targets. The non-Brillo Android targets use the reduced binder interface. This patch creates a similar update_engine_client command line tool to use with the non-Brillo interface and compiles it for those targets. Bug: 25631767 TEST=`mmma system/update_engine` on edison-eng and aosp_arm-eng. Change-Id: I598144db2b703322c8469fa0982a70dc62572936
/system/update_engine/Android.mk
|
ce90f4462dda5b15ec8abeb949a95d99e2f51f08 |
|
26-Jan-2016 |
Casey Dahlin <sadmac@google.com> |
Remove unused dependencies in the client. The update_engine_client binary doesn't depend on a particular backend anymore, since the client library hides all the IPC. This CL removes the backend-scpecific dependencies from update_engine_client and relies on the ones specified in the libupdate_engine_client. Bug: 25908638 TEST=`mmma system/update_engine` on brillo-eng and aosp_arm-eng. TEST=emerge-link update_engine Change-Id: Idffb9393eefadeb89eff8e44d07209dac4078035
/system/update_engine/Android.mk
|
50e24f437da9f47f97315dc9e11b2ba20a3dd829 |
|
28-Jan-2016 |
Alex Deymo <deymo@google.com> |
Remove warning about update-payload-key redefined. Android defines a rule for installing the file /etc/update_engine/update-payload-key.pub.pem for non-Brillo targets in the build/core/Makefile, which overrides the rule defined here but generates a warning. This CL restricts the brillo-update-payload-key to BRILLO targets only, avoiding the double definition. Bug: None TEST=`make dist` doesn't show the warning anymore. Change-Id: I42fa8970767858af12325e65a4ea418f8c1fcc11
/system/update_engine/Android.mk
|
40892497a9b1ea124058baf09f5f2873a15cb696 |
|
26-Jan-2016 |
Casey Dahlin <sadmac@google.com> |
Make client use binder interface on brillo TEST=Verified status and update commands Bug: 25908638 Change-Id: I7994de41001b4e116bffa539f23f1344ab1deae9
/system/update_engine/Android.mk
|
aabd81eaaf49c4f20d16e4404162e129a4fc4b1c |
|
27-Jan-2016 |
Alex Deymo <deymo@google.com> |
Remove duplicate dependencies in Android.mk. This section of the Android.mk was added twice due to rebases in the daemon CLs. Bug: None TEST=`mma` with USE_WEAVE=0 and 1. Change-Id: I6a634d0d251cfb2cabcdef9d37420e9a3e0ba914
/system/update_engine/Android.mk
|
71d7c214a3944cfa28a5358558d18269d25c11c7 |
|
22-Jan-2016 |
Alex Deymo <deymo@google.com> |
Re-land: Compile libupdate_engine_client even when dbus is disabled. This patch enables libupdate_engine_client with the right backend even when dbus is disabled. Bug: 25908638 TEST=`m` on edison-eng and aosp_arm-eng Change-Id: I929d9bfce0392d1663a569f47cf08ce83030354b
/system/update_engine/Android.mk
|
e97b39c4140af015f5a2939808cf8ee39bde43a2 |
|
20-Jan-2016 |
Alex Deymo <deymo@google.com> |
Implement Android UE daemon using brillo::Daemon. The setup logic for Brillo and Android devices is very similar despite the differences in the daemon logic and exposed service interface. This patch reuses the brillo::Daemon derived class and the main() function from Brillo to implement the daemon and service setup in Android as well. In addition, the Chromium OS build now defines the __CHROMEOS__ macro to make the code behave the same way as in the Brillo case. Bug: 25631949 TEST=`mmma system/update_engine` on edison-eng and aosp_arm-eng Change-Id: I0f9690264e0822ef7e71318c73c2f16eda99e07c
/system/update_engine/Android.mk
|
c003790a466ef06f82af3ebff67da7fcd019f967 |
|
24-Jan-2016 |
Alex Deymo <deymo@google.com> |
Fix missing dependencies when weave is disabled. When compiling binder (but now weave) we were missing some dependencies. This patch adds those to the right place and propagates them to the executables using those. Bug: 25908638 TEST=`m` on edison-eng with BRILLO_USE_BINDER=0 Change-Id: I2ddf86dc2f33ff87f079e7776da8256454f36ca2
/system/update_engine/Android.mk
|
7ff02cf06d1167ca4fa3deb1fb6379acc4e51b0d |
|
22-Jan-2016 |
Alex Deymo <deymo@google.com> |
Add back weaved dependencies accidentally removed. Weave support requires libbinderwrapper and libbrillo-binder, accidentally removed in CL:197821. Bug: None TEST=`mma` with "binder" disabled. Change-Id: I41c997e95d38f2b70ab322c3ffe9fa3e27a203fa
/system/update_engine/Android.mk
|
7067445ffbfb87e7b6b07c0a84528f915141e147 |
|
23-Jan-2016 |
Alex Vakulenko <avakulenko@google.com> |
Revert "Compile libupdate_engine_client even when dbus is disabled." This reverts commit e66cb48c5f2d141e22d9b5942e85cc35e7b0c636. Change-Id: I2d9d8b98b8af68016fb7b5383dd71cbb285096a2
/system/update_engine/Android.mk
|
bdd765e3157a2b04265dcdab0d7a55e747924555 |
|
23-Jan-2016 |
Alex Vakulenko <avakulenko@google.com> |
Revert "Implement Android UE daemon using brillo::Daemon." This reverts commit c180400937eac75e8b7119f68d44593713dd4557. This breaks both AOSP and Chrome OS Change-Id: Ie9686a4d03a8fd53a614ed1706e3268918c414fb
/system/update_engine/Android.mk
|
e66cb48c5f2d141e22d9b5942e85cc35e7b0c636 |
|
22-Jan-2016 |
Alex Deymo <deymo@google.com> |
Compile libupdate_engine_client even when dbus is disabled. This patch enables libupdate_engine_client with the right backend even when dbus is disabled. Bug: None TEST=`m` on edison-eng and aosp_arm-eng Change-Id: Ifc6293cc748575800c923f5537c0865463101f32
/system/update_engine/Android.mk
|
c180400937eac75e8b7119f68d44593713dd4557 |
|
20-Jan-2016 |
Alex Deymo <deymo@google.com> |
Implement Android UE daemon using brillo::Daemon. The setup logic for Brillo and Android devices is very similar despite the differences in the daemon logic and exposed service interface. This patch reuses the brillo::Daemon derived class and the main() function from Brillo to implement the daemon and service setup in Android as well. Bug: 25631949 TEST=`mmma system/update_engine` on edison-eng and aosp_arm-eng Change-Id: I15b2c2990a8055619dd407b2996ea92216c602a2
/system/update_engine/Android.mk
|
78a954ffae03c486324331a016160c8d9b6481d0 |
|
22-Jan-2016 |
Alex Deymo <deymo@google.com> |
Set default USE flags values as local variables. Setting variables such as BRILLO_USE_FOO can leak to other makefiles, so the local default value set by another project can affect the default behavior. This patch defines local variables with the local default value for the USE flags. Also, minor fix to the default value for "binder" in the Chromium OS side. Bug: None TEST=mmma system/update_engine Change-Id: I47e1300efa1d93ed91c78bef41481a327753483c
/system/update_engine/Android.mk
|
a93cd53c4f8ab8cb926ed9223373567ebbf45cb6 |
|
15-Jan-2016 |
Casey Dahlin <sadmac@google.com> |
Introduce brillo binder interface This is more or less an exact analogue of the DBus interface, but available over binder. We also add support to the client library and let update_engine_client build with binder. We don't yet support an equivalent of the status signal/the HandleStatusUpdate method. That will come in a future CL. Bug: 25908638 TEST=Verified update_engine_client functionality Change-Id: Ic793619c8019b0d50aa184e0f592b6a9ab71e0b0
/system/update_engine/Android.mk
|
e78e3fb71d9b1586482aa43514c0d6625c0ae197 |
|
05-Jan-2016 |
Tao Bao <tbao@google.com> |
Add bind() function to the binder interface. Update engine may have started and done some work before we call applyPayload(). Add a new binder function bind() to register a callback function that communicates with the update engine. Bug: None Test: 'mmma system/update_engine'. Change-Id: Iafcdb250904b44f9526be15f0381690df50805a2
/system/update_engine/Android.mk
|
e119e6ab7edb7226508d49a43b196b44f0c54111 |
|
07-Jan-2016 |
Alex Vakulenko <avakulenko@google.com> |
update_engine: Switch to use Binder interface to weaved Now that weaved provides a binder interface for its IPC, switch to using it instead. Bug: 23782171 Change-Id: I0b981b366a7dc42aabc9b61c4e9f90e26a2d74b4
/system/update_engine/Android.mk
|
042f8a1df59750921598394bd145c17950782247 |
|
08-Jan-2016 |
Tao Bao <tbao@google.com> |
Add a rule for brillo_update_payload. With the changes to build/core/Makefile, the script will be installed to $(HOST_OUT_EXECUTABLES) to generate the payload for A/B update. Bug: 25715402 Test: `mmma system/update_engine` on an Android target on Linux. Change-Id: Ia3fadae1d4c4b7ba65dc40f68440728e50a2d984
/system/update_engine/Android.mk
|
f7ead8100211e7a285b48b52f4a235647274ab6e |
|
24-Oct-2015 |
Alex Deymo <deymo@google.com> |
Implement update_engine weave commands The new WeaveServiceInterface abstracs the registration and interaction with weave whenever present. The compilation and usage of weave is based on the BRILLO_USE_WEAVE flag. When enabled, update_engine registers the "_updater" component with methods to force-check for an update and change channels. Bug: 24386758 Bug: 24386768 Test: Deployed on edison, weave commands and state available online. Change-Id: Ic49111772e123b8a2b1971da92fe65785f186ccd
/system/update_engine/Android.mk
|
ab5bd668f6be600a8cceb8772e426c0aa902a5e1 |
|
21-Dec-2015 |
Alex Vakulenko <avakulenko@google.com> |
update_engine: Disable RTTI There is no longer a reliance on RTTI in libbrillo, so disable RTTI in the rest of Brillo codebase. Bug: 26292405 Change-Id: Ice1a5787335182ad2aa9d16e393f104128331a2c
/system/update_engine/Android.mk
|
dbd1711ad6dbd94f7dfd88a78caa5d5b69d61ed7 |
|
17-Dec-2015 |
Ying Wang <wangying@google.com> |
Fix use of local-generated-sources-dir. For a host module, you need to specify LOCAL_IS_HOST_MODULE (as well as LOCAL_MODULE and LOCAL_MODULE_CLASS) before $(call local-generated-sources-dir). Bug: 26239768 Change-Id: Ia164f8d0b99b64e21dc3f96fe55e34f2bdb33d23
/system/update_engine/Android.mk
|
e844c1a5604765bbddafa7e05f1143a27f136747 |
|
16-Dec-2015 |
Casey Dahlin <sadmac@google.com> |
Port update_engine_client ResetStatus command to lib This is the first step in getting update_engine_client completely off of direct DBus calls Test: Ran --reset_status command and verified update_engine received the signal. Bug: 26233663 Signed-off-by: Casey Dahlin <sadmac@google.com> Change-Id: Iac54d890fd796f91a7813755d6061cf468255347
/system/update_engine/Android.mk
|
05e0e38c30824b727f3582c90258d9bb19cc3f47 |
|
08-Dec-2015 |
Alex Deymo <deymo@google.com> |
Compile delta_generator for the host. Bug: 24619596 TEST=mma on linux. Change-Id: Icccae2b938b4fdd698b177beee96ffb62e9f63ae
/system/update_engine/Android.mk
|
1b03f9f983a22fabb8d53e036abf1b192e7d5811 |
|
09-Dec-2015 |
Alex Deymo <deymo@google.com> |
Move hardware and boot_control implementation to libupdate_engine. The implementations of the BootControlInterface and HardwareInterface are specific to the platform and use case. The delta_generator uses the DeltaPerformer in the libpayload_consumer to apply a payload to a set of partitions defined as local files, for example. This patch move the platform implementations, not available when building for the host back to the libupdate_engine. Bug: 24619596 TEST=mma Change-Id: I16ab06c2e53dfd046e693bdb7310ec26a2d69054
/system/update_engine/Android.mk
|
b09305e7e55d5375647ddf07538dc1a539923e3f |
|
02-Dec-2015 |
Alex Deymo <deymo@google.com> |
Compile delta_generator and payload_consumer when "dbus" is disabled. delta_generator and payload_consumer should not depend on any DBus library. This patch now builds those even when "dbus" is disabled. Bug: 25773375 TEST=`mma` on a target with DBus disabled. Change-Id: Ia44cb9eed847e6d2eeb43a12373929128ae67d1c
/system/update_engine/Android.mk
|
ab49446e3d08dc8cf8928c3d3b6f292513af5566 |
|
30-Nov-2015 |
Alex Deymo <deymo@google.com> |
Restrict update_engine SSL certs. update_engine connects over SSL only with Google servers, so we restrict the list of SSL certificates to a smaller list, used by Google. Bug: 25089263 Test: mma Change-Id: I73dbbd18dd99a61fa3bd66dbb57d0ff1ab78160d
/system/update_engine/Android.mk
|
c1c17b4ed6a3896b6343e737fd89682fa0c8436b |
|
23-Nov-2015 |
Alex Deymo <deymo@google.com> |
Report Enum metrics from CertificateChecker. The certificate checker was reporting a "user action" whenever an update check HTTPS connection or HTTPS payload download had an invalid HTTPS certificate or a valid one that was changed since the last connection to the same server. This patch sends an Enum metric for every HTTPS connection to check for and update or download the payload with one of the three options: an invalid certificate, a valid one already seen or a valid but different certificate. This patch also moves these metrics to the metrics.{h,cc} module, where all the other metrics are reported, using an observer pattern in the CertificateChecker, needed to remove the dependency on the metrics library from the libpayload_consumer. Bug: 25818567 TEST=FEATURES=test emerge-link update_engine; mma; Change-Id: Ia1b6eb799e13b439b520ba14549d8973e18bcbfa
/system/update_engine/Android.mk
|
560927706bb5f66167a5aee4476822d1cc5232fe |
|
23-Nov-2015 |
Sen Jiang <senj@google.com> |
Add bspatch as a dependency of update_engine deamon. bspatch is used by update_engine for delta update. Bug: 24478450 TEST=make dist Change-Id: I448d3d7f64c8ca58ebf9689dfd06a595e9149da1
/system/update_engine/Android.mk
|
5bdc61b2d899e5f46aa0a89e9cd874d49caf77ba |
|
23-Nov-2015 |
Tao Bao <tbao@google.com> |
Revert "Conditionally set dbus group in init rc." We have dbus group added in commit f7b8cae2ef4fb79473aeede542c9d79a6b5b81c7. This reverts commit 5029dbb61238eebbd2f94cd946afc2a6bd93bf69. Change-Id: Ib5c2dfa558c23525a6cfc45726cd3aa9dd6396da
/system/update_engine/Android.mk
|
5029dbb61238eebbd2f94cd946afc2a6bd93bf69 |
|
19-Nov-2015 |
Tao Bao <tbao@google.com> |
Conditionally set dbus group in init rc. Change-Id: I9958b56502ee5eecdb3ca279779c6a66774b88f5
/system/update_engine/Android.mk
|
cd60dcaab418204aa4c82218d08f0ed2091795f8 |
|
18-Nov-2015 |
Alex Deymo <deymo@google.com> |
Fix update_engine build for non-Brillo targets. This patch fixes the build for non-Brillo targets that have dbus enabled (the default for AOSP). Bug: None Change-Id: I8225a25bfd73a1c8bc55a784dcc0624213e61d47 Test: mmma system/update_engine on aosp_arm-eng and brillo targets
/system/update_engine/Android.mk
|
4218b7ec834a69cf1ad105848a9c4ff6edb9384f |
|
18-Nov-2015 |
Alex Deymo <deymo@google.com> |
Disable DBus dependent targets when "dbus" USE flag is not set. Some targets should not be build when DBus is not enabled, such as the update_engine_client, the generated DBus proxies and the DBus daemon. This patch disables those headers and also temporary disables libpayload_consumer and delta_generator on Android when the "dbus" USE flag is not set, since they depend on headers that still depend on DBus. Bug: 25197634 Test: `mmma system/update_engine` on an android target without dbus. Change-Id: Ic33dc52c2f910bd526b06663cdbd119a0b8cdfd9
/system/update_engine/Android.mk
|
9e1eda984560c8aadd394f3c7c40d17b4dfe22ed |
|
17-Nov-2015 |
Christopher Wiley <wiley@google.com> |
Add Binder service for update_engine Bug: 25632204 Test: Compiles, registers with the service manager on aosp_arm-eng Change-Id: Iaf67a37193958f0a11d9f3d320cd6e93cf6afbef
/system/update_engine/Android.mk
|
38429cf76aaac8c499004b6f537229a26b381602 |
|
12-Nov-2015 |
Alex Deymo <deymo@google.com> |
common: Split out metrics utils from utils.cc. The utility functions to convert error codes and network settings to the types defined by the metrics framework are split out the utils.cc file. These tools are only used by the update_engine daemon to report back metrics on an update check. Bug: 25197634 Test: FEATURES=test emerge-link update_engine; mma Change-Id: I589dc9f6056fb1399fa84ca4f44076ed3a6b5365
/system/update_engine/Android.mk
|
39910dcd1d68987ccee7c3031dc269233a8490bb |
|
10-Nov-2015 |
Alex Deymo <deymo@google.com> |
Split payload application code into a subdirectory. This patch splits from the main libupdate_engine code the part that is strictly used to download and apply a payload into a new static library, moving the code to subdirectories. The new library is divided in two subdirectories: common/ and payload_consumer/, and should not depend on other update_engine files outside those two subdirectories. The main difference between those two is that the common/ tools are more generic and not tied to the payload consumer process, but otherwise they are both compiled together. There are still dependencies from the new libpayload_consumer library into the main directory files and DBus generated files. Those will be addressed in follow up CLs. Bug: 25197634 Test: FEATURES=test emerge-link update_engine; `mm` on Brillo. Change-Id: Id8d0204ea573627e6e26ca9ea17b9592ca95bc23
/system/update_engine/Android.mk
|
787dc4139768a065cfb5da34dd8c9f6d76fc23df |
|
29-Oct-2015 |
Alex Deymo <deymo@google.com> |
Add USE flags to the Android.mk To help conditionally building parts of update_engine based on per-product settings, this patch ports the USE flags used in the gyp to make variables in Android.mk Change-Id: I4cf5295f812d87c251c32947f0ca6abcc7b10ad6
/system/update_engine/Android.mk
|
c372ab694cd45c226454037ff8df4b7ff85177e2 |
|
29-Oct-2015 |
Alex Deymo <deymo@google.com> |
Android.mk: Remove makefile macro and let make resolve transitive dependencies. The automatic tool to translate android makefiles to the new build system doesn't handle macros so we remove them here and follow the Android style of declaring local make variables. Because of this change, instead of resolving the transitive dependencies on each gyp target, we create local variables with the "exported" build settings and include them from the depending targets. This maps more closely the gyp targets to the Android.mk targets and allow us to make conditional changes (based on global make variables) to these variables in a single place. This will be used to compile weave support conditionally. Bug: 24386768 Test: mmma system/update_engine Change-Id: I9cb44b0e1d4e9f7c061e1b1f154d51c04375aaa0
/system/update_engine/Android.mk
|
4cf1402b6245f1606788b1850b1a9c3571b0d27b |
|
28-Oct-2015 |
Alex Vakulenko <avakulenko@google.com> |
update_engine: Fix Android.mk typo. Missing \ was breaking build. Change-Id: I5f8f3d6dd04d40fb4a909f608ab2524514854998
/system/update_engine/Android.mk
|
1bab5a8a47f8e83f4798b0f45d555ad0ffd8e481 |
|
27-Oct-2015 |
Alex Vakulenko <avakulenko@google.com> |
update_engine: Rename libchromeos into libbrillo BUG: 24872993 Change-Id: I4cdbec7089552f5c9a0461c09a62e34e055a46bf
/system/update_engine/Android.mk
|
0bc2611b49aba30202fdb9c23871430eb67e4738 |
|
20-Oct-2015 |
Alex Deymo <deymo@google.com> |
Move bzip.h to payload_generator. The in-memory bzip compression and decompression functions are only used during payload generation and testing. This patch moves those functions to the payload_generator/ directory and keeps the streamed version (bzip_extent_writter.h) in the update_engine daemon. Bug: None Test: FEATURES=test emerge-link update_engine; `mm` on Brillo. Change-Id: I78227fdac15df6461b23debb41c72207b22fb5db
/system/update_engine/Android.mk
|
6eddf26ce30989c0f4812b3b9de17760a40fdea7 |
|
16-Oct-2015 |
David Zeuthen <zeuthen@google.com> |
BootControlStub: New class used if CreateBootControl() fail. This can happen if running update_engine on Brillo in the emulator or other device lacking a boot_control HAL implementation. With this change, the update_engine process continues to run but updates won't work. Bug: 25012817 Change-Id: I03d516c5e9a53c893c376885cd48068cd359e902 Test: update_engine no longer crashes on brilloemulator_arm.
/system/update_engine/Android.mk
|
856166594771c61973856f563e622ccb7dd48aa1 |
|
16-Oct-2015 |
Alex Deymo <deymo@google.com> |
Read ProductId, ProductVersion and Channel setting in Brillo. The ProductId, ProductVersion and current/target channels are specified in a very different way in Brillo compared to Chrome OS. This patch moves the logic to read and parse /etc/lsb-release in Chrome OS to a new image_properties module and implements the equivalent module in Brillo. This new module replaces some of the logic previously in the OmahaRequestParams class, both for parsing the read-only properties from the rootfs and parsing and storing the target channel in the stateful partition. The Chrome OS version of the new module keeps the same behavior, except that it falls back to "stable-channel" if the the current channel is missing in the rootfs (unlikely in Chrome OS). On the other hand, the new Brillo implementation reads these settings from the /etc/osrelease file and /etc/osrelease.d directory and doesn't allow to override those setting during development. The persisted target_channel and powerwash_allowed settings are stored in Prefs as many other settings. Finally, since Brillo images don't contain a channel name baked in the image, we store the channel name where we got the image from at the time of the update. The first boot after provisioning will default to "stable-channel". Bug: 25013069 Test: unittest in Chrome OS; `mm` and tested on a Brillo device. Change-Id: Icc114b8098af3edaaba715c9c2e3ebe9f417c876
/system/update_engine/Android.mk
|
7eb230544109ba53193f0630e3687df3bc91b79d |
|
10-Oct-2015 |
Alex Deymo <deymo@google.com> |
Link against libshill-client library. We had a copy of the generated headers since the tools to generate them were not ready at the time. This cleanup CL now uses the libshill-client target to generate these headers. Bug: None Test: mmma system/update_engine Change-Id: I4fe7c418c739349eadfd8d65213850dbdbebd6ca
/system/update_engine/Android.mk
|
eadab7d02e5815121b0db480ee7c0347800dc4ca |
|
09-Oct-2015 |
Alex Deymo <deymo@google.com> |
Android.mk: Sort library dependencies. The order of the library dependencies in the makefile is important, since the dependencies should be listed after the libraries using them are listed. This patch sorts the libraries in the Android.mk to match the order in which their equivalent library dependencies are included in the .gyp file. It also completes the transitive dependencies between targets as described by the exported deps in the .gyp file. Bug: None Test: mmma system/update_engine Change-Id: Iaa5bd471919902de9c2646502ff9f918bc9a144a
/system/update_engine/Android.mk
|
16daa08470beb5021b85618f1b3ee214d89e59a1 |
|
02-Oct-2015 |
Christopher Wiley <wiley@google.com> |
Add DBus hiding client library This library hides update_engine's legacy DBus dependencies until we can remove them completely. Bug: 24547247 Test: mmm system/update_engine; emerge-panther update_engine Change-Id: I7f87f2a7c31d0940c376ef43368e53b0f3bc3407
/system/update_engine/Android.mk
|
cc8ce0e3b11ac76412c26c687d11140cbe18ad91 |
|
02-Oct-2015 |
Christopher Wiley <wiley@google.com> |
Move UpdateStatus and helpers to dedicated files This allows us to easily share it between the update_engine proper and a forthcoming client library. Bug: 24547247 Test: mmm system/update_engine; emerge-panther update_engine Change-Id: I8c0db7a0f95dd6368bfc886f1b0d1a9d2efb461f
/system/update_engine/Android.mk
|
2e71f90d6af955a5359853132085931f1e0479e0 |
|
30-Sep-2015 |
Alex Deymo <deymo@google.com> |
Implement XzExtentWriter. The new XzExtentWriter class is an ExtentWriter that uses xz-embedded to decompress an xz stream and write it to the underlying extent writer. This will be used to implement REPLACE_XZ in a follow up CL. Bug: 23604708 Test: Added unittests. Change-Id: Ifd2ba0c917b66ab33e5cff1d6069da833ad54882
/system/update_engine/Android.mk
|
7599e6cd37cba44d63b3adb278499ced01c81ef0 |
|
29-Sep-2015 |
Scott James Remnant <keybuk@google.com> |
update_engine: build on non-Linux hosts BUG=24073089 TEST=mm on Mac host Change-Id: Ib62bbf48f38be238b73781461b33c301bc08400e
/system/update_engine/Android.mk
|
263614fbe36363fa7575088e33532d7e98901852 |
|
24-Sep-2015 |
Gaurav Shah <gauravsh@google.com> |
update_engine: Install payload signing public key BUG: 23937688 Change-Id: I931a196e207643077185b7bc904744cd42f82c32
/system/update_engine/Android.mk
|
70141f26d936f40297d7a8483040f1d2f4dc50c0 |
|
17-Sep-2015 |
Gilad Arnold <garnold@google.com> |
Rename init.update_engine.rc into update_engine.rc. This follows the current convention for init script naming in Brillo. Bug: 23186405 Change-Id: If803f6a48bd670a768a6062c88e823c2f81c7ba8
/system/update_engine/Android.mk
|
92da84d5abf94b1ea04b17769b6978db970f957b |
|
17-Sep-2015 |
Gilad Arnold <garnold@google.com> |
Add init.update_engine.rc. * Creates a directory for persistent data (/data/misc/update_engine). * Uses --logtostderr to ensure logging to syslog. Bug: 23186405, 24078351 Change-Id: Id10770274cc6b6084672412e4dcb42528d8fac06
/system/update_engine/Android.mk
|
ac41a82e4be1be43913292d13d58b5eb2c572f53 |
|
16-Sep-2015 |
Alex Deymo <deymo@google.com> |
Set default updater URL and version per platform. Chrome OS and Brillo devices require different production update URL and updater string ID sent to Omaha. This patch moves these constants to a platform-dependent file with the definition of the constants. Bug: brillo:587,brillo:588 Test: FEATURES=test emerge-link update_engine; `mma`; deployed on a dragonboard. Change-Id: Ibe3b30c32c2fb2caf3ed10a4198272dc13a44d12
/system/update_engine/Android.mk
|
753fadc8805f662e5af3a66f694207b04fbef8bb |
|
15-Sep-2015 |
David Zeuthen <zeuthen@google.com> |
BootControlAndroid: Implement using libhardware. This simply calls into the a boot_control HAL implementation loaded with libhardware. I've tested it with the implementation located in system/extras/boot_control_copy. The only non-trivial routine here is GetPartitionDevice() which I've hand-tested on a device using the following snippet of code: string names[] = {"boot", "system", "nope_enoent"}; for (string name : names) { for (int slot = 0; slot <= 2; slot++) { string device; if (!GetPartitionDevice(name, slot, &device)) device = "NOTHERE"; LOG(INFO) << "slot:" << slot << " part:" << name << " -> " << device; } } Change-Id: I1280325bd7cd4cf1cc9a33ef13c2f46f215da6e6
/system/update_engine/Android.mk
|
0290c1fb9cf11a8eeecb1520cb86ae7eecf859c1 |
|
15-Sep-2015 |
Alex Deymo <deymo@google.com> |
Disable update_engine targets for non-linux hosts. The dependencies of this Android.mk are not defined in mac, even for the target build, so we can't build update_engine on mac. Bug: 23084776 Test: `mma` on linux. Change-Id: I0813d900932155ea5648a60d28350baf9f12771b
/system/update_engine/Android.mk
|
d5561a5fd2d1a463a6679683897c03da1125b4ac |
|
04-Sep-2015 |
Alex Deymo <deymo@google.com> |
Add Android.mk for update_engine targets. The new Android.mk includes all the targets in update_engine.gyp defined when not building tests. The targets in the Android.mk file match what we have in update_engine.gyp. The transitive dependencies are resolved and made explicit in the Android.mk. This patch includes the generated DBus headers required to compile update_engine in AOSP. Some of these headers should be generated by other daemons once they move to AOSP (in the case of shill) or their usage should be gated with a define symbol based on USE flags if they are not meant to be ported over AOSP. Bug: 23084776 Test: mma Change-Id: Ic7c2d6d46a36f17f5f45152e4cd773ff2444e787
/system/update_engine/Android.mk
|