No description
Find a file
Dima Zavin 304f12270d init: delay importing files until after parsing the current file
If we process the import directive inline, then the ordering of the
commands for the "on xxx" sections would be a little unexpected. The
init.rc files do not really have an implied  order as to which section
appears and gets processed first. The init code itself provides that
ordering explicitly. For the user, the expectation is that if both the
current file and the imported file define a section (e.g. "on init"),
then the commands in the current file will be executed first, and then
the ones from the imported file(s).

The current implementation did not do that. It processed the import
directive inline, and thus the imported (i.e. dependent) files would
appear first in the command lists for the sections. This created
unintended side effects and the solution would have been to try and
put the import lines somewhere in the middle of the init file. This
would be difficult to notice and hard to extract the dependencies.

To solve this, we add the imports to a list for each file being parsed
and process the list after finishing parsing the file. This provides
predictable order for imports and provides a logical flow from the
user perspective: the currently parsed file gets to run its commands
before the files being imported.

Change-Id: I06dc35ff286314060e16b18923683cd2787269de
Signed-off-by: Dima Zavin <dima@android.com>
2012-01-05 15:02:00 -08:00
adb Fix the build. 2011-12-13 12:19:29 -08:00
charger charger: make the almost-full frame only show when it's current level 2011-10-31 17:04:33 -07:00
cpio dist for dist_files 2010-12-09 10:33:27 -08:00
debuggerd Improve backtrace formatting. 2011-11-22 12:13:46 -08:00
fastboot Flash cache partition with cache.img by default. 2011-09-30 14:39:25 -07:00
gpttool Add missing header to gpttool 2011-01-25 08:07:01 -08:00
include am 3bc5e452: am 7cd3e0a3: Document ANativeWindow\'s buffer refcounting 2011-12-13 12:25:10 -08:00
init init: delay importing files until after parsing the current file 2012-01-05 15:02:00 -08:00
libcorkscrew Improve backtrace formatting. 2011-11-22 12:13:46 -08:00
libctest Automated import from //branches/master/...@140824,140824 2009-03-24 18:36:50 -07:00
libcutils Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE 2011-10-26 09:59:23 +01:00
libdiskconfig Remove unnecessary libraries. 2011-11-07 18:18:27 -08:00
liblinenoise Improve linenoise.c compatability. 2010-06-04 14:32:01 +08:00
liblog Gracefully handle truncated log messages. 2011-10-26 18:59:42 -07:00
libmincrypt make DumpPublicKeys write 32-bit values as unsigned 2010-01-29 10:47:38 -08:00
libnetutils Merge "Fix dhcp comments" 2011-11-09 13:42:27 -08:00
libnl_2 libnl_2: Fix memory leaks 2011-11-01 15:56:22 -07:00
libpixelflinger Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGE 2011-10-26 09:59:23 +01:00
libsysutils libsysutils: log dispatchCommand overflow. 2011-11-18 08:46:54 -08:00
libusbhost libusbhost: Limit bulk transfer requests to 16384 bytes 2011-03-12 14:06:49 -05:00
libzipfile Fix a call to memset(3) with reversed arguments. 2009-09-03 11:52:31 -07:00
logcat logcat: add sanity check 2011-10-17 11:40:06 -07:00
logwrapper Rename (IF_)LOG() to (IF_)ALOG() DO NOT MERGE 2011-10-25 16:28:35 +01:00
mkbootimg dist for dist_files 2010-12-09 10:33:27 -08:00
netcfg Support adding, deleting, and clearing IPv6 addrs. 2011-09-28 17:12:13 -07:00
nexus - creates proper ifc.h and dhcp.h headers for libnetutils 2010-08-25 08:13:42 -07:00
rootdir init: import the hardware specific init file in init.rc 2012-01-05 15:02:00 -08:00
run-as run-as: use mmap to read package list file 2011-12-06 14:22:30 -08:00
sdcard Fix returning errno values which should be negative. 2011-07-22 22:05:27 +09:00
sh sh: null check signame list since sig 0 is not valid 2010-12-09 14:20:16 -08:00
toolbox Use strlcpy instead of strncpy 2011-12-01 14:54:13 -08:00
.gitignore Don't compile abort_socket.c for host targets. It is only intended to run on Linux targets. 2009-05-26 13:23:23 -07:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk Raise the viking killer min free values to match the system properties 2011-01-28 22:56:18 -08:00
README auto import from //depot/cupcake/@135843 2009-03-03 19:32:55 -08:00
ThirdPartyProject.prop add meta-files about 3rd party projects 2010-07-16 11:41:39 -07:00

The system/ directory is intended for pieces of the world that are the
core of the embedded linux platform at the heart of Android.  These
essential bits are required for basic booting, operation, and debugging.

They should not depend on libraries outside of system/... (some of them
do currently -- they need to be updated or changed) and they should not
be required for the simulator build.

The license for all these pieces should be clean (Apache2, BSD, or MIT).

Currently system/bluetooth/... and system/extra/... have some pieces
with GPL/LGPL licensed code.

Assorted Issues:

- pppd depends on libutils for logging
- pppd depends on libcrypt/libcrypto
- init, linker, debuggerd, toolbox, usbd depend on libcutils
- should probably rename bionic to libc