Bug#1001273: gcc-avr,gcc-sh-elf: both ship /usr/lib/libcc1.so*

2021-12-16 Thread Gregor Riepl
> 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/lib/libcc1.so
>   /usr/lib/libcc1.so.0
>   /usr/lib/libcc1.so.0.0.0

To be honest, this sounds like a packaging issue.
libcc1.so should not be installed by a specific cross compiler at all,
at least not for the host architecture and certainly not into /usr/lib.

If the libcc1 versions used by gcc-avr and/or gcc-sh-elf are
incompatible with what's provided by libcc1-0, then these two packages
should either be linked statically or their own versions be installed
into /usr/lib//lib (or something similar)

FWIW, this is likely caused by these two cross compilers being based on
very old gcc versions.

At least gcc-avr should be fixed by upgrading it to something newer than
the Atmel/Microchip-patched version.
Related bug: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=932989



Bug#1001273: gcc-avr,gcc-sh-elf: both ship /usr/lib/libcc1.so*

2021-12-07 Thread Andreas Beckmann
Package: gcc-avr,gcc-sh-elf
Severity: serious
User: trei...@debian.org
Usertags: edos-file-overwrite
Control: found -1 1:5.4.0+Atmel3.6.2-2
Control: found -1 11.2.0-12+1

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:

  Preparing to unpack .../gcc-sh-elf_11.2.0-12+1_amd64.deb ...
  Unpacking gcc-sh-elf (11.2.0-12+1) ...
  dpkg: error processing archive 
/var/cache/apt/archives/gcc-sh-elf_11.2.0-12+1_amd64.deb (--unpack):
   trying to overwrite '/usr/lib/libcc1.so.0.0.0', which is also in package 
gcc-avr 1:5.4.0+Atmel3.6.2-2
  dpkg-deb: error: paste subprocess was killed by signal (Broken pipe)
  Errors were encountered while processing:
   /var/cache/apt/archives/gcc-sh-elf_11.2.0-12+1_amd64.deb

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/lib/libcc1.so
  /usr/lib/libcc1.so.0
  /usr/lib/libcc1.so.0.0.0

But, maybe even worse, there is also libcc1-0 shipping

  /usr/lib//libcc1.so.0
  /usr/lib//libcc1.so.0.0.0

This bug is assigned to 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
also register in the BTS that the other package is affected by the bug.

Cheers,

Andreas

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


gcc-avr=1:5.4.0+Atmel3.6.2-2_gcc-sh-elf=11.2.0-12+1.log.gz
Description: application/gzip