[debian-mysql] Bug#842454: Bug#842454: default-libmysqlclient-dev is unsatisfiable for cross builds

Helmut Grohne helmut at subdivi.de
Sat Oct 29 21:18:43 UTC 2016


Control: clone -1 -2
Control: retitle -2 libmariadbclient18 contains unversioned files (policy 8.2)
Control: severity -2 serious

On Sat, Oct 29, 2016 at 10:23:07PM +0300, Otto Kekäläinen wrote:
> PS. At https://tracker.debian.org/pkg/mariadb-10.0 the multiarch
> hinter notifies about 4 issues. I've been reading the page
> https://wiki.debian.org/MultiArch/Hints over and over again but I
> can't get into my head what "same" and "all" implies in different
> situations. As you Helmut seem to understand this domain well, could
> you be kind an supply a similar patch for
> https://anonscm.debian.org/cgit/pkg-mysql/mariadb-10.0.git/tree/debian/control
> so we get these multiarch things perfected?

Unfortunately, that's not so easy here. libmariadbclient18 is currently
marked Multi-Arch: same, which means that the package can be installed
for multiple architectures simultaneously. Trying to do so results in
the following interaction:

| # dpkg --print-architecture
| amd64
| # dpkg --add-architecture i386
| # apt-get update
| ...
| # apt-get install libmariadbclient18:amd64 libmariadbclient18:i386
| Reading package lists... Done
| Building dependency tree       
| Reading state information... Done
| The following additional packages will be installed:
|   mariadb-common mysql-common
| The following NEW packages will be installed:
|   libmariadbclient18 libmariadbclient18:i386 mariadb-common mysql-common
| 0 upgraded, 4 newly installed, 0 to remove and 3 not upgraded.
| Need to get 1456 kB of archives.
| After this operation, 8009 kB of additional disk space will be used.
| Do you want to continue? [Y/n] 
| Get:1 http://httpredir.debian.org/debian sid/main amd64 mysql-common all 5.8+1.0.0 [5352 B]
| Get:2 http://httpredir.debian.org/debian sid/main amd64 mariadb-common all 10.0.27-2 [23.1 kB]
| Get:3 http://httpredir.debian.org/debian sid/main amd64 libmariadbclient18 amd64 10.0.27-2 [722 kB]
| Get:4 http://httpredir.debian.org/debian sid/main i386 libmariadbclient18 i386 10.0.27-2 [705 kB]
| Fetched 1456 kB in 3s (472 kB/s)                 
| debconf: delaying package configuration, since apt-utils is not installed
| Selecting previously unselected package mysql-common.
| (Reading database ... 9943 files and directories currently installed.)
| Preparing to unpack .../0-mysql-common_5.8+1.0.0_all.deb ...
| Unpacking mysql-common (5.8+1.0.0) ...
| Selecting previously unselected package mariadb-common.
| Preparing to unpack .../1-mariadb-common_10.0.27-2_all.deb ...
| Unpacking mariadb-common (10.0.27-2) ...
| Selecting previously unselected package libmariadbclient18:amd64.
| Preparing to unpack .../2-libmariadbclient18_10.0.27-2_amd64.deb ...
| Unpacking libmariadbclient18:amd64 (10.0.27-2) ...
| Selecting previously unselected package libmariadbclient18:i386.
| Preparing to unpack .../3-libmariadbclient18_10.0.27-2_i386.deb ...
| Unpacking libmariadbclient18:i386 (10.0.27-2) ...
| dpkg: error processing archive /tmp/apt-dpkg-install-qGtx4F/3-libmariadbclient18_10.0.27-2_i386.deb (--unpack):
|  trying to overwrite shared '/usr/lib/mysql/plugin/dialog.so', which is different from other instances of package libmariadbclient18:i386
| Errors were encountered while processing:
|  /tmp/apt-dpkg-install-qGtx4F/3-libmariadbclient18_10.0.27-2_i386.deb
| E: Sub-process /usr/bin/dpkg returned an error code (1)
| # 

The presence of Multi-Arch: same indicates that the package can be
unpacked multiple times for different architectures at the same time.
Their files may overlap if and only if the content is equal for
overlapping files. Unfortunately, that's not the case for
/usr/lib/mysql/plugin/dialog.so, so Multi-Arch: same is wrong here.

Working on the other generated hints has little value until
libmariadbclient18 properly supports Multi-Arch: same. So this is where
to look.

I have no clue what these plugins are about and why they reside in
libmariadbclient18. So cannot provide a patch here. To fix this
properly, we need an understanding of both Multi-Arch and mariadb.

In any case, the presence of these plugins violates the Debian policy
section 8.2:

| If your package contains files whose names do not change with each
| change in the library shared object version, you must not put them in
| the shared library package.

Thus I am cloning an RC bug for the violation.

Let's discuss Multi-Arch after that bug is fixed. Will you get back to
me?

Helmut



More information about the pkg-mysql-maint mailing list