Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 607908 - app-text/poppler consumers unnecessary := slot op for only poppler[cairo,qt4,qt5] usage
Summary: app-text/poppler consumers unnecessary := slot op for only poppler[cairo,qt4,...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Maciej Mrozowski
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-02-01 12:39 UTC by Michał Górny
Modified: 2018-03-13 12:53 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-02-01 12:39:50 UTC
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.
Comment 1 Mart Raudsepp gentoo-dev 2017-02-01 12:48:19 UTC
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.
Comment 2 Pacho Ramos gentoo-dev 2017-02-01 21:16:38 UTC
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
Comment 3 Michael Palimaka (kensington) gentoo-dev 2017-02-12 03:22:22 UTC
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
Comment 4 Oleh 2017-02-12 06:42:17 UTC
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.
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-02-12 08:23:12 UTC
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
Comment 6 Maciej Mrozowski gentoo-dev 2017-02-13 02:00:38 UTC
> 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.
Comment 7 Michael Palimaka (kensington) gentoo-dev 2017-02-13 10:01:55 UTC
(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".
Comment 8 Mart Raudsepp gentoo-dev 2017-03-28 13:57:14 UTC
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
Comment 9 Mart Raudsepp gentoo-dev 2017-03-28 14:03:29 UTC
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.
Comment 10 Larry the Git Cow gentoo-dev 2018-03-13 11:50:15 UTC
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(-)}
Comment 11 Larry the Git Cow gentoo-dev 2018-03-13 12:51:51 UTC
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(-)}