PMXBOT Log file Viewer

Help | Karma | Search:

#pypa-dev logs for Saturday the 14th of June, 2014

(Back to #pypa-dev overview) (Back to channel listing) (Animate logs)
[13:00:16] <pmxbot> jaraco pushed 1 commit to setuptools (https://bitbucket.org/pypa/setuptools/) :
[13:00:16] <pmxbot> Merge with 3.7.1 (Ref #213)
[13:04:16] <pmxbot> jaraco pushed 1 commit to setuptools (https://bitbucket.org/pypa/setuptools/) :
[13:04:16] <pmxbot> Merge with the rest of 3.7.1
[13:05:48] <pmxbot> jaraco pushed 3 commits to setuptools (https://bitbucket.org/pypa/setuptools/) :
[13:05:48] <pmxbot> Bumped to 3.8.1 in preparation for next release.
[13:05:48] <pmxbot> Added tag 3.8.1 for changeset 40744de29b84
[13:05:48] <pmxbot> Bumped to 3.8.2 in preparation for next release.
[13:08:06] <jaraco> !dm concatenated words
[13:08:06] <pmxbot> you're doing horrible work, concatenated words!
[13:08:43] <pmxbot> jaraco pushed 1 commit to setuptools (https://bitbucket.org/pypa/setuptools/) :
[13:08:43] <pmxbot> Merge with 3.8.1
[13:18:53] <Alex_Gaynor> jaraco: is there going to be a 4.0 release? I believe it was effected as well
[13:19:26] <jaraco> Alex_Gaynor, 4.0.1 was already released with the fix in 3.7.1 and 3.8.1.
[13:19:47] <jaraco> But the defect reported in #218 still remains in 4.x.
[13:20:09] <Alex_Gaynor> Ah. Whoops
[13:20:28] <jaraco> I'm looking at that now, and trying to determine what's the appropriate action.
[13:20:41] <jaraco> I'm not fond of the proposed "fix" which layers on more special casing.
[14:13:15] <pmxbot> jaraco pushed 3 commits to setuptools (https://bitbucket.org/pypa/setuptools/) :
[14:13:15] <pmxbot> fix issue202 - update existing zipimporters when replacing a zipped egg
[14:13:15] <pmxbot> remove quick-fix comment for the solution to issue #169.
[14:13:15] <pmxbot> Closing this head, as it conflates #202 with #218 and #210. Refer to dfdc08c6a616 for issue202.
[14:28:33] <pmxbot> jaraco pushed 5 commits to setuptools (https://bitbucket.org/pypa/setuptools/) :
[14:28:33] <pmxbot> fix clearing zipimport._zip_directory_cache on pypy
[14:28:33] <pmxbot> update zipimporter cache clearing related code comments
[14:28:33] <pmxbot> extract duplicate code
[14:28:33] <pmxbot> extract function for updating zipimporter cache data
[14:28:33] <pmxbot> clear cached zip archive directory data when removing it from cache
[14:36:29] <pmxbot> jaraco pushed 2 commits to setuptools (https://bitbucket.org/pypa/setuptools/) :
[14:36:29] <pmxbot> Reorganize imports
[14:36:29] <pmxbot> Normalize whitespace
[14:44:32] <pmxbot> jaraco pushed 1 commit to setuptools (https://bitbucket.org/pypa/setuptools/) :
[14:44:32] <pmxbot> Now that 2to3 is no longer run on the codebase, it's safe for the templates to be syntactically incorrect (prior to substitution).
[14:57:41] <pmxbot> jaraco pushed 4 commits to setuptools (https://bitbucket.org/pypa/setuptools/) :
[14:57:41] <pmxbot> Have git ignore files created by tests
[14:57:41] <pmxbot> Add integration tests.
[14:57:41] <pmxbot> update .gitignore from .hgignore
[14:57:41] <pmxbot> Activate more of the integration tests.
[15:02:39] <pmxbot> jaraco pushed 1 commit to setuptools (https://bitbucket.org/pypa/setuptools/) :
[15:02:39] <pmxbot> Update changelog
[15:09:22] <Ivo> jaraco: yeah, something was going wrong with those tests previously
[15:09:30] <Ivo> one passes, but the others have a strange error
[15:11:32] <jaraco> Ivo, and that's fine. My focus today was to make sure we had separate branches (Mercurial bookmarks) of the various heads with a stable master so that development can continue in master while the individual issues are addressed in respective branches.
[15:11:56] <jaraco> So there's no pressure to get it fixed.
[15:12:08] <Ivo> jaraco: was 218 not fixed?
[15:12:44] <jaraco> Yes, 218 was "fixed" by removing the offending commits and releases in the 4.0 line.
[15:13:48] <Ivo> having the same troubles dealing with arbitrary string-like things in pip :)
[15:14:06] <Ivo> logging sometimes borks on them :/
[15:35:08] <Ivo> jaraco: you pulled 4.x?
[15:35:29] <jaraco> Ivo: yes
[15:35:55] <Ivo> jaraco: you know archlinux already as 4.0.1 in its official repos right lol
[15:36:06] <jaraco> :)
[15:36:13] <jaraco> !m Arch Linux
[15:36:13] <pmxbot> you're doing good work, Arch Linux!
[15:36:36] <jaraco> Well, since 3.8.1 supersedes it, they should be able to use that version next. I hope that's not a problem.
[15:36:53] <Ivo> hmm
[15:36:57] <Ivo> 12 minutes ago
[15:37:00] <Ivo> https://projects.archlinux.org/svntogit/packages.git/log/trunk?h=packages/python-setuptools
[15:37:03] <Ivo> lol
[15:37:18] <Ivo> not sure how version numbering is gonna interpret that
[15:38:10] <jaraco> Good point. I don't think semver gives any guidance on removing versions.
[15:38:23] <Ivo> I mean you can state 3.8 > 4.0 but that's not what any computer will agree with
[15:38:45] <jaraco> And that statement would be false semantically as well.
[15:39:07] <jaraco> Because 3.8.1 doesn't include the changes introduced in 4.0. It is as advertised, a rollback.
[15:39:21] <jaraco> To do that without backing to an earlier version would require a 5.0 release.
[15:39:36] <jaraco> Which I'm happy to do if necessary.
[15:39:49] <Ivo> what's wrong with 4.1 T_T
[15:40:07] <jaraco> 4.1 can't work because it would remove functionality provided by 4.0.
[15:40:32] <Ivo> you can't bugfix the functionality in 4.0?
[15:40:42] <jaraco> Possibly
[15:41:20] <jaraco> But the one proposed fix strikes me as adding complication without any way to manage it.
[15:41:44] <jaraco> Namely https://bitbucket.org/pypa/setuptools/pull-request/60/fix-regression-in-issue-218/diff
[15:42:22] <Ivo> I've been thinking,
[15:42:34] <Ivo> perhaps pip & setuptools want to merge their script creation code
[15:42:42] <Ivo> e.g, vendor from a common repo
[15:42:57] <jaraco> So I'm suggesting that we step back and understand the problem better, establish some tests, and better formalize the interface.
[15:43:14] <jaraco> Ivo, even without vendoring, having a reference implementation would be nice.
[15:43:28] <Ivo> that way you might fix these issues, and also a number coming from divergent behaviour between the two codebases
[15:43:39] <Ivo> *number of issues
[15:43:54] <Ivo> IIRC at least to do with overwriting behaviour and following symlinks
[15:44:12] <jaraco> If you look at #210, you'll see that the crux of this change was that the user expects to be able to install arbitrary binaries (as scripts).
[15:44:23] <Ivo> well vendoring is just the mechanism you use to statically include shared code between two projects, right
[15:44:37] <jaraco> A requirement which is highly implicit and contradicts the use case described in the Python docs.
[15:44:44] <Ivo> oh god why did we let them expect that
[15:45:02] <jaraco> I'm slightly tempted to say that use case should not be supported... and possibly consider adding a separate option for that need.
[15:45:42] <jaraco> Interestingly, distutils actually allows that.
[15:45:47] <jaraco> Because it copies scripts verbatim.
[15:45:52] <Ivo> jaraco: consider writing deprecation notices, or asking about issuing them on the ML if they're anything big...
[15:46:18] <jaraco> Ivo, sure. I do.
[15:46:25] <Ivo> e.g something like, deprecate binary scripts in 3.8 or 4.x...
[15:46:54] <jaraco> I had not expected this change to have substantial impact except maybe to make 'setup.py develop' installed scripts appear with non-normative newlines.
[15:46:59] <Ivo> would it be possible to revert script creation behaviour to distutils when using scripts=[]
[15:47:17] <jaraco> revert script creation behavior?
[15:47:19] <Ivo> and then cleanup what happens in entry_points
[15:47:32] <Ivo> I assume currently you override distutils' code for handling scripts=
[15:47:34] <jaraco> oh, you mean just defer to the default behavior?
[15:48:15] <jaraco> hmm. maybe. but probably not. I'm sure there are lots of use cases depending on the existing behavior, including rewriting the headers.
[15:48:25] <Ivo> alternatively, just say "yeah distutils is f***ing crazy; this isn't gonna work when used with setuptools anymore'
[15:48:50] <Ivo> in regards to 'binaries should work perfectly'
[15:49:04] <Ivo> unless there are some easy fixes we're missing or smth
[15:49:47] <Ivo> I can't imagine Windows likes having arbitrary binaries installed by setuptools...
[15:50:36] <tomprince> It seems like adding an explict option for binaries would make sense.
[15:51:18] <Ivo> tomprince: the trouble we're having is with supporting existing stuff correctly; adding stuff might be useful, but doesn't solve the existing problem
[15:52:34] <jaraco> if it's the right thing to do, though, we should introduce that feature now so it can start percolating.
[15:52:47] <tomprince> Well, one of the suggetions is saying "we don't support that". It would be more palatable if you could continue "but use this instead which we do support"
[15:53:00] <jaraco> That's why in #210, I've asked for a more concrete example to capture the use case and start to establish requirements.
[15:53:10] <Ivo> ah ok
[16:31:35] <pmxbot> jaraco pushed 13 commits to setuptools (https://bitbucket.org/pypa/setuptools/) :
[16:31:35] <pmxbot> caching the zip manifests Fixes #154
[16:31:35] <pmxbot> Must add zipinfo as a property
[16:31:35] <pmxbot> Summarize zip_manifest cache changes.
[16:31:35] <pmxbot> Remove excess whitespace
[16:31:35] <pmxbot> Subclass dict rather that wrap and proxy.
[16:31:35] <pmxbot> Expose a method describing what it does, and alias that to 'call'.
[16:31:35] <pmxbot> Implement 'build_manifest' as a classmethod. Rename to 'build' because Manifests is already in the classname.
[16:31:35] <pmxbot> Rewrite construct/append loop with simple iterator.
[16:31:35] <pmxbot> Use direct voice
[16:31:35] <pmxbot> Remove documentation which seems irrelevant to this method.
[16:31:35] <pmxbot> Use a more appropriate name and invoke .load directly.
[16:31:35] <pmxbot> Stat is never reused
[16:31:35] <pmxbot> Use a namedtuple to avoid numeric indexes
[16:49:34] <dstufft> jaraco: can you just release a 4.1 or something that has the same contents as 3.8.1? I know it techincally breaks semver but deleting versions like that is going to confuse any mirrors which don't delete files
[16:51:01] <dstufft> jaraco: or 5.0 or whatever *reads scrollback*
[16:51:32] <jaraco> dstufft: I can release a 5.0, sure
[16:51:55] <dstufft> jaraco: thanks
[16:56:34] <pmxbot> jaraco pushed 1 commit to setuptools (https://bitbucket.org/pypa/setuptools/) :
[16:56:34] <pmxbot> Update changelog
[16:57:15] <pmxbot> jaraco pushed 3 commits to setuptools (https://bitbucket.org/pypa/setuptools/) :
[16:57:15] <pmxbot> Bumped to 5.0 in preparation for next release.
[16:57:15] <pmxbot> Added tag 5.0 for changeset 84d936fd18a9
[16:57:15] <pmxbot> Bumped to 5.1 in preparation for next release.
[17:05:44] <Ivo> bah, virtualenv docs updated
[17:05:48] <Ivo> to not be a single file
[17:08:15] <Ivo> dstufft: does rtd pull from virtualenv develop or master
[17:15:08] <ionelmc> can anyone explain what's the deal with setuptools 5.0 ?
[17:15:32] <ionelmc> was there some breakage in 4.0 ?
[17:29:29] <Ivo> ionelmc: yes; 4.0 had bad functionality that can't be bugfixed atm, so we preferred to push out a new major version to remove it again
[17:29:49] <Ivo> or rather, 'bugfixed satisfactorily in a hurry'
[17:29:49] <ionelmc> Ivo: why not a 4.1 ?
[17:29:51] <ionelmc> just asking
[17:30:17] <Ivo> because to remove functionality is to break api which according to semver needs a new major version
[17:30:24] <Ivo> IIRC
[17:31:21] <ionelmc> Ivo: but https://bitbucket.org/pypa/setuptools/issue/210 only changes behavior, no new api
[17:31:22] <ionelmc> right?
[17:31:42] <ionelmc> i'm only asking cause i want to understand what's going on
[17:31:53] <Ivo> maintenance ftl
[17:32:31] <ionelmc> Ivo: http://webcache.googleusercontent.com/search?q=cache:https://bitbucket.org/pypa/setuptools/issue/210&ie=utf-8&oe=utf-8&rls=org.mozilla:en-US:official&client=firefox-a&channel=sb&gws_rd=cr&ei=04acU9K0FurA7AaD-IDwDg
[17:32:31] <Ivo> jaraco is following semver to the tee, he can probably explain better
[17:34:39] <Ivo> removing functionality is backwards-incompatible
[17:34:42] <Ivo> so new major version
[17:45:42] <dstufft> jaraco: there seems to be invalid syntax in 5.0
[17:45:50] <mordred> Downloading setuptools-5.0-py2.py3-none-any.whl (549kB): 549kB downloaded
[17:45:56] <mordred> File "/tmp/user/0/pip_build_root/setuptools/setuptools/script template.py", line 2
[17:45:58] <mordred> __requires__ = %(spec)r
[17:45:58] <dstufft> oh wait
[17:46:00] <mordred> fwiw
[17:46:03] <dstufft> I think it still successfully installs
[17:46:05] <dstufft> doesn't it?
[17:46:17] <mordred> yes. it's just throwing a syntax error it seems
[17:46:19] <dstufft> that's just an error that occurs during byte compiling
[17:46:28] <dstufft> because it's a .py file, but it's a .py file that is a template
[17:48:17] <mordred> excellent.
[17:49:32] <dstufft> ugh
[17:49:37] <mordred> wow. and bitbucket seems to be down for maint
[17:49:53] <dstufft> Python why do you spit shit out onto stderr without a method to disable
[17:50:00] <mordred> dstufft: because
[17:50:17] <mordred> dstufft: you forgot - you really want the stderr stuff even if you didn't know it
[17:50:19] <dstufft> I just looked how I can disable that error so it just silently doesn't compile stuff
[17:50:21] <dstufft> and nope
[17:50:23] <dstufft> can't do it
[17:50:29] <mordred> wow
[17:50:32] <mordred> that's amazing
[17:50:32] <dstufft> without monkeypatching sys.stderr anyways
[17:50:43] <mordred> well, I mean - we're already monkeypatching a lot of things ...
[17:50:55] <Ivo> could we rename it .py.tmpl ?
[17:51:56] <dstufft> I guess I can rewrite compileall.compile_dir using py_compile with do_raise=True
[17:51:59] <dstufft> and just catch the exception
[17:53:22] <dstufft> https://github.com/pypa/pip/issues/1873
[18:04:48] <mordred> dstufft: so, I'd grab the source and read it myself but bitbucket is down ...
[18:05:28] <mordred> dstufft: with the templates referred to above, does that mean there is a newer/better way to override the script tmpl? or is it just code org?
[18:05:50] <dstufft> mordred: no idea. I don't normally work on setuptools itself much
[18:05:58] <mordred> dstufft: but I assume you know everything
[18:09:01] <dstufft> I'm not aware of anything
[18:34:34] <jaraco> I can back out the change that created those syntax errors. Shouldn't need to patch in pip.
[18:36:31] <dstufft> jaraco: they aren't a problem really, it's just a confusing output
[18:36:34] <dstufft> they install fine
[18:36:45] <dstufft> it's pip's fault for showing syntax errors
[18:37:33] <jaraco> The main reason those templates were .py files was to trigger 2to3 on them.
[18:37:45] <jaraco> Which is no longer necessary or used.
[18:47:32] <dstufft> jaraco: well it's up to you. the problem needs fixed in pip regardless since setuptools isn't the only place that the problem exists in
[18:48:25] <jaraco> it appears when installing setuptools itself. It's probably worth fixing. Thanks for understanding though.
[20:14:46] <pmxbot> jaraco pushed 1 commit to setuptools (https://bitbucket.org/pypa/setuptools/) :
[20:14:46] <pmxbot> Rename script template to use .tmpl extensions.
[20:15:46] <pmxbot> jaraco pushed 3 commits to setuptools (https://bitbucket.org/pypa/setuptools/) :
[20:15:46] <pmxbot> Bumped to 5.0.1 in preparation for next release.
[20:15:46] <pmxbot> Added tag 5.0.1 for changeset 871bd7b4326f
[20:15:46] <pmxbot> Bumped to 5.0.2 in preparation for next release.
[20:16:00] <agronholm> 5.x already? sheesh
[20:19:48] <tomprince> agronholm: strict semver
[20:20:16] <agronholm> so I've been told, but was setuptools so badly broken that a new major version is required every 2 months?
[20:20:46] <dstufft> the 5.x is because the thing that required a 4.x turned out to be broken
[20:20:55] <dstufft> so setuptools wanted to rollback 4.x
[20:20:59] <agronholm> :P
[20:21:02] <dstufft> but you can't go backwards in time
[20:21:10] <dstufft> so you can only march forwards
[21:58:26] <Ivo> dstufft: you ever looked at bitprophet's changelog sphinx plugin?
[21:58:33] <dstufft> yes
[21:58:43] <dstufft> it has a lot of the same problems we have now
[21:58:58] <dstufft> merge conflicts are a problem, and no good way to really enforce that a changelog entry was added
[21:59:38] <Ivo> we could just decide to be more strict on not accepting PRs without changelog entries
[21:59:57] <dstufft> the problem is remembering to do that ;)
[22:00:12] <Ivo> perhaps add a CONTRIBUTING.rst
[22:00:18] <dstufft> relying on humans to enforce something when a machine can do it seems silly
[22:00:28] <dstufft> machines are way better at enforcing something
[22:01:12] <dstufft> also people generally feel less angsty if a machine tells them their thing is wrong than if a human does
[22:01:14] <Ivo> add something in the travis build to check that a PR contains a modification to changes.rst? :S
[22:01:40] <dstufft> so the problem with that, is not every change really deserves an entry in the change log
[22:01:46] <dstufft> or a full entry at least
[22:01:56] <dstufft> the top files approach solves this by using .misc files
[22:02:25] <dstufft> if your change doesn't deserve to be called out specially in the changelog, you add a foo.misc file instead of a foo.bugfix or whatever
[22:02:48] <dstufft> and when the changelog is created, all of the .misc stuff is just lumped together in a list of issues that were fixed but with no prose associated with them
[22:03:25] <dstufft> so you enforce that a foo.<something> was added, and the <something> tells the changelog generation how to interpret it
[22:03:40] <dstufft> bitprophet's thing could do that, if it added a :misc: category that did the same thing
[22:03:47] <Ivo> what are 'top files'
[22:03:50] <dstufft> but you still have merge conflicts
[22:04:17] <dstufft> Ivo: it's what Twisted calls it, basically instead of editing a single CHANGES.rst file, you have a directory, and each change log entry gets it's own file
[22:04:31] <Ivo> oh, yoikes
[22:04:35] <dstufft> named after the issue number and the type of change
[22:04:52] <dstufft> like 1901.bugfix says "this changelog fixed issue 1901, and it's a bugfix"
[22:05:00] <Ivo> dstufft: you know if rtd pulls virtualenv docs from dev or master branch?
[22:05:02] <dstufft> then the release process takes all of those files, and generates a change log from it
[22:05:18] <dstufft> so your releases still end up with a single changes.rst
[22:05:20] <dstufft> Ivo: no idea
[22:05:24] <dstufft> I can check
[22:05:42] <Ivo> I guess you admin the rtd projects?
[22:06:28] <dstufft> develop it looks like
[22:06:38] <Ivo> maybe just not refreshed yet
[22:06:49] <dstufft> Ivo: http://d.stufft.io/image/1o0l2B2l2c3R
[22:07:15] <Ivo> I pushed my branch to refactor virtualenv docs
[22:08:22] <dstufft> can you see https://readthedocs.org/builds/virtualenv/1451086/
[22:08:27] <dstufft> I'm not sure if that's private or public
[22:08:38] <Ivo> hmm, well https://virtualenv.pypa.io/en/develop/ is different from https://virtualenv.pypa.io/en/latest/
[22:08:50] <dstufft> it's probably just the cache
[22:08:53] <dstufft> I think there's an hour cache on it
[22:11:08] <dstufft> Ivo: did you see the mailing list post on pypa-dev?
[22:11:27] <Ivo> thats what made me ask you about bitprophet's thing
[22:11:53] <Ivo> maybe I skimmed too much :)
[22:11:56] <dstufft> ok, wasn't sure since you asked about what topfiles were, maybe I didn' mention that Twisted calls their news thing topfiles
[22:12:10] <dstufft> (no idea why topfiles, it's just what they call it)