mirror of
https://git.proxmox.com/git/debcargo-conf
synced 2025-04-28 11:42:14 +00:00
added a section to the readme about the collapse_features setting, why it exist and how to use it
This commit is contained in:
parent
8539664ccd
commit
c9063851ca
2
.kdev4/debcargo-conf.kdev4
Normal file
2
.kdev4/debcargo-conf.kdev4
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
[Project]
|
||||||
|
VersionControlSupport=kdevgit
|
24
README.rst
24
README.rst
@ -226,6 +226,30 @@ conditions for (2), e.g. https://github.com/hsivonen/simd/issues/25
|
|||||||
obvious so documentation is less necessary, and dependent crates all do it
|
obvious so documentation is less necessary, and dependent crates all do it
|
||||||
correctly already.)
|
correctly already.)
|
||||||
|
|
||||||
|
Setting collapse_features in debcargo.conf
|
||||||
|
------------------------------------------
|
||||||
|
|
||||||
|
Rust and Debian have a two different levels of abstraction when handling dependencies and the
|
||||||
|
relationship between them. In rust the lowest level is a feature, and in Debian it's the binary
|
||||||
|
package.
|
||||||
|
|
||||||
|
This means that the following dependency chain is not a problem in rust:
|
||||||
|
|
||||||
|
- crate A with feature AX depends on crate B with feature BY
|
||||||
|
- crate B with feature BX depends on crate A with feature AY
|
||||||
|
|
||||||
|
This is a perfectly valid situation in the rust+cargo ecosystem. Notice that
|
||||||
|
there is no dependency cycle on the per-feature level, and this is enforced by
|
||||||
|
cargo; but if collapse_features is used then package A+AX+AY would cyclicly
|
||||||
|
depend on package B+BX+BY.
|
||||||
|
|
||||||
|
This is reflected in the Debian packages by producing `Provides` lines for all combinations
|
||||||
|
of features, and this can become a quite large section.
|
||||||
|
|
||||||
|
Setting `collapse_features = true` in debcargo.toml removes this behaviour and is recommended,
|
||||||
|
but it can lead to dependency cycles of debian packages, if that happens those must be
|
||||||
|
broken up by having some or all of the packages set this feature to false.
|
||||||
|
|
||||||
Changed orig tarballs
|
Changed orig tarballs
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
|
4
debcargo-conf.kdev4
Normal file
4
debcargo-conf.kdev4
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
[Project]
|
||||||
|
CreatedFrom=
|
||||||
|
Manager=KDevCustomBuildSystem
|
||||||
|
Name=debcargo-conf
|
Loading…
Reference in New Issue
Block a user