netresolv: Add a quick document on how to synchronize with NetBSD.
This commit is contained in:
parent
3cc9802e89
commit
b75bd04b4a
30
src/kits/network/netresolv/HowTo-Synchronize_with_NetBSD.md
Normal file
30
src/kits/network/netresolv/HowTo-Synchronize_with_NetBSD.md
Normal file
@ -0,0 +1,30 @@
|
||||
How to Merge Patches from NetBSD Trunk
|
||||
============================================
|
||||
Using the NetBSD CVS is a pain, so instead, the preferred thing to do is to use
|
||||
[IIJ's Git mirror](https://github.com/IIJ-NetBSD/netbsd-src). The code here is
|
||||
in the tree at a few places:`inet` is at `lib/libc/inet`, irs is scattered
|
||||
across the tree, and `resolv` is at `lib/libc/resolv`.
|
||||
|
||||
The preferable way to merge is to take the last commit merged from IIJ's mirror
|
||||
(can be found in the merging commit in Haiku, if the merger has done their work
|
||||
properly) and check all commits since then to see if they apply or not (some
|
||||
apply to documentation we don't have, etc.) Cherry-pick the ones that do, and
|
||||
download them as git-format-patch patches (by adding `.patch` onto the end of the
|
||||
commit URL).
|
||||
|
||||
To convert the patches to have the correct paths to the resolv/inet/etc. code, use
|
||||
`sed`:
|
||||
```
|
||||
sed s%lib/libc/resolv%src/kits/network/netresolv/resolv%g -i *.patch
|
||||
```
|
||||
(You'll need to use similar commands for the `inet` and `irs` code.)
|
||||
|
||||
Then apply the patches using `git apply --reject file.patch`. Git will spew a lot of
|
||||
errors about files in the patch that aren't in the tree, and then it will warn that
|
||||
some hunks are being rejected. Review the rejected hunks **VERY CAREFULLY**, as
|
||||
some code in Haiku's NetResolv is not in NetBSD's and vice versa, and so some patches
|
||||
may not apply cleanly because of that. You might have to resort to merging those
|
||||
hunks by hand, if they apply at all to Haiku's code.
|
||||
|
||||
Commit the changes all at once, but list all the commits merged from NetBSD
|
||||
in the commit message (see previous merges for the style to follow).
|
Loading…
Reference in New Issue
Block a user