| *** seb__ has joined #baserock | 02:57 | |
| *** seb__ has quit IRC | 03:13 | |
| * paulsher1ood reviews and merges https://gerrit.baserock.org/#/c/754/ - but nothing seems to happen at g.b.o | 03:28 | |
| *** seb__ has joined #baserock | 04:25 | |
| *** seb__ has quit IRC | 04:33 | |
| paulsher1ood | gobject-introspection seems busted in master (i noticed first in ybd, then in morph, and then on mason... how dumb am i?) | 05:24 |
|---|---|---|
| * paulsher1ood notices the eventual arrival of libfaketime at g.b.o | 05:25 | |
| *** seb__ has joined #baserock | 05:27 | |
| *** seb__ has quit IRC | 05:52 | |
| straycat | paulsher1ood, we agreed as a group not to merge that | 06:40 |
| straycat | so that's pretty darn irritating | 06:40 |
| straycat | 16:28 +pedroalvarez$ tlsa: I wonder if you can use "https://github.com/wolfcw/libfaketime.git" in your definitions and wait | | 06:42 |
| straycat | for the lorry once you have something ready | | 06:42 |
| straycat | 16:28 tlsa$ can do | 06:42 |
| straycat | so there was totally no need for this | 06:42 |
| *** mike has joined #baserock | 06:49 | |
| *** mike is now known as Guest51560 | 06:49 | |
| straycat | so, i have reverted the change and destroyed delta/libfaketime. looking at the log i realise the irc discussion should have been recorded in the change and perhaps that's what led to this misunderstanding. | 06:52 |
| *** zoli__ has joined #baserock | 07:04 | |
| *** seb__ has joined #baserock | 07:38 | |
| paulsher1ood | straycat: sorry. i saw that the change was in review, and had +2 already | 07:38 |
| * paulsher1ood believes that +2, was enough to merge it, and no-one -1d the change, so reverting and destroying was not necessary | 07:39 | |
| *** a1exhughe5 has joined #baserock | 07:39 | |
| straycat | ahh okay, someone should have recorded the result of the discussion in the change really | 07:39 |
| paulsher1ood | but this is an unusual situation, which hasn't arisen before i think | 07:39 |
| paulsher1ood | in any case i think we'll need libfaketime :) | 07:40 |
| paulsher1ood | straycat: but thanks for being pro-active! | 07:40 |
| straycat | possibly well, but best to be sure first, similarly i almost sent requests for some perl modules then decided to leave it for a bit, and it turns out i didn't need them | 07:44 |
| straycat | *wil | 07:45 |
| straycat | *will >.> | 07:46 |
| SotK | jjardon: oops, I thought I'd changed install-essential-files to point at the right place :/ | 07:50 |
| * SotK wonders how to make YBD deploy rather than build | 07:51 | |
| * paulsher1ood is ready to +1 any patch that fixes that without reverting the tidyup | 07:51 | |
| paulsher1ood | SotK: give it a cluster instead of a system file? | 07:51 |
| paulsher1ood | (used to work) | 07:51 |
| * paulsher1ood might have broken it, hasn't tested in a couple of weeks | 07:52 | |
| SotK | hmm, looks like I did change install-essential-files | 07:52 |
| SotK | (I saw the same error as jjardon in the first test of the idea I was doing, but pointing to install-files/essential-files/manifest fixed it) | 07:54 |
| SotK | paulsher1ood: I ran `ybd clusters/test.morph x86_64`, but nothing seems to have been deployed | 07:55 |
| SotK | I'll investigate further | 07:55 |
| *** bashrc_ has joined #baserock | 08:03 | |
| SotK | aha, deploy() returns if there is no 'systems' key in the dict it is passed, so nothing will ever actually get deployed | 08:09 |
| *** jonathanmaw has joined #baserock | 08:13 | |
| *** mariaderidder has joined #baserock | 08:16 | |
| *** seb__ has quit IRC | 08:18 | |
| *** CTtpollard has joined #baserock | 08:21 | |
| *** CTtpollard has quit IRC | 08:29 | |
| *** CTtpollard has joined #baserock | 08:29 | |
| *** franred has joined #baserock | 08:32 | |
| *** tlsa has quit IRC | 08:34 | |
| *** rjek has quit IRC | 08:34 | |
| *** Kinnison has quit IRC | 08:34 | |
| SotK | now to figure out why install-essential-files is broken :) | 08:39 |
| *** Kinnison has joined #baserock | 08:39 | |
| *** gary_perkins has joined #baserock | 08:41 | |
| *** rjek has joined #baserock | 08:42 | |
| *** ssam2 has joined #baserock | 08:49 | |
| *** ChanServ sets mode: +v ssam2 | 08:49 | |
| pedroalvarez | OK, systemd 220 fully tested | 08:50 |
| Kinnison | nice | 08:54 |
| *** edcragg has joined #baserock | 08:54 | |
| franred | pedroalvarez, thanks for that | 08:54 |
| *** gan has joined #baserock | 08:55 | |
| *** Krin has joined #baserock | 09:05 | |
| * SotK is an idiot | 09:06 | |
| *** lachlanmackenzie has joined #baserock | 09:14 | |
| SotK | not as much as I first thought actually, but still | 09:14 |
| rjek | Just an idi now? | 09:15 |
| SotK | yes | 09:15 |
| rjek | :) | 09:15 |
| SotK | the problem is that install-essential-files tries to call install-files based on the location of the install-essential-files script | 09:16 |
| SotK | that worked fine when they were both in morphlib, but morph creates a temporary version of the script if its in definitions before it runs it to set permissions nicely (and historically be able to use scripts from a cached git repo) | 09:17 |
| SotK | so install-essential-files tries to call `/tmp/install-files.configure`, which doesn't exist | 09:18 |
| * SotK prepares a patch | 09:22 | |
| * SotK sends https://gerrit.baserock.org/764 | 09:25 | |
| radiofree | does morph build basercok aarch64 on aarch64 currently? | 09:46 |
| Kinnison | We don't currently have any armv8l64 systems IIRC | 09:46 |
| Kinnison | it *used to* | 09:46 |
| Kinnison | but that was back around mid Feb | 09:46 |
| ssam2 | systemd merge has broken definitions: https://mason-x86-64.baserock.org/ | 09:48 |
| richard_maw | it'll be old kernel headers | 09:49 |
| ssam2 | seems to be gobject-introspection that's failing to build | 09:49 |
| richard_maw | oh, it isn't | 09:49 |
| richard_maw | hm, it could possibly be the bison change, we're getting warnings related to code generation | 09:51 |
| richard_maw | though: "ERROR: can't resolve libraries to shared libraries: gobject-2.0, glib-2.0" suggests someone may have merged the change to move glibc out of foundation or something | 09:53 |
| SotK | gobject-introspection seemed to stop building once the bison change was merged | 09:55 |
| * richard_maw is checking sha1s himself to verify | 09:56 | |
| pedroalvarez | phew, I tested systemd change carefully | 09:59 |
| richard_maw | yep, definitely the Bison change | 10:00 |
| richard_maw | rdale_: ^ | 10:00 |
| richard_maw | we've had bison eat itself over version numbers before | 10:02 |
| jjardon | old version of systemd builds fine with the rdale_ change though | 10:08 |
| radiofree | rdale_: do all of our qt trove url's need to be updated now? | 10:11 |
| radiofree | since they've moved to gitlab now | 10:12 |
| radiofree | actually have they moved to gitlab? | 10:12 |
| richard_maw | jjardon: not according to mason | 10:12 |
| radiofree | no they've moved to code.qt.io | 10:13 |
| radiofree | what's the procedure for changing url's in trove config files? | 10:13 |
| richard_maw | jjardon: it was failing to deploy before, but looking at the logs, it fails in gobject introspection before that other failure | 10:13 |
| Kinnison | radiofree: prepare a patch, submit it to gerrit | 10:14 |
| richard_maw | jjardon: so it's provably *not* the systemd change that broke things | 10:14 |
| radiofree | Kinnison: yeah, but i mean do i just patch the existing json files with the new repo url? | 10:14 |
| Kinnison | providing they're the same history, yep | 10:14 |
| jjardon | really? I think I built several systems yesterday after the rdale_ change. Let me recheck | 10:16 |
| jjardon | SotK: thanks for the quick fix! :) | 10:18 |
| SotK | no problem, sorry I broke it | 10:18 |
| radiofree | Kinnison: i'm not sure, branches have been deleted by the looks of it | 10:21 |
| Kinnison | deleted branches are okay | 10:22 |
| Kinnison | so long as the stuff we rely on hasn't been expunged from history | 10:22 |
| radiofree | is there a way to test whether or not this is going to totally bugger everything up without manually checking a million qt repos? | 10:23 |
| jjardon | strange then, I can build a base system fine here using this commit of definitions http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/definitions.git/commit/?id=7c2bfac98e93e42ffcb23e0d43aee8f3d2c01c69 should we condifer this a bug of morph? | 10:24 |
| Kinnison | radiofree: sadly I don't think so, | 10:24 |
| jjardon | ah, neverming, I was building my "split-glib" branch instead. | 10:27 |
| richard_maw | jjardon: in which case the base system may not even include gobject-introspection | 10:29 |
| jjardon | richard_maw: yes, but I built a weston system as well that definelety includes g-i | 10:30 |
| richard_maw | hm, weird | 10:31 |
| richard_maw | well currently I don't know why the bison change could cause it to break | 10:31 |
| richard_maw | I'm currently investigating whether it's ignoring .tarball-version or something | 10:32 |
| pedroalvarez | Has anyone reproduced the problem? | 10:32 |
| *** tlsa has joined #baserock | 10:32 | |
| jjardon | I think the root problem here is the use of this to generate the bison version: it expect to have access to git if its not a tarball: m4_esyscmd([build-aux/git-version-gen .tarball-version] | 10:35 |
| richard_maw | jjardon: hence why we create .tarball-version | 10:35 |
| paulsher1ood | reproduced the build problem, pedroalvarez ? yes i have | 10:36 |
| paulsher1ood | sorry, i may be missing the discussion here | 10:37 |
| pedroalvarez | the build problem that Mason is currently having | 10:38 |
| paulsher1ood | 06:24 < paulsher1ood> gobject-introspection seems busted in master (i noticed first in ybd, then in morph, and then on mason... how dumb am i?) | 10:38 |
| paulsher1ood | ? | 10:38 |
| pedroalvarez | that one | 10:39 |
| pedroalvarez | paulsher1ood: sorry I missed that :) | 10:39 |
| paulsher1ood | np - is there anything i can do to help? build log for exmaple? | 10:39 |
| paulsher1ood | http://paste.baserock.org | 10:40 |
| richard_maw | I'm just looking at the build log from mason now | 10:42 |
| richard_maw | it's definitely got 3.0.2 for the version | 10:42 |
| richard_maw | the only other change I particularly notice is that we don't run the bootstrap script with bash any more | 10:44 |
| * SotK sends a pull request to ybd | 10:45 | |
| Kinnison | ruhroh | 10:46 |
| paulsher1ood | Kinnison: why? so far i've not rejected a single PR :) | 10:54 |
| paulsher1ood | SotK: do i need to test this, or will it 'just work' ? :) | 10:54 |
| pedroalvarez | haha | 10:57 |
| paulsher1ood | merged | 10:58 |
| SotK | paulsher1ood: It works for me :) | 11:00 |
| SotK | thanks | 11:00 |
| paulsher1ood | :-) | 11:01 |
| paulsher1ood | SotK: which cluster(s) have you mainly tested with? | 11:01 |
| SotK | paulsher1ood: a test cluster which deploys a tarball of a build-system | 11:03 |
| *** zoli__ has quit IRC | 11:03 | |
| paulsher1ood | SotK: have you tried a self-upgrade? | 11:05 |
| paulsher1ood | SotK: no testing against any of the clusters in master? | 11:06 |
| pedroalvarez | a test suite would be great :) | 11:07 |
| SotK | paulsher1ood: I didn't want to spend ages building everything | 11:08 |
| SotK | paulsher1ood: no, but I don't think anything I've changed should affect upgrades? | 11:08 |
| SotK | not in a way thats different to how it affects normal deployments anyway | 11:09 |
| *** Guest51560 has quit IRC | 11:16 | |
| *** Guest51560 has joined #baserock | 11:30 | |
| * jjardon sent https://gerrit.baserock.org/#/c/765/ to fix the bison problem | 11:53 | |
| richard_maw | I haven't yet worked out how using sh rather than bash could cause it to break like that | 11:57 |
| richard_maw | jjardon: have you tested this change? | 11:57 |
| jjardon | richard_maw: only in a base system, Im buildind a weston one now | 11:58 |
| richard_maw | and you reproduced it failing without this change? | 11:59 |
| pedroalvarez | jjardon: didn't they build for you before even with this change? | 11:59 |
| jjardon | richard_maw: yes | 11:59 |
| rdale_ | i tested building shadow with bison and it worked, and so i assumed bison was ok | 11:59 |
| *** gan has quit IRC | 12:00 | |
| Kinnison | So you didn't run a full set of build tests? | 12:01 |
| * pedroalvarez facepalms | 12:01 | |
| richard_maw | There's no particularly obvious bashisms in the bootstrap script of bison. trap's not 100% portable across all shells, but it appears to be doing the most portable form, and there can be incompatibilities in the result of failing to source a file, but they guard against its existance. | 12:07 |
| richard_maw | jjardon: I'm not saying it's not because of sh vs bash, just that I'm puzzled as to how the difference causes it to break | 12:08 |
| rdale_ | what is the error when building g-o ? | 12:08 |
| richard_maw | rdale_: https://mason-x86-64.baserock.org/log/7c2bfac98e93e42ffcb23e0d43aee8f3d2c01c69--2015-06-02%2015:30:27.log | 12:09 |
| jjardon | richard_maw: yeah, Im not sure what root cause is neither, but I though useful to quickly fix the breackage, then continue investigatin | 12:09 |
| *** Guest51560 has quit IRC | 12:10 | |
| *** zoli__ has joined #baserock | 12:10 | |
| *** zoli___ has joined #baserock | 12:11 | |
| richard_maw | rdale_: generally /usr/include/glib-2.0/glib/glib-autocleanups.h appears to be broken | 12:12 |
| richard_maw | jjardon: ooh, I had a thought. It _could_ be an indirect dependency change, since now something depended on bison now doesn't implicitly depend on bash | 12:13 |
| richard_maw | though it could be a broken scannerparser.h | 12:13 |
| jjardon | richard_maw: yeah, true | 12:13 |
| Zara | hm, noticed that the magnifying glass on the baserock wiki search bar doesn't function as a button; in most search bars they function the same as 'enter'. is there any way we can fix that? | 12:15 |
| * jjardon repeats again: he would like explicit dependencies :) | 12:15 | |
| *** zoli__ has quit IRC | 12:15 | |
| * richard_maw repeats that it's not as simple as that | 12:15 | |
| * rjek repeats the onion from his lunch | 12:16 | |
| jjardon | yep, I think the problem probably is in the scannerparser.h though | 12:16 |
| * jjardon just realized how tidy http://git.baserock.org/cgi-bin/cgit.cgi/baserock/baserock/definitions.git/tree/ looks | 12:18 | |
| *** Guest51560 has joined #baserock | 12:22 | |
| pedroalvarez | I noticed that libvirt generates a default network by default (/etc/libvirt/qemu/networks/default.xml). I wonder if makes sense to not create it. | 12:35 |
| Kinnison | perhaps just ensure it's created but not set to autostart? | 12:36 |
| pedroalvarez | that's another option | 12:36 |
| rdale_ | the bison bootstap script has '#! /bin/sh' at the top of it | 12:38 |
| richard_maw | rdale_: doesn't mean it supports busybox sh | 12:38 |
| rdale_ | ok | 12:39 |
| richard_maw | a lot of systems have /bin/sh -> /bin/bash, which leads some build systems to assume it | 12:39 |
| paulsher1ood | jjardon: yes it's lovely and tidy now... let's keep it that way :) | 12:40 |
| * paulsher1ood proposes to change 'strata' to 'layers' | 12:41 | |
| paulsher1ood | i'll get my coat :) | 12:42 |
| richard_maw | paulsher1ood: stop trolling #baserock | 12:42 |
| jmacs | +1 from me | 12:42 |
| * SotK would find layers more confusing than strata | 12:42 | |
| rjek | Let's call them 'meta packages' | 12:42 |
| * rjek runs for the hills. | 12:42 | |
| straycat | i think we should use locallycompact's naming scheme | 12:42 |
| rjek | straycat: jake, finn, ice king? | 12:43 |
| straycat | no, we just call everything a leaf | 12:43 |
| straycat | leaves can have other leaves ofcourse | 12:43 |
| jmacs | Just like on real plants, but unlike that. | 12:44 |
| straycat | jmacs gets it | 12:44 |
| rjek | reticulation nodes. | 12:45 |
| DavePage | rjek: Splines? | 12:45 |
| rjek | Don't be silly, DavePage. | 12:45 |
| paulsher1ood | SotK: any chance you could test deploy with some clustes from master? | 12:47 |
| pedroalvarez | Kinnison: looking at how others install libvirt, they remove the autostart symlink | 12:48 |
| pedroalvarez | Kinnison: so it might be the best solution for us as well | 12:49 |
| SotK | paulsher1ood: not right now really, I'll set one building/deploying this evening though | 12:49 |
| Kinnison | pedroalvarez: nod. | 12:50 |
| straycat | https://gerrit.baserock.org/#/c/751/ is a pretty trivial change, can anyone look at it? | 12:55 |
| Kinnison | What is it to be used with? | 12:56 |
| Kinnison | i.e. when would that be called with unshare=False ? | 12:56 |
| straycat | with the import tool | 12:56 |
| Kinnison | Well, it looks plausible | 12:57 |
| Kinnison | what testing have you done? | 12:57 |
| straycat | i ran the import tool as non-root on my debian box | 13:00 |
| straycat | as well as running all the usual tests | 13:01 |
| Kinnison | are the "usual tests" including normal deployments? | 13:01 |
| straycat | ./check | 13:01 |
| * Kinnison is not currently au-fait with that -- does it include deployments? | 13:01 | |
| SotK | Kinnison: There are yarns for testing deployment, yes | 13:04 |
| Kinnison | okay | 13:04 |
| Kinnison | then you can have my +1 | 13:04 |
| straycat | thanks | 13:08 |
| tlsa | for deterministic builds, one of the things we need is constant time. | 13:16 |
| tlsa | we can either do that in definitions (for chunks that need it) or in the tool (morph/ybd) | 13:16 |
| tlsa | if its in definitions, we need to test each chunk, and keep on top of it for chunk updates. | 13:16 |
| straycat | tool approach seems better to me | 13:16 |
| tlsa | so I'd prefer to do it in the tool, as part of an environment sanitisation step. | 13:16 |
| tlsa | yep | 13:16 |
| tlsa | but I'm not sure if there would be any unwillingness to have to tools to this sort of magic. | 13:16 |
| Kinnison | tlsa: My concern would be if you are using the tool to build something other than a Linux system | 13:16 |
| tlsa | hmm, good point | 13:17 |
| straycat | so we need to be able to set something in definitions to enable/disable morph/ybd from using libfaketime? | 13:18 |
| tlsa | seems like a very specific option | 13:19 |
| tlsa | which I generally don't like | 13:19 |
| * richard_maw has data for stripped vs unstripped on a base system: 728M rootfs tarball without stripping, 605M rootfs tarball with stripping | 13:20 | |
| Kinnison | so ca. 20% saved | 13:20 |
| richard_maw | and it's not even a completely ELF-binary dominated system | 13:21 |
| straycat | ssam2, biff | 13:26 |
| * SotK has another merge commit which needs reviewing; this time bringing in writeexts.py and its history | 13:31 | |
| richard_maw | moving writeexts.py to definitions.git‽ | 13:33 |
| SotK | yes, so that the write extensions can use the code which is in it without needing to depend on all of morphlib | 13:34 |
| richard_maw | oh, I thought you were doing that by putting the common code into the write extensions, rather than defining a manner for write extensions to share code | 13:34 |
| SotK | I could do that, but it seems like it would cause unwanted duplication | 13:35 |
| straycat | are we sure it makes sense to move the write extensions into definitions? | 13:41 |
| SotK | straycat: Why doesn't it? | 13:42 |
| rdale_ | i've configured 4 versions of bison with sh and bash, and again with git using both sh and bash | 13:42 |
| straycat | SotK, because they're the build tool's means of deploying systems? | 13:42 |
| rdale_ | and i can't see any differences when sh and bash are used without git | 13:42 |
| SotK | straycat: there were already some write extensions in definitions though, and many configure extensions? | 13:43 |
| tlsa | in morphlib/buildenvironment.py, LD_PRELOAD is one of the environment vaiables that morph copies from the original environment | 13:47 |
| tlsa | what's that used for? | 13:47 |
| tlsa | (if its used, then maybe I can't trample it) | 13:47 |
| Kinnison | You should never trample LD_PRELOAD anyway | 13:49 |
| Kinnison | you should always carefully add to it | 13:49 |
| straycat | SotK, okay | 13:50 |
| tlsa | Kinnison: I'm just surprised that its a whitelisted one, and wondering why | 13:50 |
| Kinnison | Possibly for hand-bootstrapping stuff | 13:51 |
| Kinnison | any hint in annotate? | 13:51 |
| tlsa | no | 13:52 |
| ssam2 | tksa: this overlaps a bit with something I'm doing: i'm currently looking at building with 'fakeroot' | 13:53 |
| tlsa | ok | 13:53 |
| ssam2 | which ties into a bigger task I have of moving the sandboxing code from ybd / morph into a separate library | 13:53 |
| tlsa | right | 13:53 |
| ssam2 | i'm thinking that the sandboxing library is a good place to deal with 'fakeroot' as well | 13:53 |
| ssam2 | maybe it could deal with libfaketime too | 13:53 |
| tlsa | perryl and I are looking at setting up environment to get deterministic builds out | 13:54 |
| ssam2 | right | 13:54 |
| tlsa | so things like faketime, for consistent time acros builds, and we'll need a way to make a fixed fake hostname | 13:54 |
| ssam2 | i'm a bit worried about code that depends on LD_PRELOAD, but I'm not sure what else we can do for these sorts of things | 13:55 |
| richard_maw | tlsa: patch linux-user-chroot to allow setting the hostname in a new CLONE_NEWUTS namespace? | 13:55 |
| tlsa | and setting timezone, and locale consistently | 13:55 |
| ssam2 | it does mean that the system running the build will need to use a libc that is ABI-compatible with the thing being built... | 13:55 |
| ssam2 | which seems like it won't always be true | 13:55 |
| tlsa | hmm | 13:56 |
| ssam2 | tlsa: timezone and locale should be fine as environment variables | 13:56 |
| ssam2 | but libfaketime is an awkward one | 13:56 |
| tlsa | yeah | 13:56 |
| ssam2 | as is fakeroot | 13:56 |
| richard_maw | we've got some bits of build-essential that are statically linked, so LD_PRELOAD won't work anyway | 13:56 |
| richard_maw | for reproducible builds fixing time we can patch around the awkward ones | 13:57 |
| richard_maw | but for general purpose builds we don't want to have to patch everything | 13:57 |
| ssam2 | the alternative for libfaketime is add it to builds /inside/ the sandbox | 13:57 |
| ssam2 | which has its own issues... | 13:57 |
| richard_maw | so I think we should build libfaketime inside the sandbox and set LD_PRELOAD, yesh | 13:57 |
| ssam2 | on the plus side, if it's built inside the sandbox then I don't have to worry about it conflicting with what I'm looking at ;) | 13:58 |
| richard_maw | I think we'll probably need to build libfaketime at least twice anyway, for LD_PRELOADing before the switch from bootstrap mode to staging mode, and after | 13:58 |
| ssam2 | the only other approach I can think of is a bit of a wacky one, inspired by https://lwn.net/Articles/644675/ | 13:59 |
| ssam2 | which is that we run each build in its own VM, where we can make the clock always report the same time ;) | 13:59 |
| ssam2 | that would also mean there's no need for 'fakeroot' | 14:00 |
| ssam2 | but, i don't think it would be quick to implement! | 14:00 |
| richard_maw | ssam2: :) yeah | 14:00 |
| tlsa | what if I made morphlib/buildsystem.py's BuildSystem __getitem__ prepend "faketime -f '2015-01-01 00:00:00' " as a short term hack for testing? Should that work? | 14:01 |
| ssam2 | i can't predict whether or not that will work | 14:01 |
| paulsher1ood | tlsa: if you mean will it run the faketime, i think so | 14:02 |
| richard_maw | only for stuff that doesn't set its own commands | 14:02 |
| * straycat imagines it couldn't work at the stages where we haven't built faketime | 14:02 | |
| paulsher1ood | +1 | 14:02 |
| richard_maw | straycat: you'd have to build libfaketime in stage2 of the bootstrap | 14:02 |
| straycat | and prior to that rely on the host? | 14:03 |
| richard_maw | straycat: if you build it sufficiently early in the stage1 bootstrap you'd probably be ok without needing it there too, provided you could override it to not attempt to faketime itself | 14:04 |
| * richard_maw assumes faketime is sane enough to not build in timestamps | 14:04 | |
| paulsher1ood | would it be possible to leave faketime out of the targets, while having it in build-essential? | 14:05 |
| richard_maw | paulsher1ood: yes, with artifact splitting | 14:06 |
| ssam2 | i've been wondering recently if we should separate out "build environment" from "system being built" completely | 14:06 |
| ssam2 | it's not a panacea at all | 14:07 |
| paulsher1ood | that would be great if i'ts possible? | 14:07 |
| tlsa | faketime is simply a wrapper program that sets a bunch of environment variables which tell libfaketime how to behave and what time to set, and sets up LD_PRELOAD | 14:07 |
| ssam2 | paulsher1ood: the issue I thought of with it is that we still need to bootstrap the build environment somehow | 14:07 |
| ssam2 | and if we care just as much about that being reproducible, buildable as non-root, etc. then we're not much better off | 14:08 |
| ssam2 | but, maybe it's worth pursuing | 14:08 |
| paulsher1ood | ssam2: yup. i'm assuming we can't get stage1 to be bit-for-bit | 14:08 |
| paulsher1ood | (maybe we can't get anything to be b4b, but i live in hope :-) | 14:08 |
| paulsher1ood | i think all of build-essential is already reproducible, though? | 14:09 |
| paulsher1ood | where reproducible is a much more vague term :) | 14:09 |
| ssam2 | i meant bit-for-bit when I said reproducible | 14:09 |
| paulsher1ood | ack | 14:09 |
| paulsher1ood | can we call it b4b to save typing? | 14:09 |
| richard_maw | I've got a full keyboard, I have no need to abbreviate. | 14:10 |
| tlsa | paulsher1ood: I tested with two minimal system builds on different VMs yesterday. We're already bit-for-bit for most of the files on the system: https://www.diffchecker.com/26afjlzl | 14:10 |
| tlsa | that's with different times, and different hostnames | 14:10 |
| tlsa | same baserock version used to do the build | 14:10 |
| paulsher1ood | tlsa: WOW! :-) | 14:12 |
| * paulsher1ood dances a jig, does a back somersault giggling like a mad thing and falls flat on his face :-) | 14:13 | |
| robtaylor | nice :) | 14:13 |
| ssam2 | that is a surprise. cool! | 14:17 |
| Kinnison | minimal system is a good start | 14:17 |
| Kinnison | It'd be nice to know what sort of ratio we're at with a base system | 14:18 |
| Kinnison | though with libm differing, it might behoove us to sort that first | 14:18 |
| ssam2 | nice visualisation tool as well | 14:19 |
| rdale_ | i've just built bison and g-o with the busybox sh running bootstrap, but with a dependency on bash and git for the bison chunk, and it worked | 14:19 |
| richard_maw | rdale_: ok, it sounds like stuff depending on bison required bash without it being explictly declared then | 14:20 |
| ssam2 | hmm, a more robust alternative to 'fakeroot' might be a FUSE filesystem that did the equivalent of what 'fakeroot' does | 14:26 |
| ssam2 | that would mean we don't depend on LD_PRELOAD | 14:26 |
| ssam2 | I'll see how I fare with 'fakeroot' first though | 14:26 |
| robtaylor | i recall lars suggesting something like that once | 14:26 |
| * richard_maw doesn't | 14:27 | |
| robtaylor | richard_maw: you're right, i misremember. I'm thinking of the chunk-expanding fuse filesystem. | 14:28 |
| Kinnison | a fuse FS won't help you | 14:28 |
| Kinnison | if the kernel blocks the syscall | 14:28 |
| robtaylor | good point | 14:29 |
| ssam2 | Kinnison: ah, right | 14:31 |
| rjek | qemu! | 14:31 |
| ssam2 | i suggested that about 5 minutes ago ;) via https://lwn.net/Articles/644675/ | 14:32 |
| * richard_maw just ran some numbers on reducing the target system size | 14:34 | |
| richard_maw | https://www.diffchecker.com/9vghl9uz is a diff to visualise it | 14:34 |
| richard_maw | I haven't yet gotten around to not including debug symbols on the target system except for the minimal system | 14:35 |
| richard_maw | but I save 120MB of the size of the base system | 14:35 |
| richard_maw | with cumulatively 11 lines of code added to morph | 14:35 |
| richard_maw | and if I'd done it entirely in definitions.git, it would have added ~700 lines of code | 14:36 |
| richard_maw | though I'm still puzzled at some of the diff result | 14:39 |
| paulsher1ood | richard_maw: can we see the 11 lines? | 14:43 |
| richard_maw | paulsher1ood: I'll push the series for review after I've sanitised some commit messages. But in the meantime | 14:45 |
| richard_maw | 11 files changed, 463 insertions(+), 788 deletions(-) | 14:45 |
| richard_maw | morphlib/sourceresolver_tests.py | 336 -------------------------------------------------------------------- | 14:45 |
| richard_maw | I excluded the test suite removal because it was too much like cheating | 14:45 |
| paulsher1ood | :-) | 14:46 |
| *** mariaderidder has quit IRC | 14:46 | |
| richard_maw | oh, and the most revolting change: morphlib/sourceresolver.py | 689 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------- | 14:46 |
| paulsher1ood | heh | 14:46 |
| richard_maw | git thinks I pretty much rewrote the whole file because the diff is line based and is bad at reordering | 14:47 |
| * pedroalvarez sends a patch to disable the autostart of the default network created by libvirt https://gerrit.baserock.org/#/c/769/ | 14:50 | |
| richard_maw | Have https://gerrit.baserock.org/771 to https://gerrit.baserock.org/786 (16 patches) | 14:58 |
| *** mariaderidder has joined #baserock | 15:00 | |
| jjardon | ok, I updated https://gerrit.baserock.org/#/c/765/3 to the minimal patch I think is needed (g-i needs bash) | 15:01 |
| richard_maw | jjardon: is this tested? | 15:02 |
| tlsa | http://postimg.org/image/3mpyqbk23/full/ <-- that's the sort of thing that's different in libm builds | 15:02 |
| jjardon | richard_maw: only as a base system, building a weston one now | 15:02 |
| tlsa | looks like its due to morph's remp directroy creation being non-deterministic? | 15:03 |
| tlsa | *temp | 15:03 |
| rdale_ | jjardon: i've given 765 a +1 | 15:03 |
| richard_maw | jjardon: if it works with base, it's probably ok | 15:04 |
| Kinnison | tlsa: well, I wouldn't expect the tempdir names to be identical each time | 15:04 |
| Kinnison | tlsa: But I also wouldn't expect it to reach the non-bootstrap components | 15:04 |
| tlsa | I don't really know anything about the bootstrapping, or build stages | 15:07 |
| * tlsa has managed to avoid those horrors until now | 15:07 | |
| * Kinnison is surprised we're seeing tmpXXXXX names in the final built system | 15:08 | |
| * tlsa too | 15:08 | |
| Kinnison | since for properly sandboxed chunk builds we should see /foo.build/ and /foo.inst/ at most | 15:08 |
| tlsa | yeah | 15:08 |
| Kinnison | it'd be handy to know if that libm content is really from the real build or has somehow leaked from a bootstrap | 15:08 |
| tlsa | its from the system artifact | 15:09 |
| Kinnison | That certainly *shouldn't* have any bootstrap in it | 15:09 |
| Kinnison | I really don't want to have to add a fourth layer to build-essential | 15:09 |
| tlsa | I'll look at busybox and see if its the same issue there, or something else | 15:10 |
| Kinnison | You need to find out *why* those non-isolated paths have managed to be baked in. | 15:10 |
| tlsa | I'm using `xxd` to convert the binarys to hex and `vimdiff` to view, btw | 15:10 |
| pedroalvarez | franred: biff re https://gerrit.baserock.org/#/c/769/ | 15:13 |
| franred | pedroalvarez, ta | 15:13 |
| franred | looks fine by me | 15:13 |
| Zara | straycat: I tried testing change 768 and got 'unexpected keyword argument "separate_mount_namespace"'. suspect it may just be that my devel vm is a bit old; if so it might be worth saying what versions of baserock the change is compatible with in the commit. (I tried updating morph and my import tool but the error was still there) | 15:14 |
| pedroalvarez | Kinnison: re - libvirt change, makes sense to put -f | 15:14 |
| pedroalvarez | thanks for reviewing | 15:14 |
| Kinnison | y/w | 15:14 |
| SotK | Zara: did you set PYTHONPATH to your morph checkout when running the import tool? | 15:15 |
| straycat | Zara, depends on current master | 15:16 |
| straycat | (of morph) | 15:16 |
| richard_maw | tlsa: those look like header search paths to me | 15:16 |
| straycat | pedroalvarez, take it "default.xml in 769 is a symlink? | 15:17 |
| pedroalvarez | straycat: it is | 15:17 |
| Zara | yeah, I think I have the right morph; just cloned it (and my PYTHONPATH is set to that checkout in usr/bin/morph) | 15:17 |
| pedroalvarez | straycat: should I note that in the commit message? | 15:18 |
| straycat | Zara, then you also need to set PYTHONPATH when you run the import tool as SotK says | 15:18 |
| SotK | Zara: you'll need to set PYTHONPATH either in the environment or when you run the import tool too | 15:18 |
| tlsa | richard_maw: yeah | 15:18 |
| straycat | pedroalvarez, doesn't bother me, just wanted to make sure :) | 15:18 |
| Zara | okay, that's odd, didn't need to in the past! | 15:18 |
| SotK | it will have been using the morph that was installed in your system rather than the git checkout then I imagine | 15:19 |
| pedroalvarez | straycat: ok :) The default network is going to be there, but it's not going to autostart | 15:19 |
| * straycat nods | 15:19 | |
| tlsa | richard_maw: but I'm not sure how they get inside the sandbox | 15:19 |
| Zara | seems to still be doing the same thing | 15:20 |
| richard_maw | it is worrying, as those paths look like they are from stage2 of the bootstrap | 15:20 |
| tlsa | libm doesn't show up in a grep of definitions | 15:20 |
| tlsa | where does it come from? | 15:20 |
| richard_maw | glibc | 15:20 |
| paulsher1ood | tlsa: is that tmpXXXX stuff in ybd too? | 15:20 |
| tlsa | paulsher1ood: I don't know, yet | 15:21 |
| paulsher1ood | tlsa: ok, np | 15:21 |
| *** a1exhughe5 has quit IRC | 15:29 | |
| *** jonathanmaw has quit IRC | 16:57 | |
| *** ssam2 has quit IRC | 16:58 | |
| *** Krin has quit IRC | 16:58 | |
| richard_maw | jjardon: has your build where you've included bash in the dependencies for gobject-introspection built as far as weston? | 16:59 |
| franred | pedroalvarez, +2 to https://gerrit.baserock.org/#/c/769/3 - I think it was a minor change and you already have 3 +1s from previous versions | 17:00 |
| pedroalvarez | oh, I didn't notice straycat's one | 17:00 |
| pedroalvarez | thanks! | 17:00 |
| richard_maw | jjardon: if you have, I'd like to record that in the comments, and vote | 17:01 |
| jjardon | richard_maw: not yet, I will comment when it finish | 17:02 |
| richard_maw | jjardon: ack | 17:03 |
| *** bashrc_ has quit IRC | 17:04 | |
| richard_maw | jjardon: given my plan would be to +2 and merge if you proved it worked, I'd be fine with you submitting it, if your testing proves it works | 17:04 |
| jjardon | richard_maw: ok, its at 172/261 so its going to take a while | 17:05 |
| *** Guest51560 has quit IRC | 17:06 | |
| pedroalvarez | my devel system build, on arm, with that patch, succeded | 17:07 |
| pedroalvarez | s/e/ee/ | 17:08 |
| pedroalvarez | well, no | 17:08 |
| pedroalvarez | i tested the bison one | 17:08 |
| *** mariaderidder has quit IRC | 17:21 | |
| *** gary_perkins has quit IRC | 17:38 | |
| *** edcragg has quit IRC | 17:59 | |
| *** ctgriffiths has quit IRC | 18:14 | |
| *** lachlanmackenzie has quit IRC | 18:17 | |
| *** ctgriffiths has joined #baserock | 18:27 | |
| *** zoli___ has quit IRC | 21:12 | |
| *** zoli__ has joined #baserock | 21:51 | |
| *** zoli__ has quit IRC | 22:17 | |
| *** zoli__ has joined #baserock | 22:18 | |
| *** zoli__ has quit IRC | 22:24 | |
Generated by irclog2html.py 2.15.3 by Marius Gedminas - find it at mg.pov.lt!