Bug 234551 - multimedia/mythtv: Update to mythtv 30.0. Fixes build on FreeBSD 12.0
Summary: multimedia/mythtv: Update to mythtv 30.0. Fixes build on FreeBSD 12.0
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: amd64 Any
: --- Affects Some People
Assignee: Tobias Kortkamp
URL:
Keywords: needs-patch, needs-qa
Depends on:
Blocks:
 
Reported: 2019-01-01 23:18 UTC by fernando.e.vilas
Modified: 2019-02-10 22:28 UTC (History)
1 user (show)

See Also:
koobs: maintainer-feedback? (fernando.e.vilas)
koobs: merge-quarterly?


Attachments
Patch to cc25495 (125.73 KB, patch)
2019-01-01 23:18 UTC, fernando.e.vilas
no flags Details | Diff
Patch to 5c3257e (146.03 KB, patch)
2019-01-04 03:31 UTC, fernando.e.vilas
no flags Details | Diff
Update patch to include a file only used by the dependent port mythtv-frontend (146.72 KB, patch)
2019-01-07 03:28 UTC, fernando.e.vilas
koobs: maintainer-approval+
Details | Diff
Patch multimedia/mythtv-frontend to make it build against this update (14.44 KB, patch)
2019-01-07 03:28 UTC, fernando.e.vilas
koobs: maintainer-approval+
Details | Diff
Updated patch to address comments from Tobias (146.68 KB, patch)
2019-01-12 17:42 UTC, fernando.e.vilas
no flags Details | Diff
Build mythtv version 30.0 (147.56 KB, patch)
2019-02-09 23:34 UTC, fernando.e.vilas
no flags Details | Diff
Build mythtv-frontend version 30.0 (15.73 KB, patch)
2019-02-09 23:35 UTC, fernando.e.vilas
no flags Details | Diff
Build mythmusic version 30.0 (2.86 KB, patch)
2019-02-09 23:35 UTC, fernando.e.vilas
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description fernando.e.vilas 2019-01-01 23:18:13 UTC
Created attachment 200688 [details]
Patch to cc25495
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2019-01-02 05:08:46 UTC
Thank you Fernando

Could you please update the patch to:

- Use ${PREFIX} instead of hardcoded /usr/local
- Remove the BROKEN line rather than commenting it
- Confirm the change passes QA (portlint, poudriere in particular)
Comment 2 fernando.e.vilas 2019-01-04 03:31:22 UTC
Created attachment 200758 [details]
Patch to 5c3257e

I think I got the Makefile and the poudriere stuff fixed. From portlint, there are still 3 warnings:

WARN: Makefile: unless this is a master port, MAINTAINER has to be set by "=", not by "?=".
WARN: Makefile: unless this is a master port, COMMENT has to be set by "=", not by "?=".
WARN: /poudriere/ports/subversive/multimedia/mythtv/files/patch-CVE-2016-10191: patch was not generated using ``make makepatch''.  It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format.

1&2) I can update these if required, but I am not sure if this is a master port or not...  And I definitely don't want to sign up as maintainer, just trying to help out the community with the work I had to do to fix my mythtv jail after a 12.0 update.
3) I am not really sure about this one. It is an old patch against the FFmpeg includes that applied cleanly, so I kept it when I had to delete the others. This patch has been in the port for a while.
Comment 3 Kubilay Kocak freebsd_committer freebsd_triage 2019-01-04 04:00:37 UTC
(In reply to fernando.e.vilas from comment #2)

Thank you for doing that (QA) Fernando.

Those warnings are fine (in this case).

`find /usr/ports -exec grep -HC3 'mythtv' {} + |grep MASTERDIR` reports the following as the only sub port:

multimedia/mythtv-frontend/Makefile:MASTERDIR=${.CURDIR}/../../multimedia/mythtv

It would be great if you could poudriere test that port, with your patch applied to multimedia/mythtv, to ensure it continued to build/package as well with the change to the parent port.
Comment 4 fernando.e.vilas 2019-01-07 03:28:05 UTC
Created attachment 200851 [details]
Update patch to include a file only used by the dependent port mythtv-frontend
Comment 5 fernando.e.vilas 2019-01-07 03:28:59 UTC
Created attachment 200852 [details]
Patch multimedia/mythtv-frontend to make it build against this update
Comment 6 fernando.e.vilas 2019-01-07 03:31:05 UTC
I updated the patch file in multimedia/mythtv that is used by multimedia/mythtv-frontend to build.

I also had to update pkg-plist for multimedia/mythtv-frontend, so I included that as a separate patch in the bug.
Comment 7 Kubilay Kocak freebsd_committer freebsd_triage 2019-01-07 04:14:17 UTC
Comment on attachment 200851 [details]
Update patch to include a file only used by the dependent port mythtv-frontend

Approved by: portmgr (unmaintained port)
Comment 8 Kubilay Kocak freebsd_committer freebsd_triage 2019-01-07 04:14:22 UTC
Comment on attachment 200852 [details]
Patch multimedia/mythtv-frontend to make it build against this update

Approved by: portmgr (unmaintained port)
Comment 9 Kubilay Kocak freebsd_committer freebsd_triage 2019-01-07 04:19:02 UTC
@Fernando, Thank you for the updates

This issue says 'fixes build on FreeBSD 12.0' but the port is currently unconditionally marked BROKEN, which applies to all versions. 

Could you clarify/detail whether QA (poudriere) was run only on 12.0, or another/other version(s)?

It would be great to get QA results for 11.2 and CURRENT as well, so we can leave the package marked BROKEN for those versions if they remain broken, and otherwise be confident that the poyrt/package builds on all currently supported versions

I understand this is a rather large/complex port with many dependencies, and as such takes time/resources to QA, though since this update will/should be merged to the quarterly branch, careful QA is particularly important
Comment 10 Tobias Kortkamp freebsd_committer 2019-01-07 06:18:50 UTC
Comment on attachment 200851 [details]
Update patch to include a file only used by the dependent port mythtv-frontend

- Do *not* re-add GH_TAGNAME here.  It leads to mistakes like the
  one fixed in ports r456874.

  Use the procedure in the Porter's Handbook [1] to derive a proper
  DISTVERSION, DISTVERSIONSUFFIX for 5c3257e instead.

- PORTREVISION must be reset to 0 when bumping the version
 
+BUILD_DEPENDS=	yasm:devel/yasm \
+		${PREFIX}/include/linux/input.h:devel/evdev-proto

This is incorrect and should be LOCALBASE, not PREFIX.  They can differ. 
LOCALBASE is where dependencies come from, PREFIX is where the port installs 
into.  

[1] https://www.freebsd.org/doc/en/books/porters-handbook/makefile-distfiles.html#makefile-master_sites-github-ex5
Comment 11 fernando.e.vilas 2019-01-12 17:42:32 UTC
Created attachment 201071 [details]
Updated patch to address comments from Tobias

I have only tested this at runtime on my 12.0-RELEASE jail, but I can confirm that it successfully builds in jails for 13-CURRENT and 11.2-RELEASE.
Comment 12 Tobias Kortkamp freebsd_committer 2019-01-29 07:13:54 UTC
Comment on attachment 201071 [details]
Updated patch to address comments from Tobias

This looks ok to me.  Can you update to the recently releases MythTV 30.0
and retest runtime?

Have you also tested if multimedia/mythtv-frontend still builds?  It's
a slave port of multimedia/mythtv.  audio/mythplugin-mythmusic might
need an update too.
Comment 13 fernando.e.vilas 2019-01-30 01:51:37 UTC
(In reply to Tobias Kortkamp from comment #12)

I was thinking the same thing... Over the weekend, I have already updated my mythtv jail to 30.0 and it seems to be working fine. Those updates are currently working their way through my poudriere jails to ensure they build on 11.2-RELEASE and 13-CURRENT. As soon as they succeed, and then I retest the mythtv-frontend builds, I can post all those patches.

Since you mentioned mythmusic, I will try those builds too. I don't use it in my installation, so I will probably only be in a position to answer about builds, not running.
Comment 14 fernando.e.vilas 2019-02-09 23:34:33 UTC
Created attachment 201877 [details]
Build mythtv version 30.0
Comment 15 fernando.e.vilas 2019-02-09 23:35:11 UTC
Created attachment 201878 [details]
Build mythtv-frontend version 30.0
Comment 16 fernando.e.vilas 2019-02-09 23:35:37 UTC
Created attachment 201879 [details]
Build mythmusic version 30.0
Comment 17 fernando.e.vilas 2019-02-09 23:37:13 UTC
New patches against version 30.0 have been tested in poudriere on 11.2-RELEASE, 12.0-RELEASE, and 13-CURRENT.

I have only tested runtime on 12.0-RELEASE, since that is where I have mythtv setup for my hardware.
Comment 18 Tobias Kortkamp freebsd_committer 2019-02-10 22:28:35 UTC
Landed. Thanks!
Comment 19 commit-hook freebsd_committer 2019-02-10 22:28:53 UTC
A commit references this bug:

Author: tobik
Date: Sun Feb 10 22:28:18 UTC 2019
New revision: 492655
URL: https://svnweb.freebsd.org/changeset/ports/492655

Log:
  multimedia/mythtv: Update to 30.0 and unbreak

  Changes:	https://www.mythtv.org/wiki/Release_Notes_-_30
  PR:		234551
  Submitted by:	fernando.e.vilas@gmail.com

Changes:
  head/audio/mythplugin-mythmusic/Makefile
  head/audio/mythplugin-mythmusic/distinfo
  head/audio/mythplugin-mythmusic/files/patch-configure
  head/audio/mythplugin-mythmusic/files/patch-mythmusic_mythmusic_cddecoder.cpp
  head/audio/mythplugin-mythmusic/files/patch-mythmusic_mythmusic_cddecoder.h
  head/audio/mythplugin-mythmusic/files/patch-mythmusic_mythmusic_cdrip.cpp
  head/multimedia/mythtv/Makefile
  head/multimedia/mythtv/distinfo
  head/multimedia/mythtv/files/extrapatch-programs_programs.pro
  head/multimedia/mythtv/files/patch-CVE-2016-10190
  head/multimedia/mythtv/files/patch-CVE-2016-10192
  head/multimedia/mythtv/files/patch-CVE-2017-05024
  head/multimedia/mythtv/files/patch-CVE-2017-05025
  head/multimedia/mythtv/files/patch-CVE-2017-07862
  head/multimedia/mythtv/files/patch-CVE-2017-07866
  head/multimedia/mythtv/files/patch-CVE-2017-09608a
  head/multimedia/mythtv/files/patch-CVE-2017-09608b
  head/multimedia/mythtv/files/patch-CVE-2017-09608c
  head/multimedia/mythtv/files/patch-CVE-2017-09991
  head/multimedia/mythtv/files/patch-CVE-2017-09992
  head/multimedia/mythtv/files/patch-CVE-2017-09993a
  head/multimedia/mythtv/files/patch-CVE-2017-09993b
  head/multimedia/mythtv/files/patch-CVE-2017-09994
  head/multimedia/mythtv/files/patch-CVE-2017-09996a
  head/multimedia/mythtv/files/patch-CVE-2017-09996b
  head/multimedia/mythtv/files/patch-CVE-2017-11399
  head/multimedia/mythtv/files/patch-CVE-2017-11665a
  head/multimedia/mythtv/files/patch-CVE-2017-11665b
  head/multimedia/mythtv/files/patch-CVE-2017-11719
  head/multimedia/mythtv/files/patch-CVE-2017-14054
  head/multimedia/mythtv/files/patch-CVE-2017-14055
  head/multimedia/mythtv/files/patch-CVE-2017-14056
  head/multimedia/mythtv/files/patch-CVE-2017-14057
  head/multimedia/mythtv/files/patch-CVE-2017-14058
  head/multimedia/mythtv/files/patch-CVE-2017-14059
  head/multimedia/mythtv/files/patch-CVE-2017-14169
  head/multimedia/mythtv/files/patch-CVE-2017-14170
  head/multimedia/mythtv/files/patch-CVE-2017-14171
  head/multimedia/mythtv/files/patch-CVE-2017-14222
  head/multimedia/mythtv/files/patch-CVE-2017-14223
  head/multimedia/mythtv/files/patch-CVE-2017-14225
  head/multimedia/mythtv/files/patch-CVE-2017-14767
  head/multimedia/mythtv/files/patch-CVE-2017-15186
  head/multimedia/mythtv/files/patch-CVE-2017-16840
  head/multimedia/mythtv/files/patch-CVE-2017-17081a
  head/multimedia/mythtv/files/patch-CVE-2017-17081b
  head/multimedia/mythtv/files/patch-CVE-2018-6392
  head/multimedia/mythtv/files/patch-CVE-2018-6621
  head/multimedia/mythtv/files/patch-configure
  head/multimedia/mythtv/files/patch-external_FFmpeg_configure
  head/multimedia/mythtv/files/patch-external_FFmpeg_libavformat_tls__openssl.c
  head/multimedia/mythtv/files/patch-libs_libmythtv_dbcheck.cpp
  head/multimedia/mythtv/files/patch-libs_libmythtv_videodev2.h
  head/multimedia/mythtv/files/patch-libs_libmythui_mythpainter.cpp
  head/multimedia/mythtv/files/patch-libs_libmythui_mythrender__vdpau.h
  head/multimedia/mythtv/pkg-plist
  head/multimedia/mythtv-frontend/Makefile
  head/multimedia/mythtv-frontend/pkg-plist