Bug 219373 - devel/py-attrs: Upgrade to 17.1.0
Summary: devel/py-attrs: Upgrade to 17.1.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: Po-Chuan Hsieh
URL:
Keywords: easy, patch-ready
Depends on:
Blocks: 219374
  Show dependency treegraph
 
Reported: 2017-05-18 11:47 UTC by John W. O'Brien
Modified: 2017-05-19 16:13 UTC (History)
2 users (show)

See Also:
Axel.Rau: maintainer-feedback-


Attachments
devel/py-attrs: Upgrade to 17.1.0 (888 bytes, patch)
2017-05-18 11:47 UTC, John W. O'Brien
john: maintainer-approval?
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description John W. O'Brien 2017-05-18 11:47:55 UTC
Created attachment 182689 [details]
devel/py-attrs: Upgrade to 17.1.0

Changelog
=========

*   Upgrade to 17.1.0


QA
==

*   portlint: OK
*   poudriere: OK -- testport on 10.3-RELEASE-p17 w/py27 (default), py34, py35, py36
Comment 1 Axel.Rau 2017-05-18 15:50:40 UTC
This upgrade breaks calendarserver-9.0 which requires py-twisted-17.1.0, which requires py-Automat-0.5.0 and finally py-attrs.

Traceback (most recent call last):
  File "/usr/local/bin/twistd", line 11, in <module>
    load_entry_point('Twisted==17.1.0', 'console_scripts', 'twistd')()
  File "/usr/local/lib/python2.7/site-packages/twisted/scripts/twistd.py", line 29, in run
    app.run(runApp, ServerOptions)
  File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 657, in run
    config.parseOptions()
  File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 624, in parseOptions
    usage.Options.parseOptions(self, options)
  File "/usr/local/lib/python2.7/site-packages/twisted/python/usage.py", line 262, in parseOptions
    for (cmd, short, parser, doc) in self.subCommands:
  File "/usr/local/lib/python2.7/site-packages/twisted/application/app.py", line 641, in subCommands
    for plug in sorted(plugins, key=attrgetter('tapname')):
  File "/usr/local/lib/python2.7/site-packages/twisted/plugins/masterchild.py", line 61, in tapname
    return self.wrappedServiceMaker.tapname
  File "/usr/local/lib/python2.7/site-packages/twisted/plugins/masterchild.py", line 52, in wrappedServiceMaker
    makerClass = namedClass(self.className)
  File "/usr/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 166, in namedObject
    module = namedModule('.'.join(classSplit[:-1]))
  File "/usr/local/lib/python2.7/site-packages/twisted/python/reflect.py", line 152, in namedModule
    topLevel = __import__(name)
  File "/usr/local/lib/python2.7/site-packages/twext/application/masterchild.py", line 49, in <module>
    from twisted.application.internet import TCPServer
  File "/usr/local/lib/python2.7/site-packages/twisted/application/internet.py", line 542, in <module>
    class _ClientMachine(object):
  File "/usr/local/lib/python2.7/site-packages/twisted/application/internet.py", line 842, in _ClientMachine
    outputs=[_connect])
  File "/usr/local/lib/python2.7/site-packages/automat/_methodical.py", line 62, in upon
    self.machine._oneTransition(self, input, enter, outputs, collector)
  File "/usr/local/lib/python2.7/site-packages/automat/_methodical.py", line 255, in _oneTransition
    tuple(outputTokens))
  File "/usr/local/lib/python2.7/site-packages/automat/_core.py", line 74, in addTransition
    (inState, inputSymbol, outState, tuple(outputSymbols))
TypeError: unhashable type: 'MethodicalState'
/usr/local/etc/rc.d/caldavd: WARNING: failed to start caldavd

I will talk to upstream of calendarserver.
Comment 2 John W. O'Brien 2017-05-18 23:14:42 UTC
I've only glanced at the output, but my guess is that we'll have to upgrade devel/py-Automat to 0.6.0 per bug #219374 to resolve this.

See also:

Make hashable classes frozen for attrs 17.1.0 (fixes #62).
https://github.com/glyph/automat/commit/3766391d49a5514ecb901031ac5857b2b66ab265
Comment 3 Axel.Rau 2017-05-19 11:18:37 UTC
Yes, you are right: devel/py-Automat 0.6.0 fixes this.
Please set maintainer-feedback+ after committing 219374. (-;
Comment 4 John W. O'Brien 2017-05-19 12:39:14 UTC
What's the term for a pair of bugs that both block and depend on each other?

sunpoet@ has both bugs right now and should be able to commit them concurrently or in short succession.
Comment 5 Po-Chuan Hsieh freebsd_committer freebsd_triage 2017-05-19 15:27:14 UTC
(In reply to John W. O'Brien from comment #4)

py-Automat 0.6.0 update (bug #219374) requires py-attrs 16.1.0+ which is bug #219373.

That means:
- bug #219374 depends on bug #219373
- bug #219373 blocks bug #219374

That's why it's a pair.
Comment 6 commit-hook freebsd_committer freebsd_triage 2017-05-19 15:37:42 UTC
A commit references this bug:

Author: sunpoet
Date: Fri May 19 15:36:19 UTC 2017
New revision: 441242
URL: https://svnweb.freebsd.org/changeset/ports/441242

Log:
  Update to 17.1.0

  Changes:	https://github.com/python-attrs/attrs/blob/master/CHANGELOG.rst
  PR:		219373
  Submitted by:	John W. O'Brien <john@saltant.com>
  Approved by:	Axel Rau <axel.rau@chaos1.de> (maintainer)

Changes:
  head/devel/py-attrs/Makefile
  head/devel/py-attrs/distinfo
Comment 7 Po-Chuan Hsieh freebsd_committer freebsd_triage 2017-05-19 15:39:02 UTC
Committed. Thanks!
Comment 8 John W. O'Brien 2017-05-19 15:58:02 UTC
(In reply to Po-Chuan Hsieh from comment #5)

Thank you for taking these bugs and handling them promptly.

I'm familiar with the reciprocal blocks/depends relationship. I intended to highlight the unusual case that bug #219373 both depends on *and* blocks bug #219374 (and vice versa). In retrospect, perhaps I should have filed both updates as the same bug.
Comment 9 Po-Chuan Hsieh freebsd_committer freebsd_triage 2017-05-19 16:07:49 UTC
(In reply to John W. O'Brien from comment #8)

What I see is:
- bug #219374 depends on bug #219373
- bug #219373 blocks bug #219374
Comment 10 John W. O'Brien 2017-05-19 16:13:26 UTC
(In reply to Po-Chuan Hsieh from comment #9)

That's because when I filed the bugs, I was unaware that bug #219373 depends on bug #219374. Thanks to Axel's diligence and comment #1, that additional relationship came to light.

For the sake of completeness, and to satisfy my own curiosity, I tried just now to register the additional dependency. Bugzilla refused and said:

"The following bug(s) would appear on both the "depends on" and "blocks" parts of the dependency tree if these changes are committed: 219374. This would create a circular dependency, which is not allowed."