HACKING.md: Document libdnf vendoring rationale
Per discussion in https://github.com/coreos/rpm-ostree/pull/1929
This commit is contained in:
parent
9ff9d43822
commit
bc36d0a95e
29
HACKING.md
29
HACKING.md
@ -80,9 +80,32 @@ For more details on how tests are structured, see [tests/README.md](tests/README
|
|||||||
Testing with a custom libdnf
|
Testing with a custom libdnf
|
||||||
============================
|
============================
|
||||||
|
|
||||||
Since rpm-ostree uses libdnf as a submodule for the time being, you can simply
|
rpm-ostree bundles libdnf since commit https://github.com/coreos/rpm-ostree/commit/125c482b1d16ce8376378f220fc2f93a5b157bc1
|
||||||
edit the libdnf submodule directly and the various `make` targets will pick up
|
the rationale is:
|
||||||
the changes and recompile.
|
|
||||||
|
- libdnf broke ABI several times silently in the past
|
||||||
|
- Today, dnf does not actually *use* libdnf much, which means
|
||||||
|
for the most part any libdnf breakage is first taken by us
|
||||||
|
- libdnf is trying to rewrite more in C++, which is unlikely to help
|
||||||
|
API/ABI stability
|
||||||
|
- dnf and rpm-ostree release on separate cycles (e.g. today rpm-ostree
|
||||||
|
is used by OpenShift)
|
||||||
|
|
||||||
|
In general, until libdnf is defined 100% API/ABI stable, we will
|
||||||
|
continue to bundle it.
|
||||||
|
|
||||||
|
However, because it's a git submodule, it's easy to test updates
|
||||||
|
to it, and it also means we're not *forking* it.
|
||||||
|
|
||||||
|
So just do e.g.:
|
||||||
|
```
|
||||||
|
cd libdnf
|
||||||
|
git fetch origin
|
||||||
|
git reset --hard origin/master
|
||||||
|
cd ..
|
||||||
|
```
|
||||||
|
|
||||||
|
The various `make` targets will pick up the changes and recompile.
|
||||||
|
|
||||||
Testing with a custom ostree
|
Testing with a custom ostree
|
||||||
============================
|
============================
|
||||||
|
Loading…
Reference in New Issue
Block a user