[00:49:18] <r1chardj0n3s> looking into https://github.com/pypa/pip/issues/1733 ... the support for XDG is very low, so I think the only thing to do is add support for an /etc/pip.conf
[01:07:06] <dstufft> r1chardj0n3s: for system wide config?
[01:07:26] <dstufft> for system wide config I think we should follow XDG, but just use /etc/pip.conf as the default
[01:07:38] <r1chardj0n3s> sorry, quassel crapped out on me there
[01:08:07] <r1chardj0n3s> I'm currently re-reading through 1733 discussion in detail
[01:08:20] <dstufft> IOW for system wide config we should juse
[01:08:26] <r1chardj0n3s> I think using the XDG env var if set to try that location is good, falling back on /etc/pip.conf
[01:10:22] <r1chardj0n3s> jezdez is unhappy about xdg ;)
[01:10:36] <dstufft> I'd rather do pypa/pip.conf than pypa-pip.conf, but I think just pip.conf is fine tbh
[01:10:37] <r1chardj0n3s> so supporting non-xdg is important
[01:10:46] <dstufft> unhappy about what part of it
[01:11:01] <r1chardj0n3s> I googled "/etc/pip.conf" and got zero non-pypa-discussion hits :)
[01:13:45] <r1chardj0n3s> just realised that https://github.com/pypa/pip/issues/1736 isn't formally linked from 1733, but then I'm also happy for it to be a whole other post-1.6 thing
[01:14:37] <r1chardj0n3s> the discussion about overrides kinda petered out. To be honest, whole-file-override makes a lot of sense to me (ie. if one file exists, it completely overrides anything in another file)
[01:36:49] <r1chardj0n3s> ok, I finally got through my third re-reading of 1733 (I'm slow sometimes) and I think the "consensus" is to vendor appdirs
[01:37:44] <r1chardj0n3s> but to extend Linux site_config_dir with plain /etc/
[01:41:55] <r1chardj0n3s> though to be honest, using appdirs really blows "one obvious way to do it" out of the water given the existing use of ~/.pip/pip.conf
[01:42:15] <r1chardj0n3s> so we'd be using appdirs for site but not user
[02:10:07] <r1chardj0n3s> ok, code written, now to attempt to write the user guide for it lol ;)
[05:48:49] <jezdez> dstufft: unhappy about the weirdness of the standard. looking at other software on my ubuntu machine only very few use XDG so I’m not sure why we should. pip isn’t particularly married to the X desktop after all
[05:50:55] <dstufft> jezdez: interesting, I don't find the standard wierd at all except the default to /etc/xdg/ instead of just /etc/, what parts do you find wierd?
[05:52:05] <jezdez> dstufft: it seems like a non-standard to me, why isn’t everyone else using /etc/xdg/<foo> but instead /etc/<foo>?
[05:52:26] <dstufft> /etc/xdg/ seems to be the most ignored part of the standard, the rest of it seems to be followed
[05:53:33] <jezdez> and git is a good example for pip to follow?
[05:53:59] <jezdez> http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html is laughable as a standard
[05:54:59] <dstufft> I'm not sure how to answer the git question fully, I don't think git is a bad example for pip to follow, certainly some parts of git I don't think we should, but a lot of git is well designed and well thought out and is definitely a good example
[05:55:16] <dstufft> I'm also not sure how to answer some of the questions that XDG answers elsewise
[05:55:37] <dstufft> where do you put a per user cache at for instance
[05:56:22] <jezdez> IIRC others use ~/.<foo>/cache for stuff like that
[05:56:34] <jezdez> I don’t follow why we can’t do that as well
[05:58:03] <dstufft> partially because that's a kind of crappy "standard" in general. You generally don't want to backup or version control a cache directory, but doing it that way means I need to ensure that various ~/.<foo>/cache directories are excluded from that vs excluding all of ~/.cache
[05:58:41] <dstufft> I mean that's the just make shit up angle, which means that for someone trying to do something for _all_ of their software, they need to investigate each one individually
[05:59:31] <jezdez> understood and I sympathise for those people having to exclude the pip cache folder from their backup
[06:00:28] <jezdez> what strikes me as particularly bad is the naming of /etc/xdg I think
[06:01:08] <jezdez> I guess /etc/config/ seemed a bit weird
[06:01:19] <dstufft> Yes I don't particularly like that, and in my investigation a lot of things simply don't bother to follow that rule as a default and they just default to /etc/, or they default to "/etc/:/etc/xdg/"
[06:01:52] <jezdez> config parser does support multiple locations, right?
[06:02:17] <dstufft> yes, and that was my understanding of what we were actually going to do, becuase I don't particually like the /etc/xdg thing either and nor did other people in that thread :)
[06:02:49] <dstufft> I mean even if we move our config to ~/.config/, we'll still support the "old" location too
[06:06:05] <dstufft> but yea, this is a constant problem with linux where it's really a whole bunch of vendors who all have their own opinions on things
[06:06:24] <dstufft> vs OSX/Wiondows where you have one vendor who makes the rules
[06:08:52] <r1chardj0n3s> hey dstufft: just looking at documenting the config changes and adding something about the virtualenv changes; the current get_config_files() has the per-user config file (~/.pip/pip.conf) overriding the virtualenv one in precedence whereas I'd have it the other way around (virtualenv > user > site)
[06:09:14] <dstufft> virtualenv > user > site sounds correct to me
[06:09:22] <dstufft> most specific to least specific
[06:09:33] <r1chardj0n3s> kewl, will change that then
[06:09:45] <r1chardj0n3s> hm, assuming you're ok that that change comes in at the same time as the site change?
[06:10:30] <jezdez> r1chardj0n3s: see my comment, https://github.com/pypa/pip/issues/1733#issuecomment-52277092
[06:11:08] <dstufft> r1chardj0n3s: personally? yea I'm fine with the change happening at the same time, different commits might be nice but I'm not too fussed either way
[06:11:11] <r1chardj0n3s> jezdez: my implementation uses XDG if the var is defined, but also always includes bare /etc/ as a location as well
[06:11:18] <dstufft> someone else might complain I dunno