FORUMS
Remove All Ads from XDA
Honor 7x
Win an Honor 7X!

Learn about the repo tool , manifests and local manifests and 5 important tips !

1,407 posts
Thanks Meter: 2,554
 
Post Reply Email Thread
8th January 2014, 03:30 AM |#111  
Red Devil's Avatar
OP Senior Member
Flag Mumbai
Thanks Meter: 2,554
 
More
thanks for the hate haha
from what you've provided I can only guess what the error might be. I think there might be a problem with the repos that you're trying to sync or the hosting site of the repos. it might have gone down or something. try reducing number of jobs during the sync. instead of -j16 try -j4 and similar. and to speed things up avoid using your connection for heavy use such as downloading or streaming while the sync is on. that's all I can figure out

Sent from my Explorer A310e using Tapatalk
The Following User Says Thank You to Red Devil For This Useful Post: [ View ] Gift Red Devil Ad-Free
 
 
12th January 2014, 05:16 PM |#112  
Senior Member
Thanks Meter: 3,124
 
More
Info 2 Hi, a quick tip
In case you referenced, and synced a repo, and *unfortunately* moved the repo, and repo starts downloading gigs of data again

NVM, you just need to make sure that the "alternates" file found in <project-name>.git/objects/info/alternates, should point to the correct repo.

Example, I had "~/source/cyanogenmod-11.0", and moved it to "~/works/cyanogenmod-11.0"

My alternates file (in all the "alternates" in the projects folder found within .repo folder) read this:

Code:
/home/user/source/cyanogenmod-11.0/.repo/projects/art.git/objects
So, I just figured out that I needed to change the /source/cyanogenmod-11.0 to /works/cyanogenmod-11.0

Yes, I ain't stupid to be replacing all the files, so, I just did:

Code:
cd .repo/projects
find ./ -type f -exec sed -i 's/\/source\/cyanogenmod-11.0\//\/works\/cyanogenmod-11.0\//g' {} \;
This is a sed command, /source/cyanogenmod-11.0 found in text with /works/cyanogenmod-11.0.

Worked pretty well, synced beanstalk sources.

Just posting this here, in case this helps someone

P.S. You *might* run into a "error: <so-and-so> does not point to a valid object!", just ignore it. Its just telling that you didn't sync those branches (ofc, you sync only specifc branches, so rest are missing)
The Following 9 Users Say Thank You to thewisenerd For This Useful Post: [ View ] Gift thewisenerd Ad-Free
13th January 2014, 05:30 AM |#113  
svprm's Avatar
Senior Member
Flag Coimbatore
Thanks Meter: 442
 
Donate to Me
More
First of all thanks for your nice guide.

I have one question.
If i'm going to compile a recovery for device which was not supported officially by the CM,then do i need to sync all the project.
if no,what are the projects do i need to sync?
14th January 2014, 04:15 AM |#114  
Red Devil's Avatar
OP Senior Member
Flag Mumbai
Thanks Meter: 2,554
 
More
Quote:
Originally Posted by svprm

First of all thanks for your nice guide.

I have one question.
If i'm going to compile a recovery for device which was not supported officially by the CM,then do i need to sync all the project.
if no,what are the projects do i need to sync?

Follow basically what I have mentioned in the guide.. you can remove all those repositories. Basically, while compiling a ROM , a recovery is also compiled (you can make a recovery otherwise as well) so you cant remove anything more apart from what I have mentioned..

Once you explore your work tree a bit and check out the make files , you will realise what projects are used in the compilation of a recovery!
The Following 2 Users Say Thank You to Red Devil For This Useful Post: [ View ] Gift Red Devil Ad-Free
16th January 2014, 05:21 PM |#115  
vishal_android freak's Avatar
Recognized Developer / Recognized Contributor
Flag Mumbai
Thanks Meter: 5,505
 
Donate to Me
More
Quote:
Originally Posted by svprm

First of all thanks for your nice guide.

I have one question.
If i'm going to compile a recovery for device which was not supported officially by the CM,then do i need to sync all the project.
if no,what are the projects do i need to sync?

https://github.com/TWRPXperia/androi....2/default.xml

You can use this as reference to remove projects that aren't needed.. Still do have a look on what you are removing.. Because removing needed stuff can kill your recovery builds, giving errors.. After syncing all this.. You will need your device tree and kernel.. Once everything is synced.. Just do

Code:
. build/envsetup.sh
breakfast device_name
make bootimage
as far as i know, latest code doesn't support just the build of recovery image.. So build bootimage and in the process if you observe the out directory, you get your recovery image compiled too.. all the best..

Sent from my Nexus 5 using Tapatalk
The Following User Says Thank You to vishal_android freak For This Useful Post: [ View ]
16th January 2014, 06:10 PM |#116  
hhp_211's Avatar
Recognized Contributor
Thanks Meter: 932
 
More
Thanks for the guide and info.
I am struggling a bit
I'm still learning 'git' 'repo' termonology, so I'll try to explain the way ii is making sense to me

I am trying to build Dirty Unicorns
I've done the initial:
repo init -u https://github.com/DirtyUnicorns-KitKat/manifest.git -b du44

edited the envsetup.sh to include my model:: du_fascinatemtd-userdebug

this is what it spits out

Code:
Which would you like? [aosp_arm-eng] 26
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/samsung/fascinatemtd/du.mk]]: "vendor/samsung/fascinatemtd/fascinatemtd-vendor.mk" does not exist.  Stop.
Device fascinatemtd not found. Attempting to retrieve device repository from Dirty Unicorns Github (http://github.com/DirtyUnicorns-KitKat).
Found repository: android_device_samsung_fascinatemtd
Default revision: du44
Checking branch info
Dirty Unicorns/android_device_samsung_fascinatemtd already exists
Syncing repository to retrieve project.
Fetching project android_device_samsung_fascinatemtd
Fetching projects: 100% (1/1), done.  

Repository synced!
Looking for dependencies
Adding dependencies to manifest
Dirty Unicorns/android_device_samsung_aries-common already exists
Adding dependency: DirtyUnicorns-KitKat/android_kernel_samsung_aries -> kernel/samsung/aries
Using default branch for android_kernel_samsung_aries
Dirty Unicorns/android_hardware_samsung already exists
Adding dependency: DirtyUnicorns-KitKat/proprietary_vendor_samsung -> vendor/samsung
Using default branch for proprietary_vendor_samsung
Syncing dependencies
Fetching project android_device_samsung_aries-common
Fetching project android_hardware_samsung
Fetching project samsung-kernel-aries
Fetching project proprietary_vendor_samsung
Fetching projects: 100% (4/4), done.  
Checking out files: 100% (1496/1496), done.

Done
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/samsung/fascinatemtd/du.mk]]: "vendor/samsung/fascinatemtd/fascinatemtd-vendor.mk" does not exist.  Stop.

** Don't have a product spec for: 'du_fascinatemtd'
** Do you have the right repo manifest?
what im experencing is that the DU repo for'proprietary_vendor_samsung' does not have the fascinate
the one I need is here https://github.com/TeamRegular/andro...g_fascinatemtd
and uses the 'branch' nexus



I for the life of me can not figure out how to get that repo and edit the proper files to direct it to sync and build properly



.
I have edited the manifest.xml to look like this:
I shortened it and highlighted in RED what I added.

Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>

  <remote  name="github"
           fetch="https://github.com/" 
           review="gerrit.dirtyunicorns.com" />
           
  <remote  name="aosp"
           fetch="https://android.googlesource.com"
           review="android-review.googlesource.com" />

  <remote  name="du"
           fetch="https://github.com/DirtyUnicorns-KitKat/" 
           review="gerrit.dirtyunicorns.com" />

  <remote  name="omnirom"
           review="gerrit.omnirom.org"
           fetch="https://github.com/omnirom" />

  <remote  name="TeamRegular"
           fetch="https://github.com/TeamRegular"
		   revision="nexus" />
		   
  <default revision="du44"
           remote="du"
           sync-c="true"
           sync-f="true"
           sync-j="8" />

########
#########
#########



  <!--vendors-->
  <project path="vendor/du" name="vendor_du" remote="du" revision="du44" />
  <project path="vendor/samsung/fascinatemtd" name="android_vendor_samsung_fascinatemtd" remote="TeamRegular" revision="nexus" />



if I attempt a repo init I get this error ::
repo init https://github.com/TeamRegular/andro...scinatemtd.git -b nexus
error: revision nexus in manifests not found




and I've also edited the roomservice.xml file to this::

Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="android_device_samsung_fascinatemtd" path="device/samsung/fascinatemtd" remote="du" revision="du44" />
  <project name="android_device_samsung_aries-common" path="device/samsung/aries-common" remote="du" revision="du44" />
  <project name="android_hardware_samsung" path="hardware/samsung" remote="du" revision="du44" />
  <project name="samsung-kernel-aries" path="kernel/samsung/aries" remote="du" revision="du44" />
  <project name="android_kernel_samsung_aries" path="kernel/samsung/aries" remote="du" revision="du44" />
  <project name="android_vendor_samsung_fascinatemtd" path="vendor/samsung" remote="TeamRegular" revision="nexus" />
</manifest>
16th January 2014, 07:05 PM |#117  
Senior Member
Thanks Meter: 3,124
 
More
Quote:
Originally Posted by hhp_211


Code:
Done
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/samsung/fascinatemtd/du.mk]]: "vendor/samsung/fascinatemtd/fascinatemtd-vendor.mk" does not exist.  Stop.

** Don't have a product spec for: 'du_fascinatemtd'
** Do you have the right repo manifest?
I for the life of me can not figure out how to get that repo and edit the proper files to direct it to sync and build properly

I have edited the manifest.xml to look like this:
I shortened it and highlighted in RED what I added.

Code:
  <remote  name="TeamRegular"
           fetch="https://github.com/TeamRegular"
		   revision="nexus" />
  <project path="vendor/du" name="vendor_du" remote="du" revision="du44" />

  <project path="vendor/samsung/fascinatemtd" name="android_vendor_samsung_fascinatemtd" remote="TeamRegular" revision="nexus" />



if I attempt a repo init I get this error ::
repo init https://github.com/TeamRegular/andro...scinatemtd.git -b nexus
error: revision nexus in manifests not found




and I've also edited the roomservice.xml file to this::

Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="android_device_samsung_fascinatemtd" path="device/samsung/fascinatemtd" remote="du" revision="du44" />
  <project name="android_device_samsung_aries-common" path="device/samsung/aries-common" remote="du" revision="du44" />
  <project name="android_hardware_samsung" path="hardware/samsung" remote="du" revision="du44" />
  <project name="samsung-kernel-aries" path="kernel/samsung/aries" remote="du" revision="du44" />
  <project name="android_kernel_samsung_aries" path="kernel/samsung/aries" remote="du" revision="du44" />
  <project name="android_vendor_samsung_fascinatemtd" path="vendor/samsung" remote="TeamRegular" revision="nexus" />
</manifest>

IDK much about what you're saying, as I know not, about fascinatemtd device itself, but just in case,...

The path in local_manifest.xml, and roomservice aren't the same? I've highlighted it in another color.

The path in roomservice.xml seems to be correct, for the fascinatemtd-vendor.mk is in the fascinatemtd subdirectory. So, keep it (the repo) in just one place. And make sure the paths are same?

This might just fix your problem?
16th January 2014, 07:11 PM |#118  
Vivek_Neel's Avatar
Recognized Contributor / Themer
Flag Chennai
Thanks Meter: 25,041
 
Donate to Me
More
Quote:
Originally Posted by hhp_211

Thanks for the guide and info.
I am struggling a bit
I'm still learning 'git' 'repo' termonology, so I'll try to explain the way ii is making sense to me

I am trying to build Dirty Unicorns
I've done the initial:
repo init -u https://github.com/DirtyUnicorns-KitKat/manifest.git -b du44

edited the envsetup.sh to include my model:: du_fascinatemtd-userdebug

this is what it spits out

Code:
Which would you like? [aosp_arm-eng] 26
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/samsung/fascinatemtd/du.mk]]: "vendor/samsung/fascinatemtd/fascinatemtd-vendor.mk" does not exist.  Stop.
Device fascinatemtd not found. Attempting to retrieve device repository from Dirty Unicorns Github (http://github.com/DirtyUnicorns-KitKat).
Found repository: android_device_samsung_fascinatemtd
Default revision: du44
Checking branch info
Dirty Unicorns/android_device_samsung_fascinatemtd already exists
Syncing repository to retrieve project.
Fetching project android_device_samsung_fascinatemtd
Fetching projects: 100% (1/1), done.  

Repository synced!
Looking for dependencies
Adding dependencies to manifest
Dirty Unicorns/android_device_samsung_aries-common already exists
Adding dependency: DirtyUnicorns-KitKat/android_kernel_samsung_aries -> kernel/samsung/aries
Using default branch for android_kernel_samsung_aries
Dirty Unicorns/android_hardware_samsung already exists
Adding dependency: DirtyUnicorns-KitKat/proprietary_vendor_samsung -> vendor/samsung
Using default branch for proprietary_vendor_samsung
Syncing dependencies
Fetching project android_device_samsung_aries-common
Fetching project android_hardware_samsung
Fetching project samsung-kernel-aries
Fetching project proprietary_vendor_samsung
Fetching projects: 100% (4/4), done.  
Checking out files: 100% (1496/1496), done.

Done
build/core/product_config.mk:238: *** _nic.PRODUCTS.[[device/samsung/fascinatemtd/du.mk]]: "vendor/samsung/fascinatemtd/fascinatemtd-vendor.mk" does not exist.  Stop.

** Don't have a product spec for: 'du_fascinatemtd'
** Do you have the right repo manifest?
what im experencing is that the DU repo for'proprietary_vendor_samsung' does not have the fascinate
the one I need is here https://github.com/TeamRegular/andro...g_fascinatemtd
and uses the 'branch' nexus



I for the life of me can not figure out how to get that repo and edit the proper files to direct it to sync and build properly



.
I have edited the manifest.xml to look like this:
I shortened it and highlighted in RED what I added.

Code:

  
           
  

  

  


   
  

########
#########
#########



  
  
  



if I attempt a repo init I get this error ::
repo init https://github.com/TeamRegular/andro...scinatemtd.git -b nexus
error: revision nexus in manifests not found




and I've also edited the roomservice.xml file to this::

Code:

After repo sync
Easy thing would be to add your device repo , kernel and all those thing in local_manifest.xml then repo sync

romservice.xml will be automatically generated which you must not edit or rename .

Then do . build/envsetup.sh
brunch codename


Sent from my GT-I9100 using Tapatalk 2
17th January 2014, 12:23 AM |#119  
hhp_211's Avatar
Recognized Contributor
Thanks Meter: 932
 
More
Quote:
Originally Posted by corruptionfreeindia

After repo sync
Easy thing would be to add your device repo , kernel and all those thing in local_manifest.xml then repo sync

romservice.xml will be automatically generated which you must not edit or rename .

Then do . build/envsetup.sh
brunch codename

Quote:
Originally Posted by thewisenerd

IDK much about what you're saying, as I know not, about fascinatemtd device itself, but just in case,...

The path in local_manifest.xml, and roomservice aren't the same? I've highlighted it in another color.

The path in roomservice.xml seems to be correct, for the fascinatemtd-vendor.mk is in the fascinatemtd subdirectory. So, keep it (the repo) in just one place. And make sure the paths are same?

This might just fix your problem?




thanks guys, between realizing that the default.xml(manifest.xml) generates the info in the roomservice.xml,,,

I fixed that issue and found/squashed the bug reporting the fascinatemtd-vendor.mk error,,,
[[ tracked that error down in my 'device/samsung/fascinatemtd/device.mk' file ]]

now onto tracking other issues now that is BUILDING!!!
thanks again



this was my manifest.xml error::


Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>


########
#########
#########



  <!--vendors-->
  <project path="vendor/du" name="vendor_du" remote="du" revision="du44" />
<project path="vendor/samsung/fascinatemtd" name="android_vendor_samsung_fascinatemtd" remote="TeamRegular" revision="nexus" />

and I had to edited the roomservice.xml file to take the whole line out::

Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <project name="android_device_samsung_fascinatemtd" path="device/samsung/fascinatemtd" remote="du" revision="du44" />
  <project name="android_device_samsung_aries-common" path="device/samsung/aries-common" remote="du" revision="du44" />
  <project name="android_hardware_samsung" path="hardware/samsung" remote="du" revision="du44" />
  <project name="samsung-kernel-aries" path="kernel/samsung/aries" remote="du" revision="du44" />
  <project name="android_kernel_samsung_aries" path="kernel/samsung/aries" remote="du" revision="du44" />
  <project name="android_vendor_samsung_fascinatemtd" path="vendor/samsung" remote="TeamRegular" revision="nexus" />
</manifest>
17th January 2014, 07:20 AM |#120  
Junior Member
Thanks Meter: 0
 
More
Thank you OP. I have been struggling with this crap for a bit, great explanation. Stuff's starting to make much more sense.
nfs1mw
1st February 2014, 11:10 PM |#121  
Guest
Thanks Meter: 0
 
More
Hi,
While downloading cm10.1 source my download got interrupted many times. Say atleast 3GB of bandwidth is wasted due to interruption of large projects (each around 500MB - 2GB). I guess all the interrupted downloads remain somewhere in .repo/projects folder. Now my .repo folder has grown to around 15GB , which is not normal i guess.

So, How can i delete the unnecessary interrupted downloads from my .repo folder???
And, How can i make sure the .repo folder is exactly same as remote branch without no addition/deletion.???

Will using reference path, copies the required contents of .repo to the newly initialized folder??. Or will it just symlink to the original reference path.??
Post Reply Subscribe to Thread

Tags
compiling, guide, repo tool, rom, sync

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes