• Home
  • History
  • Annotate
  • only in /frameworks/base/cmds/installd/
History log of /frameworks/base/cmds/installd/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
799916e6ac706921e43a3382e5d9e06e13f87525 24-Oct-2012 Dave Burke <daveburke@google.com> Merge "Revert "Check non-primary user dirs during package scan"" into jb-mr1-dev
383fa18b511c195cc51a96c5504442bfec998e9f 24-Oct-2012 Dave Burke <daveburke@google.com> Revert "Check non-primary user dirs during package scan"

This reverts commit 4525f5b69cb44a9a0c92f9c525fc47541f456621

Change-Id: I31b7a0860972532478ab3420556b806bfa78739a
ommands.c
da2509c434ebb2a5a0da1bc270cae7f007cbb0f9 24-Oct-2012 Kenny Root <kroot@google.com> Merge "Check non-primary user dirs during package scan" into jb-mr1-dev
4525f5b69cb44a9a0c92f9c525fc47541f456621 22-Oct-2012 Kenny Root <kroot@google.com> Check non-primary user dirs during package scan

During package scan, only the primary user data directories were
checked. If the secondary user didn't have an application directory, it
would happily ignore it. The app would then crash upon startup.

Bug: 7391882
Change-Id: I1fa92aa27386104d4ac6bc5dc92bfbf2e7dfac9f
ommands.c
9157d3f3b70f5225e06b0a478f2d3c5ce3d923b2 23-Oct-2012 Kenny Root <kroot@google.com> Clear data deletes too much

Bug: 7389445
Change-Id: Ic12d7a8e37747dc1a9b71ec5f881b5e440e0a75e
ommands.c
a3e90798b7ad3ed62e5b31842c699b2f98bd457b 18-Oct-2012 Kenny Root <kroot@google.com> Robustly add symlink and add for non-primary users

Amazingly, some apps still don't use the nativeLibraryPath. So add a lib
symlink for non-primary users to fix that.

Also, there was an error when the symlink existed that it would give up.
This shouldn't really happen, but in that case, just remove it and
create a new one to be safe.

Also, move the downgrade code to the appropriate place. This downgrade
case triggered the above symlink existing bug.

Bug: 7318366
Bug: 7371571
Change-Id: Ia175b36d98f00bdc2f2433b909aafd524eb34d15
ommands.c
nstalld.c
nstalld.h
54289b8b4a110cc1ae106d79785cc762a2aebd6e 01-Oct-2012 Amith Yamasani <yamasani@google.com> Fix cache deletion for secondary users

Bug: 7249419

Change-Id: Idbc0f9994508059ebf5055aea961b87e08b3673a
ommands.c
nstalld.c
nstalld.h
f41496f1791d983bf8bbbdf95f72528e59284b39 28-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix issue #7202950: After clearing data, clear data button is still enabled.

Count the lib symlink against the app's code size. Also be sure to
look at the new separate lib path for apps, and tweak the size
counting to also count the size of directory entries.

Change-Id: I4b0fd5771f249faa05fd72f08062df885902cc97
ommands.c
556b09e184b891d9542092962ed248616810e054 24-Sep-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6926562: Ensure all multi-user cache files are managed correctly

Now we correctly iterate through the different user cache dirs.

Also update documentation to describe the new cache pruning behavior,
and deprecate the file modes for making files world readable/writable
which we really don't want people using any more.

Change-Id: I3708df3ddc697b1f5c511143cce7cc40a5a3d0bd
ommands.c
9bbd70a96397bd5f1445ad6c21977fccfb350dfa 10-Sep-2012 Kenny Root <kroot@google.com> Remove "unlinklib" command from installd

unlinklib is no longer necessary since libraries are now either stored
in an ASEC container or in /data/app-lib

Replace lib directory with a symlink to the /data/app-lib directory even
if it's a dangling link. That way developers don't name something "lib"
in their directory which gets blown away during an update.

Change-Id: I142cf13dba9c13aafbaf0ff8d5e9872cbf1cc910
ommands.c
nstalld.c
nstalld.h
0c191624fba8484e811027a9db40a62a960ab7dc 09-Sep-2012 Kenny Root <kroot@google.com> Remove "protect" command from installd

No one uses the "protect" command anymore, so remove it from installd.

Change-Id: Ia990bae6f95cd6e317496f5dd173ec15164d7164
ommands.c
nstalld.c
7de350a91301985b7f2d9f28edde5aade8495d9b 08-Sep-2012 Nick Kralevich <nnk@google.com> installd: fix forward locking symlink

installd was not creating a compatibility symlink when
installing a forward locked application. Fix.

Bug: 7121527
Change-Id: Ied507ab2b759d8658af563e6ac8f0dbb0d286cce
ommands.c
812b19a425b8304ac9e5408cc8ceb9f363c72559 01-Sep-2012 Nick Kralevich <nnk@google.com> installd: reduce privileges.

Make installd run with fewer privileges. This will help make
exploitation of installd based vulnerabilities more difficult
to perform.

installd now runs with the following privileges:

* CAP_DAC_OVERRIDE
* CAP_CHOWN

These two capabilities are needed to add and remove files
from application's home directories.

* CAP_SETUID
* CAP_SETGID

These permissions are needed to further drop privileges when
running dexopt as the application UID.

"installd" no longer runs with full root privileges. It cannot,
for example, mount and unmount filesystems, install modules,
perform direct I/O, etc.

Change-Id: Ib407e41e5e4c95f35a5c6a154812c5e8ae3006ed
ommands.c
nstalld.c
8ea0dc6a89b011d4f478c0c8192570d69cf7ce79 28-Aug-2012 Jeff Sharkey <jsharkey@android.com> Shared OBB storage across users.

To avoid downloading large OBB files separately for each user,
provide a shared view of /sdcard/Android/obb to all apps. Added
upgrade step to migrate the owners existing OBB files to become
the default view.

Bug: 7008879
Change-Id: I199321552fa7d4b97d5ed7fc3b3bc41f23618601
ommands.c
nstalld.c
nstalld.h
tils.c
dc9b0128c52cc797847240e81ebc6de75229a3ab 27-Aug-2012 Jeff Sharkey <jsharkey@android.com> Ensure /data/media before trying to upgrade.

Most devices create the path in their init.rc, but create it just
to be sure. This fixes emulator boot failure.

Bug: 7058844
Change-Id: Icab3ce11c4304d972d13e1d9a0c269cfe05b9370
nstalld.c
794d62f6078d23ff32f098f9d472f492be01b72f 24-Aug-2012 Amith Yamasani <yamasani@google.com> Fix permissions on cloned data dirs

This makes the downloaded apk visible to the package installer

Change-Id: I0f60cf279a3c6a08c7479f93ef9135d7428f2385
ommands.c
0c3804950236fe170ebf6cc7a5f1e3e305b8f315 21-Aug-2012 Dianne Hackborn <hackbod@google.com> Improve multi-user app management.

Introduce API to get per-user storage information, keep track
of services associated with users, and various small cleanup.

Change-Id: I5d4e784e7ff3cccfed627d66a090d2f464202634
ommands.c
nstalld.c
nstalld.h
91bbb8a1e9f8b4324fd086fa9b26a4e9fe57569b 17-Aug-2012 Jeff Sharkey <jsharkey@android.com> Create media paths for existing users.

Bug: 6925012
Change-Id: I23bd9187217645cf538e074527c143a911a61299
nstalld.c
5b1ada2562c17921adf6a62ea62bcb445160983c 15-Aug-2012 Jeff Sharkey <jsharkey@android.com> Multi-user external storage support.

Emulated external storage always has multi-user support using paths
like "/data/media/<user_id>". Creates and destroys these paths along
with user data. Uses new ensure_dir() to create directories while
always ensuring permissions.

Add external storage mount mode to zygote, supporting both single-
and multi-user devices. For example, devices with physical SD cards
are treated as single-user. Begin migrating to mount mode instead
of relying on sdcard_r GID to enforce READ_EXTERNAL_STORAGE.

Bug: 6925012
Change-Id: I9b872ded992cd078e2c013567d59f9f0032ec02b
ommands.c
nstalld.c
nstalld.h
tils.c
00efe44923af27094cfc201064ed920f93b0bde0 31-Jul-2012 Kenny Root <kroot@google.com> am b3e4b46d: am e583bcf1: Merge "Explicitly set lib dir permissions during unlink" into jb-dev

* commit 'b3e4b46db028c35d6d12c5f8f25b0463833fb51d':
Explicitly set lib dir permissions during unlink
b3e4b46db028c35d6d12c5f8f25b0463833fb51d 31-Jul-2012 Kenny Root <kroot@google.com> am e583bcf1: Merge "Explicitly set lib dir permissions during unlink" into jb-dev

* commit 'e583bcf13c13957bdf20f8bc5e23258b083b2f51':
Explicitly set lib dir permissions during unlink
515087d1c586c6c24222e03bbd01af58bdf0ed8d 31-Jul-2012 Kenny Root <kroot@google.com> Explicitly set lib dir permissions during unlink

The default umask changed, so we have to explicitly set the mode of the
lib directory when we create it in unlinklib.

Bug: 6857022
Change-Id: I06fc3f29e99d686bbbb96184d8c314d4cc57e9fe
ommands.c
b8acd060d409f0e81ab3510b429cb86d3f34adb8 20-Jul-2012 Nick Kralevich <nnk@google.com> am fa6e1ea7: am 2c932143: Merge "s/LOG/ALOG/ in HAVE_SELINUX blocks"

* commit 'fa6e1ea773a74aa6a996a783ff16c495ab3cc822':
s/LOG/ALOG/ in HAVE_SELINUX blocks
197a0c82a1fbf337ec0a85d36b6b89c3d6e8a0ac 12-Jul-2012 Dianne Hackborn <hackbod@google.com> Improve cleanup of file caches.

This rewrites installd's code for deleting cache files to be better:

- Isn't really stupid about just deleting directories in the order
they are found on the filesytem; now collects all cache files and
sorts them by mod time to determine which to delete.
- Also deletes cache files in /data/media and for all users.

This also tweaks DeviceStorageMonitor to be a little smarter about
deciding when to flush cache files, having upper and lower limits
that it allows memory to get down to and then flash files to reach
the higher free storage limit. This should reduce the amount that
we perform flushing when starting to reach the storage limit.

Finally add a new pm command to force a cache flush.

Change-Id: I02229038e1ad553d1168393e5cb6d5025933271d
ommands.c
nstalld.c
nstalld.h
tils.c
365861e3aae9cccdb19b8d4ee375c57e0a431f1e 10-Jul-2012 Joshua Brindle <jbrindle@tresys.com> s/LOG/ALOG/ in HAVE_SELINUX blocks

The latest push changed LOG(E|V) to ALOG(E|V) but it was not updated in HAVE_SELINUX blocks.

Change-Id: I626588589dd00775ba29f2a256ac29e481598dc3
Signed-off-by: Joshua Brindle <jbrindle@tresys.com>
ommands.c
33ef4ee71277888304a3c67fdd8dfddd728b4c88 18-Jun-2012 Kenny Root <kroot@google.com> resolved conflicts for merge of 4de60b26 to jb-dev-plus-aosp

Change-Id: Id1b1847a3ab5c0f51ac8a732fce5ba12e5810259
4503cf67b57a2a75e86ce4e36ccb69249048c996 14-Jun-2012 Kenny Root <kroot@google.com> Make lib dir before changing ownership of app dir

Bug: 6668897
Change-Id: I8998a50359892277b15e80b5b5590ff94b125467
ommands.c
3a3c7e7bc4f599c35f5ed4feeead15c6c5a4621f 08-Jun-2012 Kenny Root <kroot@android.com> am 63dd4c65: am 60b3d59d: Merge "Modify installd to set the SELinux security context on package directories."

* commit '63dd4c65c41187967ba0828d386117f90020840e':
Modify installd to set the SELinux security context on package directories.
d0c5f515c05d05c9d24971695337daf9d6ce409c 08-Jun-2012 Dianne Hackborn <hackbod@google.com> Fix issue #6295373: "Package com.google.android.apps.authenticator2 has...

...mismatched uid: X on disk, Y in settings" errors on Froyo and Gingerbread

Deal more gracefully with the uid changing in three ways:

1. If the uid on disk has become root, then have installd change it to
the application's uid. This is to correct a potential case where
installd was interrupted while linking or unlinking the libs dir,
during which it temporarily changes the owner of the dir to root
so that a malicious app can not get in its way. So if the uid on
disk has become root, we assume we can safely just change it back
to the correct uid.

2. When scaning packages at boot, use the same "delete and rebuild data
directory" code for third party applications as we have for system
applications. This allows us to at least end up in a state where the
app will run, even if its data is lost.

3. But we really don't want to get in to case 2, so if an application
update is being installed and we find that the uid we now have for
the app is different than the one on disk, fail the update. This will
protect against for example a developer changing the sharedUserId of
their app and getting into this bad state.

Bug: 6295373
Change-Id: Ic802fdd818ac62449ff3c61d1fff1aa4d4942f39
ommands.c
nstalld.c
nstalld.h
7ac3ed1d7679e9cb90b44c6ab1629318b17c0690 24-Mar-2012 Nick Kralevich <nnk@google.com> resist umask changes, make dirs 0711

Make sure /data/user directory permissions get explicitly set
regardless of the system umask.

Change directory permissions to 0711. No need for read permissions.

Bug: 3272072
Change-Id: Ida7f3c6656f4e0c9d0a9f7648491cc853c4e44ca
nstalld.c
742a67127366c376fdf188ff99ba30b27d3bf90c 04-May-2011 Amith Yamasani <yamasani@google.com> Multi-user - 1st major checkin

Switching activity stacks
Cache ContentProvider per user
Long-press power to switch users (on phone)

Added ServiceMap for separating services by user
Launch PendingIntents on the correct user's uid
Fix task switching from Recents list
AppWidgetService is mostly working.

Commands added to pm and am to allow creating and switching profiles.

Change-Id: I15810e8cfbe50a04bd3323a7ef5a8ff4230870ed
ommands.c
nstalld.c
nstalld.h
0b58e6a1a97eded73cb9cbbe53cdde4c6595ddd6 13-Jan-2012 Stephen Smalley <sds@tycho.nsa.gov> Modify installd to set the SELinux security context on package directories.

installd already sets the UID/GID/mode for package directories.
Extend it to also call libselinux to set the SELinux security context.

Change-Id: I22d38e3e7facdfcee20a34bf30f1412dbb87761f
ndroid.mk
ommands.c
c6aacce37191e1cc79cfeba13b39899f59c68c3b 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF)

Change-Id: I1de629b4632a4b3187ca1a28d6416daccd35f924
ommands.c
nstalld.c
tils.c
a51f0e707f1f3142358aa919ea60ad2842803139 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF)

Change-Id: I8fbdfa7a7581f481968dbb65aa40f7042936d7cb
ommands.c
tils.c
933e85615059b85a87747da57288384541cc56da 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF)

Change-Id: I26f76452ac49e2890b14d133c065493d8df0fb4a
ommands.c
nstalld.c
06ade6ae1bd015e8b8ad0685847911213c93cc5b 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF)

Change-Id: I5321ebd12e9c6248a108529e82c4e1af2a4405e3
ommands.c
3762c311729fe9f3af085c14c5c1fb471d994c03 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
ommands.c
nstalld.c
tils.c
8564c8da817a845353d213acd8636b76f567b234 06-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
ommands.c
tils.c
6215d3ff4b5dfa52a5d8b9a42e343051f31066a5 04-Jan-2012 Steve Block <steveblock@google.com> Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
ommands.c
nstalld.c
cfe82181cbe84b478b4612d25fb78a6bba8b2437 01-Dec-2011 Kenny Root <kroot@google.com> am 7f36d421: am 5a7c9176: Merge "Fix free_cache to actually work" into ics-mr1

* commit '7f36d4217269e79f8409c46f12f10464a1f585ea':
Fix free_cache to actually work
ad757e9b36d6bc6b8e39be00612d0e60863aaafc 30-Nov-2011 Kenny Root <kroot@google.com> Fix free_cache to actually work

This broke with some other path-related changes, so it was scanning for
/data/*/cache instead of /data/data/*/cache

Also remove redundant call to restat

Bug: 5686310
Change-Id: Id1661f0f1337858fc9ead53c56ab7557f421c591
ommands.c
nstalld.h
ests/installd_utils_test.cpp
tils.c
71f2cf116aab893e224056c38ab146bd1538dd3e 20-Oct-2011 Steve Block <steveblock@google.com> Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE

See https://android-git.corp.google.com/g/#/c/143865

Bug: 5449033
Change-Id: I0122812ed6ff6f5b59fe4a43ab8bff0577adde0a
ommands.c
bd882b1c8708686d373c56e07e6bb8b1cb6ffd9e 12-Jul-2011 Jeff Brown <jeffbrown@google.com> Remove the simulator target from all makefiles.
Bug: 5010576

Change-Id: I04d722f258951a3078fe07899f5bbe8aac02a8e8
ndroid.mk
ests/Android.mk
292f8bc9d1b790ab975a87a842c7fabc908b97e0 28-Jun-2011 Dianne Hackborn <hackbod@google.com> Plumb information from the framework about asec container size.

Change-Id: Ie0ec3cb6d463aefa341a8cbea80be790451ba5e3
ommands.c
nstalld.c
nstalld.h
f741e679c496f7345304a6543f01d7048e31d1a7 10-Jun-2011 Dianne Hackborn <hackbod@google.com> resolved conflicts for merge of e2aa0490 to master

Change-Id: Id0448a1598fc93aca0652b29253e02586e35a067
5fd2169eabd77e6bfafaf456e58051a3bafb2bca 07-Jun-2011 Dianne Hackborn <hackbod@google.com> Work on issue #4518815: Compatibility mode introduces compatibility regression...

...for Market App iRunner

There were a lot of serious issues with how we updated (or often didn't update)
the display and resource state when switching compatibility mode in conjunction
with restarting and updating application components. This addresses everything
I could find.

Unfortunately it does *not* fix this particular app. I am starting to think this
is just an issue in the app. This change does fix a number of other problems
I could repro, such as switching the compatibility mode of an IME.

Also a few changes here and there to get rid of $#*&^!! debug logs.

Change-Id: Ib15572eac9ec93b4b9966ddcbbc830ce9dec1317
ommands.c
25641ca1ac5b09727f86fe01389877332a00455d 19-Apr-2011 Amith Yamasani <yamasani@google.com> Merge "Plumbing in PackageManager and installd for multi-user support."
0b285499db739ba50f2f839d633e763c70e67f96 15-Apr-2011 Amith Yamasani <yamasani@google.com> Plumbing in PackageManager and installd for multi-user support.

- Create /data/user directory and symlink /data/user/0 -> /data/data for
backward compatibility
- Create data directories for all packages for new user

- Remove data directories when removing a user

- Create data directories for all users when a package is created

- Clear / Remove data for multiple users

- Fixed a bug in verifying the location of a system app

- pm commands for createUser and removeUser (will be disabled later)

- symlink duplicate lib directories to the original lib directory

Change-Id: Id9fdfcf0e62406a8896aa811314dfc08d5f6ed95
ommands.c
nstalld.c
nstalld.h
tils.c
f68327e7e23d78e209acc76ccecbc4601e3f5fc2 15-Apr-2011 Nick Kralevich <nnk@google.com> Make installd resistant to umask changes.

Bug: 3272072
Change-Id: Ic2d241afcb4d0dabd63fcdadf13b2d48b7f398e8
ommands.c
86c9584559439504fc57ece2ccd9b6cbd568430c 31-Mar-2011 Kenny Root <kroot@google.com> Update installd to allow multiuser

* Add ability to select different personas to generate the path to be
created.

* Move hardcoded paths to read from init's set environment.

* Add unit tests for all the utility functions that build strings to
make sure they're correct.

* Fill in persona with "0" all the time now. Will be plumbed through in
later CL.

Change-Id: I0a7f6e3640cb6b052f8823080886ee79e90b679f
ndroid.mk
ommands.c
nstalld.c
nstalld.h
ests/Android.mk
ests/installd_utils_test.cpp
tils.c
35ab3ad61fcc349380d7e7f2fcf9a0dfbf76ae11 03-Feb-2011 Kenny Root <kroot@google.com> Remove defunct secure FS work

Bug: 3365047
Change-Id: I68eaea295881f5431907e1b93bdd73e644e84aa5
ommands.c
nstalld.c
nstalld.h
33b2264ea9ab0f1980c49698729a0ab3c51d07fe 30-Nov-2010 Kenny Root <kroot@google.com> Move disk usage utilities to its own library

Disk usage calculation will happen in more places now, so move the
installd calculation utilities out to its own library that only gets
built for the target.

Change-Id: Idceb6bd663ca6ab3d38fa00e57ee74a25b784855
ndroid.mk
ommands.c
0332d1c5a5a0353df9e9b02422b33656930c2941 22-Oct-2010 Kenny Root <kroot@google.com> Exit immediately on some linklib failures

If the library couldn't be printed to the string, installd should fail
early instead of trying to chmod() back to uninitialized stat struct.

Bug: 3121721
Change-Id: I8a3604954ae657a1e07c1ad8d5569aa80aff9e0a
ommands.c
6a6b007c77e5cab7ee435506a4f65824f52028b6 08-Oct-2010 Kenny Root <kroot@google.com> Symlink application lib directory when on SD card

This will help legacy games that use dlopen() to directly access the
/data/data/<app>/lib directory before the
ApplicationInfo.nativeLibraryDir was part of the API.

Change-Id: Ie9f3e7239b6334708b5d086ffafe66a507f6d9da
ommands.c
nstalld.c
nstalld.h
3e319a9962434e1fae86b2180ad210170f02c152 07-Sep-2010 Kenny Root <kroot@google.com> Allow installd to handle large partitions

Use int64_t because we're RPCing over to Java which uses a Long to
represent the filesystem space.

Change-Id: I842b2cf9f2ff8f980ff5895c1c8eb9ebefa1ea31
ommands.c
nstalld.c
nstalld.h
508715259c332613240b2399c77d35ea7214f91a 04-Aug-2010 Kenny Root <kroot@google.com> Add more debugging to installd

If a command to installd fails, it would be nice to know exactly why.
Log failures and the errno associated with the failures.

Change-Id: Ia3122675f243037c556d3a49d06da7e03b8c59f6
ommands.c
tils.c
8a9ab24a5c9b595ac0268fcade4b5bbfe7c45c2d 12-Mar-2010 Suchi Amalapurapu <asuchitra@google.com> Do storage checks before initiating a move.
Add new remote method to check for insufficient error conditions.
Some fixes in MountService when updating media status on PackageManagerService
Fix size calculation condition in installd.

Add new error code if media is unavailable.
New tests for testing error codes.
Some additional debugging statements in MountService.

Change-Id: Ibfe90d5ed6c71d57f9c1c67806f38b5ae9ecdfbf
ommands.c
089262dc022d87e31eefc536025be6c015c7ebde 10-Mar-2010 Suchi Amalapurapu <asuchitra@google.com> Dont include code size for apps on sdcard.
Use constants defined in PackageHelper for user preferences
to install auto, internal, external.
Set default install location to external.
Update settings db version number

Change-Id: Ib5110c9377990e20a48cee923e55898dfddfd1e6
ommands.c
c1552397be706c243338389c628a44eee6011eae 04-Mar-2010 Dianne Hackborn <hackbod@google.com> Allow multiple original-package tags.

Also fix some issues with moving files from update commands.
ommands.c
8fe5c9e39def5a0a2139d902a09ae11414b90c92 25-Feb-2010 Oscar Montemayor <oam@google.com> Replacing hard-coded mount point for ASEC with a getenv() call.
nstalld.h
cf6eaeaae9e6745dd6e07540812c79821d7043c2 24-Feb-2010 Suchi Amalapurapu <asuchitra@google.com> Some framework fixes for apps on sd
change hard coded path in installd
fix tests
Work around for renaming containers.
Do forced unmount when destroying containers.
Force a gc in default container service to release handle to parsed package
and thus avoid getting killed by vold
Some cosmetic changes to PackageManager api.
Unit tests for renaming container for MountService
Remove internal size limit on app to be installed.
nstalld.h
d705fd2b0aca3f57168934f2ea8c351ef249f829 12-Feb-2010 Dianne Hackborn <hackbod@google.com> Tweak updatecmds to be able to move entire directories.
ommands.c
0dd50e61267818b4cba0453c2abe18a77d3f6f66 10-Feb-2010 David 'Digit' Turner <digit@google.com> Fix installd to create /data/data/<pkgname> with appropriate permissions.

The directory was created with read+exec rights for others.
The patch restricts it to only exec rights.
ommands.c
b858dfda5012a1040927ed62c3bb856c3294d882 02-Feb-2010 Dianne Hackborn <hackbod@google.com> Implement system data migration support.

This adds three new features:

- <original-package android:name="com.foo" /> manifest tag.
This allows an .apk to specify another package it originally came from,
propagating all state and data from the old to new package.

- <adopt-permissions android:name="com.foo" /> manifest tag.
In some more complicated cases, a new .apk may be a combination
of multiple older .apks that each declared their own permissions.
This allows you to propagate the permissions from these other
.apks into the new one.

- A new system/etc/updatecmds directory.
You can place files here which describe data files to move from
one package to another. (See below for details.)

Also in this change: we now clean up the data directories of
.apks that disappear from the system image, and some improvements
to logging and reporting error messages.

A typical file in the updatecmds directory looks like this:

-------
com.google.android.gsf:com.google.android.providers.talk
databases/talk.db
com.google.android.gsf:com.google.android.googleapps
databases/gls.db
-------

This says that for com.google.android.sfs, there are two packages to
move files from:

From com.google.android.providers.talk, the file databases/talk.db.
From com.google.android.googleapps, the file databases/gls.db

As part of moving the file, its owner will be changed from the old
package to whoever is the owner of the new package's data directory.

If those two files had existed, after booting you would now have the
files:

/data/data/com.google.android.gsf/databases/talk.db
/data/data/com.google.android.gsf/databases/gls.db

Note that all three of these facilities assume that the older .apk
is completely removed from the newer system. The WILL NOT work
correctly if the older .apk still remains.
ommands.c
nstalld.c
nstalld.h
c028be4f3b8c7476b46859f66c3f33d528adf181 25-Jan-2010 Suchi Amalapurapu <asuchitra@google.com> AppsOnSd feature - Add default container

Add new remote interface to do temporary copies. The new
remote stub handling is done on mHandler thread and doesn't need locking
for now.
Add new InstallArgs class and subclasses to isolate cases for installation.
Move resource deletion for failed installs/upgrades to later on in installation
cycle.
Fix code path for forward locked apps when using scanPackageLI

TODO's
Fix installation paths to completely use InstallArgs based design later on.
Get rid of using flags in various install/uninstall code paths.
Ideally InstallArgs should be created using these flags and used in the
rest of the code.
Function renames.
Revisit mount api's.
tils.c
af8e9f4805643f90a9dc0ecfa119e0a860c12f8a 12-Jan-2010 Suchi Amalapurapu <asuchitra@google.com> app install on sdcard. provide skeleton implementation
to install an app on sdcard, just resources.
Add new install path for /asec in installd.
ignore . when checking for apk path since the sdcard packages id'ed
by package name.
Add new -s option to adb shell pm
Refactor fwd locked from scanMode to ApplicationInfo.
Add new flag for sd install
Add new parse flags for fwd locking and installing on sdcard
New mock api's in PackageManagerService to invoke MountService api's. These
will be refactored again and so have been wrapped internally.
Some error codes in PackageManager
Changes in PackageManagerService to use mPath and mScanPath during installation
and switch to using PackageParser.Package.applicationInfo attributes for
source and public resource directories.
Some known issues that will be addressed later
using system_uid for now. needs some tinkering with uid and packagesetting creation to use the actual app uid
error handling from vold not very robust. ignoring lot of things for now
sending a delayed destroy to delete packages. will revisit later
revisit temp file creation later. just copy for now
ommands.c
nstalld.h
a8529f68671a8a118751cb6ad577f44eaf076b96 18-Nov-2009 Oscar Montemayor <oam@google.com> Encrypted File Systems Project. Installer modifications.
Started to modify isntaller for data redirection to a secure location.
ommands.c
nstalld.c
nstalld.h
9066cfe9886ac131c34d59ed0e2d287b0e3c0087 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ndroid.mk
ommands.c
nstalld.c
nstalld.h
tils.c
d83a98f4ce9cfa908f5c54bbd70f03eec07e7553 04-Mar-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //depot/cupcake/@135843
ndroid.mk
ommands.c
nstalld.c
nstalld.h
tils.c
d24b8183b93e781080b2c16c487e60d51c12da31 11-Feb-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@130745
ommands.c
f1e484acb594a726fb57ad0ae4cfe902c7f35858 22-Jan-2009 The Android Open Source Project <initial-contribution@android.com> auto import from //branches/cupcake/...@127436
ommands.c
54b6cfa9a9e5b861a9930af873580d6dc20f773c 21-Oct-2008 The Android Open Source Project <initial-contribution@android.com> Initial Contribution
ndroid.mk
ommands.c
nstalld.c
nstalld.h
tils.c