Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames M Snell <jasnell@gmail.com>2020-03-24 04:12:13 +0300
committerJames M Snell <jasnell@gmail.com>2020-06-16 19:23:24 +0300
commitbccb514936ab5f225bb9fb7cda259490322321c1 (patch)
tree4b9084560f0ad9ad89f95c5af3d5d509751cd82d
parent834fa8f23fbfd86b88567d87f984b4737401d354 (diff)
deps: maintaining ngtcp2 and nghttp3
Signed-off-by: James M Snell <jasnell@gmail.com> PR-URL: https://github.com/nodejs/node/pull/32379 Reviewed-By: Anna Henningsen <anna@addaleax.net>
-rw-r--r--deps/ngtcp2/.gitignore4
-rw-r--r--doc/guides/maintaining-ngtcp2-nghttp3.md59
2 files changed, 63 insertions, 0 deletions
diff --git a/deps/ngtcp2/.gitignore b/deps/ngtcp2/.gitignore
new file mode 100644
index 00000000000..118f2396034
--- /dev/null
+++ b/deps/ngtcp2/.gitignore
@@ -0,0 +1,4 @@
+**/*/CMakeLists.txt
+**/*/*.am
+**/*/*.h.in
+**/*/*.pc.in
diff --git a/doc/guides/maintaining-ngtcp2-nghttp3.md b/doc/guides/maintaining-ngtcp2-nghttp3.md
new file mode 100644
index 00000000000..8521c768e95
--- /dev/null
+++ b/doc/guides/maintaining-ngtcp2-nghttp3.md
@@ -0,0 +1,59 @@
+# Maintaining ngtcp2 and nghttp3
+
+The ngtcp2 and nghttp3 libraries form the foundation of the QUIC
+implementation. They are acquired from the [ngtcp2/ngtcp2][] and
+[ngtcp2/nghttp3][] repositories on GitHub.
+
+ngtcp2 and nghttp3 are tightly related. They will typically be
+updated together.
+
+## Updating ngtcp2
+
+Update ngtcp2:
+```shell
+git clone https://github.com/ngtcp2/ngtcp2
+cd ngtcp2
+autoreconf -i
+./configure --enable-lib-only
+cd ..
+cp -R ngtcp2/crypto node/deps/ngtcp2
+cp -R ngtcp2/lib node/deps/ngtcp2
+```
+
+The `autoreconf -i` and `./configure --enable-lib-only` commands
+ensure that the necessary template files (such as version.h.in
+located in lib/includes/ngtcp2/ are processed appropriately.
+
+Check that Node.js still builds and tests.
+
+## Updating nghttp3
+
+Update nghttp3:
+```shell
+git clone https://github.com/ngtcp2/nghttp3
+cd nghttp3
+autoreconf -i
+./configure --enable-lib-only
+cd ..
+cp -R nghttp3/lib node/deps/nghttp3
+```
+
+The `autoreconf -i` and `./configure --enable-lib-only` commands
+ensure that the necessary template files (such as version.h.in
+located in lib/includes/ngtcp2/ are processed appropriately.
+
+Check that Node.js still builds and tests.
+
+## Commiting ngtcp2 and nghttp3
+
+Use: `git add --all deps/ngtcp2` and `git add --all deps/nghttp3`
+
+Commit the changes with a message like
+```text
+deps: update ngtcp2 and nghttp3
+
+Updated as described in doc/guides/maintaining-ngtcp2-nghttp3.md.
+```
+
+[ngtcp2/nghttp3]: https://github.com/ngtcp2/nghttp3
+[ngtcp2/ngtcp2]: https://github.com/ngtcp2/ngtcp2