To setup your build enivornment and sync DU, please follow this guide: Link
repo init -u https://github.com/NotesOfReality/android_manifest---DU.git -b o8x-caf_NOR-mod
repo sync --no-tags --no-clone-bundle -j<X> --force-sync
source build/envsetup.sh && lunch <your device number> && time mka bacon CHGLOGDUR="number_of_days" -j<x> 2>&1 | tee <whatever-name>_$(date '+%Y%m%d_%H-%M-%S').log
Small Explanation of the variables in the commands above
X
is a value which depends on your internet connection speed,X
= 4 or 8 for slow connections,X
=16 or 32 for fastest connections)- check
<your device number>
before running the latest command by just runningsource build/envsetup.sh && lunch
x
is thenproc --all
command output2>&1 | tee <whatever-name>.log
logs all the building process, which is always useful_$(date '+%Y%m%d_%H-%M-%S')
is the date and the time(hour-minute-second) when you start the building process"number_of_days"
should be set to how many days ago you've made the latest build so that building environment changelog only list new commits, if its value exceeds 30 it forcedly gets (re)set to 10(default value) in order to avoid perfomance issues in the building process of the ROM
Dirty Unicorns is a open source project and welcomes new contributors.
To start contributing to DU, just register at "gerrit.dirtyunicorns.com".
Open up terminal to create your ssh keys required for submitting patches to gerrit and type in:
git config --global review.gerrit.dirtyunicorns.com.username <username you registered with>
git config --global review.gerrit.dirtyunicorns.com.email <your email you registered with>
ssh-keygen -t rsa -C "[email protected]"
In our gerrit click on your "Avatar" on the top right, then on "Settings".
While in 'Settings' Click on "SSH Public Keys" on the left hand side and then on "Add Key".
Now on your computer navigate to your home "~/.ssh" and open up "id_rsa.pub", copy/paste the context to "Gerrit SSH Public Keys".
You can send patches to us by using these commands in terminal:
cd PROJECT - i.e cd packages/apps/Settings
Make whatever edits you need to .....
git add -A
git commit -a
Add commit message that makes sense for others to understand what the commit is for
Ctrl X, then Y to save and Enter
git push ssh://<username>@gerrit.dirtyunicorns.com:29418/<project> HEAD:refs/for/<branch>
<username>
- Your Gerrit username (which can be seen/set here)<project>
- The git repo you are pushing to; all options can be viewed at this link<branch>
- The git branch your change is based on; for projects using this manifest, it is eithero8x
oro8x-caf
depending on the repo
A full command would look like:
git push ssh://[email protected]:29418/android_packages_apps_Settings HEAD:refs/for/o8x-caf
If you are going to make extra additions, just repeat steps (don't start a new patch), but instead of git commit -m use git commit --amend. Gerrit will recognize it as a new patchset. Do NOT change the Change-Id in the commit message.
For more information on how to push to a gerrit, please read the following: Link
Also to make this even easier, you can use a universal gerrit script provided by PAC: Link
If you still can not figure it out, don't hesitate to contact us in our G+ community: Link
Please make sure if you submit a patch/fix from another ROM that you maintain authorship. This is very important to not only us but to the entire open source community. It's what keeps it going and encourages more developers to contribute their work.
If you manually cherry pick a patch/fix please add the original author prior to pushing to our gerrit. This task is very easy and is usually done after you commit a patch/fix locally.
i.e - Once you type in "git commit -a" the commit message and you have saved it, type in the following:
git commit --amend --author "Author <[email protected]>"
So it should look like this once you get all author's information:
git commit --amend --author "Alex Cruz <[email protected]>"
If you do not want to clone or fetch the repo and the patch is on GitHub, you can easily get the author of the patch by adding .patch
to the end of the commit URL and copy the contents of the from line after the From:
.
For example: https://github.com/DirtyUnicorns/android_manifest/commit/9d44b2e34fd0b6674de79d001010e513ba14e312.patch
It is also recommended that you keep the date intact as well as it helps other open source users figure out the original version that a patch may have come from. Copy the contents of the date line after the Date:
then add --date="<date_just_copied>"
to the above git commit --amend
command.