git/list[1] front-page[2] threads[3] people[4] search[5] about
 

[PATCH 2/3] myfirstcontrib: add dependency installation step

From
Emily Shaffer <emilyshaffer@google.com>
Date
Oct 26, 2019, 00:51 UTC
Message-ID
<20191026005159.98405-3-emilyshaffer@google.com>
In-Reply-To
<20191026005159.98405-1-emilyshaffer@google.com>

Indicate that the user needs some dependencies before the build will run happily on their machine; this dependency list doesn't seem to be made clear anywhere else in the project documentation. Then, so the user can be certain any build failures are due to their code and not their environment, perform a build on a clean checkout of 'master'. Also, move the note about build parallelization up here, so that it appears next to the very first build invocation in the tutorial.

Signed-off-by: Emily Shaffer <emilyshaffer@google.com>
---
 Documentation/MyFirstContribution.txt | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)
diff --git a/Documentation/MyFirstContribution.txt b/Documentation/MyFirstContribution.txt
index 12b7256454..b8ffeda07e 100644
--- a/Documentation/MyFirstContribution.txt
+++ b/Documentation/MyFirstContribution.txt
@@ -38,6 +38,30 @@ $ git clone https://github.com/git/git git
 $ cd git
 ----
 
+[[dependencies]]
+=== Installing Dependencies
+
+To build Git from source, you need to have a handful of dependencies installed
+on your system. For a hint of what's needed, you can take a look at
+`ci/install-dependencies.sh`.
+
+To install the dependencies needed for a basic build on Linux, run something
+like this (or replace `apt` with your distribution's package manager of choice):
+
+----
+# apt install libssl-dev zlib1g-dev libcurl4-gnutls-dev libexpat1-dev
+----
+
+Make sure that your environment has everything you need by building your brand
+new clone of Git from the above step:
+
+----
+$ make
+----
+
+NOTE: The Git build is parallelizable. `-j#` is not included above but you can
+use it as you prefer, here and elsewhere.
+
 [[identify-problem]]
 === Identify Problem to Solve
 
@@ -138,9 +162,6 @@ NOTE: When you are developing the Git project, it's preferred that you use the
 `DEVELOPER` flag; if there's some reason it doesn't work for you, you can turn
 it off, but it's a good idea to mention the problem to the mailing list.
 
-NOTE: The Git build is parallelizable. `-j#` is not included above but you can
-use it as you prefer, here and elsewhere.
-
 Great, now your new command builds happily on its own. But nobody invokes it.
 Let's change that.
 
-- 
2.24.0.rc0.303.g954a862665-goog
Previous: Johannes SchindelinNext: Jonathan Nieder
Message 8 of 20 in “some clarifications to MyFirstContribution”
  1. 0/3 some clarifications to MyFirstContributionEmily Shaffer, Oct 26, 2019
  2. 1/3 myfirstcontrib: add 'psuh' to command-list.txtEmily Shaffer, Oct 26, 2019
  3. Jonathan NiederOct 26, 2019
  4. SZEDER GáborOct 26, 2019
  5. Junio C HamanoOct 28, 2019
  6. SZEDER GáborOct 28, 2019
  7. Johannes SchindelinOct 29, 2019
  8. 2/3 myfirstcontrib: add dependency installation stepEmily Shaffer, Oct 26, 2019
  9. Jonathan NiederOct 26, 2019
  10. Junio C HamanoOct 28, 2019
  11. Emily ShafferOct 31, 2019
  12. 3/3 myfirstcontrib: hint to find gitgitgadget allowerEmily Shaffer, Oct 26, 2019
  13. Jonathan NiederOct 26, 2019
  14. Johannes SchindelinOct 29, 2019
  15. Pratyush YadavOct 27, 2019
  16. Jonathan NiederOct 26, 2019
  17. 0/3 some clarifications to MyFirstContributionEmily Shaffer, Oct 31, 2019
  18. 1/3 myfirstcontrib: add 'psuh' to command-list.txtEmily Shaffer, Oct 31, 2019
  19. 2/3 myfirstcontrib: add dependency installation stepEmily Shaffer, Oct 31, 2019
  20. 3/3 myfirstcontrib: hint to find gitgitgadget allowerEmily Shaffer, Oct 31, 2019

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.