Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 698428 - >=media-libs/jbig2dec-0.17 should have SLOT="0/$(ver_cut 1-2)"
Summary: >=media-libs/jbig2dec-0.17 should have SLOT="0/$(ver_cut 1-2)"
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal
Assignee: Gentoo Graphics Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-10-24 00:57 UTC by Arfrever Frehtes Taifersar Arahesis
Modified: 2019-10-24 22:29 UTC (History)
2 users (show)

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


Attachments
Patch (jbig2dec.patch,3.58 KB, patch)
2019-10-24 01:27 UTC, Arfrever Frehtes Taifersar Arahesis
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Arfrever Frehtes Taifersar Arahesis 2019-10-24 00:57:36 UTC
Between jbig2dec-0.16 and jbig2dec-0.17:
https://github.com/ArtifexSoftware/jbig2dec/commit/12c1455891de226bf93235fc4469f670d08c9b94
https://github.com/ArtifexSoftware/jbig2dec/commit/a8ed5c84b32c0ba67d1b12a4f4d0a1099d2cf1fa


There are 2 effects of last commit:


1. jbig2_ctx_new symbol no longer exists in libjbig2dec.so.0 library.
   jbig2_ctx_new_imp symbol has been added.
   Reverse dependencies fail with "undefined reference to `jbig2_ctx_new'" error until rebuilding.


2. jbig2_ctx_new_imp(), when called through jbig2_ctx_new macro, checks equality of build-time version of jbig2dec and run-time version of jbig2dec.
   If a reverse dependency uses jbig2_ctx_new and has been built with jbig2dec-0.17, then after upgrade to jbig2dec-0.18, this reverse dependency would trigger error at run time:

    if (jbig2_version_major != JBIG2_VERSION_MAJOR || jbig2_version_minor != JBIG2_VERSION_MINOR) {
        ...
        jbig2_error(&fakectx, JBIG2_SEVERITY_FATAL, -1, "incompatible jbig2dec header (%d.%d) and library (%d.%d) versions",
            jbig2_version_major, jbig2_version_minor, JBIG2_VERSION_MAJOR, JBIG2_VERSION_MINOR);
        return NULL;
    }

   At least libgs.so from app-text/ghostscript-gpl is affected.


Suggested solution is to include major and minor version of jbig2dec in subslot, and update these reverse dependencies which use jbig2_ctx_new to depend on "media-libs/jbig2dec:0=".
Comment 1 Arfrever Frehtes Taifersar Arahesis 2019-10-24 01:14:18 UTC
Only 5 packages depend on media-libs/jbig2dec.
grepping shows that:
  app-text/fbpdf-0_p20190202 does NOT use jbig2_ctx_new
  app-text/ghostscript-gpl (9.26, 9.28_rc4-r1) uses jbig2_ctx_new
  app-text/llpp-30 does NOT use jbig2_ctx_new
  app-text/mupdf (1.14.0-r3, 1.15.0, 1.16.1) uses jbig2_ctx_new
  app-text/zathura-pdf-mupdf (0.3.4, 0.3.5, 9999) does NOT use jbig2_ctx_new
Comment 2 Arfrever Frehtes Taifersar Arahesis 2019-10-24 01:27:26 UTC
Created attachment 593736 [details, diff]
Patch

(app-text/mupdf already has a working dependency.)
Comment 3 Larry the Git Cow gentoo-dev 2019-10-24 22:29:21 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e2cb95262e03e97c5a601afb9b1327f76b1b9be8

commit e2cb95262e03e97c5a601afb9b1327f76b1b9be8
Author:     Thomas Deutschmann <whissi@gentoo.org>
AuthorDate: 2019-10-24 21:32:54 +0000
Commit:     Thomas Deutschmann <whissi@gentoo.org>
CommitDate: 2019-10-24 22:29:04 +0000

    media-libs/jbig2dec: expose subslot
    
    Closes: https://bugs.gentoo.org/698428
    Package-Manager: Portage-2.3.78, Repoman-2.3.17
    Signed-off-by: Thomas Deutschmann <whissi@gentoo.org>

 media-libs/jbig2dec/{jbig2dec-0.17.ebuild => jbig2dec-0.17-r1.ebuild} | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)