Bug 225126 - comms/gnuradio: stage-qa fixes (python shebangs) + check-orphans fixes (missing plist entry)
Summary: comms/gnuradio: stage-qa fixes (python shebangs) + check-orphans fixes (missi...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Diane Bruce
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-01-13 02:24 UTC by John Hein
Modified: 2018-04-01 21:41 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (hamradio)


Attachments
[patch] fix shebangs (stage-qa), add missing plist entry (check-orphans), remove old "BAD_BOOST" setting (1.64 KB, text/plain)
2018-01-13 02:24 UTC, John Hein
jcfyecrayz: maintainer-approval? (hamradio)
Details
[patch] depend on minixmlto and add gen'd html file to plist (2.32 KB, patch)
2018-01-27 02:31 UTC, John Hein
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description John Hein 2018-01-13 02:24:54 UTC
Created attachment 189673 [details]
[patch] fix shebangs (stage-qa), add missing plist entry (check-orphans), remove old "BAD_BOOST" setting

Fix python shebangs to use the specified PYTHON_CMD (stage-qa fix) [1]

Add missing html file in plist (check-orphans) [2]

Also we don't need -DENABLE_BAD_BOOST=ON since the ports version of boost is now at 1.65.

  info about ENABLE_BAD_BOOST in GrBoost.cmake...
  # Boost 1.52 disabled, see https://svn.boost.org/trac/boost/ticket/7669
  # Similar problems with Boost 1.46 and 1.47.

stage-qa, check-orphans and poudriere testport all pass now with the attached patch.

[1]
====> Running Q/A tests (stage-qa)
Error: '/usr/local/bin/python2' is an invalid shebang you need USES=shebangfix for 'bin/volk_modtool'
Error: '/usr/local/bin/python2' is an invalid shebang you need USES=shebangfix for 'bin/gnuradio-companion'
Error: '/usr/local/bin/python2' is an invalid shebang you need USES=shebangfix for 'bin/polar_channel_construction'
 .
 .

[2]
===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: %%PORTDOCS%%%%DOCSDIR%%/html/gr-trellis.html
Comment 1 Diane Bruce freebsd_committer freebsd_triage 2018-01-13 14:18:20 UTC
Sure looks sane.
Comment 2 commit-hook freebsd_committer freebsd_triage 2018-01-14 15:32:51 UTC
A commit references this bug:

Author: db
Date: Sun Jan 14 15:31:51 UTC 2018
New revision: 458982
URL: https://svnweb.freebsd.org/changeset/ports/458982

Log:
  @snkmail.com
  n shebangs to use the specified PYTHON_CMD (stage-qa fix) [1]

  Add missing html file in plist (check-orphans) [2]

  Also we don't need -DENABLE_BAD_BOOST=ON since the ports version of boost is now at 1.65.

    info about ENABLE_BAD_BOOST in GrBoost.cmake...
    # Boost 1.52 disabled, see https://svn.boost.org/trac/boost/ticket/7669
    # Similar problems with Boost 1.46 and 1.47.

  stage-qa, check-orphans and poudriere testport all pass now with the attached patch.

  [1]
  ====> Running Q/A tests (stage-qa)
  Error: '/usr/local/bin/python2' is an invalid shebang you need USES=shebangfix for 'bin/volk_modtool'
  Error: '/usr/local/bin/python2' is an invalid shebang you need USES=shebangfix for 'bin/gnuradio-companion'
  Error: '/usr/local/bin/python2' is an invalid shebang you need USES=shebangfix for 'bin/polar_channel_construction'
   .
   .

  [2]
  ===> Checking for items in STAGEDIR missing from pkg-plist
  Error: Orphaned: %%PORTDOCS%%%%DOCSDIR%%/html/gr-trellis.html

  PR:		ports/225126
  Submitted by:	John Hein <z7dr6ut7gs@snkmail.com>

Changes:
  head/comms/gnuradio/Makefile
  head/comms/gnuradio/pkg-plist
Comment 3 John Hein 2018-01-26 16:32:29 UTC
Re-opening.  Apparently gr-trellis.html is built if the build finds xmlto.

Antoine removed gr-trellis.html from the plist because the package builder (pkg-fallout) doesn't use the right combo of options to build xmlto.  I'm trying to figure it out now.
Comment 4 Diane Bruce freebsd_committer freebsd_triage 2018-01-26 21:42:50 UTC
(In reply to John Hein from comment #3)
This looked wrong to me as well as it was fine under poudriere when I first committed it but as I was in the middle of doing an update to gnuradio 3.7.11 I didn't look at it too closely. Can you check with my gnuradio 3.7.11 upgrade in progress at http://www.freebsd.org/~db/gnuradio.tar ?
Comment 5 Diane Bruce freebsd_committer freebsd_triage 2018-01-26 21:43:52 UTC
I'll re-open this for the moment. It will be "over come by events" soonish I expect.
Comment 6 John Hein 2018-01-27 02:25:05 UTC
It (whether the generated gr-trellis.html) is a real issue.  But it depends on whether xmlto is in your environment.  And it can happen (or not) depending on whether xmlto gets installed [1].

I have a patch I'll attach next.  I'll also check if it applies to 3.7.11 (I suspect it does - inspection of the CMakeLists.txt and/or a test will tell).

The fix is easy.  Just add xmlto or minixmlto to BUILD_DEPENDS (and optionally tell the build to use it in the case of the non-default name, minixmlto).

It's not worth making this optional when we're just talking about one generated .html file.  Just build it and add it to pkg-plist (which is what my patch will facilitate).  If it toggled a gigantic chunk of generated doc files, _then_ one could consider using an option.  As I said, not worth it for this.  You could also forcibly disable the generation, but I decided there may be some value in having the file installed, and it takes very little resources at build time - drop in the bucket.

[1]
git depends on xmlto and gnuradio depends on git, but the xmlto dep is a build dep, so you could install just the git package if it was already built without having to build/install the xmlto package.  If git was not a built package that you could just plop into your build environment, then you'll need to build git which will in turn build xmlto.  See?  Obvious.
Comment 7 John Hein 2018-01-27 02:31:25 UTC
Created attachment 190094 [details]
[patch] depend on minixmlto and add gen'd html file to plist

This patch explicitly causes the trellis html file to be built rather than rely on build-time detection of xmlto which makes the plist no longer invariant depending on your environment.

I also sorted the lists I touched (BUILD_DEPENDS, CMAKE_ARGS) while here.

The only 'real' changes were:

+               minixmlto:textproc/minixmlto \


and

+               -DXMLTO_EXECUTABLE:STRING=minixmlto


Up to you whether you bump PORTREVISION.  I'd say yes since it probably affects the default built packages (depending on how whether the build used prebuilt pkgs for deps - see previous comment).
Comment 8 Diane Bruce freebsd_committer freebsd_triage 2018-01-27 02:53:14 UTC
No I'll simply roll it into the next version to reduce slight churn here. Thanks for investigating this one, as it was so tiny I was going to investigate it after I finished getting gnuradio updated. This saves me some time. I am also busy looking at the libgcc problems. See https://wiki.freebsd.org/libgcc%20problem (updated) and https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=225406

(In reply to John Hein from comment #7)
Comment 9 John Hein 2018-01-29 11:43:56 UTC
(In reply to Diane Bruce from comment #8)
There's a tradeoff between reducing churn and separating logical separate concepts in different commits.  Sometimes lumping too much into one commit makes diffs hard to follow.  For example, combining whitespace or sorting fixes with real changes.  I almost didn't include the sorting fix in Makefile with the gr-trellis.html fix (see  attachment 190094 [details]), and I can see a case for committing the sorting separately from the real changes.

I'll leave it up to you.  I don't think it's unreasonable to commit the smaller fix before the 3.7.11 update (especially if you have some work to do before 3.7.11 can go in).  But I understand that it's sometimes easier to do it all at once.

p.s. I'd sort the pkg-plist, too, at some point (probably a separate commit).  It's hard to use the helpful 'make makeplist' because pkg-plist is so badly unsorted right now.  If you sorted pkg-plist now and committed it before any updates, it would help with doing the updates.

p.p.s. I'll take a look at your 3.7.11 update (and, yes, I'm aware of the orthogonal issue with libgcc - I have been bitten by its effects over the course of updating systems (e.g., 8->9->10->...) and compiling port updates along the way).  Do you have a bug or a phabricator entry for the 3.7.11 update in case I have any comments?
Comment 10 Diane Bruce freebsd_committer freebsd_triage 2018-02-07 15:26:45 UTC
(In reply to John Hein from comment #9)
Sorry busied out with other work but I created a phabricator entry
https://reviews.freebsd.org/D14243
Comment 11 Diane Bruce freebsd_committer freebsd_triage 2018-04-01 21:40:44 UTC
Close this as overcome by events. Gnuradio 3.7.10 is in tree