IRC logs for #buildstream for Wednesday, 2017-03-15

*** ghishadow_ has joined #buildstream03:15
*** ghishadow_ has quit IRC03:21
*** tristan has joined #buildstream05:56
*** ChanServ sets mode: +o tristan05:56
*** ghishadow_ has joined #buildstream06:47
*** ghishadow_ has quit IRC06:51
*** tristan has quit IRC07:48
*** tristan_ has joined #buildstream07:48
*** tristan_ is now known as tristan07:48
*** ChanServ sets mode: +o tristan07:49
*** ssam2 has joined #buildstream10:18
tristanugh, I've been turning in circles searching for a bug that didnt exist12:28
paulsher1ood?12:28
tristanI have to ostree delete the artifact key to provoke a build that I already built12:31
tristanAnd, since there is also an extract directory... it wont reextract something already built (what I was overlooking)12:32
tristanSo, my attempts to try splitting rules, always showed me the previously composed artifact12:32
tristanHad me looking for what was broken, when in fact the splitting was working correctly12:32
tristanSeems the only remaining problem is a 'garbage in garbage out' problem (which is just to say, the splitting rules themselves could be improved across the stack, handling special cases left and right and providing nicer output)12:34
paulsher1oodaha12:49
*** tristan has quit IRC13:19
*** tristan has joined #buildstream13:40
*** ChanServ sets mode: +o tristan13:41
ssam2It's hard to make it easy to write splitting rules13:41
ssam2the way they are implemented in Baserock definitions isn't good at all13:42
ssam2but since they combine and override each other and are ordered, they just are quite complicated13:43
tristanssam2, yeah14:13
tristanssam2, but this is something thats just all around true14:14
tristanfor instance, living in solviet rpm, manually written manifests split YOU !14:14
tristanI think this is the right balance, just some things need tweaking14:15
tristanOne thing I'd like, is to really build glibc/gcc into /lib14:15
tristanand not /lib64, regardless of whether we're building 64bit... _unless_ you go and define a multilib system14:15
tristanyou only really want obnoxious /lib64 if you want multilib14:16
tristanbut the workaround will be for glibc/gcc to capture that manually (which is what baserock does already)14:16
tristanwell, to be fair you do get globbing with rpm as well14:17
tristanbut you dont get to generalize in your /etc/rpm/macros14:18
ssam2i think I found that lib64/ is quite hardcoded in GCC on x86_6414:18
tristanssam2, a crazy idea I had was to use something like this: https://github.com/idank/bashlex14:27
tristanbut not sure that one is good enough...14:27
tristanIn order to detect functionally equivalent shell scripts14:27
tristanwould be pretty neat14:27
tristanbut just a thought at this point :)14:27
paulsher1oodtristan: one of the things i learned before ybd was to resist adding superfluous dependencies...14:28
tristanpaulsher1ood, indeed14:29
ssam2ha, that is crazy!14:29
tristanthe weight is however reduced when they are pure python14:29
tristanssam2, :)14:29
paulsher1oodtristan: not in my experience14:29
ssam2wow, http://www.explainshell.com/ is cool though14:30
ssam2like a richard maw code -> english converter ;-)14:30
ssam2ah it's just showing the docs for each thing it finds, I thought it was somehow generating a sentence describing the shell code you put into it14:31
tristanpaulsher1ood, when you wrap up into setuptools in the standard ways, you gain some measure of ability to wrap up your dist tarball and all of it's dependencies in one go14:31
tristanthat is not true for system dependencies, but it should be true for the pure python ones at least, you have your eggs and such14:32
paulsher1oodtristan: i mainly want you to keep bearing in mind that ideally bst should run on many arch, with minimal pain to setup, and minimal friction from dependency breakages14:33
tristanyes I understand, I'm conservative14:34
paulsher1ood:)14:34
tristanwith many arch, pure python should not be problematic14:34
tristanreally, it's a matter of properly bundling, but I am conservative still14:35
tristanI dont want to get into a situation where automated docker jobs are relying on a moving git target and need to access internet to pip install things14:35
tristansetuptools should solve at least _this_ problem14:35
paulsher1oodquite14:35
paulsher1oodand i want big-endian arches support too :)14:36
tristan./setup.py sdist --some-option etc14:36
tristanshould get you something with all the (python) dependencies you need14:36
tristanas long as you have an interpretor for arch, it should run14:36
* paulsher1ood wonders about ostree, for example...14:37
tristanexactly, that falls outside of the category of easily available pure python stuff :)14:37
tristanI dont believe it will be problematic to provide multi-arch, however it is certainly linux specific14:38
tristandamn gitlab :-S14:38
* tristan wants it to update pages !14:38
tristanbut but... damn runners, CI fails because its... a task on gitlab... which fails to clone buildstream.git which is... also on gitlab14:39
tristanbut hey, lets use the network !14:39
tristanand fail !14:39
tristan:)14:39
tristanOK ! https://buildstream.gitlab.io/buildstream/ updated14:47
tristanNow with compose element: https://buildstream.gitlab.io/buildstream/elements/compose.html#module-compose14:47
* tristan is falling behind on test coverage, though14:48
* paulsher1ood sees "it's" again and screams inside :)14:49
tristanoh14:50
* tristan has actually been making a conscious effort to _never_ put it's anywhere14:50
* paulsher1ood thinks there should be a pep for this14:50
tristanbecause the rules make absolutely no sense14:50
paulsher1oodyou have it on the third line of that page :)14:51
tristanthe apostrophe is used to denote ownership14:51
tristanin which case that it's is correct, of course14:51
* tristan removes it14:52
paulsher1oodexcept for the special case of its :)14:52
tristanweird14:52
tristansee, no sense at all :)14:52
paulsher1oodyou could have a rule that expressly prohibited "it's" and as a result you'd have to use "its" or "it is"14:52
paulsher1oodanyway, i have dragons to slay...14:53
tristanyes, its for it is, preferable over it's for the thing that belongs to it ?14:53
tristanheh14:54
tristanso now we have quite comprehensive warnings for overlaps, and the files we refuse to stage because they would purport to replace a non-empty directory14:56
tristanat the same time of this compose thing, since I had to walk though symlink thinking a bit again (havent changed policy, but it bit me for a moment)14:57
*** tristan has quit IRC15:07
*** tristan has joined #buildstream15:31
*** ChanServ sets mode: +o tristan15:31
*** ssam2 has quit IRC18:29
*** tristan has quit IRC20:03

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!