History log of /frameworks/native/cmds/installd/installd.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
a5e161b1207ef447a51e99856097d69d4a6111e1 29-Sep-2016 Mark Salyzyn <salyzyn@google.com> Replace cutils/log.h and rationalize log/log.h and android/log.h

- cutils/log.h treat as deprecated and lead by example
- android/log.h to be used instead of log/log.h if required
- add system includes that are assumed as side effects of log.h
- modules that use SLOG should use SLOG for all logging (installd)
- define LOG_TAG first
- remove logging infrastructure if not used

Test: build
Bug: 31289077
Change-Id: Iea147a0104c7ab7f12451304131d6500f42141e7
/frameworks/native/cmds/installd/installd.cpp
f3e30b936ef103dc0f3d8697e0f86ba82b49609e 10-Dec-2016 Jeff Sharkey <jsharkey@android.com> Filename refactoring, remove DEXOPT_OTA flag.

Test: builds, boots
Bug: 13758960, 30944031
Change-Id: Ib60899fc70b12f76fad9dfad596b513777752703
/frameworks/native/cmds/installd/installd.cpp
6c2c056193010cf93b4264810d462c120ce801c8 07-Dec-2016 Jeff Sharkey <jsharkey@android.com> Final push of installd to Binder; goodbye socket!

Move last two straggling installd commands to Binder and destroy the
socket-based communication channel forever.

Test: builds, boots, apps install fine, pre-OTA dexopt works
Bug: 13758960, 30944031
Change-Id: I2ecd604fb6627b9028a7e32f87d0367e4a4afde3
/frameworks/native/cmds/installd/installd.cpp
475c6f9743e5f6696c38fb22b8b8e9d49a82ab56 07-Dec-2016 Jeff Sharkey <jsharkey@android.com> Yet another set of installd Binder methods.

Pretty straightforward refactoring.

Test: builds, boots, apps install fine
Bug: 13758960, 30944031
Change-Id: I6e79fe1a3663807c24eb28dca684b539df398c13
/frameworks/native/cmds/installd/installd.cpp
c1e93e7d746e07791b0667c80ad43a407c515fa8 06-Dec-2016 Jeff Sharkey <jsharkey@android.com> Move more installd methods to Binder.

Test: builds, boots, apps install fine
Bug: 13758960, 30944031
Change-Id: I1fcaaaaad34c2f9a3d6a15443ef1764186669865
/frameworks/native/cmds/installd/installd.cpp
0274c977e3b10b52936fd5b2eb464857f0ca6358 06-Dec-2016 Jeff Sharkey <jsharkey@android.com> Shuffle installd Binder implementation around.

Instead of writing wrapper methods in InstalldNativeService.cpp,
this change shifts the Binder implementation over into the existing
commands.cpp file. This will let us migrate all methods over, and
then perform one final file rename to InstalldNativeService.cpp.

The downside of this approach is that we no longer have a giant kill
switch to quickly switch back.

Moves the moveCompleteApp() method over to Binder.

Test: builds, boots, apps install fine
Bug: 13758960, 30944031
Change-Id: I53550e05bc2b65155c3de18424f67b1a95450a6f
/frameworks/native/cmds/installd/installd.cpp
9087400f3c82b97aa17a74329c7e65c0a5ff4062 05-Dec-2016 Jeff Sharkey <jsharkey@android.com> Initial Binder interface for installd.

Define an AIDL for installd, starting with a single method. Publish
that interface for the system to start using. We'll circle back and
migrate more methods in future CLs.

Migrating installd to Binder will allow us to get rid of one of
the few lingering text-based command protocols, improving system
maintainability and security.

Test: builds, boots
Bug: 13758960, 30944031
Change-Id: Icdb5320082567e0355d8f76f413f01cfacf0fb99
/frameworks/native/cmds/installd/installd.cpp
b31206b67805617c79fb46ca39ccc5b26cdefd63 10-Sep-2016 Andreas Gampe <agampe@google.com> Installd: Add a delete_odex command

Add a command to delete odex files.

Bug: 31347757
Change-Id: I29bca8751bcee8d6981c682fbbc816c73b78ac68
(cherry picked from commit 3964da0636624ff9af42d1f316bed0752e37c490)
/frameworks/native/cmds/installd/installd.cpp
ad95fc06aa902ee7b96c09bb07af4061f87fe77f 07-Sep-2016 David Brazdil <dbrazdil@google.com> Merge "installd: Simplify Dalvik cache path creation"
d089ca1703769854356a263ca640d3e07ab8548d 27-Jun-2016 Andreas Gampe <agampe@google.com> Otapreopt: Implement new A/B OTA path

Refactor otapreopt_script, otapreopt_chroot and otapreopt such
that the actual work will be done as a child of the script driven
by update_engine.

The script now uses the new OtaDexoptService command to get the
right parameters for a dexopt call in otapreopt. As we reach
otapreopt_chroot and otapreopt directly, we can add parameters
without tainting the regular installd path. Use this to add the
target slot suffix, and make naming of the A/B artifacts include
the suffix instead of the generic "b."

Otapreopt_chroot startup is slightly complicated because all file
descriptors must be closed. Otherwise, dex2oat needs selinux
permissions to inherit the descriptors from update_engine.

Bug: 25612095
Bug: 28069686
Change-Id: I9d7b86ac8ecfdf91af3800f7e96f41534c0afc0f
(cherry picked from commit 0354bd0eaf24de533e86885b811f816f1e4d15c8)
/frameworks/native/cmds/installd/installd.cpp
548bdb930895d8fe6651eaada0bc5739ee5248c8 03-Jun-2016 Andreas Gampe <agampe@google.com> Otapreopt: Fix after shared-library work

Commit b63d91fd2737680351876406277b6c759f4db33c broke the installd
to otapreopt connection. Fix this. Also refactor a bit to make an
inadvertant break harder.

Bug: 25612095
Change-Id: I8e7b944ecbd5457e4ac4d6ffffdb0468618cf65f
(cherry picked from commit aef445d1c659698612c0e5a8f3d5f2b9f8a2b778)
/frameworks/native/cmds/installd/installd.cpp
249c1796a2e62f8751348e5bafce9f40e6538cba 06-Sep-2016 David Brazdil <dbrazdil@google.com> installd: Simplify Dalvik cache path creation

Installd computes Dalvik cache path for a dex file by concatenating
'/classes.dex' to the APKs absolute path and then replacing all '/'
characters with '@'. OTA preopt does the same, only in reverse order,
i.e by concatenating '@classes.dex' to altered absolute path.

This patch unifies the two approaches so as to keep only one string
constant.

Change-Id: I69bb6bca831f45c873a0eb8580cf8d4b011f3b09
/frameworks/native/cmds/installd/installd.cpp
eed4df806856e77d9d55d8209d7178e4b5c945e8 02-Jun-2016 David Sehr <sehr@google.com> installd support for profman --dump-info-for
am: 6727c2d0bf

* commit '6727c2d0bfc876c62d6ee60d8a05d26bef1d56ef':
installd support for profman --dump-info-for

Change-Id: I2289ea8e788f65deb158f422b1c3b4feb93b9477
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
b2287e16bbc7d8389fe040ddcaf1b297d131319a 27-Apr-2016 Jeff Hao <jeffhao@google.com> Merge "Support to pass <uses-library> option through to dex2oat." into nyc-dev
am: 8335fa3

* commit '8335fa3f500addd8804869388fd91d776aa56188':
Support to pass <uses-library> option through to dex2oat.

Change-Id: I8872e82441b39c1363a8e9852b63dd68e1d71d0f
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
155cdf1126ca22600ac48852d5d55e6f946d0c57 18-Apr-2016 Jeff Sharkey <jsharkey@android.com> Merge "Consistent creation/destruction of user data." into nyc-dev
am: 82784bb

* commit '82784bbeb8668c18f8cdbafaac3faab5d296e9ac':
Consistent creation/destruction of user data.

Change-Id: I8f79173800fa8cc7d89ae0017fce0264e59d75c3
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
dba2879ffc47127265a3f5c0b7a4489cb2d9c1ba 11-Apr-2016 Jeff Sharkey <jsharkey@android.com> Merge "Let\'s try casting to fix the build." into nyc-dev
am: 6c444a4

* commit '6c444a40ec9725880580c789500cc069e3121d89':
Let's try casting to fix the build.

Change-Id: Iee3fbfa51645706fabecff7a8c2fcd6fb787eb08
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
8b53c14bc1852fe1dbddd52881e49b1be894f190 11-Apr-2016 Jeff Sharkey <jsharkey@android.com> Merge "Use inode numbers for CE storage, fix sizes." into nyc-dev
am: 82b4c7a

* commit '82b4c7a92cfb2482deb57a328f5eb9c95d5fdc5e':
Use inode numbers for CE storage, fix sizes.

Change-Id: I1c1afd079765088a03db70d6d558b9f3bdb16e6e
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
632350257cd93e34aa1e8b354c1535864b314c38 29-Mar-2016 Dan Austin <danielaustin@google.com> resolve merge conflicts of 1ccaed4 to nyc-dev-plus-aosp

Change-Id: Ib30c59ff496ed76ec46f4c8f7d954d571bcbf4ae
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