Project

General

Profile

SourceCode » History » Revision 36

Revision 35 (Wolfgang Wiedmeyer, 04/15/2017 02:38 PM) → Revision 36/51 (Wolfgang Wiedmeyer, 05/07/2017 07:23 PM)

h1. Replicant source code 

 h2. Browsing the source code 

 The Replicant source code is currently hosted by the "FSF":https://www.fsf.org/ at: "git.replicant.us":https://git.replicant.us/replicant 

 There is one branch per Replicant version, such as @replicant-2.2@. 

 h2. Disk space 

 Before downloading the Replicant source code, make sure there is a considerable amount of disk space left on the drive you intend intent to build Replicant on. 
 It is advised to have 60-70GiB 40-50GiB available for the Replicant source code and the produced files for one device. If you intend to build for multiple devices, every additional device will need ca. 17GiB. files. 

 h2. Source tree root folder 

 The path to the source tree root folder *must not contain spaces*. 

 h2. Installing the repo tool 

 To be able download the complete source code, the "@repo@ tool":https://android.googlesource.com/tools/repo needs to be installed. The distribution you are using may already have the tool packaged and it may already been installed as part of the [[BuildDependenciesInstallation|Build dependencies installation]]. 

 It is recommended to install the @repo@ tool with the package manager. However, if the @repo@ tool is not available on your system, you can download and install it locally: 

 <pre> 
 mkdir tools 
 cd tools 
 wget https://commondatastorage.googleapis.com/git-repo-downloads/repo 
 chmod a+x repo 
 cd ../ 
 </pre> 

 In the following, it is assumed that @repo@ is installed from your system's package manager. If you have installed @repo@ locally in @../tools/repo@, replace 

 <pre> 
 repo 
 </pre> 

 with 
 <pre> 
 ../tools/repo 
 </pre> 

 at the beginning of the following commands. 

 h2. Initializing the repository 

 The source manifest is the list of all the git repositories that are present in the Replicant tree. 
 Each Replicant version has a dedicated branch with the proper source manifest. 

 h3. Replicant 6.0 release version 

 In case errors such as *server certificate verification failed* happen, installing the CACert certificate may help: 
 <pre> 
 mkdir replicant-6.0 /usr/local/share/ca-certificates/cacert.org 
 cd replicant-6.0 wget -P /usr/local/share/ca-certificates/cacert.org http://www.cacert.org/certs/root.crt http://www.cacert.org/certs/class3.crt 
 ../tools/repo init -u https://git.replicant.us/replicant/manifest.git -b replicant-6.0 update-ca-certificates 
 </pre> 

 h3. Replicant 6.0 development version 

 <pre> 
 mkdir replicant-6.0-dev 
 cd replicant-6.0-dev 
 repo init -u https://git.replicant.us/replicant/manifest.git -b replicant-6.0-dev 
 </pre> 

 h3. Replicant 4.2 

 <pre> 
 mkdir replicant-4.2 
 cd replicant-4.2 
 repo init -u https://git.replicant.us/replicant/manifest.git -b replicant-4.2 
 </pre> 

 h3. Replicant 4.0 

 <pre> 
 mkdir replicant-4.0 
 cd replicant-4.0 
 repo init -u https://git.replicant.us/replicant/manifest.git -b replicant-4.0 
 </pre> 

 h3. Replicant 2.3 

 <pre> 
 mkdir replicant-2.3 
 cd replicant-2.3 
 repo init -u https://git.replicant.us/replicant/manifest.git -b replicant-2.3 
 </pre> 

 h3. Replicant 2.2 

 <pre> 
 mkdir replicant-2.2 
 cd replicant-2.2 
 repo init -u https://git.replicant.us/replicant/manifest.git -b replicant-2.2 
 </pre> 

 h2. Downloading/Updating the source code 

 Now that you have configured @repo@, you can start downloading Replicant sources for the desired version. 

 *This step is very long and can take hours to complete!* 

 <pre> 
 repo sync 
 </pre> 

 Once the source code is ready, you need to get the prebuilt applications (they are downloaded from F-Droid). Since Replicant 6.0, the prebuilt applications are checked if they were signed with the "F-Droid signing key":https://f-droid.org/wiki/page/Release_Channels_and_Signing_Keys. The signing key can be retrieved and added to your GPG keyring using: 

 <pre> F-Droid): 
 gpg --recv-key 7A029E54DD5DCE7A 
 </pre> 

 Then you can download the prebuilts: 

 <pre> 
 vendor/replicant/get-prebuilts 
 </pre> 

 You must redo these steps each time you want to sync your tree, in order to keep it up to date. Future syncs are faster than the first one.