b1637c8e2b
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 |
||
---|---|---|
config | ||
overlay | ||
prebuilt/common | ||
tools | ||
.gitignore | ||
CHANGELOG.mkdn | ||
get-prebuilts | ||
LICENSE | ||
README.mkdn | ||
vendorsetup.sh |
CyanogenMod
Submitting Patches
Patches are always welcome! Please submit your patches via CyanogenMod Gerrit! You can do this by using these commands:
(From root android directory)
. build/envsetup.sh
(Go to repo you are patching, make your changes and commit)
cmgerrit <for(new)/changes(patch set)> <branch/change-id>
repo start gingerbread .
(Make your changes and commit)
repo upload .
Note: "." meaning current directory For more help on using this tool, use this command: repo help upload
Make your changes and commit with a detailed message, starting with what you are working with (i.e. vision: Update Kernel) Commit your patches in a single commit. Squash multiple commit using this command: git rebase -i HEAD~<# of commits>
To view the status of your and others' patches, visit CyanogenMod Code Review
Getting Started
To get started with Android/CyanogenMod, you'll need to get familiar with Git and Repo.
To initialize your local repository using the CyanogenMod trees, use a command like this:
repo init -u git://github.com/CyanogenMod/android.git -b gingerbread
Then to sync up:
repo sync
Please see the CyanogenMod Wiki for building instructions.
For more information on this Github Organization and how it is structured, please read the wiki article
Buildbot
All supported devices are built nightly and periodically as changes are committed to ensure the source trees remain buildable.
You can view the current build statuses at buildbot.teamdouche.net