IRC logs for #buildstream for Thursday, 2018-02-01

*** Prince781 has quit IRC02:56
*** mcatanzaro has quit IRC03:13
*** valentind has joined #buildstream08:29
*** aday has joined #buildstream09:01
*** valentind has quit IRC09:08
*** jonathanmaw has joined #buildstream09:26
*** ernestask has joined #buildstream09:32
*** ssam2 has joined #buildstream09:35
*** adds68 has joined #buildstream09:53
*** adds68 has quit IRC09:58
*** jennis has joined #buildstream11:18
persiaIs there a recommended best practice to store a blessed artifact somewhere for reuse?  Examples would be the results of porting a self-hosted environment (e.g. Free Pascal Compiler) to be part of a system.12:06
ssam2I have done this by setting up an OSTree repo on a server, and using a fork of `ostree-push` to send the binaries there12:08
ssam2you could also upload a tarball of the binaries somewhere if that's easier12:08
ssam2i think i did document my example process .. one sec12:08
persiaAh, and then just use that collection of blessed binaries as a source?12:08
ssam2yeah12:08
ssam2i documented a process for baserock at https://gitlab.com/baserock/definitions/#bootstrap-sysroots12:09
ssam2using an ostree repo (which is NOT a cache) hosted at https://ostree.baserock.org/releases12:09
ssam2i don't know whether others would "bless" this approach or not, though12:09
persiaThis makes sense.  Essentially, one manages a "releases" archive somewhere containing blessed elements that are (ideally) infrequently updated, using classic archive management tooling, and then uses buildstream to build systems that depend on those by consuming those "releases".12:11
persiaWhile ostree is convenient for this, I suspect it is an implementation detail.12:11
paulsherwood+112:11
ssam2yeah12:12
persiaMind you, this means that any such thing is still subject to the wizard hack, but I don't think one can work around that unless one has multiple sources for tooling to build the sources, etc.12:12
ssam2yeah12:12
persiaThanks for clarifying.12:12
ssam2I basically imagine us using this only to inject prebuilt binaries of self-hosting toolchains12:12
ssam2such as, gcc, rust, fpc, etc.12:12
persiaRight.  It was the jre discussion in #flatpak that made me wonder.12:13
*** eb has joined #buildstream13:08
ebHow do I build buildstream from scratch and then execute it?13:09
ebI ran ./setup.py build13:09
ebbut still no sign of an executable `bst`13:09
abderrahim[m]eb: it should be ./setup.py install13:10
abderrahim[m]you can add --user if you want to install in your home dir13:10
tristancd buildstream && pip3 install --user -e .13:10
tristanrunning ./setup.py directly is not recommended (thats what the python folks keep telling me)13:11
abderrahim[m]and tristan was faster than me in suggesting pip13:11
tristanfor one, ./setup.py install doesnt record what was installed (you need special options to record a manifest and yada yada)13:11
tristanwhile going through pip, you have your uninstall which will "just work"13:11
ebThanks, that worked!13:14
abderrahim[m]tristan: you are the maintainer of gnome-build-meta, right? could you look at https://gitlab.gnome.org/GNOME/gnome-build-meta/issues/5 and suggest what I should do13:17
abderrahim[m](and btw, is this the right channel to discuss gnome-bulid-meta?)13:18
*** xjuan has joined #buildstream13:36
*** aday has quit IRC13:40
*** eb has quit IRC13:52
*** aday has joined #buildstream13:54
tristanabderrahim[m], aha ! it looks like I need to enable notifications from there !13:55
tristanabderrahim[m], yes I am, but equally anyone from GNOME release-team :)13:56
tristanmhmmm, still dont have build pipelines up there yet...13:56
tristanjjardon[m], I think you're busy with a lot of things, any eta on getting build pipelines at least for intel at gnome-build-meta ?13:57
jjardon[m]weekend, sorry14:00
tristanjjardon[m], no worries... I just commented on https://gitlab.gnome.org/GNOME/gnome-build-meta/issues/5 fwiw14:07
*** mcatanzaro has joined #buildstream14:20
tristanWas https://gitlab.com/BuildStream/buildstream/issues/222 never implemented ?16:24
tristanI seem to recall discussion about implementing that16:24
ssam2i don't remember anyone doing it16:31
juergbiiirc, there was a discussion about following the git approach of checking ancestor directories for project.conf16:32
juergbithat would allow `bst` to work in workspaces without extra files, if the workspace directory is inside the project directory16:32
juergbistill not sure whether we should recommend that approach or not16:32
nexusI'm working on a host machine log, which will show information like the kernel version ,amount of ram, HDD space and the processor info, however i can't seem to find a way of showing the processor information via machine readable means. I just have a string containing the Vender + CPU model number + clock speed. This seems fine, however if anyone wanted to write a script to get hold of something like16:35
nexusthe clock speed, it would be very difficult, as i believe that the format would change depending on the CPU model and vendor. This could make parsing it very difficult. Does anyone have any views or ideas about this? Or am i just over thinking this (happens a lot) and noone would ever want to parse that information16:35
juergbii expect the format of /proc/cpuinfo to be sufficiently stable on Linux16:37
gitlab-br-botbuildstream: merge request (jjardon/jinja->master: WIP: setup.py: Require jinja >= 2.10) #239 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23916:38
juergbithere is also /sys/devices/system/cpu with more fine grained files16:39
nexusjuergbi: that's what i'm using, but could we guarentee that the clockspeed would always be the 6th element?16:39
juergbino, but it should have a fixed label16:40
juergbi(in fact it's not the 6th element heree)16:40
nexusthe model name is the 5th entry, and the 6th element of that is the clock speed16:40
nexusthe "cpu MHz" entry, i sthe current clockspeed, and would be misleading in a report16:41
juergbiah that's actually hardware-specific, afaik16:41
nexusindeed16:41
juergbie.g., on my system, model name doesn't contain a frequency at all16:41
nexusah interesting16:41
juergbiright, cpu MHz is not useful for us16:41
juergbinexus: check /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq16:42
nexussadly, thats the turbo frequency, not the base frequency of the cpu16:43
gitlab-br-botbuildstream: merge request (jjardon/jinja->master: setup.py: Require jinja >= 2.10) #239 changed state ("opened"): https://gitlab.com/BuildStream/buildstream/merge_requests/23916:43
juergbithere is also min_freq16:44
nexuse.g. my base is 2.5ghz, my max is  3.2ghz and my min is 800mhz16:44
juergbidifferent CPU vendors/models impose different meanings of base, turbo, etc.16:44
nexusindeed16:44
juergbiand here max is the same as base frequency16:45
nexusnot in my case16:45
juergbiand turbo is beyond 'max'16:45
nexusmy CPU is advertised as 2.5Ghz, with a turbo boost of 3.216:46
nexusAFAIK it can't go above the max, but i'm not sure16:46
nexussome CPU's cannot turbo at all16:47
nexusE.G. Intel i3s16:47
nexusi believe16:47
juergbimine is advertised as base 3.4GHz and boost 4.0GHz, yet i don't see the 4.0GHz in linux max freq16:47
juergbi(AMD Ryzen)16:47
nexusinteresting16:47
nexusanother way in which AMD differ from intel i suppose16:48
nexus(completely seperate note, how are you finding the ryzen?)16:48
juergbiBogoMIPS is actually pretty close to double the base frequency in MHz on both AMD Ryzen and Intel Core, afaict16:48
juergbiwe should probably not rely on that, though16:49
ssam2anyone object to adding GNU Time into the Docker images?16:55
ssam2i've opened https://gitlab.com/BuildStream/buildstream-docker-images/merge_requests/1916:55
ssam2it will be useful for doing simple benchmarks, has a lot more features than the shell built-in one16:55
* nexus hasn't the knowledge to object16:56
tlaterssam2: Why not python's various time functions?16:56
tlaterHm, I guess that doesn't include startup time16:57
tlaterAlthough you may argue that that is irrelevant16:57
ssam2later on I'd like get test results using the buildstream log parser script proposed in issue #20516:57
juergbiit's very small, no objections from me16:57
ssam2that could perhaps take over the role of /usr/bin/time16:58
ssam2but that script doesn't yet exist16:58
ssam2also, is there an easy way in Python to measure max RSS size and average memory usage ?16:58
*** Prince781 has joined #buildstream16:58
* tlater doesn't object either, just asking whether that's an option :)16:58
tlaterHrm, I do think those exist, but it will probably be easier to just use GNU time16:59
*** Prince781 has quit IRC17:18
tristanjuergbi, I dont like recommending putting workspaces into a project subdirectory, but dont mind supporting it17:26
tristanmcatanzaro has a point with issue 222 orthogonal to that, which is *probably* worth supporting, I think17:27
juergbithe issu17:28
tristanalthough it means we have to record state in an abstract directory, and if two different builds have an open workspace on the same directory things could go awry17:28
juergbiyes, the issue is mainly how to support this in a vcs-neutral way that is ignored by the VCS17:28
juergbihm, that's anyway an issue for incremental builds17:28
tristanalso good point worth some thought :-S17:28
tristanPerhaps we can do something entirely different from XDG_CACHE_HOME17:29
tristanin any case, it's worth properly speccing out I guess before jumping on an implementation17:29
tristan(I just seemed to have thought we already got close to that...)17:29
juergbikeeping per-workspace metadata tied to the workspace directory instead of the project directory could actually be pretty useful17:30
juergbithis would avoid losing it when closing and reopening a workspace17:30
juergbiand make it available to other project directories17:30
tristanyeah the initial configure happened or not... indeed; but this is a very weird scenario we are dreaming up already17:31
tristan(I dont think I have an issue telling people to just open separate workspaces for separate projects, if that makes code a lot more sane)17:31
juergbifor #215 we'll likely need more metadata17:31
tristanright that; and then that is also project context (as I recall, you want to save the artifact keys for what you built this workspace against "last time")17:33
*** ltu has quit IRC17:38
*** tlater has quit IRC17:38
*** aiden has quit IRC17:38
juergbiyes, however, that information is not project-specific. you always need to know the last build of the workspace, independent of the project17:42
*** aiden has joined #buildstream17:45
*** jonathanmaw has quit IRC17:46
*** jonathanmaw has joined #buildstream17:47
*** laurenceurhegyi has joined #buildstream17:51
*** tlater has joined #buildstream17:57
*** ssam2 has quit IRC18:04
*** jonathanmaw has quit IRC18:16
gitlab-br-botbuildstream: merge request (skip-configure-tests->master: Workspaced builds only run configure commands once) #191 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/19118:26
gitlab-br-botbuildstream: merge request (workspace-build-count->master: WIP: Skip configure-commands when building workspaced elements a second time) #154 changed state ("closed"): https://gitlab.com/BuildStream/buildstream/merge_requests/15418:28
persiaI have previously tried to use both /proc/cpuinfo and /sys/devices/... to discover information about CPUs.  My experience is now dated, but included stable interfaces on a per-architecture basis, where each architecture had a different format.  As an example, all POWER and PPC platforms include a "Machine:" line in /proc/cpuinfo, which is absent on any other architecture, if I recall correctly.18:47
persianexus: juergbi: ^^18:47
juergbigood point18:57
*** ernestask has quit IRC19:40
*** mcatanzaro has quit IRC19:50
*** valentind has joined #buildstream19:54
*** aday has quit IRC19:57
*** adds68 has joined #buildstream21:38
*** adds68 has quit IRC21:43
*** valentind has quit IRC21:57
*** WSalmon has joined #buildstream22:30
*** WSalmon has quit IRC22:35
*** WSalmon has joined #buildstream22:35
*** WSalmon_ has joined #buildstream22:46
*** WSalmon_ has quit IRC22:47
*** WSalmon has quit IRC22:47

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