IRC logs for #buildstream for Wednesday, 2017-04-05

*** tristan has quit IRC05:31
*** tristan has joined #buildstream05:42
*** ChanServ sets mode: +o tristan05:43
*** tristan has quit IRC08:34
*** ssam2 has joined #buildstream08:47
*** tristan has joined #buildstream08:52
*** tristan has quit IRC13:44
*** tristan has joined #buildstream14:09
*** ChanServ sets mode: +o tristan14:10
tristanjuergbi, so I dont know if you noticed my whining about https://github.com/ostreedev/ostree/issues/77714:18
tristanI wonder what is the better solution here14:18
tristancurrently I've done this: https://gitlab.com/BuildStream/buildstream/commit/21b6314b33358960b4f0b63c708d510bdd755fbc14:19
juergbihm, so not even the executable bit is restored?14:19
tristanI.e. A.) Dont encode uid/gid root when creating artifacts in local cache (means there needs to be some translation in push/pull)14:19
tristanand B.) Dont do --user-mode at checkout14:19
juergbiwithout user mode, does this mean root is required?14:20
tristanBasically, alex larsson's argument was that when you checkout things in --user-mode and they originally belonged to root, it doesnt make sense to keep the same permission bits at checkout14:20
tristanYes14:20
tristanpermission denied if I checkout without that14:20
tristanI was thinking, one hack would be to again use bubblewrap for a weaker sandbox for the checkout14:21
tristanand just use 'bare' repository directly14:21
juergbii would say at the very least ostree should store permissions like git14:21
juergbii.e., preserve executable bit14:21
tristanbut I wonder if that is tangling up the design a bit too far (paints us in a corner if we want to swap components and such, support other oses etc)14:22
tristanI think it should14:22
tristanbut, it seems not a feature14:22
tristanI dont know, sounds strange14:22
tristanI also dont know if this is about preserving only the exec bit14:23
tristanmaybe I have to dig deeper14:23
tristanwhat happens is, regular files which 0600 come out as -rwxr--r--14:24
tristanSo permissions are actually escalated14:24
juergbifor regular software artifacts i expect the only permission state that needs to be stored is the executable bit14:24
tristanWhat are "regular software artifacts" though ?14:25
tristanI mean, doesnt sensitive stuff like pam configuration and the like count ?14:25
juergbii mean non-config and non-var/readwrite files14:25
tristanThat is all stuff you need to put into an artifact14:25
juergbiit depends14:26
tristanWell, for *our* use case, we most certainly need to store that stuff somewhere14:26
juergbifor the traditional ostree use case, you only care about read-only files14:26
juergbibut yes, buildstream artifacts may sometimes need more14:26
juergbidepends on the deploy method14:27
tristanAlso flatpak is using ostree not only for building, and as regular user14:27
tristanI might be tempted to think that security wise, permissions of stuff in the runtime might be important14:27
tristanbut cant verify off the top of my head14:27
tristanI suppose that "process is allowed to read everything in the sandbox" might make sense there14:28
tristanwell, there are workarounds possible too, alex suggested re-commit with --owner-uid=0 and --tree=ref=COMMIT14:29
tristanso one could add additional suffixed commits at import/export time14:29
tristanso that you only push/pull artifacts with uid/gid 0, and translate them back (inside the repo) into something the user can use14:30
tristanI should probably raise this on the ostree ML anyway14:33
*** ssam2 has quit IRC17:02
*** ghishadow_ has joined #buildstream19:11
*** ghishadow_ has quit IRC19:20
*** tristan has quit IRC20:42

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!