Bug#911093: libjetbrains-annotations-java: missing Breaks+Replaces: libintellij-annotations-java (<< 16.0.2-4)

Andreas Beckmann anbe at debian.org
Mon Oct 15 16:48:38 BST 2018


Package: libjetbrains-annotations-java
Version: 16.0.2-4
Severity: serious
User: debian-qa at 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 libintellij-annotations-java/testing
  # (1)
  apt-get install libjetbrains-annotations-java/sid
  apt-get remove libjetbrains-annotations-java
  # (2)

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

  /usr/share/java/org.jetbrains.annotations-common-16.0.2-SNAPSHOT.jar
  /usr/share/java/org.jetbrains.annotations-common.jar
  /usr/share/java/org.jetbrains.annotations-java8-16.0.2-SNAPSHOT.jar
  /usr/share/java/org.jetbrains.annotations-java8.jar
  /usr/share/maven-repo/org/jetbrains/annotations/16.0.2-SNAPSHOT/annotations-16.0.2-SNAPSHOT.jar
  /usr/share/maven-repo/org/jetbrains/annotations/16.0.2-SNAPSHOT/annotations-16.0.2-SNAPSHOT.pom
  /usr/share/maven-repo/org/jetbrains/annotations/debian/annotations-debian.jar
  /usr/share/maven-repo/org/jetbrains/annotations/debian/annotations-debian.pom
  /usr/share/maven-repo/org/jetbrains/common/16.0.2-SNAPSHOT/common-16.0.2-SNAPSHOT.jar
  /usr/share/maven-repo/org/jetbrains/common/16.0.2-SNAPSHOT/common-16.0.2-SNAPSHOT.pom
  /usr/share/maven-repo/org/jetbrains/common/debian/common-debian.jar
  /usr/share/maven-repo/org/jetbrains/common/debian/common-debian.pom


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 libjetbrains-annotations-java package has the following relationships with libintellij-annotations-java:

  Conflicts: n/a
  Breaks:    n/a
  Replaces:  libintellij-annotations-java  # unversioned

And you probably want to have

  Suggests: libjetbrains-annotations-java-doc

instead of suggesting the transitional package.
  

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

1m53.8s ERROR: FAIL: After purging files have disappeared:
  /usr/share/java/org.jetbrains.annotations-common-16.0.2-SNAPSHOT.jar   owned by: libjetbrains-annotations-java
  /usr/share/java/org.jetbrains.annotations-common.jar -> org.jetbrains.annotations-common-16.0.2-SNAPSHOT.jar   owned by: libjetbrains-annotations-java
  /usr/share/java/org.jetbrains.annotations-java8-16.0.2-SNAPSHOT.jar    owned by: libjetbrains-annotations-java
  /usr/share/java/org.jetbrains.annotations-java8.jar -> org.jetbrains.annotations-java8-16.0.2-SNAPSHOT.jar     owned by: libjetbrains-annotations-java
  /usr/share/maven-repo/org/jetbrains/annotations/16.0.2-SNAPSHOT/annotations-16.0.2-SNAPSHOT.jar -> ../../../../../java/org.jetbrains.annotations-java8-16.0.2-SNAPSHOT.jar     owned by: libjetbrains-annotations-java
  /usr/share/maven-repo/org/jetbrains/annotations/16.0.2-SNAPSHOT/annotations-16.0.2-SNAPSHOT.pom        owned by: libjetbrains-annotations-java
  /usr/share/maven-repo/org/jetbrains/annotations/debian/annotations-debian.jar -> ../../../../../java/org.jetbrains.annotations-java8-16.0.2-SNAPSHOT.jar       owned by: libjetbrains-annotations-java
  /usr/share/maven-repo/org/jetbrains/annotations/debian/annotations-debian.pom  owned by: libjetbrains-annotations-java
  /usr/share/maven-repo/org/jetbrains/common/16.0.2-SNAPSHOT/common-16.0.2-SNAPSHOT.jar -> ../../../../../java/org.jetbrains.annotations-common-16.0.2-SNAPSHOT.jar      owned by: libjetbrains-annotations-java
  /usr/share/maven-repo/org/jetbrains/common/16.0.2-SNAPSHOT/common-16.0.2-SNAPSHOT.pom  owned by: libjetbrains-annotations-java
  /usr/share/maven-repo/org/jetbrains/common/debian/common-debian.jar -> ../../../../../java/org.jetbrains.annotations-common-16.0.2-SNAPSHOT.jar        owned by: libjetbrains-annotations-java
  /usr/share/maven-repo/org/jetbrains/common/debian/common-debian.pom    owned by: libjetbrains-annotations-java

1m53.8s ERROR: FAIL: After purging files have been modified:
  /var/lib/dpkg/info/libintellij-annotations-java.list   not owned


cheers,

Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: libintellij-annotations-java=16.0.2-3_libjetbrains-annotations-java=16.0.2-4.log.gz
Type: application/gzip
Size: 8264 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-maintainers/attachments/20181015/9888494e/attachment-0001.gz>


More information about the pkg-java-maintainers mailing list