Bug 213999 - multimedia/livestreamer: Unnecessary requests1 dependency conflicts with ports that depend on www/py-requests
Summary: multimedia/livestreamer: Unnecessary requests1 dependency conflicts with port...
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Thomas Zander
URL:
Keywords: patch
Depends on:
Blocks: 213296
  Show dependency treegraph
 
Reported: 2016-11-02 08:08 UTC by kaltheat
Modified: 2017-01-06 10:17 UTC (History)
5 users (show)

See Also:
riggs: maintainer-feedback+
riggs: merge-quarterly+


Attachments
svn diff patch (682 bytes, patch)
2016-11-02 08:08 UTC, kaltheat
koobs: maintainer-approval? (multimedia)
Details | Diff
output of "poudriere testport" on 11.0-RELEASE amd64 (72.18 KB, text/plain)
2016-11-02 08:09 UTC, kaltheat
no flags Details
output of "python2.7 setup.py test" (3.74 KB, text/plain)
2016-11-02 08:55 UTC, kaltheat
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description kaltheat 2016-11-02 08:08:47 UTC
Created attachment 176409 [details]
svn diff patch

Recently I had a similar issue like bug #213296, but with deskutils/py-khal. khal depends on py-requests whereas livestreamer depends on py-requests1 resulting in that I can only install one of them.
I tried to compile livestreamer with run-dependency www/py-requests and it does not seem to have any regressions (as already reported in bug #213296).


Apart: If you take a look at github[1] it seems as if developing of livestreamer has stopped. Seems as if streamlink[2] is an up-to-date successor.

[1] https://github.com/chrippa/livestreamer/commits/develop
[2] https://github.com/streamlink/streamlink
Comment 1 kaltheat 2016-11-02 08:09:41 UTC
Created attachment 176411 [details]
output of "poudriere testport" on 11.0-RELEASE amd64
Comment 2 Kubilay Kocak freebsd_committer freebsd_triage 2016-11-02 08:45:54 UTC
Thank you for the patch.

Could you please run livestreamers test suite (with `python-x.y setup.py test` in WKRSRC after extracting) to confirm that tests pass with requests 2.x.

I also note in setup.py, the following, which is a good indication that requests 2.x support is OK:

# requests 2.0 does not work correctly on Python <2.6.3
if (version_info[0] == 2 and version_info[1] == 6 and version_info[2] < 3):
    deps.append("requests>=1.0,<2.0")
else:
deps.append("requests>=1.0,<3.0")

For reference, all ports depending on www/py-requests in the past were changed to requests1 [1][2] when py-requests was updated to 2.x, allowing individual port maintainers to make the change to the later version themselves.

[1] https://svnweb.freebsd.org/ports?view=revision&revision=341384
[2] https://svnweb.freebsd.org/ports?view=revision&revision=341385
Comment 3 kaltheat 2016-11-02 08:55:00 UTC
Created attachment 176413 [details]
output of "python2.7 setup.py test"

I don't know if this checks for run dependencies (like py-requests) or just for installing/compiling dependencies. Anyway here is the result ...
Comment 4 Kubilay Kocak freebsd_committer freebsd_triage 2016-11-02 10:00:36 UTC
If the tests require/use requests, and www/py-requests is installed it will be found, if not, it will be installed by setuptools (if requests its listed as a tests_require in setup.py)

What would invalidate the test is having the requests1 port installed, as setuptools would have found and used *it* (version 1.x) instead. If it was installed, deinstall it and re-run the test with either www/py-requests installed, or if its listed in setup.py:install_requires, just let setuptools install it.
Comment 5 kaltheat 2016-11-02 13:22:27 UTC
OK, what I did was:

I executed "make" in livestreamers portsdir in a clean environment resulting in the following packages being installed:

ports-mgmt/dialog4ports
devel/gettext-runtime
devel/gettext-tools
print/indexinfo
devel/libffi
multimedia/librtmp
ports-mgmt/pkg
devel/pkgconf
devel/py-cffi
devel/py-futures
multimedia/py-librtmp
devel/py-pycparser
www/py-requests
devel/py-setuptools27
devel/py-singledispatch
devel/py-six
lang/python27
devel/readline
multimedia/rtmpdump

Note that www/py-requests was installed.
After that I did this "setup.py test" with the results already submitted.
Comment 6 Naram Qashat 2016-11-02 15:45:41 UTC
In regards to the comment in the initial report about streamlink being the successor to livestream, I had submitted a bug report in #213489 to add streamlink to the ports tree.
Comment 7 commit-hook freebsd_committer 2017-01-05 17:31:59 UTC
A commit references this bug:

Author: riggs
Date: Thu Jan  5 17:30:55 UTC 2017
New revision: 430646
URL: https://svnweb.freebsd.org/changeset/ports/430646

Log:
  Resolve dependency conflicts with www/py-requests; bump PORTREVISION

  PR:		213999
  Submitted by:	kaltheat@gmail.com
  MFH:		2017Q1

Changes:
  head/multimedia/livestreamer/Makefile
Comment 8 commit-hook freebsd_committer 2017-01-06 10:16:38 UTC
A commit references this bug:

Author: riggs
Date: Fri Jan  6 10:15:50 UTC 2017
New revision: 430700
URL: https://svnweb.freebsd.org/changeset/ports/430700

Log:
  MFH: r430646

  Resolve dependency conflicts with www/py-requests; bump PORTREVISION

  PR:		213999
  Submitted by:	kaltheat@gmail.com

  Approved by:	ports-secteam (junovitch)

Changes:
_U  branches/2017Q1/
  branches/2017Q1/multimedia/livestreamer/Makefile