Andrea Visnyei | 6184fcc | 2020-08-07 12:55:28 +0200 | [diff] [blame] | 1 | .. This work is licensed under a Creative Commons Attribution 4.0 |
| 2 | .. International License. http://creativecommons.org/licenses/by/4.0 |
| 3 | .. Copyright 2020 Nokia. |
| 4 | |
| 5 | Setting up environment |
| 6 | ====================== |
| 7 | |
| 8 | This chapter is based on the `Git Guide <https://docs.releng.linuxfoundation.org/en/latest/git.html>`_ |
| 9 | and the `Gerrit Guide <https://docs.releng.linuxfoundation.org/en/latest/gerrit.html>`_ |
| 10 | in the Linux Foundation Releng Documentation. |
| 11 | |
| 12 | Prerequisites |
| 13 | ~~~~~~~~~~~~~ |
| 14 | |
| 15 | Before you start, you should have an LFID account (sign up |
thmsdt | 40d8518 | 2022-07-07 09:39:31 +0200 | [diff] [blame] | 16 | `here <https://identity.linuxfoundation.org/>`_). |
Andrea Visnyei | 6184fcc | 2020-08-07 12:55:28 +0200 | [diff] [blame] | 17 | |
| 18 | Installing git |
| 19 | ~~~~~~~~~~~~~~ |
| 20 | |
| 21 | 1. Install Git. |
| 22 | |
| 23 | For Debian based systems: |
| 24 | |
| 25 | .. code-block:: bash |
| 26 | |
| 27 | sudo apt-get install git -y |
| 28 | |
| 29 | |
| 30 | For rpm based systems: |
| 31 | |
| 32 | .. code-block:: bash |
| 33 | |
| 34 | sudo dnf install git -y |
| 35 | |
| 36 | |
| 37 | For MacOS systems, install `homebrew <http://brew.sh>`_ and install Git |
| 38 | |
| 39 | .. code-block:: bash |
| 40 | |
| 41 | brew install git |
| 42 | |
| 43 | .. note:: For more information on git, see the `Git Guide <https://docs.releng.linuxfoundation.org/en/latest/git.html>`_ in the Linux Foundation Releng Documentation. |
| 44 | |
| 45 | Configure Git |
| 46 | ~~~~~~~~~~~~~ |
| 47 | |
| 48 | 1. Set the author name or email used to sign off a commit with the following commands. |
| 49 | |
| 50 | .. code-block:: bash |
| 51 | |
| 52 | git config --local user.name "Your Name" |
| 53 | git config --local user.email yourname@example.com |
| 54 | |
| 55 | .. note:: Your name and e-mail address (including capitalization) must match the one you entered when creating your LFID account. |
| 56 | |
| 57 | 2. Optionally, change the Git commit editor to your preferred editor, for example, vim. |
| 58 | |
| 59 | .. code-block:: bash |
| 60 | |
| 61 | git config --global core.editor "vim" |
| 62 | |
| 63 | Installing git-review |
| 64 | ~~~~~~~~~~~~~~~~~~~~~ |
| 65 | |
| 66 | 1. Install git-review. |
| 67 | |
| 68 | .. code-block:: bash |
| 69 | |
| 70 | pip install git-review |
| 71 | |
thmsdt | bf7a147 | 2021-07-29 13:19:59 +0200 | [diff] [blame] | 72 | .. note:: If you don’t have pip installed already, follow the `installation documentation <https://pip.pypa.io/en/stable/installation/>`_ for pip. |
Andrea Visnyei | 6184fcc | 2020-08-07 12:55:28 +0200 | [diff] [blame] | 73 | |
| 74 | Setting up gerrit |
| 75 | ~~~~~~~~~~~~~~~~~ |
| 76 | |
| 77 | Setting SSH keys |
| 78 | ---------------- |
| 79 | |
| 80 | 1. Generate SSH keys. |
| 81 | |
qingshuting | 2055c0e | 2022-05-16 12:41:48 +0800 | [diff] [blame] | 82 | For OpenSSH 8.7 or older versions: |
Andrea Visnyei | 6184fcc | 2020-08-07 12:55:28 +0200 | [diff] [blame] | 83 | |
qingshuting | 2055c0e | 2022-05-16 12:41:48 +0800 | [diff] [blame] | 84 | .. code-block:: bash |
Andrea Visnyei | 6184fcc | 2020-08-07 12:55:28 +0200 | [diff] [blame] | 85 | |
qingshuting | 2055c0e | 2022-05-16 12:41:48 +0800 | [diff] [blame] | 86 | ssh-keygen -t rsa |
| 87 | |
| 88 | For OpenSSH 8.8 or later versions, either use ed25519 or ECDSA algorithm to generate ssh keys: |
| 89 | |
| 90 | .. code-block:: bash |
| 91 | |
| 92 | ssh-keygen -t ed25519 |
| 93 | |
| 94 | or |
| 95 | |
| 96 | .. code-block:: bash |
| 97 | |
| 98 | ssh-keygen -t ECDSA |
| 99 | |
| 100 | .. note:: OpenSSH 8.8+ disables RSA signatures using the SHA-1 hash algorithm by default, which may cause authentication problem when pull/push code. You can either specify the encrypt algorithm or re-enable the RSA/SHA1 in ~/.ssh/config file to solve the issue. For more information, please refer to `OpenSSH Release Notes <https://www.openssh.com/releasenotes.html>`_. |
| 101 | |
| 102 | Your public key is now available as .ssh/id_rsa.pub or .ssh/id_ed25519.pub or .ssh/id_ecdsa.pub under .ssh folder. |
Andrea Visnyei | 6184fcc | 2020-08-07 12:55:28 +0200 | [diff] [blame] | 103 | |
| 104 | 2. Print the generated key to the terminal and copy it. |
| 105 | |
| 106 | .. code-block:: bash |
| 107 | |
| 108 | cat .ssh/id_rsa.pub |
| 109 | |
| 110 | 3. On the project gerrit page, go to Settings. |
| 111 | |
| 112 | .. figure:: https://docs.releng.linuxfoundation.org/en/latest/_images/gerrit-settings.png |
| 113 | :alt: Settings page for your Gerrit account |
| 114 | :width: 50 % |
| 115 | |
| 116 | 4. Click **SSH Public Keys** under **Settings**. |
| 117 | |
| 118 | 5. Click **Add Key**. |
| 119 | |
| 120 | 6. In the **Add SSH Public Key** text box, paste the contents of your **id\_rsa.pub** file and then click **Add**. |
| 121 | |
| 122 | .. figure:: https://docs.releng.linuxfoundation.org/en/latest/_images/gerrit-ssh-keys.png |
| 123 | :alt: Adding your SSH key |
| 124 | :width: 50 % |
| 125 | |
| 126 | Setting up CLA as an individual contributor |
| 127 | ------------------------------------------- |
| 128 | |
| 129 | 1. Navigate to **Settings** — the gear icon on the upper right corner, and click **Agreements** from the menu on the left: |
| 130 | |
| 131 | .. figure:: https://raw.githubusercontent.com/communitybridge/docs/master/.gitbook/assets/settings-icon.png |
| 132 | |
| 133 | .. figure:: https://raw.githubusercontent.com/communitybridge/docs/master/.gitbook/assets/agreements.png |
| 134 | |
| 135 | 2. Click **New Contributor Agreement**. |
| 136 | |
| 137 | .. figure:: https://raw.githubusercontent.com/communitybridge/docs/master/.gitbook/assets/agreement-link.png |
| 138 | |
| 139 | 3. New Contributor Agreement types appear: |
| 140 | |
| 141 | .. figure:: https://raw.githubusercontent.com/communitybridge/docs/master/.gitbook/assets/new-contributor-agreement.png |
| 142 | |
| 143 | 4. Choose the Individual CLA option. |
| 144 | |
| 145 | .. figure:: CLA_types.png |
| 146 | |
| 147 | 5. Click the **Please review the agreement link** and then click the message link that appears: |
| 148 | |
| 149 | .. figure:: https://raw.githubusercontent.com/communitybridge/docs/master/.gitbook/assets/cla-gerrit-icla-proceed-to-sign-cla.png |
| 150 | |
| 151 | 6. Sign in to EasyCLA if you are prompted. |
| 152 | |
| 153 | 7. Select **Company**. |
| 154 | |
| 155 | .. note:: To contribute to this project, you must be authorized under a signed Contributor License Agreement. You are contributing on behalf of your work for a company. |
| 156 | |
| 157 | If any further prompts appear, follow the steps described at the below links: |
| 158 | |
Cédric Ollivier | 8990c04 | 2022-07-05 14:21:44 +0200 | [diff] [blame] | 159 | - `Individual Contributor <https://docs.linuxfoundation.org/v2/easycla/contributors/individual-contributor#gerrit>`_ |
| 160 | - `Corporate Contributor <https://docs.linuxfoundation.org/v2/easycla/contributors/corporate-contributor#gerrit>`_ |
Andrea Visnyei | 6184fcc | 2020-08-07 12:55:28 +0200 | [diff] [blame] | 161 | |
| 162 | 8. Complete the form and click **SEND**. |
| 163 | |
| 164 | The CCLA manager signs a Corporate CLA and adds you to the approved list. |