I was trying to configure repo with a local_manifest.xml file to get the goldfish Android kernel available at: https://android.googlesource.com/kernel/goldfish.git
I have written the following local_manifest.xml file that I copied in .repo/manifests/local_manifest.xml:
<?xml version="1.0" encoding="UTF-8"?> <manifest> <remote name="linux-kernel" fetch="https://android.googlesource.com/kernel" /> <project path="kernel" name="goldfish" remote="linux-kernel" revision="android-goldfish-3.10" /> </manifest>
Giving the following command: repo init -u local_manifest.xml
I get the following error message:
fatal: Invalid gitfile format: local_manifest.xml fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.
I believe there is something wrong in my local_manifest.xml file but I’m unable to understand what is wrong. Any idea about what is wrong?
Moreover, how to use local manifests together with repo?
Thank you.
Advertisement
Answer
The local manifests aren’t intended to be used as your main manifest, but rather an augmentation to the default/standard one. You can just add the xml files to $TOP_DIR/.repo/local_manifests
, such as $TOP_DIR/.repo/local_manifests/kernel_manifest.xml
.
The manifest itself follows the standard format, allowing you to provide new servers (remotes) and projects. Try modifying your existing one to look something like this:
<?xml version="1.0" encoding="UTF-8"?> <manifest> <remote name="linux-kernel" fetch="https://android.googlesource.com/" /> <project path="kernel" name="kernel/goldfish" remote="linux-kernel" revision="android-goldfish-3.10" /> </manifest>
When you do the repo sync
, repo should automatically load this manifest and use it as part of its sync. For more details and other goodies, look here.