Skip to content

Commit

Permalink
deps: maintaining ngtcp2 and nghttp3
Browse files Browse the repository at this point in the history
  • Loading branch information
jasnell committed Mar 24, 2020
1 parent 9b8cb3e commit c6cc7d0
Show file tree
Hide file tree
Showing 2 changed files with 63 additions and 0 deletions.
4 changes: 4 additions & 0 deletions deps/ngtcp2/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
**/*/CMakeLists.txt
**/*/*.am
**/*/*.h.in
**/*/*.pc.in
59 changes: 59 additions & 0 deletions doc/guides/maintaining-ngtcp2-nghttp3.md
Original file line number Diff line number Diff line change
@@ -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

0 comments on commit c6cc7d0

Please sign in to comment.