Times are UTC Toggle Colours
00:01:19 *** chomwitt has quit IRC 00:09:47 *** iSoSyS has joined #openttd 01:07:59 *** Thedarkb1-T60 has joined #openttd 01:35:27 *** lugo has joined #openttd 01:58:15 *** Progman has quit IRC 02:30:55 *** Mazur has joined #openttd 02:42:59 *** lugo has quit IRC 03:08:09 *** iSoSyS has quit IRC 03:35:56 *** glx has quit IRC 05:42:59 *** chomwitt has joined #openttd 07:35:12 *** APTX_ has joined #openttd 07:42:23 *** Wacko1976 has joined #openttd 07:43:44 *** APTX_ has quit IRC 07:48:54 *** Wacko1976_ has quit IRC 07:53:20 *** nielsm has joined #openttd 07:54:14 *** Wacko1976 has quit IRC 08:29:58 *** sla_ro|master has joined #openttd 08:43:23 *** TrueBrain has quit IRC 09:16:20 *** lugo has joined #openttd 09:17:17 *** APTX_ has joined #openttd 09:25:24 *** APTX_ has quit IRC 09:39:30 <planetmaker> moin 09:40:38 *** TrueBrain has joined #openttd 09:49:37 *** Wolf01 has joined #openttd 09:49:45 <Wolf01> o/ 09:58:34 *** Progman has joined #openttd 10:07:12 *** frosch123 has joined #openttd 12:05:18 *** lugo has quit IRC 12:28:01 *** jjavaholic has joined #openttd 12:31:31 *** Thedarkb1-T60 has quit IRC 12:31:53 *** Thedarkb1-T60 has joined #openttd 12:34:04 <dihedral> greetings 12:40:50 <nielsm> I did a thing: https://dev.azure.com/jiifurusu/OpenTTD%20test/_build/results?buildId=12 12:40:58 <nielsm> (is that accessible without login?) 12:41:15 <LordAro> it is 12:41:17 <LordAro> interesting 12:43:17 <nielsm> https://github.com/nielsmh/OpenTTD/blob/azure-pipelines-test/azure-pipelines.yml 12:43:23 <nielsm> is all the configuration made 12:43:37 <nielsm> well, and then a support repos with the static dependencies 12:53:34 <LordAro> can it do linux? 12:54:46 <nielsm> yes 12:54:50 <nielsm> and mac 12:55:41 <nielsm> and as far as I can tell it's possible to configure it so only the master branch has builds published automatically, while other branches/PRs need manual approval for each build 13:00:16 <nielsm> let 13:00:17 *** Wacko1976 has joined #openttd 13:00:26 <nielsm> let's see if I can make it pack things up too 13:03:28 <LordAro> where's a TrueBrain when you want one? 13:07:53 <dihedral> slap him - perhaps that triggers him :-P 13:08:00 *** Progman has quit IRC 13:09:29 *** dih has joined #openttd 13:12:26 *** dihedral has quit IRC 13:16:48 *** dih is now known as dihedral 13:22:59 <nielsm> oooooohhhh 13:23:06 <nielsm> took me a while to realize that... 13:23:17 <nielsm> in "task: VSBuild@1" 13:23:29 <nielsm> the @1 is the version of the task code to use 13:31:49 <nielsm> https://dev.azure.com/jiifurusu/OpenTTD%20test/_build/results?buildId=18 why does the publish artifact fail :( it just created the file named in the step before 13:40:29 *** Thedarkb1-T60 has quit IRC 13:42:03 *** APTX_ has joined #openttd 13:51:48 *** Thedarkb1-T60 has joined #openttd 13:52:34 *** APTX_ has quit IRC 13:53:02 *** wodencafe has quit IRC 13:53:51 <nielsm> https://dev.azure.com/jiifurusu/OpenTTD%20test/_build/results?buildId=21 13:54:07 <nielsm> now there is an Artifacts button in the top right and you can download it!!! 14:03:30 *** andythenorth has joined #openttd 14:03:39 <andythenorth> o/ 14:04:47 *** andythenorth has quit IRC 14:07:19 *** Thedarkb1-T60 has quit IRC 14:36:23 *** APTX_ has joined #openttd 14:44:29 *** APTX_ has quit IRC 14:45:14 *** andythenorth has joined #openttd 14:45:56 <nielsm> hmm well... https://0x0.st/skeP.png 14:46:04 <nielsm> it works (both win32 and win64) 14:46:14 <nielsm> but it's missing the branch name for whatever reason 15:07:01 *** wodencafe has joined #openttd 15:07:17 *** Flygon has quit IRC 15:38:42 <nielsm> also got a linux build working on azure now 15:39:12 <nielsm> not trying mac right away, because of dependencies 15:39:32 <nielsm> (not sure if liblzma etc are available) 15:43:21 *** sla_ro|master has quit IRC 15:45:56 <nielsm> ah, they do have homebrew installed on the macos images, so could fetch any extra libs via that 15:46:16 *** sla_ro|master has joined #openttd 15:46:46 <TrueBrain> nielsm: w00p, your pipeline makes the 4th pipeline "language" we have now for OpenTTD :D 15:46:56 <TrueBrain> I tried GCP and AWS .. didnt try Azure yet :P 15:47:04 <TrueBrain> they should unify their language tbfh :) 15:47:15 <nielsm> and lose any competitive advantage? :D 15:47:24 <TrueBrain> and I see you found out why I was asking to make OpenTTD work with vspkg instead of openttd-useful :P 15:47:37 <nielsm> vcpkg* 15:47:45 <TrueBrain> dammit, I keep typing that wrong :P 15:48:00 <nielsm> yes it's a bit clunky to fetch dependencies like that, but not directly painful 15:48:05 <TrueBrain> it is the main reason why I like containers btw .. they define one way for all the pipelines how to compile 15:48:08 <TrueBrain> the pipelines just link it together 15:48:45 <TrueBrain> btw, how many Azure credits do you have? :P 15:48:52 <nielsm> this is zero cost 15:48:59 <nielsm> since it's a public project 15:49:06 <TrueBrain> Azure does something with that? 15:49:17 <TrueBrain> (like said, I tried GCP and AWS .. it turns out to be crazy expensive to run OpenTTD there :P) 15:49:42 <TrueBrain> since sept 2018 15:49:45 <TrueBrain> okay .. that is interesting 15:50:01 <TrueBrain> can they run containers? :D 15:50:25 <TrueBrain> GitHub should hurry up with their pipelines .. they can just copy/paste from Azure now! 15:50:56 <nielsm> https://0x0.st/ske3.png 15:51:13 <TrueBrain> that is seriously interesting 15:51:26 <nielsm> you can run containers on their linux offer 15:51:53 <nielsm> but if you want a custom/persistent machine you need to pay for the VM 15:52:03 <nielsm> it's only on-demand fresh machines you can build on for free 15:52:09 <TrueBrain> the containers are just meant as a reproducable way of compiling 15:52:26 <TrueBrain> (and to be able to targets all kinds of different Linux versions) 15:52:29 <nielsm> yeah these linux and windows builds are made on a fresh VM each time 15:53:08 <nielsm> but they only have ubuntu 16.04 15:53:13 <nielsm> so eh, limited there 15:53:34 <TrueBrain> I am a bit lost in your information here :) Can you run containers in the free open source thingy? 15:53:58 <nielsm> afaik you can, but you'd have to download the container to the free machine on every job 15:54:24 <TrueBrain> that is what happen son most, so that is not a real issue 15:54:51 <nielsm> otherwise you can have their pipeline kick off a job on a remote machine you manage yourself 15:55:06 <TrueBrain> that is not really solving anything :) 15:55:11 <TrueBrain> we can already do that :P In fact .. we do :) 15:55:21 <TrueBrain> that is just adding indirection :D 15:56:10 <TrueBrain> docker is even installed on their hosted ubuntu pool 15:56:12 <TrueBrain> that is nice 15:56:56 <TrueBrain> even Windows Containers?! :o 15:58:41 <TrueBrain> native MacOS would for sure improve quality of the binary :) 16:00:30 <TrueBrain> guess it is fine to do MacOS and Windows natively, and run Linux in containers. 16:00:33 *** Wormnest has joined #openttd 16:00:34 <TrueBrain> nice find nielsm :D 16:00:54 <TrueBrain> kinda gave up on clouds after GCP and AWS :P I shouldn't have :D 16:00:58 <nielsm> daily builds and PR builds should maybe upload to our own server, and PR builds are then placed in a hold until manually released for DL 16:01:39 <TrueBrain> I think it should be a bit more complex; I wrote a bit about that a while ago in a hack.md link 16:01:58 <TrueBrain> but we can do both releases and CI with this, I assume? 16:02:19 * peter1138 looks briefly... looks promising. 16:03:12 <nielsm> another possibility for the (windows) dependencies would be to put the sources for them in a repos, make a CI pipeline for that, which publishes the libs and headers as a bild artifact, that can then be consumed later 16:03:29 <TrueBrain> nielsm: why not vcpkg? 16:03:44 <nielsm> if it has everything :) 16:03:48 <TrueBrain> it does 16:03:58 <nielsm> I have zero experience using it 16:04:05 <nielsm> that's why I didn't try 16:04:07 <TrueBrain> https://github.com/TrueBrain/OpenTTD-CF/tree/windows 16:04:23 <TrueBrain> in release-windows-msvc/Dockerfile 16:04:31 <TrueBrain> I install vcpkg, and install the packages we use 16:04:37 <TrueBrain> (used .. ICU is still in there) 16:04:47 <TrueBrain> this "works" 16:04:58 <TrueBrain> except that I needed to fix a lot of paths because .... openttd-useful is weird 16:06:41 <TrueBrain> okay, ironicly, their Windows image doesn't have vcpkg installed :D 16:06:43 <TrueBrain> hihi :D 16:07:49 <TrueBrain> okay, using Windows Containers is not difficult too, if I understand this correctly 16:09:15 <TrueBrain> nielsm: https://hackmd.io/kRpmIG-EQYuU2vJ-OiVPxA 16:09:20 <TrueBrain> that is what I suggest how we trigger builds etc 16:09:37 <TrueBrain> most important ones are the first (PR validation) and last (Tags) 16:09:40 <TrueBrain> the other two are nice-to-have 16:16:38 <TrueBrain> very cool nielsm :D This might just solve a huge resource issue :P 16:16:40 <nielsm> what's the threat model for limiting exposure of initial check, and what is it for preventing builds of a PR until whitelist? 16:17:02 <TrueBrain> nielsm: sorry? I dont understand either question :( 16:17:04 <nielsm> (I see the threat model for not publishing builds of unreviewed code) 16:17:25 <nielsm> what are you meaning to defend against 16:17:39 <TrueBrain> "initial check", I dont get what you meant there :) 16:17:56 <nielsm> initial check = PR validation 16:18:16 <TrueBrain> ah; so that part only tells if it was okay yes/no, and logs 16:18:20 <TrueBrain> but no binaries etc 16:18:25 <TrueBrain> because the PR is considered untrusted 16:18:30 <TrueBrain> exactly what the reason you just mentioned :) 16:18:36 <nielsm> yes what is the threat? 16:18:45 <nielsm> what can an attacker do with code execution at that step? 16:18:52 <TrueBrain> exactly that; people creating PRs which remove OpenTTD and introduce their own "code" 16:19:06 <TrueBrain> it is about not publishing the binaries 16:19:21 <andythenorth> :o 16:19:22 <andythenorth> it's TrueBrain 16:19:27 <TrueBrain> so .. the risk is that someone donwloads the binaries, and execute it .. that part is obvious, so I am not sure I get your question :D 16:19:29 * andythenorth was afk 16:19:46 <TrueBrain> how I see it: new PR == untrusted code 16:19:54 <TrueBrain> so we run our CI over it, show the logs + exit code 16:19:56 <TrueBrain> that is it 16:20:00 <TrueBrain> no binaries to download, nothing 16:20:14 <TrueBrain> if someone marks the PR as "trusted", binaries can be created 16:20:21 <nielsm> yes that's why I suggest the simple mitigation of, put created binaries in a hold, for manual release by a truested person once the PR has been reviewed 16:20:40 <TrueBrain> the fact that you make the binaries available, means people can fuck up :) 16:20:48 <TrueBrain> never give the illusion those binaries are "trusted" 16:20:50 <TrueBrain> so never produce them :) 16:21:01 <TrueBrain> a failsafe, so to say :) 16:21:34 <TrueBrain> (as that "hold" will be on azure, which most likely published the binaries in some form .. :D) 16:22:02 <TrueBrain> from a security perspective: handle your untrusted code as untrusted. Not as some hybrid form 16:22:18 <nielsm> nah that's why I suggest not using the "publish artifact" step of azure since that does in fact publish it 16:22:36 *** Xaroth has quit IRC 16:22:36 <nielsm> and instead upload it to a private location 16:22:48 <TrueBrain> but that does mean the binaries do exiist :) 16:22:51 *** Xaroth has joined #openttd 16:22:51 <TrueBrain> which is exactly my point :) 16:23:15 <TrueBrain> the only "downside" with my approach, that you compile the same code twice once per PR you want to preview 16:23:32 <TrueBrain> added bonus is that you dont need a secure private location with big markers: UNTRUSTED CODE :) 16:23:56 <TrueBrain> or am I missing your point? 16:24:40 *** gelignite has joined #openttd 16:25:11 *** Thedarkb1-T60 has joined #openttd 16:25:21 <LordAro> untrusted surely only really matters with your own infrastructure 16:25:32 <LordAro> using something like azure surely pushes that onto MS 16:25:43 <TrueBrain> only the building; we talk here about the resulting binary 16:25:56 <TrueBrain> the building itself is a different story (with different countermeasures) 16:26:11 <LordAro> oh, actually publishing artefacts for PRs? interesting 16:26:52 <TrueBrain> nielsm: guess my main reasoning is: the easier we keep the processing of "untrusted" code, the less mistakes will be made 16:27:44 <LordAro> make PR binaries private unless dev or dev approved? 16:27:59 <TrueBrain> that is what nielsm says, yes; thank you for catching up :P 16:28:01 <TrueBrain> <3 16:28:05 <LordAro> <3 16:28:09 *** tokai has joined #openttd 16:28:09 *** ChanServ sets mode: +v tokai 16:28:12 <nielsm> a release hold for unverified PR artifacts is as secure as the people with access to it, and anyone with access to it could just as well be pulling the code to their own machine and building without verifying it first 16:28:19 <nielsm> equally stupid 16:28:39 <TrueBrain> it does require infrastructure to store those untrusted artifacts 16:28:43 <TrueBrain> make a mechanism to publish them 16:28:44 <LordAro> alternatively, are PR artefacts actually desirable? 16:28:45 <TrueBrain> etc 16:28:46 <TrueBrain> is that worth it? 16:29:05 <TrueBrain> (honest question btw) 16:29:31 <TrueBrain> for me it is easier to look at it like: 1 pipeline for untrusted code, never any binaries, never any worries 16:29:40 <TrueBrain> 1 pipeline for trusted code, which has binaries it publishes 16:29:50 <nielsm> hmm 16:30:05 <TrueBrain> KISS, basically :D 16:30:17 <nielsm> there is a manual intervention step too, maybe that could be used to "pause" builds until someone manually resumes it 16:30:32 <TrueBrain> what is the gain? :) 16:30:45 <TrueBrain> also I assumed 90% of the PRs never get a preview btw 16:31:15 <TrueBrain> but why not just trigger a second pipeline? Isnt that a lot easier? 16:31:19 <TrueBrain> (also to maintain) 16:32:36 <TrueBrain> I hope we can build something that can be maintained easily for the next 10 years by as many people as possible 16:32:55 <TrueBrain> which mostly means removing the "security" part from the equation, and making sure it cannot go wrong to start with :) 16:33:16 <TrueBrain> (I have to add: I am working for an IT Security firm now for 4 years .. I am a bit paranoid :D Mostly because I have seen shit :P) 16:34:02 <TrueBrain> either way, I think we are overthinking it a bit at this moment in time :) Possibly we should first aim to having a CI, and being able to build tags :) 16:34:11 <Xaroth> I don't think you're being paranoid about it tbh 16:34:13 <TrueBrain> also for patchpacks :) 16:34:30 <Xaroth> 2 pipelines sounds like common sense 16:34:51 <TrueBrain> it is not so much related to "common sense". These are just choices you have to make 16:34:59 *** tokai|noir has quit IRC 16:35:00 <TrueBrain> one isn't better than the other as much as they solve different needws 16:35:18 <nielsm> you can use the same pipeline but make the archive+publish steps dependent on Build.Reason != 'PullRequest' 16:37:15 <TrueBrain> nielsm: for example. Still 2 pipelines in the logic sense :) How we solve it technically .. all sounds good :) 16:37:34 <TrueBrain> I do wonder if we can take over the triggering of the build on Azure 16:37:48 <nielsm> azure can do time-based triggers yes 16:38:00 <TrueBrain> I was more looking for manual triggers 16:38:08 <TrueBrain> but I can imagine they dont allow that 16:38:11 <nielsm> there's also manual triggering 16:38:22 <TrueBrain> really? Cool .. can you also add variables to the triggering part? 16:38:40 <nielsm> https://0x0.st/sk2T.png 16:38:43 <TrueBrain> as what I am thinking: basically, if a developer is whitelisted, his PR can be in preview immediatly. but we need something that does this whitelisting 16:38:48 <andythenorth> trying to prevent poisoned binaries by design is *not* tinfoil :P 16:38:52 * andythenorth adds £0.02 16:39:04 <TrueBrain> nielsm: now that is interseting :D 16:39:06 <andythenorth> (hello coin miners) 16:39:27 <TrueBrain> nielsm: as if, for example, DorpsGek_II can trigger the builds, instead of azure "sensing" it 16:39:35 <TrueBrain> we can do cool tricks :) 16:40:50 <TrueBrain> owh, we are going to have so much fun with this :D 16:40:58 <TrueBrain> also means we can speed up CIs drasticly 16:41:08 <TrueBrain> as in: run all the builds at once 16:41:23 <TrueBrain> also means we can finally do the full matrix of compilers (to run once in a while) 16:41:40 <TrueBrain> I wonder if there is a fair use :P 16:41:43 <nielsm> the free tier on azure has up to 10 concurrent jobs 16:41:48 <TrueBrain> lolz :D 16:41:51 <TrueBrain> that is .. a lot 16:41:53 <TrueBrain> holy crap 16:42:17 <nielsm> a job is forcibly killed after 6 hours 16:42:29 <TrueBrain> 6 hours?! that is a shitlong time 16:42:34 <nielsm> yep 16:42:47 <TrueBrain> too bad GitHub Actions is still in beta 16:42:53 <TrueBrain> that too introduces pipelines 16:42:59 <TrueBrain> toooooo many pipeline systems 16:43:32 <TrueBrain> well, if you can nielsm, please do try the MacOS :D Would be nice to know if that "just works" 16:43:58 <TrueBrain> in the OpenTTD-CF are instructions how to install it, if you need any assistance 16:44:05 <TrueBrain> there too I believe ICU was removed, not sure :) 16:45:55 <nielsm> https://dev.azure.com/jiifurusu/OpenTTD%20test/_build/results?buildId=36 16:46:20 <nielsm> just trying a straight build no extra deps here 16:46:40 <nielsm> okay no liblzma 16:46:49 <TrueBrain> we dont have many deps :) 16:46:56 <andythenorth> ha we can watch it :) 16:46:59 <andythenorth> like modern jenkins 16:47:13 *** synchris has joined #openttd 16:47:39 <TrueBrain> I like how everything runs twice :P 16:48:03 <nielsm> what? 16:48:16 <TrueBrain> once via your branch, once via your PR :P 16:48:24 <nielsm> huh, didn't even notice that 16:48:30 <nielsm> ._. 16:48:30 <TrueBrain> its free :P 16:48:32 <TrueBrain> :D 16:48:53 <nielsm> I should close the PR really 16:48:54 <TrueBrain> andythenorth: yeah, the live part is very nice 16:49:04 <nielsm> it was just one azure forced on me 16:49:17 <TrueBrain> if this works, it means we can really move to k8s .. as we than really have no use of a dedicated machine anymore 16:49:21 <TrueBrain> that makes me really happy 16:49:38 <LordAro> k8s? 16:49:43 <TrueBrain> kubernetes 16:49:52 <LordAro> right 16:51:04 <TrueBrain> the Digitalocean CDN also seems very solid 16:51:10 <TrueBrain> means we can remove our own mirror network 16:51:18 *** sla_ro|master2 has joined #openttd 16:51:18 <TrueBrain> less complexity :D 16:51:42 <andythenorth> \o/ 16:51:45 <TrueBrain> lol: D:\a\s\projects :D That folder :D 16:51:59 *** sla_ro|master2 has quit IRC 16:52:36 <nielsm> the mac build host is fast! 16:52:47 <TrueBrain> it really appears to be a native machine 16:53:02 <TrueBrain> it is compiling :o 16:53:12 <nielsm> ./configure --without-liblzma --without-liblzo2 --without-png 16:53:20 <TrueBrain> cheats! :D 16:53:25 <LordAro> ha 16:53:33 <nielsm> if anyone can look up the brew commandline to install those deps I'll add them :P 16:53:42 <TrueBrain> macports installed too? 16:53:51 <nielsm> nope, homebrew but not macports 16:53:59 <TrueBrain> you only 'difficult' part is that you want them 'static' 16:54:08 <TrueBrain> s/you/the/ 16:54:11 <nielsm> ahh... 16:54:20 <nielsm> yeah dylibs are annoying 16:54:27 <TrueBrain> yeah ... 16:54:35 <TrueBrain> same reason we do static windows builds 16:54:37 <TrueBrain> dlls are annoying 16:54:54 <nielsm> many years ago I wrote some scripts for packaging and rejiggering dylibs install_path or whatever they're called for aegisub on mac 16:55:29 *** sla_ro|master has quit IRC 16:55:39 <TrueBrain> hmm .. I wonder how difficult integration with GitHub is for warnings/errors 16:55:43 <nielsm> https://github.com/Aegisub/Aegisub/blob/master/tools/osx-fix-libs.py 16:55:44 <TrueBrain> you can show these on GitHub inline these days 16:56:06 <TrueBrain> you would think Azure can do this now, given GitHub is owned by the same company :P 16:56:43 <TrueBrain> it does report back to GitHub at least 16:57:04 *** jjavaholic has quit IRC 16:57:21 <nielsm> I should also try making it package and publish the mac build artifact 16:57:31 <nielsm> if it finishes ;) 16:57:32 <TrueBrain> means andythenorth can test it for you :P 16:57:54 <LordAro> our single macos user :p 16:58:07 <TrueBrain> they dont have docker on their MacOS agents 16:58:09 <TrueBrain> boooooeeeeee 16:58:35 <nielsm> ms writes somewhere their mac builds are hosted on an external partner in the US, instead of on their own datacenters 16:58:59 <nielsm> I wonder if it's that hosting company that custom designed racks for mac mini and trashcan machines 16:59:33 <TrueBrain> that wouldn't surprise me 16:59:51 <TrueBrain> but this is seriously awesome 16:59:59 <TrueBrain> osxcross "works", but native builds are always better 17:00:06 <andythenorth> is this £0.00? 17:00:21 <nielsm> fail :( 17:00:36 <TrueBrain> missing zlib :) 17:00:57 <TrueBrain> configure didnt pick up on that :o 17:01:00 <TrueBrain> BUG!! 17:02:19 <TrueBrain> right, next week two weeks to get this linked to our current infrastructure I guess 17:02:23 <TrueBrain> I also want to get the new website live 17:02:29 <TrueBrain> still waiting for LordAro to make his gist into a PR 17:02:31 <TrueBrain> :P 17:02:34 <LordAro> :< 17:02:43 <TrueBrain> (also still waiting for his feedback on the hackmd, but not sure that will ever happen :D ) 17:02:50 <TrueBrain> (just a poke :P) 17:03:05 <LordAro> still got the tab open :p 17:03:11 <TrueBrain> :D 17:03:44 <nielsm> anyone want to set up an official ottd org with azure? :) 17:03:44 <TrueBrain> yeah, if we can get CI in a decent shape and get the website live on DigitalOcean, that would be a nice win tbh :) 17:03:57 <TrueBrain> nielsm: next week, sure :P 17:04:33 <TrueBrain> at least, I assume your current setup works fine for this testing etc? 17:04:48 *** sla_ro|master has joined #openttd 17:05:25 <nielsm> eh I suppose half or more of this proof of concept needs to be replaced 17:05:42 <TrueBrain> if possible, I would love the Windows and Linux to be via docker 17:05:48 <TrueBrain> as that means more people can locally test it 17:05:52 <LordAro> mm, all them deprecation warnings for the objc 17:05:53 <TrueBrain> instead of having to do it via PRs :D 17:05:54 <nielsm> are windows deps handled as a binary bundle or with vcpkg? 17:06:07 <nielsm> etcetc 17:06:12 <nielsm> bbl, fod 17:06:17 <TrueBrain> yes, food! Good idea :D 17:06:27 <TrueBrain> again, awesome work nielsm :) Makes me really happy :D 17:07:10 <TrueBrain> (and as you might have noticed, I tried to move as much complexity as possible away from us .. like doing our own libaries is silly these days .. we should work on OpenTTD .. not on updating zlib dependency :D) 17:07:20 <TrueBrain> s/tried/try 17:07:41 <TrueBrain> same reason we should really look into cmake :D 17:07:51 <TrueBrain> right, food, yes 17:08:09 <LordAro> TrueBrain: i'll probably put some more work into cmake over christmas 17:19:56 <LordAro> TrueBrain: can't seem to make any comments on the doc itself, so:- No specific concerns, other than it'd probably be a good idea to have a specific mention of being able to manually upload binary releases (for the more obscure OSes OS/2, Linux deb/rpm/etc, etc etc) that won't ever be built via CI. Other than that is all implementation details, like making the generic Linux builder as old as "feasible", 17:20:02 <LordAro> for libc compatibility. And I imagine several things in the doc about implementation could be (about to be) out of date, wrt pipeslines. Charts sound interesting, think I want to look into them in more detail generally 17:23:14 *** lugo has joined #openttd 17:34:55 <nielsm> re. using containers for build on windows, I guess my reservation is that I don't know how large a ready to use windows container image is, if you need to transfer multiple gigabytes to the build host before the actual build can start it sounds like a bad approach 17:42:46 *** sla_ro|master has quit IRC 17:43:26 *** sla_ro|master has joined #openttd 18:06:01 *** Progman has joined #openttd 18:29:05 *** Wacko1976_ has joined #openttd 18:34:59 *** Wacko1976 has quit IRC 18:56:13 *** jjavaholic has joined #openttd 18:59:13 <nielsm> this macos environment is annoying... 19:00:22 <nielsm> but also, if configure does not find zlib it just says "not found" but doesn't yell like it does with lzma 19:01:24 <nielsm> strange thing is that the homebrew xz package is installed, which does include liblzma2.dylib and liblzma2.a, as well as the headers 19:01:42 <nielsm> and macos should have a system zlib that's usable 19:01:54 <nielsm> it also won't detect the libpng I'm installing via homebrew 19:02:18 <nielsm> but the really bad thing is I can't inspect the environment to see where the files it wants actually are 19:02:49 <nielsm> (maybe I should instrument the build to produce some artifacts listing files etc) 19:04:23 <andythenorth> is it full shell access to macos? 19:04:29 <andythenorth> or some crippled interface? 19:04:50 <nielsm> I don't have login access 19:05:09 <nielsm> it just runs the jobs specified, through the build agent 19:05:41 <andythenorth> hmm 19:05:49 <andythenorth> yeah, so instrumenting the build :| 19:06:46 <nielsm> ls -lR /usr > allthefiles.txt 19:07:03 <andythenorth> pkgutil might do something 19:07:14 <andythenorth> I usually play guessing games with brew though 19:09:54 <TrueBrain> nielsm: re: windows containers, they are deltas on top of eachother. The windows container host already has a few build in. So that should be fine. but we can test how bad it is :D 19:10:54 <TrueBrain> LordAro: ack and tnx :) 19:11:29 <nielsm> let's try this... https://0x0.st/sk_D.txt 19:13:01 <nielsm> the brew install step takes forever because it also does a self update 19:15:13 <nielsm> TrueBrain: ah right, if you make the docker image build (compose?) step also run on azure ci and produce a build env artifact you can then import that artifact into actual builds 19:24:42 *** synchris has quit IRC 19:31:34 *** jjavaholic has quit IRC 19:51:46 <nielsm> okay, zlib detection fails because apple probably doesn't provide a .pc file for it, and homebrew doesn't install it in a default search path (to not clash with the system version) 19:52:53 *** chomwitt has quit IRC 19:59:09 *** glx has joined #openttd 19:59:09 *** ChanServ sets mode: +v glx 20:03:00 <TrueBrain> nielsm: that would be an anti-pattern (to use an artifact as docker image) :P But Azure has its own registry, and most likely the image is pretty small .. it is most likely faster than fetching openttd-useful even :P 20:03:04 <TrueBrain> but again .. something we can simply try :D 20:03:32 <TrueBrain> and it is a nice-to-have, so meh 20:04:53 <nielsm> I got my allfiles.txt so trying to construct a configure cmdline to just ignore pkg-config statically link the various compression libs 20:05:05 <TrueBrain> lolz 20:05:07 <nielsm> (and use system zlib) 20:05:12 <TrueBrain> or just tickle andythenorth to fix it :P 20:05:38 <andythenorth> LordAro offers fixes-as-a-service ;P 20:05:38 <nielsm> is libpng and libpng16 the same thing....? 20:06:03 <TrueBrain> nielsm: they MIGHT be the same 20:06:09 <TrueBrain> libpng changed their API 20:06:19 <TrueBrain> libpng12 != libpng16 20:06:22 <TrueBrain> libpng .. is either of the two :P 20:06:39 <andythenorth> "The "master" branch is roughly equivalent to the "libpng16" branch. Development occurs in the "libpng16" and "libpng17" branches; " 20:09:13 <nielsm> ./configure --with-zlib --with-lzma --with-lzo2 --with-png INCLUDE=/usr/local/include "LIBS=-lz /usr/local/lib/liblzma.a /usr/local/lib/liblzo2.a /usr/local/lib/libpng.a" 20:09:17 <nielsm> does that look sensible? 20:10:18 <LordAro> is all that necessary? 20:10:49 <nielsm> it seems I have to force detection around pkg-config, and may as well static link then 20:11:11 <LordAro> that's disappointing 20:11:22 <LordAro> i'd be surprised if INCLUDE is doing anything 20:11:29 <LordAro> and i'd do LIBS="blah blah" 20:11:45 <TrueBrain> and INCLUDE and LIBS before configure :) 20:11:55 <TrueBrain> but /usr/local, so I guess pkgconfig is just not in the place it is looking for? 20:12:31 <LordAro> "INCLUDE" and "LIBS" appear nowhere in configure/config.lib, i don't think those are the right variables... 20:12:50 <TrueBrain> what -should- work, or used to: --with-png=/usr/local/lib/libpng.a 20:12:55 <TrueBrain> but .. no clue if that still is the case :P 20:12:58 <TrueBrain> we are not helpful :( 20:13:02 <LordAro> i was wondering that, too 20:13:21 <LordAro> ideally of course, pkg-config would work 20:13:28 <TrueBrain> possibly something like: --with-pkgconfig=/usr/local/bin/pkg-config or something similar might work 20:13:31 <TrueBrain> no clue what exactly 20:13:33 <nielsm> I tried reading config.lib but couldn't figure out what --with-somelib=whatever actually does with whatever 20:13:34 <TrueBrain> I might have made typos :D 20:14:02 <TrueBrain> but LordAro knows more about this stuff these days :P 20:14:07 * andythenorth wonders what macos environment it is :P 20:14:11 <andythenorth> and why it's so arcane 20:14:27 <TrueBrain> it seems homebrew is just installed in /usr/local 20:14:32 <TrueBrain> what I would expect him to do tbh 20:15:00 <TrueBrain> brew install pkg-config at least exists 20:15:17 <LordAro> oh, LIBS & INCLUDE do appear in config.lib, dunno what i was talking about earlier 20:15:50 <nielsm> 2018-12-16T20:14:09.2010180Z configure: error: pkg-config zlib couldn't be found 20:15:51 <nielsm> 2018-12-16T20:14:09.2015590Z configure: error: you supplied '2', but it seems invalid 20:15:52 <nielsm> hmm 20:16:07 <TrueBrain> yeah .. '2' means you gave the exact location 20:16:14 <TrueBrain> bit weird error :D 20:16:34 <TrueBrain> so it basically says: cannot find the location you told me to look, or I didnt understand it 20:17:07 <LordAro> by the looks of config.lib, zlib detection is done via pkg-config, which means the --with-zlib=<foo> is used as the pkg config call 20:17:15 <TrueBrain> but okay, the other stuff I was talking about was just me blindly guessing .. not sure that is helping :) So I will leave it to others :P 20:17:26 <LordAro> config.lib:2820ish 20:17:33 <TrueBrain> config.lib has been ..... "altered" over the years :D 20:17:46 <TrueBrain> *cough* cmake *cough* :D 20:18:06 <glx> as long as it's not autoconf ;) 20:18:23 <LordAro> detect_zlib calls detect_pkg_config. detect_library is the function that uses as a file 20:18:53 <LordAro> but only lzo2 & fluidsynth use that now 20:24:29 <nielsm> hmm, homebrew does provide a zlib.pc file but it doesn't seem to be installed 20:24:46 <nielsm> (one that points at the system libz that is) 20:33:22 <nielsm> hm nope, just specifying PKG_CONFIG_PATH is not good enough, it seems 20:39:34 *** gelignite has quit IRC 20:55:36 *** sla_ro|master has quit IRC 21:19:39 *** lugo has quit IRC 21:36:54 *** Wormnest has quit IRC 21:38:51 <andythenorth> so what's the fashionable way to do powered wagons in newgrf now? 21:51:32 <nielsm> UI wise? 21:56:31 <andythenorth> implementation wise 21:57:14 <andythenorth> this is for TGV-type trains 22:02:59 <nielsm> overall I prefer realistic-ish fixed length multiple units, then it doesn't really matter where you place the power (and can ignore whether you have power on one or both end cars, or some or all axles) 22:07:00 *** andythenorth is now known as Guest309 22:07:10 *** andythenorth has joined #openttd 22:08:34 *** APTX_ has joined #openttd 22:12:05 <andythenorth> I tried building them in 16/8 units 22:12:06 <andythenorth> each powered 22:12:06 <andythenorth> but it's a bit fiddly to build in depot, they have to be dragged to make the consist 22:12:06 <andythenorth> wagons automatically are added 22:13:00 *** APTX_ has quit IRC 22:13:04 *** APTX_ has joined #openttd 22:13:54 *** Guest309 has quit IRC 22:16:30 *** andythenorth has left #openttd 22:18:59 *** frosch123 has quit IRC 22:20:00 *** APTX| has joined #openttd 22:20:22 *** APTX_ has quit IRC 22:25:50 *** Progman has quit IRC 22:30:10 *** APTX_ has joined #openttd 22:30:16 *** APTX| has quit IRC 22:32:23 *** nielsm has quit IRC 22:45:46 *** Flygon has joined #openttd 22:48:44 *** APTX_ has quit IRC 22:58:36 *** Wolf01 has quit IRC 22:59:54 *** Thedarkb1-T60 has quit IRC 23:17:11 *** Thedarkb1-T60 has joined #openttd 23:55:39 *** Wacko1976_ has quit IRC 23:56:29 *** jinks has joined #openttd