Project

General

Profile

SourceCode » History » Version 12

Denis 'GNUtoo' Carikli, 05/31/2014 02:01 PM

1 10 Paul Kocialkowski
h1. Replicant Sources
2 1 Paul Kocialkowski
3 2 Paul Kocialkowski
h2. Browsing the source
4
5
The Replicant source code is currently hosted at Gitorious: https://gitorious.org/replicant 
6
There is a branch per Replicant version, like @replicant-2.2@.
7
8 1 Paul Kocialkowski
h2. Code tree location
9
10 8 Linus Drumbler
Start by defining the place where you want to download Replicant tree.
11
12
*Important: the name of the path to this location must not contain spaces!*
13 1 Paul Kocialkowski
14
h2. Installing the tools
15
16
Then, download the @repo@ tool and set it executable:
17
<pre>
18
mkdir tools
19
cd tools
20 7 Paul Kocialkowski
wget http://commondatastorage.googleapis.com/git-repo-downloads/repo
21 1 Paul Kocialkowski
chmod a+x repo
22
cd ../
23
</pre>
24
25
h2. Getting the source manifest
26
27
The source manifest is the list of all the git repos that are present in the Replicant tree.
28
There is one manifest per replicant version. 
29
30 11 Paul Kocialkowski
h3. Replicant 4.2
31 12 Denis 'GNUtoo' Carikli
If you don't setup your name and email in git, repo will complain:
32
<pre>
33
Traceback (most recent call last):
34
  File "/home/gnutoo/embedded/replicant-4.2/.repo/repo/main.py", line 500, in <module>
35
    _Main(sys.argv[1:])
36
  File "/home/gnutoo/embedded/replicant-4.2/.repo/repo/main.py", line 476, in _Main
37
    result = repo._Run(argv) or 0
38
  File "/home/gnutoo/embedded/replicant-4.2/.repo/repo/main.py", line 155, in _Run
39
    result = cmd.Execute(copts, cargs)
40
  File "/home/gnutoo/embedded/replicant-4.2/.repo/repo/subcmds/init.py", line 395, in Execute
41
    self._ConfigureUser()
42
  File "/home/gnutoo/embedded/replicant-4.2/.repo/repo/subcmds/init.py", line 289, in _ConfigureUser
43
    name  = self._Prompt('Your Name', mp.UserName)
44
  File "/home/gnutoo/embedded/replicant-4.2/.repo/repo/project.py", line 650, in UserName
45
    self._LoadUserIdentity()
46
  File "/home/gnutoo/embedded/replicant-4.2/.repo/repo/project.py", line 663, in _LoadUserIdentity
47
    u = self.bare_git.var('GIT_COMMITTER_IDENT')
48
  File "/home/gnutoo/embedded/replicant-4.2/.repo/repo/project.py", line 2483, in runner
49
    p.stderr))
50
error.GitError: manifests var: 
51
*** Please tell me who you are.
52 11 Paul Kocialkowski
53 12 Denis 'GNUtoo' Carikli
Run
54
55
  git config --global user.email "you@example.com"
56
  git config --global user.name "Your Name"
57
58
to set your account's default identity.
59
Omit --global to set the identity only in this repository.
60
61
fatal: empty ident name (for <gnutoo@N71JQ.(none)>) not allowed
62
</pre>
63
So we setup it correctly, replace the email and the name by a valid one:
64
<pre>
65
  git config --global user.email "you@example.com"
66
  git config --global user.name "Your Name"
67
</pre>
68 11 Paul Kocialkowski
<pre>
69
mkdir replicant-4.2
70
cd replicant-4.2
71
../tools/repo init -u git://gitorious.org/replicant/manifest.git -b replicant-4.2
72
</pre>
73
74 4 Paul Kocialkowski
h3. Replicant 4.0
75
76
<pre>
77
mkdir replicant-4.0
78
cd replicant-4.0
79
../tools/repo init -u git://gitorious.org/replicant/manifest.git -b replicant-4.0
80
</pre>
81
82 1 Paul Kocialkowski
h3. Replicant 2.3
83
84
<pre>
85
mkdir replicant-2.3
86
cd replicant-2.3
87
../tools/repo init -u git://gitorious.org/replicant/manifest.git -b replicant-2.3
88
</pre>
89
90
h3. Replicant 2.2
91
92
<pre>
93
mkdir replicant-2.2
94
cd replicant-2.2
95
../tools/repo init -u git://gitorious.org/replicant/manifest.git -b replicant-2.2
96
</pre>
97
98 3 Paul Kocialkowski
h2. Downloading/Updating the source from the repos
99 1 Paul Kocialkowski
100 9 Linus Drumbler
Now that you have configured the repository to use a manifest, you can start downloading Replicant sources for the desired version.
101 1 Paul Kocialkowski
102 9 Linus Drumbler
*This step is very long and can take the whole day to complete!*
103
104 1 Paul Kocialkowski
<pre>
105
../tools/repo sync
106
</pre>
107 3 Paul Kocialkowski
108 9 Linus Drumbler
Depending on your internet bandwidth, using the @-j@ argument may speed up the process (if you encounter errors, retry without the @-j@ argument):
109 5 Paul Kocialkowski
110
<pre>
111
../tools/repo sync -j9
112
</pre>
113
114 6 Paul Kocialkowski
You must redo this step each time you want to sync your tree, in order to keep it up to date. Future syncs are faster than the first one.