Packaging a header-only library with frequent breaking changes
Hi all,
I'm looking into whether it is feasible to package EnTT [1], a header-only C++
library with breaking API changes every few releases / months.
Would the following approach be sufficient to prevent reverse dependencies from
having dependency issues when the library is updated:
1) Create a new source and binary package for each new upstream version with
breaking changes:
Source: entt3.11 -> entt3.12
Binary: libentt3.11-dev -> libentt3.12-dev
2) Create a virtual package libentt-dev which depends on the latest binary
package:
Package: libentt-dev
Depends: libentt3.12-dev
3) Have each new binary package version Conflict with all previous versions, to
prevent users from trying to install the same headers from multiple versions?
Package: libentt3.12-dev
Conflicts: libentt3.11-dev, libentt3.10-dev, (...)
Additionally, would I only then remove old versions from the archive when there
are no more reverse-dependencies left for that version of the package in stable
and testing?
[1] https://github.com/skypjack/entt
Thanks,
Matthew
Reply to: