Bug#809764: [Debian-ha-maintainers] Bug#809764: Bug#809764: libqb6-dev and libqb-dev: error when trying to install together
On Mon, 4 Jan 2016 16:12:19 -0200 Herbert Fortes (hpfn)wrote: > > > > "In case several development versions of a library exist, you may need > > > to use dpkg's Conflicts mechanism" > > > > I think the Policy means this between versions of the same library > > (eg. your libqb6-dev and a later libqb7-dev). > > > > But anyway, this is a more broader problem: there are now two libraries > > named libqb in Debian. Currently we provide libqb0 and libqb-dev > > packages, you provide libqb6 and libqb6-dev and we have a guarranteed > > file name conflict in the dev packages. It's already confusing, but > > there's no telling when the package names themselves will clash. The > > absolutely best solution would be persuading an upstream to change the > > library name. Webcamoid seems to be the newer project, therefore its Qb > > library might have seen less use, so I don't find it unreasonable to > > approach its maintainer with this problem. > > I was thinking about talk to the upstream. But it > will take more time to solve the situation. > > What about the bug ? > I received a quick response from the upstream. The lib will be libWebcamoid. I can change the name with patches for this release. Will be in NEW and the .symbols file will be tested again in 'experimental'. But the bug can be closed with a new Debian revison. I will do the upload untill tomorrow. regards, -- Herbert Parentes Fortes Neto (hpfn)
Bug#809764: [Debian-ha-maintainers] Bug#809764: libqb6-dev and libqb-dev: error when trying to install together
Re: Herbert Fortes (hpfn) 2016-01-04 <5689ac0b.4050...@ig.com.br> > >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. > > As I understand, 'Conflicts' can be a solution. The packages > are for complete different use. And they are *-dev packages. Policy says Conflicts should be avoided if the packages are doing something different. It would be bad user experience if a system running pacemaker/corosync couldn't have the webcamoid stuff installed in parallel. Though given the problem is only between -dev packages, I'd guess using Conflicts would be okayish. As webcamoid is the newer package, the problem should probably first fixed on that side. Herbert, can you arrange that? Christoph -- c...@df7cb.de | http://www.df7cb.de/ signature.asc Description: PGP signature
Bug#809764: [Debian-ha-maintainers] Bug#809764: libqb6-dev and libqb-dev: error when trying to install together
On Mon, 4 Jan 2016 11:12:06 +0100 Christoph Bergwrote: > Re: Herbert Fortes (hpfn) 2016-01-04 <5689ac0b.4050...@ig.com.br> > > >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. > > > > As I understand, 'Conflicts' can be a solution. The packages > > are for complete different use. And they are *-dev packages. > > Policy says Conflicts should be avoided if the packages are doing > something different. It would be bad user experience if a system > running pacemaker/corosync couldn't have the webcamoid stuff installed > in parallel. > > Though given the problem is only between -dev packages, I'd guess > using Conflicts would be okayish. > > As webcamoid is the newer package, the problem should probably first > fixed on that side. Herbert, can you arrange that? > I agree that webcamoid is who should be adapted. Using 'Conflicts' is the easy way for me. I'm not sure in how to put the file in something like /usr/lib/*/webcamoid/ (it was suggested). How do I do to the file be found. regards, -- Herbert Parentes Fortes Neto (hpfn)
Bug#809764: [Debian-ha-maintainers] Bug#809764: libqb6-dev and libqb-dev: error when trying to install together
Re: Herbert Fortes 2016-01-04 <20160104143601.f6eaed358afd42577db72...@ig.com.br> > > I agree that webcamoid is who should be adapted. > > > > Using 'Conflicts' is the easy way for me. I'm not sure > > in how to put the file in something like /usr/lib/*/webcamoid/ > > (it was suggested). How do I do to the file be found. > > > > I have this on Qb/commons.pri: > isEmpty(PREFIX): PREFIX = /usr > isEmpty(EXECPREFIX): EXECPREFIX = $${PREFIX} > isEmpty(LIBDIR): LIBDIR = $${EXECPREFIX}/lib > > And in debian/rules: > "LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH)" > > Is the search recursive ? If there are "external" users of that library, you need to keep it in /usr/lib or /usr/lib/$triplet. If there's only "internal" users like plugins built from the same source or the like, you could move it to a sub directory and then use linker magic (rpath, etc) to point the loader there, but that's all going to be a maintenance burden. Christoph -- c...@df7cb.de | http://www.df7cb.de/ signature.asc Description: PGP signature
Bug#809764: [Debian-ha-maintainers] Bug#809764: libqb6-dev and libqb-dev: error when trying to install together
On Mon, 4 Jan 2016 17:40:11 +0100 Christoph Bergwrote: > Re: Herbert Fortes 2016-01-04 > <20160104143601.f6eaed358afd42577db72...@ig.com.br> > > > I agree that webcamoid is who should be adapted. > > > > > > Using 'Conflicts' is the easy way for me. I'm not sure > > > in how to put the file in something like /usr/lib/*/webcamoid/ > > > (it was suggested). How do I do to the file be found. > > > > > > > I have this on Qb/commons.pri: > > isEmpty(PREFIX): PREFIX = /usr > > isEmpty(EXECPREFIX): EXECPREFIX = $${PREFIX} > > isEmpty(LIBDIR): LIBDIR = $${EXECPREFIX}/lib > > > > And in debian/rules: > > "LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH)" > > > > Is the search recursive ? > > If there are "external" users of that library, you need to keep it in > /usr/lib or /usr/lib/$triplet. > > If there's only "internal" users like plugins built from the same > source or the like, you could move it to a sub directory and then use > linker magic (rpath, etc) to point the loader there, but that's all > going to be a maintenance burden. > I read this on debian-policy: "In case several development versions of a library exist, you may need to use dpkg's Conflicts mechanism" https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-dev Can this be a good argument ? regards, -- Herbert Parentes Fortes Neto (hpfn)
Bug#809764: [Debian-ha-maintainers] Bug#809764: Bug#809764: libqb6-dev and libqb-dev: error when trying to install together
Herbert Fortes (hpfn)writes: > "In case several development versions of a library exist, you may need > to use dpkg's Conflicts mechanism" I think the Policy means this between versions of the same library (eg. your libqb6-dev and a later libqb7-dev). But anyway, this is a more broader problem: there are now two libraries named libqb in Debian. Currently we provide libqb0 and libqb-dev packages, you provide libqb6 and libqb6-dev and we have a guarranteed file name conflict in the dev packages. It's already confusing, but there's no telling when the package names themselves will clash. The absolutely best solution would be persuading an upstream to change the library name. Webcamoid seems to be the newer project, therefore its Qb library might have seen less use, so I don't find it unreasonable to approach its maintainer with this problem. -- Regards, Feri.
Bug#809764: [Debian-ha-maintainers] Bug#809764: libqb6-dev and libqb-dev: error when trying to install together
> > > > > > As I understand, 'Conflicts' can be a solution. The packages > > > are for complete different use. And they are *-dev packages. > > > > Policy says Conflicts should be avoided if the packages are doing > > something different. It would be bad user experience if a system > > running pacemaker/corosync couldn't have the webcamoid stuff installed > > in parallel. > > > > Though given the problem is only between -dev packages, I'd guess > > using Conflicts would be okayish. > > > > As webcamoid is the newer package, the problem should probably first > > fixed on that side. Herbert, can you arrange that? > > > > I agree that webcamoid is who should be adapted. > > Using 'Conflicts' is the easy way for me. I'm not sure > in how to put the file in something like /usr/lib/*/webcamoid/ > (it was suggested). How do I do to the file be found. > I have this on Qb/commons.pri: isEmpty(PREFIX): PREFIX = /usr isEmpty(EXECPREFIX): EXECPREFIX = $${PREFIX} isEmpty(LIBDIR): LIBDIR = $${EXECPREFIX}/lib And in debian/rules: "LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH)" Is the search recursive ? regards, -- Herbert Parentes Fortes Neto (hpfn)
Bug#809764: [Debian-ha-maintainers] Bug#809764: Bug#809764: libqb6-dev and libqb-dev: error when trying to install together
> > "In case several development versions of a library exist, you may need > > to use dpkg's Conflicts mechanism" > > I think the Policy means this between versions of the same library > (eg. your libqb6-dev and a later libqb7-dev). > > But anyway, this is a more broader problem: there are now two libraries > named libqb in Debian. Currently we provide libqb0 and libqb-dev > packages, you provide libqb6 and libqb6-dev and we have a guarranteed > file name conflict in the dev packages. It's already confusing, but > there's no telling when the package names themselves will clash. The > absolutely best solution would be persuading an upstream to change the > library name. Webcamoid seems to be the newer project, therefore its Qb > library might have seen less use, so I don't find it unreasonable to > approach its maintainer with this problem. I was thinking about talk to the upstream. But it will take more time to solve the situation. What about the bug ? regards, -- Herbert Parentes Fortes Neto (hpfn)
Bug#809764: libqb6-dev and libqb-dev: error when trying to install together
Hi Ralf, Em 03-01-2016 17:53, Ralf Treinen escreveu: Package: libqb-dev,libqb6-dev Version: libqb-dev/0.17.2.real-4 Version: libqb6-dev/6.2.0-3 Severity: serious User: trei...@debian.org Usertags: edos-file-overwrite Date: 2016-01-03 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: [...] Preparing to unpack .../libqt5qml5_5.5.1-3_amd64.deb ... Unpacking libqt5qml5:amd64 (5.5.1-3) ... Selecting previously unselected package libqb6. Preparing to unpack .../libqb6_6.2.0-3_amd64.deb ... Unpacking libqb6 (6.2.0-3) ... Selecting previously unselected package libqb6-dev. Preparing to unpack .../libqb6-dev_6.2.0-3_amd64.deb ... Unpacking libqb6-dev (6.2.0-3) ... dpkg: error processing archive /var/cache/apt/archives/libqb6-dev_6.2.0-3_amd64.deb (--unpack): trying to overwrite '/usr/lib/x86_64-linux-gnu/libqb.so', which is also in package libqb-dev 0.17.2.real-4 Processing triggers for libc-bin (2.21-6) ... Processing triggers for man-db (2.7.5-1) ... Errors were encountered while processing: /var/cache/apt/archives/libqb6-dev_6.2.0-3_amd64.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. As I understand, 'Conflicts' can be a solution. The packages are for complete different use. And they are *-dev packages. 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/x86_64-linux-gnu/libqb.so 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. regards, Herbert
Bug#809764: libqb6-dev and libqb-dev: error when trying to install together
Package: libqb-dev,libqb6-dev Version: libqb-dev/0.17.2.real-4 Version: libqb6-dev/6.2.0-3 Severity: serious User: trei...@debian.org Usertags: edos-file-overwrite Date: 2016-01-03 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: Extracting templates from packages: 46% Extracting templates from packages: 93% Extracting templates from packages: 100% Preconfiguring packages ... Selecting previously unselected package libexpat1:amd64. (Reading database ... 10930 files and directories currently installed.) Preparing to unpack .../libexpat1_2.1.0-7_amd64.deb ... Unpacking libexpat1:amd64 (2.1.0-7) ... Selecting previously unselected package libpng12-0:amd64. Preparing to unpack .../libpng12-0_1.2.54-1_amd64.deb ... Unpacking libpng12-0:amd64 (1.2.54-1) ... Selecting previously unselected package libfreetype6:amd64. Preparing to unpack .../libfreetype6_2.6.1-0.1_amd64.deb ... Unpacking libfreetype6:amd64 (2.6.1-0.1) ... Selecting previously unselected package ucf. Preparing to unpack .../archives/ucf_3.0031_all.deb ... Moving old data out of the way Unpacking ucf (3.0031) ... Selecting previously unselected package fonts-dejavu-core. Preparing to unpack .../fonts-dejavu-core_2.35-1_all.deb ... Unpacking fonts-dejavu-core (2.35-1) ... Selecting previously unselected package fontconfig-config. Preparing to unpack .../fontconfig-config_2.11.0-6.3_all.deb ... Unpacking fontconfig-config (2.11.0-6.3) ... Selecting previously unselected package libfontconfig1:amd64. Preparing to unpack .../libfontconfig1_2.11.0-6.3_amd64.deb ... Unpacking libfontconfig1:amd64 (2.11.0-6.3) ... Selecting previously unselected package fontconfig. Preparing to unpack .../fontconfig_2.11.0-6.3_amd64.deb ... Unpacking fontconfig (2.11.0-6.3) ... Selecting previously unselected package libmtdev1:amd64. Preparing to unpack .../libmtdev1_1.1.5-1_amd64.deb ... Unpacking libmtdev1:amd64 (1.1.5-1) ... Selecting previously unselected package libgcrypt20:amd64. Preparing to unpack .../libgcrypt20_1.6.4-4_amd64.deb ... Unpacking libgcrypt20:amd64 (1.6.4-4) ... Processing triggers for libc-bin (2.21-6) ... Processing triggers for man-db (2.7.5-1) ... Setting up libgcrypt20:amd64 (1.6.4-4) ... Processing triggers for libc-bin (2.21-6) ... Selecting previously unselected package libsystemd0:amd64. (Reading database ... 11145 files and directories currently installed.) Preparing to unpack .../libsystemd0_228-3_amd64.deb ... Unpacking libsystemd0:amd64 (228-3) ... Selecting previously unselected package libxau6:amd64. Preparing to unpack .../libxau6_1%3a1.0.8-1_amd64.deb ... Unpacking libxau6:amd64 (1:1.0.8-1) ... Selecting previously unselected package libxdmcp6:amd64. Preparing to unpack .../libxdmcp6_1%3a1.1.2-1_amd64.deb ... Unpacking libxdmcp6:amd64 (1:1.1.2-1) ... Selecting previously unselected package libxcb1:amd64. Preparing to unpack .../libxcb1_1.11.1-1_amd64.deb ... Unpacking libxcb1:amd64 (1.11.1-1) ... Selecting previously unselected package libx11-data. Preparing to unpack .../libx11-data_2%3a1.6.3-1_all.deb ... Unpacking libx11-data (2:1.6.3-1) ... Selecting previously unselected package libx11-6:amd64. Preparing to unpack .../libx11-6_2%3a1.6.3-1_amd64.deb ... Unpacking libx11-6:amd64 (2:1.6.3-1) ... Selecting previously unselected package libx11-xcb1:amd64. Preparing to unpack .../libx11-xcb1_2%3a1.6.3-1_amd64.deb ... Unpacking libx11-xcb1:amd64 (2:1.6.3-1) ... Selecting previously unselected package libxfixes3:amd64. Preparing to unpack .../libxfixes3_1%3a5.0.1-2+b2_amd64.deb ... Unpacking libxfixes3:amd64 (1:5.0.1-2+b2) ... Selecting previously unselected package libxdamage1:amd64. Preparing to unpack .../libxdamage1_1%3a1.1.4-2+b1_amd64.deb ... Unpacking libxdamage1:amd64 (1:1.1.4-2+b1) ... Selecting previously unselected package libxext6:amd64. Preparing to unpack .../libxext6_2%3a1.3.3-1_amd64.deb ... Unpacking libxext6:amd64 (2:1.3.3-1) ... Selecting previously unselected package libxshmfence1:amd64. Preparing to unpack .../libxshmfence1_1.2-1_amd64.deb ... Unpacking libxshmfence1:amd64 (1.2-1) ... Selecting previously unselected package libxxf86vm1:amd64. Preparing to unpack .../libxxf86vm1_1%3a1.1.4-1_amd64.deb ... Unpacking libxxf86vm1:amd64 (1:1.1.4-1) ... Selecting previously unselected package libqb0:amd64. Preparing to unpack .../libqb0_0.17.2.real-4_amd64.deb ... Unpacking libqb0:amd64 (0.17.2.real-4) ... Selecting previously unselected package libqb-dev. Preparing to unpack .../libqb-dev_0.17.2.real-4_amd64.deb ... Unpacking libqb-dev (0.17.2.real-4) ... Selecting previously unselected package gcc-5-base:amd64. Preparing to unpack .../gcc-5-base_5.3.1-5_amd64.deb ... Unpacking gcc-5-base:amd64 (5.3.1-5) ... Processing triggers for libc-bin (2.21-6) ... Processing triggers for man-db (2.7.5-1) ... Setting up gcc-5-base:amd64 (5.3.1-5) ... (Reading