Bug 1817878 - Useless Requires for Why3
Summary: Useless Requires for Why3
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: why3
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jerry James
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2020-03-27 08:02 UTC by Guillaume Melquiond
Modified: 2020-04-25 02:20 UTC (History)
1 user (show)

Fixed In Version: why3-1.3.1-4.fc32
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-04-25 02:20:11 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Guillaume Melquiond 2020-03-27 08:02:09 UTC
(Disclaimer: I am no Fedora/Redhat user.)

While looking at the why3.spec file, I have noticed a few minor issues.

The following BuildRequires are not needed:

- evince (???)
- hevea (no longer needed since 1.3)
- ocaml-sqlite-devel (no longer needed since 0.70)
- ocaml-re-devel and ocaml-seq-devel (optional, only useful when building the javascript version of Why3)
- ocaml-ocamlgraph-devel (disabled in 1.3, so not really needed)

And the corresponding Requires are not needed either.

I do not know what the line "Provides: bundled(jquery)" does, but Why3 does not bundle JQuery (not even for its javascript version). So, it might be superfluous.

The "remove spurious executable bits" part does not seem needed anymore. Everything looks fine to me.

The "remove spurious shebangs" part is no longer needed, as "runstrat" was removed in 1.3.

I will fix the part about "examples/bts/20881.why".

I will have to investigate what this "whyitp" thing is. I did not even know about it till now. I seriously doubt it still works nowadays.

Thanks for the hard work.

Comment 1 Jerry James 2020-03-28 13:03:13 UTC
Thanks for the input, Guillaume!  Input from upstream developers is always great.  You guys know stuff we lowly packagers don't.  I'll address these issues right away.  If I hurry, I might even be able to get these changes in before Fedora 32 final freeze.

Comment 2 Jerry James 2020-03-28 13:18:26 UTC
(In reply to Guillaume Melquiond from comment #0)
> (Disclaimer: I am no Fedora/Redhat user.)
> - evince (???)

The configure script used to check for it.  It no longer does, as the lines have been commented out, but are still in configure.in:

dnl AC_CHECK_PROGS(PSVIEWER,gv evince)
dnl AC_CHECK_PROGS(PDFVIEWER,xpdf acroread evince)


> - hevea (no longer needed since 1.3)

Removed.

> - ocaml-sqlite-devel (no longer needed since 0.70)

Removed.

> - ocaml-re-devel and ocaml-seq-devel (optional, only useful when building
> the javascript version of Why3)

Removed.

> - ocaml-ocamlgraph-devel (disabled in 1.3, so not really needed)

Removed.

> I do not know what the line "Provides: bundled(jquery)" does, but Why3 does
> not bundle JQuery (not even for its javascript version). So, it might be
> superfluous.

The documentation generating step drops a copy of jquery into the documentation directory.  The binary package includes:

/usr/share/doc/why3/html/_static/jquery-3.4.1.js

At one point, there was an attempt to track which packages included a copy of jquery, and so these Provides were added.  I haven't heard anything about it for several years now, though, so I don't know if that effort is still active.  It is probably okay to drop this, but I'm going to leave it in there for now in case somebody still plans to do something with it.

> The "remove spurious executable bits" part does not seem needed anymore.
> Everything looks fine to me.

This is targeted specifically at the examples, which we include as documentation in the why3-examples package.  The problem is that if files have the executable bit set, then the dependency generator runs and correctly finds dependencies; examples/use_api/runstrat/echo_wait.ml depends on /usr/bin/env, for example.  The problem is that documentation is not supposed to have dependencies, so we then run afoul of Fedora policy.  One solution, commonly used by Fedora packagers, is to turn off all executable bits in files packaged as documentation.  To do otherwise, we would have to figure out some other way of including the examples.

> The "remove spurious shebangs" part is no longer needed, as "runstrat" was
> removed in 1.3.

I don't understand.  I still see examples/use_api/runstrat/{echo,run}_wait.ml in the 1.3.1 release.  This is part of dealing with example code as described above.

> I will fix the part about "examples/bts/20881.why".

Thank you.

> I will have to investigate what this "whyitp" thing is. I did not even know
> about it till now. I seriously doubt it still works nowadays.

I have to admit that I have not tried it.

> Thanks for the hard work.

My pleasure.  Thank you for the input.

Comment 3 Guillaume Melquiond 2020-03-28 13:34:35 UTC
> dnl AC_CHECK_PROGS(PSVIEWER,gv evince)
> dnl AC_CHECK_PROGS(PDFVIEWER,xpdf acroread evince)

These lines have been commented out for 10 years, and I do not think I have noticed them even once.

> /usr/share/doc/why3/html/_static/jquery-3.4.1.js

It did not cross my mind that such a plain HTML documentation could be relying on JQuery. I suppose it is used by the search engine.

> I still see examples/use_api/runstrat/{echo,run}_wait.ml in the 1.3.1 release.

My mistake. It was removed, but not in time for 1.3, so that will be for 1.4.

Comment 4 Jerry James 2020-03-28 13:43:55 UTC
(In reply to Guillaume Melquiond from comment #3)
> My mistake. It was removed, but not in time for 1.3, so that will be for 1.4.

Okay, I will make a note to remove those lines when 1.4 is released.

Comment 5 Fedora Update System 2020-04-09 20:53:48 UTC
FEDORA-2020-71d1e460e6 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-71d1e460e6

Comment 6 Fedora Update System 2020-04-11 18:51:09 UTC
FEDORA-2020-71d1e460e6 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-71d1e460e6`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-71d1e460e6

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 7 Fedora Update System 2020-04-12 19:03:09 UTC
FEDORA-2020-71d1e460e6 has been submitted as an update to Fedora 32. https://bodhi.fedoraproject.org/updates/FEDORA-2020-71d1e460e6

Comment 8 Fedora Update System 2020-04-13 21:17:14 UTC
FEDORA-2020-71d1e460e6 has been pushed to the Fedora 32 testing repository.
In short time you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --advisory=FEDORA-2020-71d1e460e6`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2020-71d1e460e6

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 9 Fedora Update System 2020-04-25 02:20:11 UTC
FEDORA-2020-71d1e460e6 has been pushed to the Fedora 32 stable repository.
If problem still persists, please make note of it in this bug report.


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