Bug 255036 - devel/py-daemon: update to 2.3.0
Summary: devel/py-daemon: update to 2.3.0
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: Rainer Hurling
URL: https://pagure.io/python-daemon/blob/...
Keywords:
Depends on:
Blocks:
 
Reported: 2021-04-13 16:17 UTC by Florian Wagner
Modified: 2021-05-08 11:17 UTC (History)
2 users (show)

See Also:
rhurlin: maintainer-feedback-


Attachments
Port update. (1.84 KB, patch)
2021-04-13 16:17 UTC, Florian Wagner
no flags Details | Diff
devel_py-daemon-2.3.0.patch (2.04 KB, patch)
2021-04-13 18:43 UTC, Florian Wagner
no flags Details | Diff
logfile of failed Poudriere build (24.41 KB, text/plain)
2021-04-13 20:18 UTC, Rainer Hurling
no flags Details
devel_py-daemon-2.3.0.patch (2.24 KB, patch)
2021-04-14 11:55 UTC, Florian Wagner
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Florian Wagner 2021-04-13 16:17:02 UTC
Created attachment 224084 [details]
Port update.

The current version in Ports is really, really old. It also has a runtime dependency on docutils, which actually is only used to build the documentation files.

Patch attached.
Comment 1 Rainer Hurling freebsd_committer freebsd_triage 2021-04-13 17:31:44 UTC
Thanks for the patch! But it seems incomplete, the new portversion 2.3.0 is missing. Could you update the patch, please.
Comment 2 Florian Wagner 2021-04-13 18:43:26 UTC
Created attachment 224087 [details]
devel_py-daemon-2.3.0.patch

Whoops. Sorry about that. Here's a fixed patch.
Comment 3 Rainer Hurling freebsd_committer freebsd_triage 2021-04-13 20:18:00 UTC
Created attachment 224090 [details]
logfile of failed Poudriere build

Hi Florian,

When I build your patched port outside of Poudriere it builds fine, but within Poudriere it fails (log file attached).

One of the problems complained about seem to be import_metadata. The ports version devel/py-importlib-metadata (not listed in Makefile as dependency until now) is at v3.3.0, py-daemon wants >= v3.6.0 ...

But I am afraid this is not the only problem. On [1] there are some other dependencies listed, which are not yet mentioned in the port.

[1] https://pagure.io/python-daemon/blob/master/f/setup.py

Could you investigate please, what is going on here? Thanks in advance :)
Comment 4 Florian Wagner 2021-04-13 21:37:23 UTC
Hey Rainer,

I've also built the port in Poudriere and it worked against Python 3.9. Seem's like the import_metadata stuff is included in Python 3.8 and up [1], so that might we why I didn't catch that. I'll see about this tomorrow...

[1] https://pypi.org/project/importlib-metadata/
Comment 5 Florian Wagner 2021-04-14 11:55:58 UTC
Created attachment 224103 [details]
devel_py-daemon-2.3.0.patch

Turns out the real culprit is actually security/py-keyring (one of the dependencies of devel/py-twine) which in version 23.0.1 brings in that dependency:

  cd /usr/local/lib/python3.9/site-packages; grep -r importlib_metadata .
  ./keyring-23.0.1-py3.9.egg-info/requires.txt:importlib_metadata>=3.6

See also [1]. That dependency specification is missing in the Port. The older version 18.0.1 from 2021Q1 didn't have that dependency. That's where I tested my Ports and why they worked for me.

The easy way out would be to actually drop devel/py-twine from the build dependencies. And why wouldn't you:

  ~/python-daemon-2.3.0 grep -ri twine .                                             
  ./ChangeLog:* Declare Twine as a build dependency.
  ./setup.py:            "twine",

Well... possibly the author of python-daemon has a different definition of build dependency than FreeBSD Ports and myself. Using twine to upload to PyPI is not build dependency IMHO, but well...

Updated my Patch again. This time tested on main with Python 3.6, 3.7, 3.8, 3.9.

[1] https://github.com/jaraco/keyring/blob/90bf330ebe3f86fe77794cf16af954858735b0dd/setup.cfg#L24-L28
Comment 6 commit-hook freebsd_committer freebsd_triage 2021-05-08 11:14:12 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=246d773077d67683c6cecf91af3e702b6b647282

commit 246d773077d67683c6cecf91af3e702b6b647282
Author:     Florian Wagner <florian@wagner-flo.net>
AuthorDate: 2021-05-08 11:02:29 +0000
Commit:     Rainer Hurling <rhurlin@FreeBSD.org>
CommitDate: 2021-05-08 11:12:51 +0000

    devel/py-daemon: Update to 2.3.0

    Changelog: https://pagure.io/python-daemon/raw/ba09acd121733b109d1e5a4555e109f089fa2dc2/f/ChangeLog

    PR:             255036
    Approved by:    maintainer timeout (> 3 weeks)

 devel/py-daemon/Makefile                   | 12 ++++++------
 devel/py-daemon/distinfo                   |  5 +++--
 devel/py-daemon/files/patch-setup.py (new) | 22 ++++++++++++++++++++++
 3 files changed, 31 insertions(+), 8 deletions(-)
Comment 7 Rainer Hurling freebsd_committer freebsd_triage 2021-05-08 11:17:27 UTC
Maintainer timeout (> 3 weeks)

security/py-keyring was downgraded to 18.0.1 [1], so no build problem any more :)

Committed, thanks!


[1] https://cgit.freebsd.org/ports/commit/?id=f043e2bdfd2063a32f59a9100cfc80bd3a580f7a