[19:05:46] <nanonyme> (I mean, the Python package management + distro package management is by nature incompatible; you must never use root with former whereas you're always supposed to use root with latter)
[19:05:52] <buck1> nanonyme: oh i understand you now, i can build deb (et al) using setuptools as part of the build step
[19:09:25] <buck1> certainly autotools doesn't mind co-habitating with pip
[19:09:37] <buck1> anyhow.... i didn't come to rant
[19:09:48] <buck1> i just want some way to package my thing which has a small .go component
[19:09:56] <buck1> if it's only .deb that can do it ok
[19:10:03] <buck1> but setuptools would be more handy in my case
[19:10:41] <nanonyme> Well, I think you can bundle whatever you want inside a wheel. I just read you actually wanted to pull in some data form external distro package
[19:11:14] <buck1> no there's no distro package. it's all mine
[19:12:54] <buck1> nanonyme: we had to invent the pip-custom-platform to handle the fact that "linux" isn't a singular thing and we need to support more than one flavor
[19:20:08] <buck1> would bring down the number of platforms dramatically
[19:20:45] <buck1> and you'd be able to find compatibility between distros
[19:21:19] <nanonyme> You mean test /lib/libc.so.1.2.3, /lib32/libc.so.1.2.3, /lib64/libc.so.1.2.3, /usr/lib/libc.so.1.2.3, /isr/lib32/libc.so.1.2.3, /usr/lib64/libc.so.1.2.3 to see if any works?
[19:21:44] <buck1> i mean that the linux "platform" for a package would be the list of symbolic links in the package
[19:23:08] <buck1> since the link is specifically /lib/libc.so.1.2.3, no you wouldn't search all those
[19:23:24] <buck1> would only be installable on platforms that specifically have that exact file
[19:23:38] <buck1> which is the same set of platforms on which it would link
[19:24:22] <nanonyme> Yeah, but what if the file can be in four different places and be legit match?
[19:24:42] <nanonyme> You can't really know without actually loading it if it's actually right bitness
[19:24:43] <buck1> maybe i dont know how the dynamic linker works, but I think it only looks at the one spot
[19:29:35] <buck1> i'm saying that if the whl generator created a list of dynamic links, and the whl installer could efficiently match itself to those link-lists, then distro as a concept is factored out
[19:29:58] <nanonyme> Well, what would you have happen if /lib is 32bit, Python is 64bit, /lib/foo.so exists, /lib54/foo.so does not. Should the package be installable or not?
[19:30:16] <nanonyme> What about if /lib is 64bit, /lib64 does not exist at all and /lib32 is 32bit?
[19:37:11] <nanonyme> I'm a bit sceptic tbh, I still think it's less effort to just drop Python packaging and do anything more complicated through distro packaging
[19:37:35] <buck1> we still have a list of packages that link to various libc's
[19:37:49] <buck1> if we know which one each links against, we can ask the linker if that's going to be ok
[19:38:53] <buck1> the problem (I have) is that it's hard to get any particular project to depend on some deb, some python packages
[19:39:06] <buck1> it's much easier to do just one
[19:53:09] <[Tritium]> buck1: unless you are distributing through your OS package manager (you have a thousand servers, and your own apt-proxy to distribute to...) dont depend on OS modules (exception: massive gui libraries that kind of have to be managed by the os)
[19:53:26] <dstufft> buck1: might be useful: https://github.com/shazow/gohttplib
[20:00:24] <buck1> dstufft: cool! thanks. that was the prior art i was hoping irc might show me
[20:00:44] <buck1> erm no there's no python involve
[20:01:13] <buck1> oic it's an example of binding python with go
[20:01:37] <buck1> that wasn't actually my issue. subprocess is good enough for me. my problem is depending python on go
[20:02:42] <buck1> the obvious solution is to deb-pkg the go bit and setuptools package the python bit, but then maintaining the dependency is a matter of documentation and convention which is a smell
[20:03:05] <buck1> i could deb-pkg the python bit and that goes away, but the rest of our project uses setuptools dependency system. virtualenv is nice
[20:03:22] <buck1> so i'm currently going down the path of setuptools-packaging the go bit
[20:03:43] <buck1> probably in the same package as it's not really a separate idea