The "import" keyword is only parsed once, for a one shot execution, during
the initial section setup, and before running "on fs". Having an import of
a file that's located in a filesystem other than root will result in an error
like
<3> init: could not import file '/system/etc/init.local.rc' from '/init.rc'
So... any files imported into init need to be moved to the root fs.
While we're at it, move init.rc changes that are specific to CM (and don't
involve modification of preexisting configs) into this file, to ease future
upstream merges (and minimize breakage on devices that override init.rc with
their own variants)
Needs to be paired with the corresponding system/core patch
Change-Id: Iab6340db2e28ef19dbcd84ae5c71737ce0cd491f
* Promo video here: http://www.youtube.com/watch?v=ogp9f4_yEoU
* It looks *way* better on a device, though :)
* The animation is square, so the names have changed.
Change-Id: I8eebdf29a7d30632d75210a6d3975d7ea17d5246
Since they're now split for phone/tablet, there isn't any default
and devices without an explicit config will register as generics.
Use sane defaults for both device types, device-specific configs
can still override these in their makefiles if necessary
Change-Id: Ie20a05d07a047f409bafb20f02d0c673ec2dc250
* Remove "update-" prefix and "-signed" suffix.
* Replace SNAPSHOT with EXPERIMENTAL (arcee).
* If CM_EXTRAVERSION, force to type EXPERIMENTAL.
* UNOFFICIAL builds now with datestamp in the same manner as NIGHTLY.
* date -u uses UTC timezone for consistency.
* Remove some CM7 dead code.
Change-Id: I681fd92e27aaf62c50eae20265ce07c67d477bca
Patch 2: Fixed the possibility of no CM_EXTRAVERSION resulting in 2 '-' at the end of the file name.
Change-Id: I3025977a5da1e28247c74416e1ac50fc6901eb23
Allow user to provide userinit.sh and/or userinit.d/*
scripts under /data/local to be run on each boot.
Change-Id: I96f3034bcdea8d4cc75929d21b69efa31c1cb108
* These can be used if someone wants to filter for CM features
* Basic feature com.cyanogenmod.android is included in all builds
* Include nfc_enhanced on devices that have NFC
Change-Id: Ib7704b791c8916f1eabe5f40fd21e2f0005d32f9
* Default for tablet is horizontal-1280x800
* Default for phone is vertical-480x800
* Override using TARGET_BOOTANIMATION_NAME in cm.mk (must come before
inherit of CM base product.
Change-Id: Ibd01236847b4f1de0cfd4246c8bd93b1f047005a
Tips & Tricks
=============
* 50-cm.sh contains only a reference implementation. You may customize the methods however you wish.
For example, 20-foobar.sh pre-backup can use a loop with conditionals to generate a dynamic backup list in
/tmp/foobar_file_list which is later printed by list_files() so the backup method will act on those files.
* Optional methods pre-backup, post-backup, pre-restore, or post-restore may be defined for special purposes.
* Inject new files into /tmp/addon.d/ prior to backuptool.sh backup if you want to act during the current CM upgrade.
* Delete files from /tmp/addon.d/ during post-restore if you want to permanently remove files from /system/addon.d/
Addons may use this approach to run a script only once.
* Scripts run in sort -n order. Prefix with numbers 00 through 99 if want to run in a particular order.
* You can have two separate scripts, implementing only backup in one, and only restore in the other with a different
number prefix of each. This allows even greater control the backup/restore order even further.
* You could use pre-backup to generate a one-time use backup script in /tmp/addon.d/ that deletes itself in
post-restore.
Patch Series
============
http://review.cyanogenmod.com/#change,13265
CyanogenMod/android_build
* edify generator
http://review.cyanogenmod.com/#change,13266
CyanogenMod/android_system_core
* permissions on /system/addon.d
http://review.cyanogenmod.com/#change,13267
CyanogenMod/android_vendor_cm
* 50-cm.sh reference backup script
* modular backuptool.sh
* support backuptool.functions used by /system/addon.d/*.sh scripts
Change-Id: Ifd5eaf9dcfd68d92e5043c21d1bae1dc0ad54860
Scheme for labeling date-encoded builds that aren't technically NIGHTLIES.
Also includes CM_EXTRAVERSION appendage to add additional designations to
SNAPSHOT builds.
At present, when running a busybox shell ("busybox sh") from mksh
(/system/bin/sh), one gets the following message before every command line:
sh: precmd: Permission denied
This is due to mkshrc exporting a PS1 which depends on a mkshrc defined
function, "precmd". Since "busybox sh" does not source mkshrc, it does not
have this function defined, resulting in the above error.
By not exporting PS1, "busybox sh" uses its own reasonable default. mksh
subshells continue to work as usual, since they (re)source /etc/mkshrc
anyways.
Change-Id: Ic9182e42aa033e811300d9e6e8d6d3f43e14e58f