Add device

From PAC-ROM Wiki!
Jump to: navigation, search

if you want to be the maintainer of a new device you need to follow these steps to the letter

1. Dependencies

* We use CM dependencies whenever possible. If you must use other remotes, please be prepared to answer why and try to limit them as much as possible.
* We use PIC (https://github.com/Pinky-Inky-and-Clyde/) for proprietary repos. 
  This is done to allow for all vendor files to be pulled from the same place. 
  If your vendor files are not on PIC, please submit your vendor files via pull request to the appropriate repository. 
  Please keep commit history by using remotes and merges.
* Keep the file free of white spaces and formated to look like the rest of the devices dependencies files. Yes we are all OCD.

2. Product make files

* Found in the products directory.
* Easiest if you copy most from another .mk file and just fill in the device specific areas correctly. 
  Make sure you using the correct resolutions.
* If you are using your own device overlays, don't forget to create the files. 
  If you add them in the .mk, then you must create them or they will not be functional.

3. Vendor setup

* Self explanatory.
* Keep alphabetical.

4. Contributors

* Keep alphabetical.
* Don't forget to change the total devices at the bottom.

5. Nightly / Weekly

* Nightly - If your device qualifies (no adds/removes/cherries needed) add your device here.
* Weekly - If your device uses the adds/removes/cherries (mostly legacy devices) add your device here.
* Keep alphabetical.

6. XDA Threads

* Add your thread links here.
* Keep it alphabetical.
* Follow the format.

7. PAC Threads

* Add your thread links here.
* Keep it alphabetical.
* Follow the format.

8. XDA Forum Thread Template

* Just c/p to your thread.
* Fill in the needed specific device areas.
* PAC-ROM Downloads link should direct to PAC Forum Thread.

9. PAC Forum Thread Template

* Just c/p to your thread.
* Fill in the needed specific device areas.
* Link to https://s.basketbuild.com/devs/pacman/DEVICE_CODENAME/.

10. Devices Breakdown

* Used for our dynamic changelog.
* Keep alphabetical.

11. Adds/Removes

* Found in the manifest directory.
* Used for legacy devices.
* Please try to keep this as clean as possible and only use if you have to.
* We host a ton of repos, so use cherries.sh option if possible. If we don't host it, then you can use adds/removes.
* Disqualifies your device for nightlies.

12. Cherries

* Found in [tools](https://github.com/PAC-man/android_vendor_pac/tree/pac-4.4/tools)/.
* You can save patches in the [patches](https://github.com/PAC-man/android_vendor_pac/tree/pac-4.4/tools/patches/) folder.
* This injects cherry picks and patches for Gerrit and other commits.
* If PAC hosts the repos, then please use this method by adding your patches to our repos and sending a commit to Gerrit 
  with the patch and a DO NOT MERGE message. We will abandon the commit and you can use the cherries.sh  file to cherry-pick during build.
* Very easy to use and understand. (read the cherries.sh file for detailed instructions)
* Disqualifies your device for nightlies.

13. Overlays

* Found in the overlay directory.
* Used to either find your correct overlays already created, or create your own.
* If you have added your device to an overlay in the .mk file, then you must create your own.
* We have ones pre-made for xxhdpi, xhdpi, hdpi, mdpi, ldpi feel free to use these.

14. Contact either [madc0w.undergroundz@googlemail.com Jaaga], [lokesh.c703@gmail.com Lokesh] or [cbarlan@gmail.com Chad] to be added to the maintainers group hangout.