Reviving the old series of bugs about wrong dependencies on poppler: evince links to the stable libpoppler-glib, so the := seems unnecessary. It causes pointless subslot mismatches.
Are you sure libpoppler-glib is stable? It broke sometimes before too (it's at .so.8 now), just not so often as poppler (being at .so.66 or so already). This is a safety := as we don't have any subslot to match against for poppler-glib, because subslots aren't featureful enough to express multiple different ABIs. See also: evince's own subslot. That said, poppler-glib is more stable now and I was considering removing it for evince, glib and other pure poppler[cairo] things after more research on poppler-glib's stableness, but as a mid-lower priority because these "useless" rebuilds are comparatively small. This would be much easier if subslots served their purpose better, and libraries shipping multiple libraries with their own ABI could express it properly.
Well, if I don't misremember , udev was packaged in a way to allow to have different subslots per component. I think it was done providing the libgudev, libudev... virtuals :/ Anyway, I have no problem on dropping the := dep (as soon as we can rely on @preserved-rebuild for the rare breakages that could happen in the future), but that is only by opinion :| I can also live with evince being rebuilt a bit more than really needed as it's not a huge package to rebuild
AFAIK libpoppler-{glib,qt4,cpp}.so has been stable for quite some time According to poppler's metadata.xml: ><subslots>Reflects ABI compatibility of libpoppler.so only, > NOT libpoppler-{glib,qt4,cpp}.so!</subslots> I guess it's ultimately up to revdep maintainers but IMO the risk of breakage is low enough to make the cost of pointless rebuilds not worth it. This keeps coming up though so I'd like to discuss options for putting it to rest finally: 1) Improve metadata to make a better statement about the stability of the other libraries and the recommended purpose of the subslot 2) Split poppler again (anyone remember why it was unified?) 3) Abuse virtuals 4) Wait for some subslot dictionary feature to come in the future
number 1 would be clean approach. I'm not liking other OS references, but freebsd has generic poppler port, and poppler-glib, poppler-qt4 and poppler-qt5 slave ports. This may (or may not) reduce this *tic subslot madness meaninglessly or on purpose put into ebuilds. It's depressing to watch this fragile subslot thing messing portage every now and then, rather than trying to use simpler approache.
No 3 would be the simplest long-term solution. The virtual would be rather trivial, see [1]. [1]:https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Subslots#Handling_packages_that_install_multiple_libraries
> 2) Split poppler again (anyone remember why it was unified?) I unified them (and rewritten to CMake instead of autotools) to simplify ebuild maintenance. https://gitweb.gentoo.org/repo/gentoo/historical.git/commit/app-text/poppler?id=0465050a89d52e74f3b93f6bd3b76a37b07dd674 I think poppler is still small enough not to warrant splitting package (over USE flags). Besides, version bump would be needed regardless .so ABI changes or not, so why bother.
(In reply to Maciej Mrozowski from comment #6) > > 2) Split poppler again (anyone remember why it was unified?) > > I unified them (and rewritten to CMake instead of autotools) to simplify > ebuild maintenance. > https://gitweb.gentoo.org/repo/gentoo/historical.git/commit/app-text/ > poppler?id=0465050a89d52e74f3b93f6bd3b76a37b07dd674 > I think poppler is still small enough not to warrant splitting package (over > USE flags). Besides, version bump would be needed regardless .so ABI changes > or not, so why bother. The point of hypothetically splitting them again if so that each package can have its own subslot and people stop using the operator even though they only link to libpoppler-qt "just in case".
Fixed tracker and evince to not subslot op right now and retooling bug to be more general about the virtual or whatever deal. I didn't come up with a good title, so feel free to tweak. commit d8fa378da72e77034cde6d5aec335f5a4a3b8a9c Author: Mart Raudsepp <leio@gentoo.org> Date: Tue Mar 28 16:51:38 2017 +0300 app-misc/tracker: remove unnecessary := subslot operator on poppler Only links against libpoppler-glib.so.8, which is more stable, while the subslot on poppler is meant for only libpoppler.so right now Gentoo-bug: 607908 commit 910a978129a7ca29be9c5bc5688f6a06b714c678 Author: Mart Raudsepp <leio@gentoo.org> Date: Tue Mar 28 16:50:08 2017 +0300 app-text/evince: remove unnecessary := subslot operator on poppler Only links against libpoppler-glib.so.8, which is more stable, while the subslot on poppler is meant for only libpoppler.so right now Gentoo-bug: 607908
Swapping out assignee as well as main gnome@ stuff is done. There are quite a few other packages in tree that have a dep on app-text/poppler[qt5], [qt4] or [cairo] that would need checking, but might be more useful if we have a consensus before if we are moving towards virtuals too or whatnot. My vote would be on split packages, but I don't pay the manpower cost, so virtual approach would be fine too, or if we'd know they never break ABI for poppler-glib anymore without a new parallel installable slot.
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/proj/kde.git/commit/?id=9f9ac76029d3c3997fa83cbb1749d80673b42482 commit 9f9ac76029d3c3997fa83cbb1749d80673b42482 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 11:49:56 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 11:50:05 +0000 app-office/calligra: remove unnecessary := subslot operator on poppler Per poppler's metadata.txt, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 app-office/calligra/calligra-9999.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)}
The bug has been referenced in the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=003b86390961b43e404a282534dbf4cb8b73c3ec commit 003b86390961b43e404a282534dbf4cb8b73c3ec Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 12:29:58 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:35 +0000 app-text/atril: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 app-text/atril/atril-1.12.2-r5.ebuild | 2 +- app-text/atril/atril-1.14.2-r2.ebuild | 2 +- app-text/atril/atril-1.16.1-r2.ebuild | 2 +- app-text/atril/atril-1.18.3.ebuild | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a82b286eab57b893ca588e9665480406fd046413 commit a82b286eab57b893ca588e9665480406fd046413 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 12:26:43 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:35 +0000 app-text/diffpdf: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 app-text/diffpdf/diffpdf-2.1.3-r1.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1443d9f0a4a38e67df53f9513671338e8d6bbf4a commit 1443d9f0a4a38e67df53f9513671338e8d6bbf4a Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 12:25:00 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:34 +0000 app-text/referencer: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 app-text/referencer/referencer-1.2.2.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b072442385699b20e56fca8ee7503fb7fb22d35 commit 6b072442385699b20e56fca8ee7503fb7fb22d35 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 12:12:42 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:34 +0000 app-text/xournal: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 app-text/xournal/xournal-0.4.8-r1.ebuild | 4 ++-- app-text/xournal/xournal-0.4.8.ebuild | 4 ++-- app-text/xournal/xournal-9999.ebuild | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2ae55ddd6905ef2d571245873e2a866e9fc7dde commit e2ae55ddd6905ef2d571245873e2a866e9fc7dde Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 12:10:41 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:34 +0000 app-text/zathura-pdf-poppler: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 app-text/zathura-pdf-poppler/zathura-pdf-poppler-0.2.7.ebuild | 2 +- app-text/zathura-pdf-poppler/zathura-pdf-poppler-0.2.8.ebuild | 2 +- app-text/zathura-pdf-poppler/zathura-pdf-poppler-9999.ebuild | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88658b09dba79a9517afe27b3db2e7a5d4d687fc commit 88658b09dba79a9517afe27b3db2e7a5d4d687fc Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 12:08:00 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:33 +0000 dev-python/python-poppler-qt5: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 .../python-poppler-qt5/python-poppler-qt5-0.24.2_p20170214.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=1e13b9c4fae9087dce0eb5c3fbd771baedc5d261 commit 1e13b9c4fae9087dce0eb5c3fbd771baedc5d261 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 12:03:09 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:33 +0000 dev-python/python-poppler: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 dev-python/python-poppler/python-poppler-0.12.1-r4.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=7e4beda92f0e7df0698e12c86f3384b84ae8bc37 commit 7e4beda92f0e7df0698e12c86f3384b84ae8bc37 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 12:02:33 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:33 +0000 app-office/texmaker: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 app-office/texmaker/texmaker-4.5-r2.ebuild | 4 ++-- app-office/texmaker/texmaker-4.5-r3.ebuild | 4 ++-- app-office/texmaker/texmaker-5.0-r1.ebuild | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c5e888790acfd651cc001d09a12f0637d84f5362 commit c5e888790acfd651cc001d09a12f0637d84f5362 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 11:53:05 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:32 +0000 app-text/apvlv: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 app-text/apvlv/apvlv-0.1.5-r1.ebuild | 4 ++-- app-text/apvlv/apvlv-0.1.5-r2.ebuild | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6ab571379485db206d518a63e49689108dc2e3d1 commit 6ab571379485db206d518a63e49689108dc2e3d1 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 11:49:54 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:32 +0000 app-office/calligra: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 app-office/calligra/calligra-3.0.1.ebuild | 4 ++-- app-office/calligra/calligra-3.1.0-r1.ebuild | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=792b5e41407a34e44063e058a0419a888849a350 commit 792b5e41407a34e44063e058a0419a888849a350 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 11:48:44 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:32 +0000 app-misc/pdfpc: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 app-misc/pdfpc/pdfpc-3.1.1.ebuild | 4 ++-- app-misc/pdfpc/pdfpc-4.0.7.ebuild | 4 ++-- app-misc/pdfpc/pdfpc-4.0.8.ebuild | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d01ab8977ebad7529544a46407d7fef8439d1648 commit d01ab8977ebad7529544a46407d7fef8439d1648 Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 11:46:36 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:31 +0000 media-gfx/pdf2svg: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 media-gfx/pdf2svg/pdf2svg-0.2.3.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e329f60b732d483d2c6f627d04be7b146abde89c commit e329f60b732d483d2c6f627d04be7b146abde89c Author: Michael Palimaka <kensington@gentoo.org> AuthorDate: 2018-03-13 11:42:45 +0000 Commit: Michael Palimaka <kensington@gentoo.org> CommitDate: 2018-03-13 12:51:30 +0000 sci-visualization/xyscan: remove unnecessary := subslot operator on poppler Per poppler's metadata.xml, the subslot reflects ABI compatibility of libpoppler.so only, not libpoppler-{glib,qt4,cpp}.so. Bug: https://bugs.gentoo.org/607908 Package-Manager: Portage-2.3.24, Repoman-2.3.6 sci-visualization/xyscan/xyscan-4.3.0.ebuild | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)}