Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

poppler: update to 0.87.0 #20650

Closed
wants to merge 42 commits into from
Closed

poppler: update to 0.87.0 #20650

wants to merge 42 commits into from

Conversation

svenper
Copy link
Contributor

@svenper svenper commented Apr 4, 2020

see #20342

@svenper
Copy link
Contributor Author

svenper commented Apr 4, 2020

As I understand it, this would only change the name of the pkg. Perhaps the following would need to be rebuilt?

$ xbps-query -RX libpoppler89
calligra-filters-3.1.0_25
extractpdfmark-1.1.0_5
inkscape-0.92.4_8
ipe-7.2.13_2
poppler-0.80.0_1
poppler-cpp-0.80.0_1
poppler-devel-0.80.0_1
poppler-glib-0.80.0_1
poppler-qt5-0.80.0_1

@svenper
Copy link
Contributor Author

svenper commented Apr 6, 2020

provides="libpoppler89-${version}_${revision}"
replaces="libpoppler89>=0"

force-pushed this!

@Chocimier
Copy link
Member

Why don't we update poppler to new version and soname?

@svenper
Copy link
Contributor Author

svenper commented Apr 7, 2020

I thought it would be nice to fix this before updating, because it would be messier to fix it later, since the libpoppler* pkgs outlive poppler (they are split for compatibility, libpoppler updates frequently and often breaks).

Perhaps unrelated but it might also make sense to split poppler-devel into poppler90-devel or such to be able to rebuild packages that are slow to update poppler support

@Chocimier
Copy link
Member

I see not a single package depending on soname < 90. Rebuild is needed, so let's use newer poppler at same time.

@svenper
Copy link
Contributor Author

svenper commented Apr 10, 2020

That won't be a simple rebuild. E.g. I atempted a build of extractpdfmark which broke with poppler 0.87.0, and this likely happens for other revdeps.

Wasn't the purpose of the versioned libpoppler* to not break all revdeps at once?

Also I missed that there are more revdeps from poppler-{qt5,glib,cpp}, bringing us in total:

  • YACReader
  • biblioteq
  • 💔 calligra (patches [082] and [083] adapted from gentoo)
  • 💔 extractpdfmark (tar + poppler-cpp-devel)
  • 💔 inkscape (patches [082] and [083] adapted from gentoo)
  • 💔 ipe (qt5 + update ipe-tools)
  • katarakt
  • kfilemetadata5
  • krita
  • okular
  • 💔 qpdfview (qt5)
  • 💔 qtikz (qt5)
  • 💔 tellico (gettext)
  • texstudio
  • texworks
  • apvlv
  • epdfview
  • fbida (nocross)
  • gegl
  • gimp
  • gummi
  • pdftag
  • xournal
  • zathura-pdf-poppler
  • cups-filters
  • pdfgrep
  • atril
  • bookworm
  • claws-mail (nocross)
  • diff-pdf
  • evince
  • gloobus-preview
  • osg
  • pdfpc
  • tracker-miners
  • tumbler
  • xournalpp
  • xreader
  • efl

💔 = broken with poppler 87 (libpoppler 98)

@svenper svenper force-pushed the poppler branch 3 times, most recently from d7cb1c6 to abfd01a Compare April 10, 2020 19:27
@svenper
Copy link
Contributor Author

svenper commented Apr 10, 2020

I attempted a poppler 0.87 rebuild and it succeeds locally but travis has this to say:

=> kfilemetadata5-5.68.0_2: installing host dependencies: kcoreaddons-5.68.0_1 extra-cmake-modules-5.68.0_1 pkg-config-0.29.2_2 qt5-host-tools-5.14.2_2 qt5-qmake-5.14.2_2 gettext-0.20.1_2 kcoreaddons-5.68.0_1 python3-3.8.2_1 cmake-3.17.0_1 ...
=> kfilemetadata5-5.68.0_2: installing target dependencies: karchive-devel-5.68.0_1 ki18n-devel-5.68.0_1 poppler-qt5-devel-0.87.0_1 kcoreaddons-devel-5.68.0_1 taglib-devel-1.11.1_4 exiv2-devel-0.27.2_1 ffmpeg-devel-4.2.2_2 attr-devel-2.4.48_1 ebook-tools-devel-0.2.2_3 ...
=> kfilemetadata5-5.68.0_2: removing autodeps, please wait...
=> ERROR: kfilemetadata5-5.68.0_2: failed to install 'karchive-devel-5.68.0_1' dependency!(error 19)
MISSING: poppler-devel>=0.87.0
MISSING: libpoppler98>=0.87.0_1
Transaction aborted due to unresolved dependencies.
=> ERROR: Please see above for the real error, exiting...
The command "if [ -z "$XLINT" ]; then docker exec -t void hostrepo/common/travis/build.sh $BOOTSTRAP $ARCH; fi" exited with 1.

EDIT:

  • oops, I forgot we need revdeps from poppler-cpp and poppler-glib as well (luckily these were less of a hassle)
  • the kfilemetadata5 above was a simple conflict with simultaneoulsy committed 2a95d43

@svenper svenper force-pushed the poppler branch 2 times, most recently from 7d17263 to 5221beb Compare April 11, 2020 15:24
@svenper
Copy link
Contributor Author

svenper commented Apr 11, 2020

There! Finally, all that should build, builds! Both native x86_64-musl and cross aarch64-musl succeed locally. Feedback apprecciated!

@svenper svenper changed the title poppler: fix libpoppler version 89 -> 90 poppler: update to 0.87.0 Apr 11, 2020
@Chocimier
Copy link
Member

vmove usr/lib/libpoppler.so.${pkgname/libpoppler/}* could be used in libpoppler subpackage to prevent same mistake in future. Build fails if glob matches nothing.

@svenper
Copy link
Contributor Author

svenper commented Apr 15, 2020

Nice!

@ahesford
Copy link
Member

This is now outdated; poppler 0.88.0 is available.

@ericonr
Copy link
Member

ericonr commented Sep 26, 2020

Unfortunately, time marches on and poppler 20.09.0 is now available: https://poppler.freedesktop.org/releases.html

@ahesford
Copy link
Member

I'm working on an update to the new version 20.09.0 that supersedes this. Also, there is no need to revbump every one of these packages, because most use the poppler-cpp or poppler-glib libraries that have not seen an soname change; unless poppler broke the ABI for these libraries without bumping the soname, the existing packages should function without rebuilding.

The only packages that need revbumping are those identified by xbps-query -Rp shlib-requires -s libpoppler.so or xbps-query -RX libpoppler89 (there are identical sets). Just to be sure, I'll test a few randomly selected other dependants to make sure they can be installed and run without issue.

@ahesford ahesford closed this Sep 27, 2020
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 5, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants