6727c2d0bfc876c62d6ee60d8a05d26bef1d56ef |
|
18-May-2016 |
David Sehr <sehr@google.com> |
installd support for profman --dump-info-for Bug: 28748264 Change-Id: Idcd3ed86294c1d0c75c26ca938b88744a25e387a
/frameworks/native/cmds/installd/installd.cpp
|
b63d91fd2737680351876406277b6c759f4db33c |
|
16-Mar-2016 |
Jeff Hao <jeffhao@google.com> |
Support to pass <uses-library> option through to dex2oat. This change takes an app's shared libraries specified by <uses-library> and passes it through to dex2oat to be used during compilation. Part of a multi-project change. Includes fix from c09662d9bbd35840b24cae8d336a0d11c0cbdb7b Bug: 26880306 (cherry-picked from commmit de7f0cf8a699f6f7a7d29b4a14d800bea9abbef4) Change-Id: Ideb2aba46f4cf52acb9dd480993513a60dbfd6ce
/frameworks/native/cmds/installd/installd.cpp
|
379a12b0072b322c7f86e690a8e8a220e500861c |
|
15-Apr-2016 |
Jeff Sharkey <jsharkey@android.com> |
Consistent creation/destruction of user data. Preparing and destroying users currently needs to be split across installd, system_server, and vold, since no single party has all the required SELinux permissions. Start passing down flags so we only prepare/destroy storage areas that have keys currently installed. Add delete_dir_contents_and_dir() argument to ignore ENOENT, since all we care about is the directory being gone. Bug: 27896918 Change-Id: Ia1cccc9b35e6ff09e3ca50effeab676157b856e8
/frameworks/native/cmds/installd/installd.cpp
|
7240a15f8a7eead09a3206baeb3d5eca5346c32f |
|
11-Apr-2016 |
Jeff Sharkey <jsharkey@android.com> |
Let's try casting to fix the build. Change-Id: Icd55458caefa27823b770f499a172ca96d1f7a0b
/frameworks/native/cmds/installd/installd.cpp
|
2f720f7ec5c9d0b91defc85878e7330b10f8e89a |
|
11-Apr-2016 |
Jeff Sharkey <jsharkey@android.com> |
Use inode numbers for CE storage, fix sizes. Certain operations, such as clearing/destroying app data, or just counting on-disk size, require us to know the CE storage directory of a particular app. To facilitate these operations, offer a method to get the inode of a CE directory, and accept that inode number for later operations. In previous releases, we started installing apps using a new directory-based layout, where all app code, unpacked native libraries, and optimized code is bundled together. So now we only have a single path to measure for code size. Start measuring both CE and DE storage data usage for apps, and tweak the reporting so that empty cache/data directories actually show up as "0 bytes". Fix bugs in disk usage counting, since st_blksize has no bearing on the allocated disk space. Also don't double-count "." and ".." directories when measuring storage. Bug: 27828915, 27197819 Change-Id: I350b951f5c24165edb253ac663c9aae020c24dc9
/frameworks/native/cmds/installd/installd.cpp
|
d1a6a2495ff82893728571136f4f080164c8dae5 |
|
25-Mar-2016 |
Calin Juravle <calin@google.com> |
Merge "Do not clean profiles unconditonally during app data clean up" into nyc-dev
|
edae669f18eb99b9316891fdde627e2f385c3c64 |
|
23-Mar-2016 |
Calin Juravle <calin@google.com> |
Do not clean profiles unconditonally during app data clean up The goal is to enable profiles to be persisted across OTAs. This CL makes profile removal a dedicated path which will be called by PackageManger during an app update or uninstall. Profiles are cleared when: - requested to do a full clean up of application data files - specifically requested to clear them (e.g. app updates) Profiles are destroyed (includes profile directory removal) - for each user individually when its application data is destroyed - for all users if the package gets uninstalled. Bug: 27081617 Bug: 27688727 Change-Id: Id53c7625011af3cdbe8a58ac0982982fa461e5fd
/frameworks/native/cmds/installd/installd.cpp
|
4d0f825dd76a1972a3d081e771cde28513a1c6ff |
|
20-Mar-2016 |
Andreas Gampe <agampe@google.com> |
Installd: Separate profile merging and compilation Create a new merge_profiles command to check and merge profiles. (Almost) always pass a profile to a dexopt pass. Require compilation filter input to dexopt and use it for dex2oat (except for hard overrides like safe-mode). Bug: 27689078 Change-Id: I1257857cc15c17e2271d1261ea4cc80752270fcb
/frameworks/native/cmds/installd/installd.cpp
|
01ad5984dd202311a7e301c8c771a5d4b7c76136 |
|
10-Mar-2016 |
Andreas Gampe <agampe@google.com> |
Otapreopt: Adapt for actual A/B Add postinstall script for update_engine hook. Add otapreopt_chroot as a gateway between installd and otapreopt. Installd will fork and run otapreopt_chroot, which has the permission to set up a chroot in /postinstall and run otapreopt from the B partition. Bug: 25612095 Change-Id: I4264598da00053ced87c849c738ddc0bc5437304
/frameworks/native/cmds/installd/installd.cpp
|
00087b70401bd09dfeaab9171d006e833e3cd844 |
|
14-Mar-2016 |
Greg Kaiser <gkaiser@google.com> |
installd: Avoid potential use of null 'src'. In create_cache_path, we have code checking whether 'src' is null, implying it's possibile it could be null here. To be safe, we move our strlen call until after this check. Change-Id: I6a67cdad8ebf8bdce1562ce5f0cbf98b084807ef
/frameworks/native/cmds/installd/installd.cpp
|
d828d6839f6a01e3f0b2b8b2694139dfa801c557 |
|
08-Mar-2016 |
David Brazdil <dbrazdil@google.com> |
Add 'rmprofiles' command to installd Adds a new command to installd which clears all profile data of a given package. Bug: 27516490 Change-Id: I92cc374b5b6d95ca7755e08b95a9bc9060df2178
/frameworks/native/cmds/installd/installd.cpp
|
e65b4faa798269ab6ee0d27dab03b8b5caa6f956 |
|
01-Mar-2016 |
Andreas Gampe <agampe@google.com> |
Installd: Add move_ab command Add a command to move A/B artifacts into the right position. This is used for apps that live in data. Bug: 25612095 Change-Id: I40c3ca54bd0f3b2d646a14b145e733096dabbbb2
/frameworks/native/cmds/installd/installd.cpp
|
cc6281cf8146cddb8ace7cbd58c67321639c1520 |
|
07-Feb-2016 |
Jeff Sharkey <jsharkey@android.com> |
Migrate default app data on non-FBE devices. When a system app requests "forceDeviceEncrypted" they expect their default app storage to point at a consistent location regardless of device FBE support. So when booting upgraded non-FBE devices, we may need to migrate any data from CE to DE. Note that on non-FBE devices these are just semantic locations with identical protection. This migration *only* works for non-FBE devices; changing forceDeviceEncrypted flags on an FBE device always requires a full data wipe. Bug: 26668510 Change-Id: I8bd5b8ba882e6bd067c0381041b27c35d6e47788
/frameworks/native/cmds/installd/installd.cpp
|
73dae11162aa61396c06cbdb05b954764e944e02 |
|
19-Nov-2015 |
Andreas Gampe <agampe@google.com> |
Installd: Introduce otapreopt Add a tool for dexopt during OTA. The tool will use /data/ota as an ANDROID_ROOT wrt/ the dalvik-cache, compiling a new boot image and system apps into this directory. Other apps will be compiled to odex files suffixed with ".b". Bug: 25612095 Change-Id: I6ac382973f13850f6b37402a1b2330c0014b47d9
/frameworks/native/cmds/installd/installd.cpp
|
e37d62803210f258ddb843c7d8d0494127069342 |
|
29-Jan-2016 |
Jeff Sharkey <jsharkey@android.com> |
Remove "updatecmds" feature. This feature is very old and hasn't been used in many releases. In addition, it was never taught about multi-user layouts, and it would be incredibly hard to maintain in the new FBE world where CE keys may not appear until several reboots after an OTA. Bug: 26854442 Change-Id: Ibd8660e2a727469cd5ae41dab5e1014a9cfb6748
/frameworks/native/cmds/installd/installd.cpp
|
9a034c2ada5bd513619b72729071a10528f158ad |
|
19-Jan-2016 |
Calin Juravle <calin@google.com> |
Merge "Add profile guided compilation hooks in installd"
|
60a794dc845b942907ca035ddc554eb8e0c7ebb6 |
|
23-Dec-2015 |
Calin Juravle <calin@google.com> |
Add profile guided compilation hooks in installd Bug: 26080105 Change-Id: I6aaddffe79c55b9a6560c2d6542cf87abbd4fb11
/frameworks/native/cmds/installd/installd.cpp
|
eecb2d205366351af42fd0cd9e1a95de3980764e |
|
12-Jan-2016 |
Janis Danisevskis <jdanis@google.com> |
Change permissions of apps' home dir to 0700 for SDK > 23 This patchset changes the installd such that apps' home directory has permissions set to 0700 if build for a target SDK version. In consequence the commands create_app_data and move_complete_app get one more parameter, the target SDK version. Apps built for a lower SDK version will still have home directories with permissions set to 0751. Bug: 7208882 Change-Id: I0213834dd946c72f5d7e31965a9dc517ced268db
/frameworks/native/cmds/installd/installd.cpp
|
e02657d627a85628ec6f0f398fb85283b8d91bfa |
|
13-Jan-2016 |
Jeff Sharkey <jsharkey@android.com> |
Remove older migration code. We used to offer to migrate pre-multi-user devices to the new multi-user layout around JB, but the new layout has been the default for many years now, so it's safe to remove this logic. All core directory creation is now handled by init.rc where FBE policies can be setup correctly, so we shouldn't be in the business of doing system bootstrapping here. Remove some lingering FBE debugging code. Bug: 26466827 Change-Id: I1dfe9c8fc02b64013a5c45cea99bf8f61f7d1d5b
/frameworks/native/cmds/installd/installd.cpp
|
c7d1b2250e8245a7e4e144758bc3ccd33b8d6319 |
|
11-Jan-2016 |
Jeff Sharkey <jsharkey@android.com> |
Let callers specify which storage to operate on. Since CE and DE storage can have different availability lifecycles, callers can't operate on both at the same time. Let them use flags to specify which storage to work with. Remove old unused methods, and name consistently in preparation for eventual move to AIDL. Bug: 26466827 Change-Id: Id5d7d03f5d8814864eea801f5a46496c085afdff
/frameworks/native/cmds/installd/installd.cpp
|
02d0de56c75347a0cb8d5a8565dc8c4ee7616057 |
|
12-Nov-2015 |
Andreas Gampe <agampe@google.com> |
Installd: Refactor in preparation for OTA Refactor installd code so reuse with a few key plugin functions is possible. Do a bit of code cleanup. Bug: 25612095 Change-Id: I544604f0a391583a4c07887a8234343a3a255942
/frameworks/native/cmds/installd/installd.cpp
|
32717f851ec39e44b43dcd2053b091daff5e1753 |
|
07-Dec-2015 |
Todd Kennedy <toddke@google.com> |
Merge "Create new ephemeral app directory"
|
c7b8a11974f0bf0b13f47b9fb40059b1c50ec9b6 |
|
05-Dec-2015 |
Elliott Hughes <enh@google.com> |
Merge "Track rename from base/ to android-base/." am: f31cf3ab0f am: c21980bc12 am: 803823f8b6 * commit '803823f8b6663578922be595755351a9e710d93c': Track rename from base/ to android-base/.
|
e4ec9eb7b4c452493589983970ba5ccc501728d1 |
|
05-Dec-2015 |
Elliott Hughes <enh@google.com> |
Track rename from base/ to android-base/. Change-Id: I62c18891ffe319d20ff084f5ca2aa0c038c23cd3
/frameworks/native/cmds/installd/installd.cpp
|
5c1a910e6a2d2c42002dc6ed88ff770336afcb3f |
|
24-Nov-2015 |
Todd Kennedy <toddke@google.com> |
Create new ephemeral app directory Bug: 25119046 Change-Id: I829f7ae1df09f2b7af1cd64fbbad6c1f5a2d716d
/frameworks/native/cmds/installd/installd.cpp
|
63ec2d64196144b2d15d2baffedccfa011d6494f |
|
09-Nov-2015 |
Jeff Sharkey <jsharkey@android.com> |
Create device-encrypted directories for apps. When device has FBE, create device-encrypted storage location when installing apps. Also remove "renamepkg" unused command. Bug: 22358539 Change-Id: Ic56eeecdc64bdaa7429b93426727a243a4e45f47
/frameworks/native/cmds/installd/installd.cpp
|
a5359950298f0bd5833ab72b7a26aef9fc45056f |
|
26-Sep-2015 |
Todd Kennedy <toddke@google.com> |
am d529cd47: Merge "Pass dexopt flags as integer" * commit 'd529cd470afa98512bf2eab7a58dae5a9b6e4847': Pass dexopt flags as integer
|
76e767ca14bcbb4bc809cd1279ece82a3aabe8a4 |
|
25-Sep-2015 |
Todd Kennedy <toddke@google.com> |
Pass dexopt flags as integer Instead of using a series of booleans, create a single flags integer that contains all of the dexopt options. Change-Id: I35542aa73ca57b0e765d19b1339b1429849c1ae8
/frameworks/native/cmds/installd/installd.cpp
|
a037f97dcf15000154e73aea4e92248c17a586f8 |
|
24-Sep-2015 |
Todd Kennedy <toddke@google.com> |
am 7f413889: Merge "Installd: Take boot status as dexopt parameter" * commit '7f413889a3f0bff0c159141abb498650305f2089': Installd: Take boot status as dexopt parameter
|
13f141910ba383404145924df64ad6626fe5b42f |
|
21-Sep-2015 |
Andreas Gampe <agampe@google.com> |
Installd: Take boot status as dexopt parameter Expect the boot status explicitly as a parameter so that we do not have to rely on dev.bootcomplete, which isn't meaningfully set when the device needs the decryption screen on boot. Bug: 23898216 (cherry picked from commit 72ebebed876a62e719b098e43d9d516361bde029) Change-Id: I9b34298caf70b1e5d40970cc0d04c469016a80a7
/frameworks/native/cmds/installd/installd.cpp
|
31f08986f83fa6f2dcf55523b2cf706460aeed7c |
|
07-Jul-2015 |
Jeff Sharkey <jsharkey@android.com> |
Split app move into separate copy/delete steps. App movement now has three distinct stages: copying, scanning, and cleanup. Previously, a battery pull late in the move process would end up with packages.xml pointing at the old location which had been torn down. Now, we update packages.xml to point at the new location as the "source of truth" before we start deleting the old location. Bug: 21831336 Change-Id: I62b8916c673265c240e2574ea968cdce5a7a0074
/frameworks/native/cmds/installd/installd.cpp
|
d845c96128a40ca5802c0840ae190fa0af7d4735 |
|
04-Jun-2015 |
Narayan Kamath <narayan@google.com> |
Add an installd command to link files Given a pair of absolute paths {from_path, to_path} , check that they are both valid apk subpaths (eg. /data/app/package/foo) and link(2) to_path to from_path. This is required by staged installs, where we link existing apks and oat files to their staging location. bug: 20889739 Change-Id: I3b5e3b43677af68be59308121a4409caaa6a72f0
/frameworks/native/cmds/installd/installd.cpp
|
d792118c493806eeb24a8203f508e6e18fe93bd7 |
|
01-May-2015 |
Jeff Sharkey <jsharkey@android.com> |
Offer to move both code and data together. We now move code under /data/app/com.example when a complete move is requested. This really only works for new cluster-style installs that also have native libraries and OAT contained inside. Teach measuring code about cluster-style installs when measuring app footprint. Also offer to measure private data space for all users. Bug: 19993667, 20275578 Change-Id: I6df7b947cb5cc8a4552f56f4b64a661e8512389f
/frameworks/native/cmds/installd/installd.cpp
|
e36372423000a906bafae68844ebc6c42d09335a |
|
09-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Command to move private app data between volumes. New "mvuserdata" command will move all private app data from one volume UUID to another. It leverages the existing "cp" toybox command to do the heavy lifting for all known users, preserving details like timestamps and permissions. It invokes restorecon() to correctly label the new location when the copy is finished. Changes installd to no longer drop capabilities, so we run as root again. This also allows us to exec "cp" with CAP_DAC_OVERRIDE and CAP_FOWNER still in effect. Bug: 19993667 Change-Id: I1f407a7c4a1af97ca5afc27b04eb16b4936cbdef
/frameworks/native/cmds/installd/installd.cpp
|
6fe28a06012250da85f808a0869f87e06e0bcce9 |
|
09-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Start accepting volume UUIDs from framework. We're now parsing and passing through volume UUIDs sent across the command socket. The "!" argument value is treated as null, which means internal storage. Bug: 19993667 Change-Id: I17729a769ce687a2e94e85991a6338c77ded0b66
/frameworks/native/cmds/installd/installd.cpp
|
41ea424413c0381ef2aa15fc5bd5d4b88abd23c4 |
|
09-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
More volume UUID awareness. Teach free_cache() and restorecon_data() about building per-volume paths. Also clean up restorecon_data() by using std::string when building paths. Clearer names for path building utility methods, and tests to verify. Bug: 19993667 Change-Id: Iacfbcdaa5b901cc2490bc8eba366dfdeb44f1d93
/frameworks/native/cmds/installd/installd.cpp
|
d107c305f74592e8078754b317d840a2dde661db |
|
09-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Merge "Plumb through volume UUID when building paths."
|
c03de09173f98506e73e7cf7df21fe11795d4b24 |
|
08-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Plumb through volume UUID when building paths. Since app data paths can live on expanded storage devices, accept the target volume UUID when building paths. The null UUID indicates the default internal storage. To improve readability, start using std::string in several places, which throws when allocations fail. For now, perform last-second sanity checks on incoming path arguments, but we'll eventually want to check arguments as they come through installd.cpp, instead of crashing the entire daemon. Also remove "lib" symlink code from install() and make_user_data(), since we're no longer supporting /data/app-lib. The framework already uses linklib() to create the right symlink for the selected ISA-specific library dir. Bug: 19993667 Change-Id: Ib9343575ffb62bf3981e19375de8f3822fc31e28
/frameworks/native/cmds/installd/installd.cpp
|
c92fb6247d4c4fbc34c0a5deb26ccf538ca9ec81 |
|
26-Mar-2015 |
Richard Uhler <ruhler@google.com> |
installd: Add support for SELF_PATCHOAT_NEEDED. Change-Id: Ib9a6373f98474f1242367b5285086251a9d580e5
/frameworks/native/cmds/installd/installd.cpp
|
19803807cd7ae01868fcfa50305f4a7dd13765e2 |
|
07-Apr-2015 |
Jeff Sharkey <jsharkey@android.com> |
Switch installd to compile as C++. This is the minimal change needed to switch it over to C++, which paves the way for using more robust utilities like std::string. Change-Id: I80ed6280146875eb6ddbbb340c05450388ca13f0
/frameworks/native/cmds/installd/installd.cpp
|