IRC logs for #buildstream for Friday, 2018-03-02

*** Prince781 has quit IRC00:31
*** noisecell has joined #buildstream01:17
*** noisecell has quit IRC01:20
*** Prince781 has joined #buildstream03:16
*** mcatanzaro has quit IRC03:17
*** Prince781 has quit IRC05:18
*** tristan has joined #buildstream07:29
gitlab-br-botbuildstream: issue #278 ("Filter documentation could be better") changed state ("opened") https://gitlab.com/BuildStream/buildstream/issues/27808:31
*** jonathanmaw has joined #buildstream09:24
*** slaf has quit IRC09:45
*** slaf has joined #buildstream09:54
*** jonathanmaw has quit IRC09:58
*** noisecell has joined #buildstream10:00
*** jonathanmaw has joined #buildstream10:05
juergbitristan: i wasn't talking about the GNOME release (team) situation. that's quite special compared to bst projects tracking 3rd party upstreams10:23
tristanThat makes an assumption about projects wanting to track 3rd party upstreams10:24
tristanThe way one person is used to using buildstream doesnt really mean we know how it will be more popular10:25
juergbiindeed, i already acknowledged that there will definitely be different workflows10:25
juergbihowever, building whole systems is an important use case i'd say, and for that you pretty much necessarily have to track 3rd party upstreams10:26
tristanI see tracking the latest commit on a branch and tracking the latest release tag as semantically different things10:26
tristanThe avenue you suggest makes the project force that choice to be a project-wide one shot decision10:26
tristanWhich, is a tempting shortcut to avoid having to care about the difference, and teach other source plugins to do it too10:27
juergbithere is a semantic difference, sure, but i think the bst project should make that decision (can be different from element to element, though)10:27
juergbiotherwise you essentially maintain two versions of your bst project, one that tracks the latest branches one that tracks the latest releases10:28
tristanThis is sort of what tracking profiles are also for, we know it will be interesting to say "Track these sets of elements when I'm testing this; but that set of elements when I'm testing that"10:28
tristanThat really depends10:29
juergbinot sure whether that will be worth it10:29
tristanYou are assuming that ref is something that you revision10:29
juergbino but i assume 'track' is10:29
tristanWhile that is IMO only a practice you want to employ closer to production10:29
tristanI mean you say "you essentially maintain two versions of your bst project"... that assumes revisioned refs10:30
tristanOtherwise, as usual, a bst project is something many things can be done with10:30
tristanyou may track refs of release tags in a release branch10:30
tristanYou may track refs of latest in your dev CI without revisioning, or even with revisioning in separate tags/snapshots10:31
*** aday has joined #buildstream10:33
juergbii have to admit i don't see a huge point in non-revisioned refs10:34
tristanjuergbi, to be clear; I dislike the feature overall because of the complexity it adds, but recognize the usefulness of it. If we must do it, it would be best not done with the quickest, easiest path to getting a feature in.10:34
juergbii'm not trying to rush it, just trying to figure out how we can improve things10:34
juergbithe dependencies, patches, instructions apply to the chosen branch / release series and sometimes (mainly patches) depend on a particular commit range within the tracked branch10:35
juergbiit doesn't make sense to pretend that .bst files can be built with arbitrary upstream versions10:35
tristanI see an issue that is inherently complex and poses a serious question about buildstream having to learn about what a release is in tracking; I dont think this is something that is specific to VCS10:36
tristanAnd worry that there is already an MR for it10:36
juergbias i mentioned, my main point is that some projects don't (always) have usable stable branches10:36
juergbiso even if i say i like the semantic policy of always tracking stable branches, it's not possible to use it for all elements right now10:37
tristanElements are also not obligated to provide `track:` at all10:37
juergbisure10:38
tristanI.e. if you want to ensure this element doesnt slip into an unsupported version, and recursively track10:38
tristans/elements/sources10:38
juergbiin practice it just means that tracking is too limited for wide-spread use10:39
juergbiyou still have to track tons of elements manually10:39
juergbiand i think fixing that situation is much more important than introducing fancy tracking profiles10:39
juergbithat's just my pov10:39
juergbiand i think the features are mostly orthogonal10:40
tristanHonestly, for freedesktop-sdk, this is not immensely pressing; the SDK has been manual with tarballs forever10:40
tristanIts nice to improve, yes - but we shouldnt hurry a feature into it and disregard that release tracking is a different activity from latest tracking10:41
juergbiagreed, it's no regression, no need to hurry10:41
tristanThe reason tracking profiles comes up in discussion, is because it is an avenue to make it simpler for the user to use; when the distinction of release vs latest becomes important.10:41
tristanI.e. if BuildStream must learn to track releases, that should not be some crazy command line options a user needs to know how to use10:42
tristanIt can be expressed once in the project10:42
juergbii simply wanted to emphasize that tracking releases is even required with a single tracking profile (for upstreams without stable branches)10:55
gitlab-br-botbuildstream: merge request (juerg/git-track-tags->master: WIP: git.py: Support tracking annotated tags in a branch) #303 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30310:56
juergbiand per-element config is definitely required as buildstream can most likely not guess which sources have stable branches10:59
juergbihowever, per-element config could well be just one part in the whole equation10:59
tristanjuergbi, another thought is project conditionals and how they can possibly assist in the decision11:01
juergbiyes, i mentioned that in the gitlab issue. one possibility would be to use a project option as a form of tracking profile11:02
tristanunfortunately I think it's still a bit limiting, sources need to be entirely conditionalized when there was never a previous ref and a new one is needed11:02
juergbiyes, external .refs might help here11:02
tristan(ref appears outside of conditional statement)11:02
juergbii guess it would be tricky to get track-save to always put ref in the same conditional as track11:03
juergbiand with project-wide track-tags even that would not be sufficient11:03
*** aday has quit IRC11:07
*** tristan_ has joined #buildstream11:07
*** tristan has quit IRC11:08
*** slaf has quit IRC11:08
*** aday has joined #buildstream11:19
jennis_Is an error like this: Error loading pipeline: No Source type registered for kind 'docker' likely to be because I don't have docker installed?11:23
jennis_if not, where are the source types registered?11:24
tristan_jennis_, http://buildstream.gitlab.io/buildstream/projectconf.html#project-plugins11:34
jennis_thanks tristan_11:34
*** tristan_ is now known as tristan11:34
jennis_ok yes, I get that, so you inform BuildStream of the of the plugins an the origin by adding `sources:` to the .bst11:40
jennis_Which I have, yet still get this error?11:40
jennis_and the origin*11:40
*** ernestask has joined #buildstream11:46
tristanjennis_, to the project.conf11:52
tristanthat is in the project.conf documentation, specifying how a project declares which plugins to load and how11:53
gitlab-br-botbuildstream: merge request (tristan/shell-mounts->master: Adding new --mount option to bst shell.) #302 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30212:10
*** xjuan has joined #buildstream12:22
gitlab-br-botbuildstream: merge request (issue-243_dpkg_import_source_plugin->master: WIP: Created DPKG Source plugin for Issue #10) #305 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30512:23
*** slaf has joined #buildstream13:36
*** i0d3l4y has joined #buildstream13:41
*** i0d3l4y has quit IRC13:59
*** mcatanzaro has joined #buildstream14:16
gitlab-br-botbuildstream: merge request (278-filter-documentation-could-be-better->master: WIP: Resolve "Filter documentation could be better") #304 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30414:20
*** aday has quit IRC14:54
gitlab-br-botbuildstream: merge request (278-filter-documentation-could-be-better->master: WIP: Resolve "Filter documentation could be better") #304 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30414:59
gitlab-br-botbuildstream: merge request (issue-243_dpkg_import_source_plugin->master: WIP: Created DPKG Source plugin for Issue #10) #305 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30515:13
*** aday has joined #buildstream15:26
*** aday has quit IRC15:50
*** aday has joined #buildstream15:59
*** jonathanmaw has quit IRC16:32
tlaterI'm trying to learn how to use GLib by reverse-programming from this function: https://gitlab.com/BuildStream/buildstream/blob/master/buildstream/_ostree.py#L12316:44
tlaterUnfortunately trying to commit to a test repository that I set up hackily using this results in an exception with 'Bad File Descriptor'16:45
juergbitlater: do you mean OSTree or really GLib?16:47
tlaterI'm trying to give that function an OSTree.Repo I create using `OSTree.Repo.new(Gio.File.new_for_path(args.repo))`16:47
tlaterjuergbi: Well, how to manipulate OSTree using the GLib gobject-introspection interface :)16:47
juergbitlater: did you also call repo.create()?16:49
tlaterjuergbi: I first created the repo using the ostree cli16:49
* tlater attempts repo.create()16:49
juergbiok, but you still need to call either repo.open() or repo.create()16:49
juergbithe former requires it to exist on disk already, the latter works either way16:49
juergbithere should probably be a better error message but that would be the fault of libostree...16:50
tlaterAh, ta juergbi16:50
tlaterI assumed .new() would open it from the given dir16:51
tlaterBut I guess that's a stupid assumption16:51
tlaterWhy else would you call it .new()? x)16:51
*** aday has quit IRC16:53
*** noisecell has quit IRC16:56
*** aday has joined #buildstream16:57
juergbihehe. some classes use two-stage construction as traditional _new() functions typically don't report errors16:58
juergbiGObject _new() functions are often just a wrapper around g_object_new() which doesn't support errors16:58
juergbi(the GInitable interface more or less solves that)16:59
gitlab-br-botbuildstream: merge request (issue-243_dpkg_import_source_plugin->master: WIP: Created DPKG Source plugin for Issue #10) #305 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/30518:02
*** tiago has quit IRC18:32
*** aday has quit IRC19:02
*** aday has joined #buildstream19:03
*** noisecell has joined #buildstream19:38
*** xjuan has quit IRC19:50
*** valentind has joined #buildstream19:56
*** aday has quit IRC20:29
*** ernestask has quit IRC20:33

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