mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2026-04-10 09:10:45 +02:00
systemd: describe import of systemd code in README.md
This commit is contained in:
parent
721f0e75de
commit
4a35dbe6a7
2 changed files with 40 additions and 2 deletions
|
|
@ -7,10 +7,17 @@ as a static library with network helpers.
|
|||
We use systemd's DHCPv6 and LLDP library, by forking their code.
|
||||
|
||||
We also still use their DHCPv4 library, but that is about to be replaced
|
||||
by nettools' n-dhcp4.
|
||||
by nettools' n-dhcp4 and not used unless you configure the undocumented
|
||||
`[main].dhcp=systemd` plugin.
|
||||
|
||||
This approach of code-reuse is very cumbersome, and we should replace
|
||||
systemd code by a proper library (like nettools).
|
||||
systemd code by a proper library (like [nettools](https://github.com/nettools/)).
|
||||
|
||||
We should not use systemd directly from our sources, beyond what
|
||||
we really need.
|
||||
|
||||
|
||||
Reimport Upstream Code
|
||||
----------------------
|
||||
|
||||
Read [here](../libnm-systemd-shared/README.md#reimport-upstream-code).
|
||||
|
|
|
|||
|
|
@ -9,3 +9,34 @@ which contains systemd library with network tools (like DHCPv6).
|
|||
|
||||
We should not use systemd directly from our sources, beyond what
|
||||
we really need to make get libnm-systemd-core working.
|
||||
|
||||
|
||||
Reimport Upstream Code
|
||||
----------------------
|
||||
|
||||
We want to avoid deviations in our fork, and frequently re-import
|
||||
latest systemd version (every 4 to 8 weeks). The reason is that we
|
||||
frequently should check whether important fixes were done in upstream
|
||||
systemd, and the effort of doing that is half the work of just reimporting.
|
||||
Also, by reimporting frequently, we avoid deviating hugely (instead we only deviate
|
||||
largely).
|
||||
|
||||
Of course this is cumbersome. We should replace systemd code with something else.
|
||||
|
||||
To do a re-import, do:
|
||||
|
||||
- checkout `systemd` branch.
|
||||
|
||||
- Use the last commit message (`git commit --allow-empty -C origin/systemd`).
|
||||
Then modify the commit message (`git commit --allow-empty --amend`). The
|
||||
commit message contains a long script that is used to re-import the code.
|
||||
Adjust the script in the commit message, and run it. Commit the changes on
|
||||
`systemd` branch.
|
||||
|
||||
- checkout `main` branch, and `git merge systemd`. Fix all issues, test,
|
||||
repeat.
|
||||
|
||||
- open merge request, check that all tests pass. In particular, enable build
|
||||
on all test distributions.
|
||||
|
||||
- push `main` and `systemd` branch.
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue