IRC logs for #baserock for Monday, 2016-04-25

*** persia has quit IRC02:52
*** persia has joined #baserock02:58
perrylvgrade: i'm hoping your issue was resolved, but i'll make sure to update the README with instructions for using a dummy cache server, sorry about that!06:51
*** toscalix has joined #baserock07:17
*** ctbruce has joined #baserock07:27
*** fay_ has joined #baserock07:27
*** jonathanmaw has joined #baserock07:43
*** rdale has joined #baserock07:55
*** rdale has quit IRC07:59
*** anahuelamo has joined #baserock08:02
*** persia has quit IRC08:19
*** rdale has joined #baserock08:25
*** persia has joined #baserock08:32
*** CTtpollard has joined #baserock08:48
*** persia has quit IRC08:53
*** vgrade_w has joined #baserock08:55
vgrade_wperryl: yes, was able to setup the pipeline an view it in the browser08:57
*** persia has joined #baserock08:57
vgrade_wperryl: next step is to see if I can get it to run.  Am planning to run through the tutorial first though08:58
*** edcragg has joined #baserock09:01
*** rdale has quit IRC09:02
perrylvgrade_w: awesome! hope it all goes well :)09:03
*** ssam2 has joined #baserock09:13
*** ChanServ sets mode: +v ssam209:13
*** rdale has joined #baserock09:17
*** locallycompact has joined #baserock09:23
*** locallycompact has quit IRC09:27
*** locallycompact has joined #baserock09:43
*** toscalix has quit IRC09:45
*** tiagogomes has joined #baserock09:51
*** tiagogomes has quit IRC09:56
*** toscalix has joined #baserock10:21
*** anahuelamo has quit IRC10:27
*** anahuelamo has joined #baserock10:28
*** toscalix has quit IRC10:32
*** ssam2 has quit IRC10:39
paulsherwoodedcragg: i'm not meaning to be awkward on this manifest thing...11:31
paulsherwoodbut if pedroalvarez has a usecase where the build-tool is not giving him what he needs, the build-tool could and should be changed imo11:31
edcraggpaulsherwood: both build tools?11:32
paulsherwoodpedroalvarez identified some problems in *ybd*, iiuc11:32
paulsherwoodi want them fixed11:32
paulsherwoodbut i'm still unclear about what a system manifest actually is11:32
paulsherwoodcan you paste an example output from the script you created, please?11:33
edcraggpaulsherwood: http://paste.ubuntu.com/16047176/11:40
edcragglhs is cache-key, notice also appended version numbers in first column11:41
paulsherwoodcache-key is morph specific11:42
edcraggthat's the output of the original script, the output of the script in this change is identical11:42
edcraggbesides 0s for cache key11:42
paulsherwoodthe original script is morph-specific11:42
edcraggit was written into morph, yes11:43
paulsherwoodthe cache-key your script is referring to/generating is morph-specific11:44
paulsherwoodit's no use for a build generated by ybd11:44
edcraggybd does have cache keys...11:45
edcraggor you mean the format isn't compatible?11:45
paulsherwooddifferent format, different algorithm11:45
edcraggyep11:45
paulsherwoodplease, abandon your patch11:45
edcraggi believe that is the best solution, for the problem that was given to me11:46
paulsherwoodi think you've misunderstood the problem, but i'm failing to explain that to you11:47
paulsherwoodmaybe 'the problem that was given' was incorrectly specified11:47
*** toscalix has joined #baserock11:48
pedroalvarezI don't get it, so I won't be able to generate that manifest with ybd?11:48
pedroalvarezI don't see why it's morph specific11:49
pedroalvarezit's just stating: this artifact, comes from this repository, from this ref11:49
pedroalvarezybd has artifacts, and publish them, right?11:50
paulsherwoodyup11:50
paulsherwoodedcragg: please show an output from your script, that generates a manifest containing YBD artifacts11:50
paulsherwoodif it can do that, i'm the one who is misunderstanding what you've done11:50
* paulsherwood wonders how the script could possibly do this, without understanding ybd's cache-key calculation11:51
paulsherwoodpedroalvarez: is it clear now?11:53
pedroalvarezI get that point, yes11:54
edcraggpaulsherwood: http://paste.ubuntu.com/16047339/11:54
paulsherwoodedcragg: everything in the ARTIFACT column is morph-specific.11:54
paulsherwoodpedroalvarez: while you're on, please can you point me to your original critique of the things you couldn't achieve with ybd for a release?11:55
paulsherwoodedcragg: 0000000.stratum.bsp-armv8l64-generic-devel is a morph-specific name11:55
edcraggit's generated from YBD formatted metadata. the 0000000 can be omitted if needed11:56
paulsherwoodNO11:57
pedroalvarez...11:59
pedroalvarezthis is the email: https://listmaster.pepperfish.net/pipermail/baserock-dev-baserock.org/2016-March/013542.html11:59
pedroalvarezedcragg: I think paul's point is that ybd puts the cache-key at the end of the artifact name? but i may be wrong on understanding this nonsense11:59
*** pedroalvarez has left #baserock12:00
*** pedroalvarez has joined #baserock13:07
*** ChanServ sets mode: +v pedroalvarez13:07
paulsherwoodedcragg: ybd .meta files include cache-key as of artifact-version: 2 (https://github.com/devcurmudgeon/ybd/commit/e36be257df8b4a2e233c61a9d7dd8b64646f6273)13:09
paulsherwoodedcragg: i propose to make ybd generate a manifest at the same time as it does cache-keys13:12
paulsherwoodbut as you say, there is some value in being able to generate the manifest *from* artifacts too13:13
paulsherwoodi think that's a different use-case13:13
edcraggpaulsherwood: i thought that was precisely this use case13:17
paulsherwoodedcragg: well, doing a release involves running a build... so if the build creates the manifest, the use-case seems to be satisfied, for me13:18
paulsherwoodthe use-case of 'i have an artifact... what's in it' is more widely applicalbe than release13:19
edcraggsurely that is the information metadata is supposed to provide13:19
edcraggthe very information, in fact13:20
paulsherwoodok... so why would anyone want to generate a 'manifest' except at release time, then?13:20
edcraggbecause genivi required it at some point, in a form accessible to non baserock programmers13:21
paulsherwoodonly for releases, iirc13:21
edcraggyes13:22
edcraggin that case the answer is, none that i know of13:22
edcraggi misread13:22
rdalethe .meta files in a system in /baserock have all the info you need as far as i can see - you just need to read each .meta13:26
edcraggrdale: yes, the script accesses this and converts it to a manifest13:26
rdalein ybd?13:27
edcraggbuild-system agnostically13:27
edcragg(it converts both formats to a common one)13:27
rdalei see13:27
* edcragg lunches13:30
*** anahuelamo has quit IRC13:31
*** toscalix has quit IRC13:34
*** anahuelamo has joined #baserock13:36
*** toscalix has joined #baserock13:56
*** locallycompact has quit IRC14:12
*** locallycompact has joined #baserock14:12
*** astrophys has joined #baserock14:23
*** locallycompact has quit IRC14:24
*** locallycompact has joined #baserock14:25
persiaThe main reason I would want to generate a manifest for a non-release is to find out what is on some arbitrary system in the field, probably because I want to generate a development environment that would allow me to modify it safely.14:32
*** toscalix has quit IRC14:35
edcraggyep, a use case for the conversion script14:47
paulsherwoodpersia: and you don't think that the metafiles in the baserock directory are sufficient?14:48
persiaThe information is present, but not in consumable overview form.  Creating a special tool to generate manifests from /baserock metadata is hard to remember as a user, so requires extra docs.14:51
persiaTherefore I want a build tool flag that generates the manifest.  Extra points for being able to generate the development environment I need.14:51
paulsherwoodi'm seeing something odd on a project using ybd...14:52
paulsherwoodIOError: Source directory tree has file where directory expected: usr/share/groff/current14:52
paulsherwoodwhich is code taken from morph originally iirc...14:53
paulsherwoodhttps://github.com/devcurmudgeon/ybd/blob/master/ybd/utils.py#L17514:53
paulsherwoodmaybe not... i can't find anything like that in morph14:55
pedroalvarezblame blames nowster14:56
paulsherwoodyup... but the weird thing is groff has been building fine for ages14:57
pedroalvarezwhat change triggered this error?14:57
paulsherwoodif only it were that simple :) this is a ci system... seems the build works outside it, not inside it15:00
pedroalvarezodd15:03
paulsherwoodyup... i'll let you know if/when we figure it out15:03
*** toscalix has joined #baserock15:28
*** toscalix has quit IRC15:50
*** vgrade_w has quit IRC15:57
*** cosm has joined #baserock16:08
*** ctbruce has quit IRC16:22
*** jonathanmaw has quit IRC16:30
*** CTtpollard has quit IRC16:32
*** toscalix has joined #baserock16:58
*** toscalix has quit IRC16:59
*** anahuelamo has quit IRC17:03
*** edcragg has quit IRC17:07
*** locallycompact has quit IRC17:30
*** cosm has quit IRC17:32
*** gtristan has quit IRC17:39
*** cosm has joined #baserock17:48
*** gtristan has joined #baserock18:04
*** rdale has quit IRC18:10
*** edcragg has joined #baserock19:36
*** edcragg has quit IRC19:47
paulsherwood0 lrwxrwxrwx 1 root root    6 Apr 20 18:07 current -> 1.22.319:52
paulsherwoodso yup... usr/share/groff/current is a file... a link pointing to a directory19:52
paulsherwoodi wonder if the behaviour for this can be different in an x86_32 vm...19:59
paulsherwoodos.lstat(path): Perform the equivalent of an lstat() system call on the given path. Similar to stat(), but does not follow symbolic links.20:05
paulsherwood On platforms that do not support symbolic links, this is an alias for stat()20:06
mwilliams_ctAny way to check if your platform supports symlinks and get upset if not?20:07
mwilliams_ct(I am missing much contextr)20:07
*** gtristan has quit IRC20:08
paulsherwood>>> os.lstat('./current')20:09
paulsherwoodposix.stat_result(st_mode=41471, st_ino=395140L, st_dev=11009, st_nlink=1, st_uid=0, st_gid=0, st_size=6L, st_atime=1461614803, st_mtime=1457820845, st_ctime=1461614780)20:09
paulsherwood>>> os.stat('./current')20:09
paulsherwoodposix.stat_result(st_mode=16877, st_ino=394863L, st_dev=11009, st_nlink=6, st_uid=0, st_gid=0, st_size=4096L, st_atime=1461614780, st_mtime=1321009871, st_ctime=1461614780)20:10
paulsherwood>>> import stat20:10
paulsherwood>>> stat.S_ISDIR(41471)20:10
paulsherwoodFalse20:10
paulsherwood>>> stat.S_ISDIR(16877)20:10
*** gtristan has joined #baserock20:11
paulsherwoodthe system supports symlinks, for sure20:13
mwilliams_ctack, seemed a bit ludicrous to think otherwise20:15
mwilliams_ctI have to leg it, good luck20:15
paulsherwoodthanks ;)20:18
*** edcragg has joined #baserock20:34
*** edcragg has quit IRC20:40
rjekAre you building on a file system that doesn't support symbolic links?20:46
*** tiagogomes has joined #baserock20:46
paulsherwoodrjek: how would i know that?20:51
rjekWhich file system is it?20:51
rjek:-)20:51
paulsherwoodhow do i tell that?20:51
rjekmount20:51
rjekPerhaps previously the symlink was being dereferenced by another step and expanded into a real directory?20:54
rjekBut stat should follow the symlink and report the data for the node it points to20:55
*** gtristan has quit IRC20:56
paulsherwoodhttp://paste.baserock.org/jehotipako20:57
paulsherwoodhttps://github.com/devcurmudgeon/ybd/commit/bd04031f3f558e49fe50f479fe05f2d2505d2fef seems to have got the build past the issue20:58
rjekI assume you're building on one of the ext4 ones?21:00
rjekYour fix is a bit unclear. You are calling lstat, which doesn't follow symlinks, and then assuming that if it is a link file, it will always point to a directory.21:03
rjekWhy not just use stat and have the issue disappear?21:03
rjekOr am I missing something?21:03
rjek(the problem is more complex than either of us give it credit here, as even though stat will follow the symlink and return data about what it points to rather than the link itself, there is also a race condition here that might be important from a security and reproducabilty standpoint)21:06
rjekI don't know where in the build this is happening, but what if something changes where the link points to between you statting it and then acting?21:07
paulsherwoodnothing should change the link21:16
paulsherwoodthis is the process of building system image from unpacked component iiuc21:17
* paulsherwood didn't write the code, and is assuming that nowster had some reason for using lstat rather than stat21:18
paulsherwoodthat may be a bad assumption of course21:18
rjekYou should ask him then :-)21:18
rjekAnd demand more commentary in your review process, of course!21:19
paulsherwoodi would, but he's not here21:19
rjekFrom what I've read of the ybd source it is often obvious what is being done, but the why can baffle.21:19
paulsherwoodmaybe nowster decided to set the level of bafflement in his contributions, based on what he found in mine :)21:21
rjekThat matches his MO21:21
*** gtristan has joined #baserock21:21
paulsherwoodgtristan: biff22:34
*** tiagogomes has quit IRC22:57
gtristanpaulsherwood, ummm what happened ?23:00

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