Bug 2128814 - ghostscript-10.0.0 is available
Summary: ghostscript-10.0.0 is available
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: ghostscript
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Richard Lescak
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 2136995 2161515
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-09-21 14:54 UTC by Upstream Release Monitoring
Modified: 2023-02-02 05:49 UTC (History)
12 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-02-02 05:49:05 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
Update to 10.0.0 (#2128814) (1.04 KB, patch)
2022-09-21 14:55 UTC, Upstream Release Monitoring
no flags Details | Diff

Description Upstream Release Monitoring 2022-09-21 14:54:50 UTC
Releases retrieved: 10.0.0
Upstream release that is considered latest: 10.0.0
Current version/release in rawhide: 9.56.1-2.fc38
URL: https://www.ghostscript.com

Please consult the package updates policy before you issue an update to a stable branch: https://docs.fedoraproject.org/en-US/fesco/Updates_Policy/


More information about the service that created this bug can be found at: https://fedoraproject.org/wiki/Upstream_release_monitoring


Please keep in mind that with any upstream change, there may also be packaging changes that need to be made. Specifically, please remember that it is your responsibility to review the new version to ensure that the licensing is still correct and that no non-free or legally problematic items have been added upstream.


Based on the information from Anitya: https://release-monitoring.org/project/1157/


To change the monitoring settings for the project, please visit:
https://src.fedoraproject.org/rpms/ghostscript

Comment 1 Upstream Release Monitoring 2022-09-21 14:55:04 UTC
Created attachment 1913317 [details]
Update to 10.0.0 (#2128814)

Comment 2 Upstream Release Monitoring 2022-09-21 15:02:02 UTC
the-new-hotness/release-monitoring.org's scratch build of ghostscript-10.0.0-1.fc36.src.rpm for rawhide failed http://koji.fedoraproject.org/koji/taskinfo?taskID=92251781

Comment 3 Michael J Gruber 2022-09-23 09:41:13 UTC
Scratch build fails because of upstreamed patch, otherwise gs 10.0.0 builds fine (see copr/mjg/ghostscript).

BUT: soname gets bumped so that a couple of rebuilds are required. In particular:

- doxygen and graphviz seem to have circular dependencies without a bootstrapping concept (at least I fail to see one)
- texlive-dvisvgm (from texlive-base) FTBFS against gs 10.0.0 as is; in fact, it might be broken already:

"20 April 2022: dvisvgm 2.13.4 has been released
Fixed the size of bounding boxes applied when converting multiple pages (issue #182).
Try to enable the old PDF interpreter when using Ghostscript >= 9.56.0. dvisvgm does not work with Ghostscript’s new PDF interpreter." [https://dvisvgm.de/News/]

While (our) gs 9.56.0 still has the switch to use the old PDF interpreter, our version of dvisvgm does not use it.

In gs 10.0.0, the old interpreter is still there but deprecated. I don't see dvisvgm upstream adjusting to that yet.

Just putting this here so that noone pushes gs 10 too early (although I'm somewhat sad about the ecosystem holding it up).

Comment 4 Felix Schwarz 2022-10-19 07:26:32 UTC
any idea when gs 10 will enter rawhide? I'm asking specifically because of a bug which should be fixed in 10.0 (https://bugs.ghostscript.com/show_bug.cgi?id=705225) and that bug causes WeasyPrint's test suite to fail: https://github.com/Kozea/WeasyPrint/issues/1746

Comment 5 Michael J Gruber 2022-10-19 10:13:16 UTC
As indicated, gs10 will require many packages to be rebuilt, and some seem to have problematic interdependencies. (I have not rechecked doxygen and graphviz since.)

OTOH: From a quick look at the the gs patch a backport to gs 9.56 appears to be a no-brainer, both technically and because it will be in the next release.

https://copr.fedorainfracloud.org/coprs/mjg/ghostscript/

PR upcoming.

Comment 6 Zdenek Dohnal 2023-01-12 14:41:45 UTC
Hi Michael and Risa,

I'm planning to rebase cups-filters to the new major version 2.0b and its shared library now requires ghostscript 10.00.0.

My initial idea was to get the rebase into current rawhide, but it depends when ghostscript arrives into rawhide.

Do you have a timeline when you would like to get this rebase into Fedora?

From my POV it would be the best to make it till the end of January if possible - it should give me enough time to package four new projects which cups-filters got split into.

Thank you for looking into it!

Comment 7 Richard Lescak 2023-01-12 16:02:03 UTC
Hi Zdenek,

I'm planning to focus my attention on this rebase during next week.
However, I need to look more closely at need for System-wide change that you mentioned and could delay things.

Comment 8 Zdenek Dohnal 2023-01-16 10:31:34 UTC
Riso,

in the end there are only several packages depending on libgs as Michael said and tested in his COPR repo:

ImageMagick
gimp
graphviz
libspectre
texlive-base
xcircuit

Michael, I see doxygen is in COPR repo as well and you mention it in https://bugzilla.redhat.com/show_bug.cgi?id=2128814#c3 , but if I do repoquery, I don't see doxygen depending on libgs or its soname:

# dnf repoquery --enablerepo=\* --whatrequires *libgs.so.9*
Last metadata expiration check: 0:04:32 ago on Mon 16 Jan 2023 04:40:41 AM EST.
ImageMagick-libs-1:7.1.0.57-1.fc38.i686
ImageMagick-libs-1:7.1.0.57-1.fc38.x86_64
ghostscript-0:9.56.1-6.fc38.i686
ghostscript-0:9.56.1-6.fc38.x86_64
ghostscript-gtk-0:9.56.1-6.fc38.x86_64
gimp-2:2.10.32-5.fc38.x86_64
graphviz-0:7.0.6-1.fc38.i686
graphviz-0:7.0.6-1.fc38.x86_64
libgs-devel-0:9.56.1-6.fc38.i686
libgs-devel-0:9.56.1-6.fc38.x86_64
libspectre-0:0.2.11-1.fc38.i686
libspectre-0:0.2.11-1.fc38.x86_64
texlive-dvisvgm-10:svn64182-57.fc38.x86_64
xcircuit-0:3.10.30-5.fc37.x86_64

#  dnf repoquery --enablerepo=\* --whatrequires libgs
Last metadata expiration check: 0:05:26 ago on Mon 16 Jan 2023 04:40:41 AM EST.
ImageMagick-libs-1:7.1.0.57-1.fc38.i686
ImageMagick-libs-1:7.1.0.57-1.fc38.x86_64
ghostscript-0:9.56.1-6.fc38.i686
ghostscript-0:9.56.1-6.fc38.x86_64
ghostscript-gtk-0:9.56.1-6.fc38.x86_64
gimp-2:2.10.32-5.fc38.x86_64
graphviz-0:7.0.6-1.fc38.i686
graphviz-0:7.0.6-1.fc38.x86_64
libgs-devel-0:9.56.1-6.fc38.i686
libgs-devel-0:9.56.1-6.fc38.x86_64
libspectre-0:0.2.11-1.fc38.i686
libspectre-0:0.2.11-1.fc38.x86_64
texlive-dvisvgm-10:svn64182-57.fc38.x86_64
xcircuit-0:3.10.30-5.fc37.x86_64

is there a hidden dependency on libgs in doxygen? Or what is the reason doxygen is in COPR?

Other dependencies requires ghostscript, so they won't break with soname change, so IMO System Wide change is not required, but a coordination with other package maintainers will be required. I can rebuild gimp and I've added other package maintainers into CC to let them know there will need to fix/rebuild their packages with new ghostscript once it is ready.

In case any of you is thinking how to proceed, I would recommend the following steps:

- build new ghostscript in COPR, add the dependent packages with new ghostscript
- write an email to all packagers who maintain dependent packages, mention there is new ghostscript version which bumps the soname and their packages will have to be rebuilt and in the case some packages fails to build with new ghostscript, mention it as well with the link to the copr (ideally file a bugzilla about it as well)
- write an announcement email to fedora-devel about there is going to be soname bump in ghostscript, which packages are affected, their maintainers are notified and will be built in side tag
- create side-tag and build new ghostscript with it
- send email to other maintainers mentioning the created side tag and the command how to build their packages with the created side tag
- once all dependent packages are rebuilt in side tag, create a bodhi update based on side-tag

Comment 9 Zdenek Dohnal 2023-01-16 11:42:45 UTC
I've checked the deadlines for F38 changes (which I have to meet for my self-contained change) - https://fedorapeople.org/groups/schedule/f-38/f-38-key-tasks.html - the feature has to be testable by 7th February - so I will have to package the new cups-filters projects till this date and make them available in COPR at least.

So it would be great if new ghostscript arrived in rawhide by the end of this or next week.

Comment 10 Zdenek Dohnal 2023-01-16 13:38:57 UTC
(In reply to Zdenek Dohnal from comment #8)

> Michael, I see doxygen is in COPR repo as well and you mention it in
> https://bugzilla.redhat.com/show_bug.cgi?id=2128814#c3 , but if I do
> repoquery, I don't see doxygen depending on libgs or its soname:
> is there a hidden dependency on libgs in doxygen? Or what is the reason
> doxygen is in COPR?
> 

Ok, I've tried the rebuild in my COPR and now I get it - since it is circular dep, doxygen depends on graphviz, not on ghostscript, so it is not listed as direct dependent package...

Comment 11 Michael J Gruber 2023-01-16 13:58:47 UTC
(In reply to Zdenek Dohnal from comment #10)
> (In reply to Zdenek Dohnal from comment #8)
> 
> > Michael, I see doxygen is in COPR repo as well and you mention it in
> > https://bugzilla.redhat.com/show_bug.cgi?id=2128814#c3 , but if I do
> > repoquery, I don't see doxygen depending on libgs or its soname:
> > is there a hidden dependency on libgs in doxygen? Or what is the reason
> > doxygen is in COPR?
> > 
> 
> Ok, I've tried the rebuild in my COPR and now I get it - since it is
> circular dep, doxygen depends on graphviz, not on ghostscript, so it is not
> listed as direct dependent package...

Yes, see comment #3.

I could not figure out how this ever worked for those 2 packages ... It seems to need a bootstrap set-up.

Note that I do not maintain ghostscript (not could I commit the time to do it right), I just happen to have commit rights because of its dependency on jbig2dec (which I maintain). So I leave all packaging decisions to you guys.

I do have an interest in gs as a user, and I'm happy to help out, of course. Pushing gs 9.56.1 to released Fedora was a big step already since it made the interpreter the default. This did not show up as an soname change, but some things broke and got fixed. Pushing gs 10 to F38 looks like a bigger change (due to the soname bump), but depending on how other packages use gs, the bigger change happened in 9.56 already. It's just that it didn't necessitate rebuilds and such.

I'm not sure about the change process (i.e. the change proposal side - I'm leaning towards the leading edge ...), but timingwise I do think we should go for gs10 in F38. gs always accumulates a lot of bugfixes over time, and backporting will become increasingly difficult.

Comment 12 Zdenek Dohnal 2023-01-17 07:31:57 UTC
Thank you, Michael!

I've talked about the circular deps with jskarvad (graphviz maintainer) and he told me we have to create helper build of one package, which does not have the dependency on the other. Then build the second package and in the end build the first package again, with dependency on on the second package.

First I've tried to build doxygen with '%global _module_build 1' because this macro is used in doxygen spec and it removes dependency on graphviz, but the build failed during %check (I'll file a bugzilla to doxygen, I've added Than Go, the doxygen maintainer, to this bugzilla as well).

So I've tried to build graphviz without doxygen (I've just commented out doxygen dependencies and doxygen usage in spec, but it would be great to have a macro for this), but the build fails on ps2pdf command during build on ppc64le machine with Fedora Rawhide. I'm reserving a ppc64le machine in our internal system for further debug. The interesting part is this error doesn't happen during ppc64le ELN build...

There probably is some problem with ghostcript on Fedora Rawhide ppc64le, because gimp fails to build there as well - but on gegl command...

ImageMagick needs graphviz, so its rebuild has to happen after doxygen+graphviz magic.

texlive-base still suffers the same issue as Michael reported, only xcircuit and libspectre builds are fine - my copr repo here https://copr.fedorainfracloud.org/coprs/zdohnal/gs/builds/ .

Comment 13 Zdenek Dohnal 2023-01-17 07:32:17 UTC
Doxygen bug here https://bugzilla.redhat.com/show_bug.cgi?id=2161515

Comment 14 Zdenek Dohnal 2023-01-18 14:12:45 UTC
Ok, update - the failure seems to be because I had ELN buildroot repo enabled even for Fedora rawhide, which ended up in getting eln version into Fedora Rawhide and it failed for some reason.

Right now gimp builds fine together with libspectre and xcircuit, now I'm building a new texlive-base and doxygen in copr.

Comment 15 Zdenek Dohnal 2023-01-23 16:55:54 UTC
Status update:

- doxygen and graphviz now can build without each other temporarily to break the circular dependency - doxygen defines _module_build and graphviz '--with bootstrap' - so we can rebuild them

- graphviz builds fine with new ghostscript

- ImageMagick builds fine on Fedora Rawhide, but fails to build in ELN due graphviz stopped building gtk2 subpackage. ImageMagick is not in CentOS/RHEL, so no need to solve this.

- the latest texlive-base builds fine on Fedora Rawhide, fails to build in ELN due failure in testsuite, which is present even without new ghostscript - reported here https://bugzilla.redhat.com/show_bug.cgi?id=2163489 

So IMHO ghostscript is ready - Michael, do you have your changes saved somewhere? It would be great if you created a PR so Risa could review it.

In the meanwhile, Risa, do send an email to fedora devel with announcement and contact affected maintainers as well - from Red Hat maintainers I can rebuild gimp for you, jskarvad is graphviz maintainer, Than Ngo (than) covers doxygen, Marek Kasik (mkasik) has libspectre. The last dependency is covered by mtasaka, he is in CC of this bug. Once you have rebased ghostscript in side tag ( https://docs.fedoraproject.org/en-US/rawhide-gating/multi-builds/ and https://docs.fedoraproject.org/en-US/package-maintainers/Package_Update_Guide/#_side_tags ), send the tag name to other maintainers so they can rebase their packages. The extra care will be needed for doxygen an graphviz, where Jarda and Than will have to decide on build sequence :)

Comment 16 Michael J Gruber 2023-01-23 23:18:16 UTC
Thanks for all your work! PR done. (Nothing spectacular in there)

Comment 17 Mamoru TASAKA 2023-01-24 11:16:32 UTC
xcircuit is rebuilt. By the way, please announce this change on devel mailing list.

Comment 18 Zdenek Dohnal 2023-01-24 12:18:55 UTC
(In reply to Mamoru TASAKA from comment #17)
> xcircuit is rebuilt. By the way, please announce this change on devel
> mailing list.

I mentioned it in comment #15, Risa is working on it. Hopefully today the email will be sent.

Comment 19 Richard Lescak 2023-01-24 12:38:53 UTC
Notifications to maintainers and devel list were sent.
When graphviz rebuild will be successful, I will also notify doxygen maintainer.
There are also some failing tests which I'm currently looking into.

Comment 20 Zdenek Dohnal 2023-01-24 16:05:47 UTC
Gimp was rebuilt in side-tag.

Comment 21 Richard Lescak 2023-01-30 08:12:44 UTC
Last needed package was build in the side tag
Bodhi update -> https://bodhi.fedoraproject.org/updates/FEDORA-2023-1cdb4443f6

Comment 22 Zdenek Dohnal 2023-02-02 05:49:05 UTC
Closing based on the previous comment - Ghostscript 10.0.0 is in rawhide (Fedora 38), kudos to all involved!


Note You need to log in before you can comment on or make changes to this bug.