[pkg-go] Bug#824628: golang-metrics-dev and golang-github-rcrowley-go-metrics-dev: error when trying to install together

Ralf Treinen treinen at free.fr
Wed May 18 06:27:45 UTC 2016


Package: golang-github-rcrowley-go-metrics-dev,golang-metrics-dev
Version: golang-github-rcrowley-go-metrics-dev/0.0~git20160226.0.eeba7bd-1
Version: golang-metrics-dev/0.0~git20150823-1
Severity: serious
User: treinen at debian.org
Usertags: edos-file-overwrite

Date: 2016-05-18
Architecture: amd64
Distribution: sid

Hi,

automatic installation tests of packages that share a file and at the
same time do not conflict by their package dependency relationships has
detected the following problem:


Selecting previously unselected package bzip2.
(Reading database ... 10961 files and directories currently installed.)
Preparing to unpack .../bzip2_1.0.6-8_amd64.deb ...
Unpacking bzip2 (1.0.6-8) ...
Selecting previously unselected package xz-utils.
Preparing to unpack .../xz-utils_5.1.1alpha+20120614-2.1_amd64.deb ...
Unpacking xz-utils (5.1.1alpha+20120614-2.1) ...
Selecting previously unselected package binutils.
Preparing to unpack .../binutils_2.26-9_amd64.deb ...
Unpacking binutils (2.26-9) ...
Selecting previously unselected package libdpkg-perl.
Preparing to unpack .../libdpkg-perl_1.18.7_all.deb ...
Unpacking libdpkg-perl (1.18.7) ...
Selecting previously unselected package patch.
Preparing to unpack .../patch_2.7.5-1_amd64.deb ...
Unpacking patch (2.7.5-1) ...
Selecting previously unselected package make.
Preparing to unpack .../archives/make_4.1-9_amd64.deb ...
Unpacking make (4.1-9) ...
Selecting previously unselected package dpkg-dev.
Preparing to unpack .../dpkg-dev_1.18.7_all.deb ...
Unpacking dpkg-dev (1.18.7) ...
Selecting previously unselected package golang-src.
Preparing to unpack .../golang-src_2%3a1.6.1-2_amd64.deb ...
Unpacking golang-src (2:1.6.1-2) ...
Selecting previously unselected package golang-go.
Preparing to unpack .../golang-go_2%3a1.6.1-2_amd64.deb ...
Unpacking golang-go (2:1.6.1-2) ...
Selecting previously unselected package golang-github-stathat-go-dev.
Preparing to unpack .../golang-github-stathat-go-dev_0.0~git20130314.0.01d012b-1_all.deb ...
Unpacking golang-github-stathat-go-dev (0.0~git20130314.0.01d012b-1) ...
Selecting previously unselected package golang-github-rcrowley-go-metrics-dev.
Preparing to unpack .../golang-github-rcrowley-go-metrics-dev_0.0~git20160226.0.eeba7bd-1_all.deb ...
Unpacking golang-github-rcrowley-go-metrics-dev (0.0~git20160226.0.eeba7bd-1) ...
Selecting previously unselected package golang-metrics-dev.
Preparing to unpack .../golang-metrics-dev_0.0~git20150823-1_all.deb ...
Unpacking golang-metrics-dev (0.0~git20150823-1) ...
dpkg: error processing archive /var/cache/apt/archives/golang-metrics-dev_0.0~git20150823-1_all.deb (--unpack):
 trying to overwrite '/usr/share/gocode/src/github.com/rcrowley/go-metrics/sample_test.go', which is also in package golang-github-rcrowley-go-metrics-dev 0.0~git20160226.0.eeba7bd-1
Processing triggers for man-db (2.7.5-1) ...
Errors were encountered while processing:
 /var/cache/apt/archives/golang-metrics-dev_0.0~git20150823-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)


This is a serious bug as it makes installation fail, and violates
sections 7.6.1 and 10.1 of the policy. An optimal solution would
consist in only one of the packages installing that file, and renaming
or removing the file in the other package. Depending on the
circumstances you might also consider Replace relations or file
diversions. If the conflicting situation cannot be resolved then, as a
last resort, the two packages have to declare a mutual
Conflict. Please take into account that Replaces, Conflicts and
diversions should only be used when packages provide different
implementations for the same functionality.

Here is a list of files that are known to be shared by both packages
(according to the Contents file for sid/amd64, which may be
slightly out of sync):

  /usr/share/gocode/src/github.com/rcrowley/go-metrics/cmd/metrics-bench/metrics-bench.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/cmd/metrics-example/metrics-example.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/cmd/never-read/never-read.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/counter.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/counter_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/debug.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/debug_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/ewma.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/ewma_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/gauge.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/gauge_float64.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/gauge_float64_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/gauge_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/graphite.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/graphite_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/healthcheck.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/histogram.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/histogram_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/json.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/json_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/librato/client.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/librato/librato.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/log.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/meter.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/meter_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/metrics.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/metrics_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/opentsdb.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/opentsdb_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/registry.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/registry_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/runtime.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/runtime_cgo.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/runtime_no_cgo.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/runtime_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/sample.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/sample_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/stathat/stathat.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/syslog.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/timer.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/timer_test.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/writer.go
  /usr/share/gocode/src/github.com/rcrowley/go-metrics/writer_test.go

This bug has been filed against both packages. If you, the maintainers of
the two packages in question, have agreed on which of the packages will
resolve the problem please reassign the bug to that package. You may then
also register in the BTS that the other package is affected by the bug.

-Ralf.

PS: for more information about the detection of file overwrite errors
of this kind see http://qa.debian.org/dose/file-overwrites.html.



More information about the Pkg-go-maintainers mailing list