[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: