I am trying to reduce the CyanogenMod source download as much as possible. So far I have:
Code:
repo init -u https://github.com/CyanogenMod/android.git -b cm-13.0 --depth=1 --groups=all,-notdefault,-device,-darwin,-x86,-mips,-exynos5,-intel,-eclipse,-device
Then I add Ziyans device tree in roomservice.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_samsung_maguro" path="device/samsung/maguro" remote="github" />
<project name="CyanogenMod/android_kernel_samsung_tuna" path="kernel/samsung/tuna" remote="github" />
<project name="CyanogenMod/android_device_samsung_tuna" path="device/samsung/tuna" remote="github" />
<project name="Ziyann/proprietary_vendor_samsung" path="vendor/samsung" remote="github" />
</manifest>
However, when I do
Code:
repo manifest -o snapshot.xml -r
I still have over 500 projects.
This is a unique list of the groups in the xml file.
Which of them can I exclude without affecting the functionality of the ROM or causing compile issues?
Code:
apps_nfc
apps_stk
arm
broadcom_wlan
cts
dra
drm_
drm_hwcomposer
frameworks_ims
intel_sensors
invensense
libxml2
libyuv
linux
marvell_bt
mediatek
mediatek_wear
omap3
omap4
omap4-aah
pdk
pdk-cw-fs
pdk-fs
qcom
qcom_
qcom_audio
qcom_display
qcom_fm
qcom_keymaster
qcom_msm8960
qcom_msm8994
qcom_msm8x26
qcom_msm8x27
qcom_msm8x74
qcom_msm8x84
qcom_wlan
themes
tools
vboot
omap3 and mediatek look like candidates and some of the qcom ones maybe?
I have attached the snapshot.xml in case anyone has any suggestions of project level items that can be removed rather than group level.
Related
Today, I cleaned up the KFire-Android gits a bit.
I moved the prebuilt files from the device/amazon/otter project back into the ics branch of vendor/amazon/otter (which hasn't been used for quite some time). And this is somewhat required for the device to be merged into CyanogenMod sources anyway.
So make sure if you're building for the ics branch of Kindle Fire that you update your local_manifest.xml to something like this:
https://github.com/KFire-Android/android_local_manifest/blob/ics/local_manifest.xml
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- local projects -->
<project path="device/amazon/otter" name="KFire-Android/device-amazon-otter" remote="github" revision="ics" />
<project path="kernel/amazon/otter" name="KFire-Android/kernel_omap" remote="github" revision="4AI.5" />
<project path="vendor/amazon/otter" name="KFire-Android/android_vendor_amazon_otter" remote="github" revision="ics" />
</manifest>
WARNING: I'm changing / restructuring the projects on KFire-Android so that all of the Kindle Fire devices can be supported (in the future).
This involves standardization and renaming of the projects across the board.
The new local_manifest.xml is updated here:
https://github.com/KFire-Android/android_local_manifest
Please give me a few days to iron out the otter build again to make sure everything is running correctly before posting that it isn't working
Right now the local_manifest looks something like this:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<!-- local projects -->
<project path="kernel/amazon/otter-common" name="KFire-Android/kernel_omap_otter-common" revision="cm-10.1" />
<project path="kernel/amazon/bowser-common" name="KFire-Android/kernel_omap_bowser-common" revision="cm-10.1" />
<project path="device/amazon/omap4-common" name="KFire-Android/android_device_amazon_omap4-common" revision="cm-10.1-dev" />
<project path="device/amazon/otter" name="KFire-Android/android_device_amazon_otter" revision="cm-10.1" />
<project path="device/amazon/otter2" name="KFire-Android/android_device_amazon_otter2" revision="cm-10.1" />
<project path="device/amazon/tate" name="KFire-Android/android_device_amazon_tate" revision="cm-10.1" />
<project path="device/amazon/jem" name="KFire-Android/android_device_amazon_jem" revision="cm-10.1" />
</manifest>
As you can see there are new devices for: 2nd Gen KFire, HD 7 and HD8 all setup to use a common projects folder so that we don't duplicate across all of the projects.
Once again: there is some downtime while I sort out the otter/jem builds and then we can look at bringing up support for otter2 and tate (HD 7).
If repo sync failed for omap4-common, try setting revision to cm-10.1-dev
Updated
First off i'm going to say, I know SOME BASIC CODING (I developed some for windows and a little bit on android)
I decided to TRY to build our Captivate glide users more KitKat roms!
So basically I have the source for liquid smooth but I don't know what to do from there (Remember I'm new so don't blow up on me,I'm trying!)
If there is a guide on how to build or you guys can help me on this that would be great!
I was following this guide:
[GUIDE][AOSPA:v3.+] How to Compile AOSPA from Source : + Support and Maintenance
Instead of compiling PA, I decided to use Liquid Smooth (for the life of me couldn't find PA android 4.4.2 REPO!)
did what the guide said and now i'm stuck here:
VERY IMPORTANT: Now, before the final stage sync, make sure there's no code referring to 'ParanoidPreferences' in manifest.
To check that
1) Open your File Browser,
2) Press Ctrl+H (to show hidden files/directories)
3) Navigate to android/system/.repo/manifest.xml
(Right Click & open the XML file in text editor)
*REMOVE ANY 'PARANOIDPREFERENCES' CODE FROM MANIFEST*
*REMOVE GROUPER DEVICE TREE FROM MANIFEST* (This'll be useless, unless you're compiling for Grouper: Nexus 7)
-> Now, Lets add the device specific trees:
Add your own device tree, kernel tree, hardware source tree, & vendor proprietaries tree in the local manifest.
For this, create a new file .repo/local_manifest.xml, & use something in similar terms:
For example, I'm using all corresponding trees for Samsung Galaxy S3 i9300 - International
Following is just an example, not what you should copy/paste. SEARCH & USE YOUR OWN DEVICE SPECIFIC TREES
(codes)Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="ParanoidAndroid/android_device_samsung_i9300" path="device/samsung/i9300" remote="github" revision="cm-10.2" />
<project name="CyanogenMod/android_kernel_samsung_smdk4412" path="kernel/samsung/smdk4412" remote="github" revision="cm-10.2" />
<project name="ParanoidAndroid/android_device_samsung_smdk4412-common" path="device/samsung/smdk4412-common" remote="github" revision="cm-10.2" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="cm-10.2" />
<project name="CyanogenMod/android_packages_apps_SamsungServiceMode" path="packages/apps/SamsungServiceMode" remote="github" revision="cm-10.2" />
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" revision="cm-10.2" />
</manifest>
Click to expand...
Click to collapse
I also didn't download the repo into /android/system like it says, I put it into /liquid (followed this) How to compile liquid smooth
Any help would be greatly appreciated! I'm eager to learn how to do this!
My setup
Ubuntu 13.10 x64
did you read that?
Any error message?
wget http://commondatastorage.googleapis.com/git-repo-downloads/repo
chmod 777 repo
./repo init -u git://github.com/LiquidSmooth/android.git -b kitkat
./repo sync
Than you should have source.
Well this attempt to develop is on stand still until I go off on my ISP for shutting off my services because we "apparently" did't pay enough when we did!
Sent from my Kitkatified I927 running CM 11
Here is the paranoid android 4.4 repo:
https://github.com/AOSPA-legacy/manifest
First time building CyanogenMod from source and I've run into a roadblock.
I am at the point where I have CM12 repo synced and when i run
Code:
breakfast d2spr
I get the error:
** Don't have a product spec for: 'cm_d2spr'
** Do you have the right repo manifest?
so then I run
Code:
breakfast
it returns a list of devices and d2spr is not in the list.
So I'm kinda stuck here. how do I get the vendor files for d2spr?
Thanks!
I had to add a roomservice.xml to the local_manifests folder (under .repo in your main directory), to get it up and running:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="Hrubak/d2spr-tools.git" path="d2spr-tools" remote="github" revision="cm-12.0" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" revision="cm-12.0" />
<project name="CyanogenMod/android_device_samsung_d2spr" path="device/samsung/d2spr" remote="github" />
<project name="CyanogenMod/android_device_samsung_qcom-common" path="device/samsung/qcom-common" remote="github" />
<project name="CyanogenMod/android_device_samsung_msm8960-common" path="device/samsung/msm8960-common" />
<project name="CyanogenMod/android_device_samsung_d2-common" path="device/samsung/d2-common" remote="github" />
<project name="CyanogenMod/android_kernel_samsung_d2" path="kernel/samsung/d2" remote="github" />
<project name="CyanogenMod/android_hardware_samsung" path="hardware/samsung" remote="github" />
</manifest>
and then run
Code:
d2spr-tools/apply.sh
Be advised that when I ran the shell script I got a conflict with one of the files. You can either attempt to correct the error or run "git cherry-pick --abort" in the conflicting directory.
and then finally
Code:
. build/envsetup.sh && brunch d2spr
will compile it.
got these instructions from here:
github.com/Hrubak/d2spr-tools
I'm trying to build Nougat for this device, which has recently been given a CM14 branch.
I'm getting binary blobs from TheMuppets and after syncing, breakfast gives me this error.
Code:
$ breakfast mondrianwifi
including vendor/cm/vendorsetup.sh
build/core/config.mk:671: COMMON_GLOBAL_C(PP)FLAGS changed
build/core/config.mk:675: *** bailing.... Alto.
Device mondrianwifi not found. Attempting to retrieve device repository from CyanogenMod Github (http://github.com/CyanogenMod).
Found repository: android_device_samsung_mondrianwifi
Default revision: staging/cm-14.0
Checking branch info
Using fallback branch: cm-14.0
Checking if device/samsung/mondrianwifi is fetched from android_device_samsung_mondrianwifi
CyanogenMod/android_device_samsung_mondrianwifi already fetched to device/samsung/mondrianwifi
Syncing repository to retrieve project.
Fetching project CyanogenMod/android_device_samsung_mondrianwifi
Fetching projects: 100% (1/1), done.
Repository synced!
Looking for dependencies
Done
build/core/config.mk:671: COMMON_GLOBAL_C(PP)FLAGS changed
build/core/config.mk:675: *** bailing.... Alto.
build/core/config.mk:671: COMMON_GLOBAL_C(PP)FLAGS changed
build/core/config.mk:675: *** bailing.... Alto.
** Don't have a product spec for: 'cm_mondrianwifi'
** Do you have the right repo manifest?
This is my local manifest.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<project name="CyanogenMod/android_device_samsung_mondrianwifi" path="device/samsung/mondrianwifi" remote="github" revision="cm-14.0" />
<project name="CyanogenMod/android_external_sony_boringssl-compat" path="external/sony/boringssl-compat" remote="github" revision="cm-14.0" />
<project name="CyanogenMod/android_device_samsung_msm8974-common" path="device/samsung/msm8974-common" remote="github" revision="cm-14.0" />
<project name="CyanogenMod/android_kernel_samsung_mondrianwifi" path="kernel/samsung/mondrianwifi" remote="github" revision="cm-14.0" />
<project name="CyanogenMod/android_device_qcom_common" path="device/qcom/common" remote="github" revision="cm-14.0" />
<project name="CyanogenMod/android_device_samsung_qcom-common" path="device/samsung/qcom-common" remote="github" revision="cm-14.0" />
<project name="TheMuppets/proprietary_vendor_samsung" path="vendor/samsung" remote="github" revision="cm-14.0" />
</manifest>
Any clue?
Thanks.
Did you forget to run envsetup.sh first?
Which version of the MSM are you attempting to use?
Ichijoe said:
Did you forget to run envsetup.sh first?
Which version of the MSM are you attempting to use?
Click to expand...
Click to collapse
I didn't forget to run envsetup.sh
I'm using the MSM8974 repo that appears on github.
https://github.com/CyanogenMod/android_device_samsung_mondrianwifi/blob/cm-14.0/cm.dependencies
Which is this one
https://github.com/CyanogenMod/android_device_samsung_msm8974-common/tree/cm-14.0
Thanks for your reply.
(ratafraking stupid spellcheck!!)
It corrected JDK (Java Development Kit), back to MSM... Which is (if we're to be quite honest) a redundant question. As you really don't have much choice beyond the 8974.
But, my rational thinking is either telling me that JDK 7 is no longer supported, or you might have missed some dependency for JDK 8.
I only have JDK 8 installed, I have successfully compiled CM13 with it.