PMXBOT Log file Viewer

Help | Karma | Search:

#pil logs for Wednesday the 24th of April, 2013

(Back to #pil overview) (Back to channel listing) (Animate logs)
[04:55:46] <wiredfool> idella4:
[04:56:02] <wiredfool> ping
[04:56:08] <idella4> hi there
[04:56:16] <idella4> how you going?
[04:56:29] <wiredfool> got it all working
[04:56:35] <idella4> ye with the playful kids
[04:56:38] <idella4> ah ok
[04:56:39] <wiredfool> except for littlecms
[04:56:51] <wiredfool> hey, being a soccer dad is fun
[04:57:01] <wiredfool> at least when it's sunny, not 45 and rainy
[04:57:07] <idella4> hm yep I remember well
[04:57:22] <idella4> so is this patch ing setup.py?
[04:57:29] <wiredfool> yep
[04:57:31] <idella4> to get py3 to play nice?
[04:57:42] <idella4> ah pk
[04:57:42] <wiredfool> certain specific versions of py3
[04:57:52] <idella4> hmm tight
[04:57:55] <wiredfool> but 3.2.3 and 3.3.0 work find
[04:57:57] <wiredfool> fine
[04:58:12] <idella4> with the patch that is
[04:58:17] <wiredfool> yes
[04:58:24] <idella4> hmm good
[04:58:40] <wiredfool> 3.2.4 and 3.3.1 work out of the box with the versions on python.org
[04:58:59] <wiredfool> (on neddyseagoon's vm that he provided me)
[04:59:17] <idella4> have you perused the gentoo bug that spawned this?
[04:59:18] <wiredfool> and for completeness, 2.6.8 and 2.7 work too, but I wasn't questioning those
[04:59:26] <wiredfool> which one?
[04:59:38] <idella4> O'll get the link
[04:59:58] <wiredfool> patch is here: https://github.com/wiredfool/Pillow/tree/gentoo_3x
[05:00:05] <wiredfool> or at least, in that branch
[05:00:17] <idella4> https://bugs.gentoo.org/show_bug.cgi?id=401009
[05:00:20] <wiredfool> will probably get merged once I've got confirmation that it's working
[05:00:39] <idella4> I think you have to login to gentoo bugzy first
[05:01:06] <idella4> ymm well patching it conditionallly in setup.py is easy
[05:01:52] <idella4> confirmation comes from aclark testing it perhaps?
[05:02:09] <wiredfool> well, perhaps someone other than me on gentoo
[05:02:15] <wiredfool> aclark is mostly on mac
[05:02:22] <idella4> so you've actually got into a gentoo system
[05:02:33] <idella4> hmm ok
[05:02:47] <wiredfool> cgohke is on win
[05:02:53] <idella4> well that's one good thing that's cone out of it
[05:02:54] <wiredfool> access to neddy's
[05:03:18] <wiredfool> I'll see about getting a copy so that I'm not using up his poor server
[05:03:29] <idella4> hmm Neddy's nic comes from the goons of the sic=xties
[05:03:39] <idella4> hmm Neddy's nic comes from the goons of the sixties
[05:03:46] <wiredfool> ah
[05:03:49] <idella4> which is his ers
[05:03:52] <idella4> which is his era
[05:04:02] <idella4> mine too actually, I remember the goons
[05:04:13] <wiredfool> before my time
[05:04:24] <wiredfool> and probably a different continent
[05:04:38] <idella4> and he is Mr gentoo, an obliging gentleman in every way
[05:04:43] <wiredfool> cool
[05:04:56] <wiredfool> Ok, so reading through the bug
[05:05:03] <wiredfool> I highly recommend 2.0.0
[05:05:04] <idella4> he's in Britain, english born'living andworking in Scotland
[05:05:14] <wiredfool> my wife is from N. Oreland
[05:05:14] <idella4> hmm yep
[05:05:16] <wiredfool> Ireland
[05:05:25] <idella4> ah you have the gentoo bug up yep?
[05:05:25] <wiredfool> so, I've had some exposure to the uk
[05:05:39] <idella4> ah right
[05:05:40] <wiredfool> I can read the bug, not comment
[05:05:46] <idella4> right
[05:05:54] <idella4> the bug has a sad twist to it
[05:06:10] <wiredfool> There's a branch that I'd like to merge that moves everything into the PIL namespace
[05:06:19] <wiredfool> what's that?
[05:06:33] <idella4> so mgorny is the last to comment and it was he who added it to portage
[05:06:52] <idella4> so he has obsoleted the ebuilds I put in
[05:07:15] <wiredfool> meaning overwrote them?
[05:07:39] <idella4> once he read the bug at github he deciphered the problem was in py3.2.3
[05:07:46] <idella4> no not overwrote
[05:08:08] <idella4> in adding a comment you can elect to obsoloete prior attachments
[05:08:28] <idella4> which is what he did to mine, not once but twice
[05:09:02] <idella4> I added the second after getting py3.2.4 to work the testsuite
[05:09:18] <wiredfool> my namespaced branch, pull request https://github.com/python-imaging/Pillow/pull/191 could break things that import anything not under PIL, e.g. django imports simply _imaging.
[05:09:42] <wiredfool> ah. not sure I follow all of that. mgorny sent a bunch of pull requests a day or so ago.
[05:09:50] <wiredfool> I've merged most of them.
[05:10:01] <idella4> ah right
[05:10:16] <wiredfool> /all, one of his was a request without code
[05:10:25] <wiredfool> for switches
[05:10:41] <idella4> basically he considered his ebuild trumped mine
[05:10:47] <wiredfool> ah
[05:10:58] <idella4> and was the 'better'
[05:11:30] <idella4> I would rarely if ever obsolete someone else's attachment ebuild
[05:11:41] <idella4> but he did it without hesitation twice
[05:12:09] <idella4> which basically subverted and wastedall my effort in working an ebuild for pillow
[05:12:22] <idella4> with the exception of getting you the gentoo vm
[05:12:38] <wiredfool> thanks for your help on that
[05:12:50] <idella4> you're quite welcome
[05:12:58] <idella4> it has a long term benefit
[05:13:02] <wiredfool> I feel better about attempting to support gentoo now
[05:13:09] <idella4> and in no way was that wasyed effort
[05:13:18] <idella4> and in no way was that wasted effort
[05:13:21] <idella4> hmm yep
[05:13:22] <wiredfool> yeah.
[05:13:41] <idella4> and you can at your pleasure exchange with Neddy
[05:13:51] <idella4> which I recommend, he's 'just grand'
[05:14:04] <wiredfool> I want to get the .deb solid, but I haven't seen any progress on that. which is funny, since that's what I'm on all the time
[05:14:15] <idella4> alI see
[05:14:52] <wiredfool> launchpad is a pain.
[05:14:52] <idella4> what was the content he submitted in the pull request(s) ?
[05:15:07] <wiredfool> but it will do automated daily builds, which is nice.
[05:15:11] <idella4> launchpad ah right, that's debian ubuntu based
[05:15:25] <idella4> right
[05:15:58] <wiredfool> oh, he had a request for switches to en/disable features, patches for shebangs on the scripts, skipping tests for items that weren't built.
[05:16:29] <wiredfool> and moving temp files into a /tmp directory while testing
[05:16:43] <idella4> tight I see
[05:16:59] <idella4> kind of standard gentoo build stuff
[05:17:23] <wiredfool> yeah. pil's roots are so old, there's a lot of cruft there
[05:17:38] <idella4> he based his ebuild on the ousted imaging, I made one based on the dying PIL
[05:18:04] <wiredfool> I got pulled into pillow because I rewrote a patch I'd been maintaining since 2005
[05:18:33] <idella4> hmm a number of years ago now
[05:18:46] <idella4> implying you do other packages then?
[05:18:56] <wiredfool> not really
[05:19:00] <wiredfool> I
[05:19:13] <wiredfool> I've done a few internal backports
[05:19:23] <idella4> you do now pillow primarily then?
[05:19:29] <wiredfool> but this was something that I needed at $day_job
[05:19:38] <idella4> ah right
[05:21:24] <idella4> mgorny has more advanced knowledge than me, he's re-writing eclasses
[05:22:00] <idella4> which basically direct traffic in an build test install at a higher organization level
[05:22:37] <idella4> so he's dealing with scripts becoming uquipeed with valid shebangs and such
[05:23:54] <idella4> so is PIL still PILL or does it now represent Pillow?
[05:24:04] <idella4> so is PIL still PIL or does it now represent Pillow?
[05:25:32] <wiredfool> I don't really know. there hasn't been much motion on PIL for 4 years now, though there was some form of a 1.2 alpha in source control
[05:28:08] <wiredfool> I haven't seen anything from frederick on the image-sig list for over a year
[05:28:20] <wiredfool> so, dunno what the real status of PIL is
[05:28:50] <idella4> so his submitted pull request content measured up ok and you implemented 'em all?
[05:29:13] <wiredfool> I changed a bit of the testing one
[05:29:26] <idella4> hmm yep the interest to switch to pillow is done because of that
[05:29:48] <idella4> testing being related to tests?
[05:30:23] <wiredfool> yep.
[05:31:53] <wiredfool> did the setup.py patch work for you?
[05:32:03] <idella4> hmm right. the imaging ebuild has a use flag for about every optional element that you can elect to support
[05:32:11] <idella4> I've not tried it
[05:33:24] <idella4> The reason I said is has a sad note is I'm now reticent to work gentoo-python due to mgorny's response
[05:33:38] <wiredfool> ah
[05:34:10] <idella4> while his knwledge ase is more advanced than mine, a point I've always beem open oabout
[05:34:34] <idella4> his actions basically say" I know more than you and
[05:34:45] <idella4> my ebuild is better than your ebuild and
[05:35:04] <idella4> since I;m working pillow you can stop bothering now
[05:35:18] <idella4> because of all of the above
[05:35:43] <idella4> which is about as pious and anti team as you can possibly get
[05:38:35] <idella4> which is a gentoo internal 'issue', and why didn't join python-gentoo irc yesterday, and whi I wasn't aware of your patch
[05:39:05] <wiredfool> the patch was maybe an hour ago
[05:39:20] <idella4> oh an hour ago
[05:39:31] <idella4> that recent
[05:39:49] <idella4> well I'm guessing you'd like me to try it out yep?
[05:39:49] <wiredfool> I thought you'd gotten the github email, since it was just before I saw you here
[05:39:58] <idella4> aha
[05:40:12] <wiredfool> yep.
[05:40:12] <idella4> No I just turned on the computer
[05:40:20] <wiredfool> ha. timing
[05:40:26] <idella4> which automatically logges into irc
[05:40:46] <idella4> and I elected to keep the pil tab open
[05:40:55] <wiredfool> I didn't get littlecms to be recognized, but all the others worked for em
[05:41:16] <idella4> basically because you are so obliging and I allowd for that you might do as you have
[05:41:37] <wiredfool> well, not tk either, but I didn't actually try that one. but jpeg, tiff, and freetype, zlib all recognizd
[05:42:23] <idella4> littlecms, tk, just 2. right
[05:42:46] <idella4> they are in terms of priority more periphheral I think
[05:42:52] <wiredfool> yeah
[05:43:06] <wiredfool> I try to include them for completeness
[05:43:08] <idella4> ok well I'd better spark up this patch and run it in my ebuild
[05:43:13] <idella4> let's see
[05:44:38] <idella4> we have Workaround for python issue: http://bugs.python.org/16754 in 3.2.x < … …
[05:44:48] <idella4> 2 separate links which 1 do I need?
[05:46:06] <idella4> @ https://github.com/wiredfool/Pillow/commit/315503e9d53c5b525d455f58fd1ad9d6c8150897 by the looks
[05:46:25] <wiredfool> yep
[05:48:11] <idella4> I've re-emerged py3.2.3 since I proved it to work on py3.2.4 so the system is set 'right'
[05:50:17] <idella4> just remaking or is it rebasing the patch in my gentoo
[05:50:36] <idella4> how did you like the look and style of gentoo by the way wiredfool?
[05:50:47] <idella4> once in Neddy's vm?
[05:51:10] <wiredfool> eh, It's unfamiiar
[05:51:20] <idella4> hmm it would be that
[05:51:21] <wiredfool> I can make deb/ubunut sing,
[05:51:33] <idella4> sing I like that use of term
[05:51:43] <wiredfool> I can install a fresh vm in a minute or two
[05:51:50] <wiredfool> not just clone
[05:52:05] <idella4> making gentoo more kind of forced 'croak'???
[05:52:19] <wiredfool> It forces a slower approach to things
[05:52:35] <wiredfool> I tend to have a lightweight container, and put everything in different vms, one per service
[05:52:50] <idella4> oh yep, fully manual and you got to make choices of more options
[05:52:58] <wiredfool> and I have scripts to set up the vms, kind of like puppet or chef, bit it predates those
[05:53:07] <idella4> profile, KEYWORD status and so forth
[05:53:13] <wiredfool> I tend to work at different level
[05:53:20] <idella4> yep
[05:55:28] <idella4> well I suppose the good new is now you can have lots of practice
[05:55:34] <idella4> time allowing
[05:56:52] <idella4> ok patch remade, now to add it to the ebuild and run it
[05:58:30] <idella4> * Applying setup.patch ...
[05:58:38] <idella4> == patch taken
[06:00:12] <idella4> -------------------------------------------------------------------- --- PIL CORE support ok --- TKINTER support ok --- JPEG support ok --- ZLIB (PNG/ZIP) support ok --- G4 TIFF support ok --- FREETYPE2 support ok --- LITTLECMS support ok --- WEBP support ok
[06:00:31] <idella4> --- 3 tests skipped.
[06:00:51] <idella4> ['test_imagegl', 'test_imagegrab', 'test_imageqt']
[06:00:57] <idella4> 85 tests passed
[06:01:05] <idella4> how does that look wiredfool ???
[06:01:36] <idella4> pretty cool? it was invoked by dev-python/pillow $ PYTHON_TARGETS=python3_2 ebuild pillow-2.0.0.ebuild clean test
[06:02:27] <wiredfool> That's pretty much what I'd expect
[06:02:31] <idella4> well gentoo is a kind of class of its own
[06:02:53] <idella4> you can make apt-get work in .rpm distros
[06:02:55] <wiredfool> those three tests are ones that I've never seen working
[06:03:03] <idella4> and there was even a slapt-get
[06:03:10] <idella4> ah right
[06:03:18] <idella4> so mb they can just 'go'
[06:03:50] <wiredfool> I'm not sure what conditions they're used in. I think imagegrab might be windows only
[06:04:01] <wiredfool> gl and qt, I'm not sure of
[06:04:08] <idella4> well that looks like a nice successful test run for you really
[06:04:13] <idella4> hmm yep
[06:05:29] <idella4> the ebuild mgorny used, the old imaging, made about every 'feature' an option
[06:05:51] <idella4> and in gentoo style they'e made active by a manufactured use flag
[06:06:39] <idella4> the old imaging has about half the use flags making the other halg unconditional. therby mandatory options in the build
[06:07:08] <idella4> so that's looking just right for you it seems
[06:07:19] <wiredfool> yep, that's success
[06:07:28] <wiredfool> I'm going to head off
[06:07:35] <idella4> hmm ok
[06:07:40] <wiredfool> later
[06:07:45] <idella4> been a pleasure
[06:07:47] <idella4> bye
[11:43:33] <aclark> wiredfool: do you want #202 and #191 merged yet?
[11:43:48] <aclark> wiredfool: i'm ok with merge now and test later if what you have is "close enough"
[11:44:07] <aclark> wiredfool: but of course, I don't want to be reverting things later :-)
[16:08:05] <wiredfool_> aclark: I'm not ready for PR202 to go, 191 is a maybe. There's some breakage by design there, easily fixed, and the sooner the better. OTOH, I'd feel better if someone other than you and me gave it a smoke test
[17:26:54] <aclark> wiredfool_: k, well once it goes in master everyone else can test pretty easy so i'll merge 191 then?
[17:27:43] <wiredfool_> guess so.
[17:28:20] <wiredfool_> I wonder how hard it is to download all the packages that depend on PIL and test them
[17:28:30] <wiredfool_> for statistical purposes
[17:28:48] <aclark> wiredfool_: i'm not going to do any *actual* testing until just before we release end of q2, at which point i'll do the same testing dance i did just prior to 2.0.0 release
[17:29:04] <aclark> wiredfool_: probably impossible-ish
[17:29:20] <wiredfool_> does pip have reverse-depends?
[17:29:54] <wiredfool_> someone teased out a list from debian, which I could probably grab in source form
[17:29:56] <aclark> no idea, i mean you could get a list of all the deps of all the packages on pypi then filter through it to see which include PIL
[17:30:09] <aclark> then what? Lots of work to build some system that would test PIL against all that software
[17:30:40] <wiredfool_> I'm thinking more of grepping for the imports that I know will break
[17:30:53] <wiredfool_> but triggering any self tests would be nice too
[17:31:08] <aclark> wiredfool_: i would just document and spend that time on Pillow :-)
[17:32:00] <wiredfool_> what do you think about my approach for the file-like obj in fonts?
[17:32:13] <wiredfool_> from a compatibility/clairity pov
[17:35:30] <aclark> wiredfool_: looks reasonable-ish. For anything we're not sure about I'm just trying to keep a mental picture of the prior implementation in case we have to revert.
[17:36:27] <wiredfool_> I think this feature is one of those where we're not going to see the breakage for a long time, if it shows up.
[17:36:43] <wiredfool_> the imports, they're nice in that boom, right away, and there's a simple fix
[17:36:58] <wiredfool_> And hopefully, they take care of pil stomping on us
[17:37:28] <aclark> wiredfool_: right i don't mind that. if we break something and someone reports it we'll just fix it and cut a small point release.
[17:37:33] <wiredfool_> fwiw, the tests on that branch now install the pil into the system python, before testing us in the virtualenvs
[17:37:44] <aclark> k
[17:38:04] <wiredfool_> and when we're importing, we're making sure that the pillow versions match
[17:38:34] <wiredfool_> which reminds me, I wanted to make that and the plugin list dynamic at setup time
[17:38:38] <aclark> wiredfool_: is there a ticket for: Allowing to pass font as file-like objects ?
[17:38:56] <wiredfool_> there's a pull request that we're working on
[17:39:01] <aclark> wiredfool_: If not I'd open one then mail the imaging list saying "any thoughts or feedback?" When you get crickets: you'll know you are OK
[17:39:19] <wiredfool_> I could send anything to the imaging list and get crickets
[17:39:40] <aclark> People are actually reading it and not responding in most cases IIUC
[17:39:48] <wiredfool_> I'm thinking of haveing setup.py write the __init__.py file, and a version.h header
[17:40:22] <aclark> Hmmm, now that I'm probably not a fan of... but I guess if you can make a case for it
[17:40:32] <wiredfool_> then, the only place we define a version would be in setup.py
[17:41:09] <aclark> Seems like there has to be a better way… you mean setup.py writing the __init__.py for the PIL package?
[17:41:16] <wiredfool_> yeah
[17:41:41] <wiredfool_> what I'm doing on my windows thing is that I've got a version.py file, that's the only place I have a version
[17:41:56] <wiredfool_> and I import it for setup, and everywhere else
[17:42:13] <wiredfool_> but in this case, I need a list of plugins as well, and I need the version for the c code
[17:42:30] <wiredfool_> and I haven't managed to pass the version string in as a command line compiler define
[17:42:51] <aclark> I don't want to do anything "crazy" that someone (anyone) would look at and say "WTF?" Even if it makes sense to use it'll be hard to explain and likely not worth it.
[17:43:17] <wiredfool_> I don't want to have to manually maintain stuff
[17:43:45] <wiredfool_> Though, the plugin lists are all over the place already
[17:44:25] <aclark> Plugin lists? You mean PIL plugins e.g. webp?
[17:45:16] <wiredfool_> yeah. look at __init__ in the namespace pyll request
[17:45:19] <aclark> IIUC, PIL currently does a terrible job at managing plugins. But it's probably a terrible job everyone is familiar with at least. So if we start fixing that we probably need to be careful.
[17:45:46] <aclark> Because there is the risk of making it worse, more confusing, etc
[17:45:52] <aclark> k
[17:46:02] <wiredfool_> I'm trading a runtime scan for *ImagePlugin.py in a bunch of directories for a compile time scan of the pil directory
[17:46:32] <aclark> Don't we have a "real" plugin system for Python e.g. entry points based, or something?
[17:46:42] <wiredfool_> The runtime scan is sketchy, I think from a clarity, performance, and probably security pov
[17:47:05] <wiredfool_> Umm. I need to watch that video
[17:47:26] <wiredfool_> what PIL has is a plugin registry for open, save, and maybe other things
[17:47:39] <wiredfool_> It's triggered by some function calls when you import your image plugin.
[17:48:21] <wiredfool_> the image plugin imports are (current mainline) triggered by having a *Imageplugin.py specially named file in the path or current directory
[17:48:44] <aclark> Right, gross
[17:48:50] <wiredfool_> My change is "this compiled list of plugins, and anything else the user has imported"
[17:49:06] <wiredfool_> explicit is better than implicit
[17:50:33] <wiredfool_> anyway, the big potentially breaking changes are in that pull request. The maintenance details aren't, but they don't really change the interface
[17:50:34] <aclark> Sure
[17:50:41] <aclark> k
[17:51:44] <aclark> I mean, if it's something no one is going to ever notice… then I don't care. If there is the potential for someone and say "WTF?" then we'll have to be prepared to defend the decision, etc.
[17:54:03] <wiredfool_> Understand
[17:54:58] <wiredfool_> I'd like to add version tagging in all the .so files, so that we know when we've managed to cross import something that we're not supposed to.
[17:55:24] <wiredfool_> that's one way to detect some of the errors we were getting with the jpeg stuff.
[17:56:18] <wiredfool_> the other way would be static libraries, but I don't know how much we want to do that, since it means that you've got to recompile pillow everytime there's a tiff security update, which is far more often than one would prefer given the age of the software
[17:57:51] <aclark> Yeah no thanks probably
[17:58:01] <aclark> Welp, we have some time to figure it out
[17:59:55] <wiredfool_> otoh, I think that's what winds up happening on windows
[18:00:37] <aclark> good point
[18:01:27] <wiredfool_> adn come to think of it, I have to explicitly import the image plugins I want in setup.py to get them included in my py2exe file