Package: golang-github-prometheus-procfs-dev
Version: 0.3.0-1
Severity: serious
User: debian...@lists.debian.org
Usertags: piuparts replaces-without-breaks

Hi,

during a test with piuparts and DOSE tools I noticed your package causes
removal of files that also belong to another package.
This is caused by using Replaces without corresponding Breaks.

The installation sequence to reproduce this problem is

  apt-get install golang-procfs-dev/buster
  # (1)
  apt-get install golang-github-prometheus-procfs-dev/bullseye
  apt-get remove golang-github-prometheus-procfs-dev
  # (2)

The list of installed files at points (1) and (2) should be identical,
but the following files have disappeared:

  /usr/share/gocode/src/github.com/prometheus/procfs/*/*.go

This is a serious bug violating policy 7.6, see
https://www.debian.org/doc/debian-policy/ch-relationships.html#overwriting-files-and-replacing-packages-replaces
and also see the footnote that describes this incorrect behavior:
https://www.debian.org/doc/debian-policy/ch-relationships.html#id13

The golang-github-prometheus-procfs-dev package has the following relationships 
with golang-procfs-dev:

  Conflicts: n/a
  Breaks:    n/a
  Replaces:  golang-procfs-dev (<< 0.2.0)
  Provides:  golang-procfs-dev (= 0.3.0-1)

>From the attached log (scroll to the bottom...):

1m19.3s ERROR: FAIL: After purging files have disappeared:
  /usr/share/gocode/src/github.com/prometheus/procfs/bcache/bcache.go    owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/bcache/get.go       owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/bcache/get_test.go  owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/buddyinfo.go        owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/buddyinfo_test.go   owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/doc.go      owned by: 
golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/fs.go       owned by: 
golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/fs_test.go  owned by: 
golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/internal/util/parse.go     
 owned by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/ipvs.go     owned by: 
golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/ipvs_test.go        owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/mdstat.go   owned by: 
golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/mdstat_test.go      owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/mountstats.go       owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/mountstats_test.go  owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/net_dev.go  owned by: 
golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/net_dev_test.go     owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/nfs/nfs.go  owned by: 
golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/nfs/parse.go        owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/nfs/parse_nfs.go    owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/nfs/parse_nfs_test.go      
 owned by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/nfs/parse_nfsd.go   owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/nfs/parse_nfsd_test.go     
 owned by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/proc.go     owned by: 
golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/proc_io.go  owned by: 
golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/proc_io_test.go     owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/proc_limits.go      owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/proc_limits_test.go        
 owned by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/proc_ns.go  owned by: 
golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/proc_ns_test.go     owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/proc_stat.go        owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/proc_stat_test.go   owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/proc_test.go        owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/stat.go     owned by: 
golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/stat_test.go        owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/sysfs/doc.go        owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/sysfs/fs.go         owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/sysfs/fs_test.go    owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/sysfs/net_class.go  owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/sysfs/net_class_test.go    
 owned by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/sysfs/system_cpu.go        
 owned by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/sysfs/system_cpu_test.go   
 owned by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/xfrm.go     owned by: 
golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/xfrm_test.go        owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/xfs/parse.go        owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/xfs/parse_test.go   owned 
by: golang-github-prometheus-procfs-dev
  /usr/share/gocode/src/github.com/prometheus/procfs/xfs/xfs.go  owned by: 
golang-github-prometheus-procfs-dev

1m19.3s ERROR: FAIL: After purging files have been modified:
  /var/lib/dpkg/info/golang-procfs-dev.list      not owned


cheers,

Andreas

Attachment: golang-procfs-dev=0+git20181204.1dc9a6c-1_golang-github-prometheus-procfs-dev=0.3.0-1.log.gz
Description: application/gzip

Reply via email to