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

Advice needed to break dependency stalemate



Hi,

I'm throwing this out to the team in hope of getting some help with a tricky problem regarding two packages central to the Prometheus ecosystem.

golang-github-prometheus-common and golang-github-prometheus-client-golang have a circular dependency on each other. They have also both long depended on golang-goprotobuf-dev (i.e., the v1.3.x branch of github.com/golang/protobuf).

Both prometheus-common and prometheus-client-golang require patching in order to build against golang-goprotobuf-dev, since the upstream versions require github.com/golang/protobuf 1.5.x.

Now that golang-goprotobuf-dev is a transitional dummy package for golang-github-golang-protobuf-1-3-dev, and golang-github-golang-protobuf-1-5-dev is available in sid, these patches can theoretically be dropped, and the dependencies updated.

However... this is where the circular dependency bites. I'm unable to modernize golang-github-prometheus-common to use protobuf-1-5-dev, since it depends on golang-github-prometheus-client-golang, which still depends on protobuf-1-3-dev, and results in a conflict. And vice versa.

To make matters even trickier, client-golang also depends on golang-github-prometheus-client-model-dev, which also depends on protobuf-1-3-dev.

Any assistance would be greatly appreciated.

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


Reply to: