Back to Home / #openttd / 2018 / 12 / Prev Day | Next Day
#openttd IRC Logs for 2018-12-16

---Logopened Sun Dec 16 00:00:39 2018
00:42-!-chomwitt is "chomwitt" on #debian #debian-games
00:42-!-chomwitt [~chomwitt@ppp-94-66-223-44.home.otenet.gr] has joined #openttd
02:35-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
02:35-!-APTX_ is "APTX" on #openttd #kernelnewbies
02:42-!-Wacko1976 [~IceChat9@027-161-128-083.dynamic.caiway.nl] has joined #openttd
02:42-!-Wacko1976 is "The Chat Cool People Use" on #openttd #/r/openttd
02:43-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Ping timeout: 480 seconds]
02:48-!-Wacko1976_ [~IceChat9@027-161-128-083.dynamic.caiway.nl] has quit [Ping timeout: 480 seconds]
02:53-!-nielsm [~nielsm@176-23-103-56-cable.dk.customer.tdc.net] has joined #openttd
02:53-!-nielsm is "Niels Martin Hansen" on #openttd
02:54-!-Wacko1976 [~IceChat9@027-161-128-083.dynamic.caiway.nl] has quit []
03:29-!-sla_ro|master [~sla.ro@84.117.88.126] has joined #openttd
03:29-!-sla_ro|master is "slamaster" on #sla #openttd
03:43-!-TrueBrain [~truebrain@home.truebrain.nl] has quit [Quit: Konversation terminated!]
04:16-!-lugo [~lugo@000189e6.user.oftc.net] has joined #openttd
04:16-!-lugo is "..." on #openttd
04:17-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
04:17-!-APTX_ is "APTX" on #kernelnewbies #openttd
04:25-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Ping timeout: 480 seconds]
04:39<@planetmaker>moin
04:40-!-TrueBrain [~truebrain@home.truebrain.nl] has joined #openttd
04:40-!-TrueBrain is "Patric Stout" on #openttd.notice #dorpsgek #openttd
04:49-!-Wolf01 [~wolf01@0001288e.user.oftc.net] has joined #openttd
04:49-!-Wolf01 is "Wolf01" on #openttd
04:49<Wolf01>o/
04:58-!-Progman [~progman@p57A2BB52.dip0.t-ipconnect.de] has joined #openttd
04:58-!-Progman is "Peter Henschel" on #openttdcoop.dev #openttd
05:07-!-frosch123 [~frosch@00013ce7.user.oftc.net] has joined #openttd
05:07-!-frosch123 is "frosch" on +#openttd.dev #openttd
07:05-!-lugo [~lugo@000189e6.user.oftc.net] has quit [Ping timeout: 480 seconds]
07:28-!-jjavaholic [~jjavaholi@grahamg63.plus.com] has joined #openttd
07:28-!-jjavaholic is "realname" on #openttd
07:31-!-Thedarkb1-T60 [~Thedarkb-@51-171-117-221-dynamic.agg2.kny.prp-wtd.eircom.net] has quit [Remote host closed the connection]
07:31-!-Thedarkb1-T60 [~Thedarkb-@51-171-117-221-dynamic.agg2.kny.prp-wtd.eircom.net] has joined #openttd
07:31-!-Thedarkb1-T60 is "realname" on #openttd #oolite
07:34<dihedral>greetings
07:40<nielsm>I did a thing: https://dev.azure.com/jiifurusu/OpenTTD%20test/_build/results?buildId=12
07:40<nielsm>(is that accessible without login?)
07:41<LordAro>it is
07:41<LordAro>interesting
07:43<nielsm>https://github.com/nielsmh/OpenTTD/blob/azure-pipelines-test/azure-pipelines.yml
07:43<nielsm>is all the configuration made
07:43<nielsm>well, and then a support repos with the static dependencies
07:53<LordAro>can it do linux?
07:54<nielsm>yes
07:54<nielsm>and mac
07:55<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
08:00<nielsm>let
08:00-!-Wacko1976 [~IceChat9@027-161-128-083.dynamic.caiway.nl] has joined #openttd
08:00-!-Wacko1976 is "The Chat Cool People Use" on #openttd #/r/openttd
08:00<nielsm>let's see if I can make it pack things up too
08:03<LordAro>where's a TrueBrain when you want one?
08:07<dihedral>slap him - perhaps that triggers him :-P
08:08-!-Progman [~progman@p57A2BB52.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
08:09-!-dih [~dihedral@2a01:238:421b:c500:8f29:1729:65bc:1477] has joined #openttd
08:09-!-dih is "dihedral" on #openttd
08:12-!-dihedral [~dih@znc.dihedral-server.de] has quit []
08:16-!-dih is now known as dihedral
08:22<nielsm>oooooohhhh
08:23<nielsm>took me a while to realize that...
08:23<nielsm>in "task: VSBuild@1"
08:23<nielsm>the @1 is the version of the task code to use
08:31<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
08:40-!-Thedarkb1-T60 [~Thedarkb-@51-171-117-221-dynamic.agg2.kny.prp-wtd.eircom.net] has quit [Ping timeout: 480 seconds]
08:42-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
08:42-!-APTX_ is "APTX" on #kernelnewbies #openttd
08:51-!-Thedarkb1-T60 [~Thedarkb-@51-171-117-221-dynamic.agg2.kny.prp-wtd.eircom.net] has joined #openttd
08:51-!-Thedarkb1-T60 is "realname" on #openttd #oolite
08:52-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Ping timeout: 480 seconds]
08:53-!-wodencafe [~cboyd@2605:6000:1517:462e:f576:abc2:4ca8:c5c9] has quit [Quit: Konversation terminated!]
08:53<nielsm>https://dev.azure.com/jiifurusu/OpenTTD%20test/_build/results?buildId=21
08:54<nielsm>now there is an Artifacts button in the top right and you can download it!!!
09:03-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has joined #openttd
09:03-!-andythenorth is "andythenorth" on #openttd
09:03<andythenorth>o/
09:04-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has quit []
09:07-!-Thedarkb1-T60 [~Thedarkb-@51-171-117-221-dynamic.agg2.kny.prp-wtd.eircom.net] has quit [Ping timeout: 480 seconds]
09:36-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
09:36-!-APTX_ is "APTX" on #kernelnewbies #openttd
09:44-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Ping timeout: 480 seconds]
09:45-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has joined #openttd
09:45-!-andythenorth is "andythenorth" on #openttd
09:45<nielsm>hmm well... https://0x0.st/skeP.png
09:46<nielsm>it works (both win32 and win64)
09:46<nielsm>but it's missing the branch name for whatever reason
10:07-!-wodencafe [~cboyd@2605:6000:1517:462e:8c3f:86eb:d91f:b0ce] has joined #openttd
10:07-!-wodencafe is "Woden Cafe" on #432 #openttd #oftc #moocows
10:07-!-Flygon [~Flygon@114-198-109-194.dyn.iinet.net.au] has quit [Quit: A toaster's basically a soldering iron designed to toast bread]
10:38<nielsm>also got a linux build working on azure now
10:39<nielsm>not trying mac right away, because of dependencies
10:39<nielsm>(not sure if liblzma etc are available)
10:43-!-sla_ro|master [~sla.ro@84.117.88.126] has quit []
10:45<nielsm>ah, they do have homebrew installed on the macos images, so could fetch any extra libs via that
10:46-!-sla_ro|master [~sla.ro@84.117.88.126] has joined #openttd
10:46-!-sla_ro|master is "slamaster" on #sla #openttd
10:46<TrueBrain>nielsm: w00p, your pipeline makes the 4th pipeline "language" we have now for OpenTTD :D
10:46<TrueBrain>I tried GCP and AWS .. didnt try Azure yet :P
10:47<TrueBrain>they should unify their language tbfh :)
10:47<nielsm>and lose any competitive advantage? :D
10:47<TrueBrain>and I see you found out why I was asking to make OpenTTD work with vspkg instead of openttd-useful :P
10:47<nielsm>vcpkg*
10:47<TrueBrain>dammit, I keep typing that wrong :P
10:48<nielsm>yes it's a bit clunky to fetch dependencies like that, but not directly painful
10:48<TrueBrain>it is the main reason why I like containers btw .. they define one way for all the pipelines how to compile
10:48<TrueBrain>the pipelines just link it together
10:48<TrueBrain>btw, how many Azure credits do you have? :P
10:48<nielsm>this is zero cost
10:48<nielsm>since it's a public project
10:49<TrueBrain>Azure does something with that?
10:49<TrueBrain>(like said, I tried GCP and AWS .. it turns out to be crazy expensive to run OpenTTD there :P)
10:49<TrueBrain>since sept 2018
10:49<TrueBrain>okay .. that is interesting
10:50<TrueBrain>can they run containers? :D
10:50<TrueBrain>GitHub should hurry up with their pipelines .. they can just copy/paste from Azure now!
10:50<nielsm>https://0x0.st/ske3.png
10:51<TrueBrain>that is seriously interesting
10:51<nielsm>you can run containers on their linux offer
10:51<nielsm>but if you want a custom/persistent machine you need to pay for the VM
10:52<nielsm>it's only on-demand fresh machines you can build on for free
10:52<TrueBrain>the containers are just meant as a reproducable way of compiling
10:52<TrueBrain>(and to be able to targets all kinds of different Linux versions)
10:52<nielsm>yeah these linux and windows builds are made on a fresh VM each time
10:53<nielsm>but they only have ubuntu 16.04
10:53<nielsm>so eh, limited there
10:53<TrueBrain>I am a bit lost in your information here :) Can you run containers in the free open source thingy?
10:53<nielsm>afaik you can, but you'd have to download the container to the free machine on every job
10:54<TrueBrain>that is what happen son most, so that is not a real issue
10:54<nielsm>otherwise you can have their pipeline kick off a job on a remote machine you manage yourself
10:55<TrueBrain>that is not really solving anything :)
10:55<TrueBrain>we can already do that :P In fact .. we do :)
10:55<TrueBrain>that is just adding indirection :D
10:56<TrueBrain>docker is even installed on their hosted ubuntu pool
10:56<TrueBrain>that is nice
10:56<TrueBrain>even Windows Containers?! :o
10:58<TrueBrain>native MacOS would for sure improve quality of the binary :)
11:00<TrueBrain>guess it is fine to do MacOS and Windows natively, and run Linux in containers.
11:00-!-Wormnest [~Wormnest@35.136.176.177] has joined #openttd
11:00-!-Wormnest is "Wormnest" on #openttd
11:00<TrueBrain>nice find nielsm :D
11:00<TrueBrain>kinda gave up on clouds after GCP and AWS :P I shouldn't have :D
11:00<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
11:01<TrueBrain>I think it should be a bit more complex; I wrote a bit about that a while ago in a hack.md link
11:01<TrueBrain>but we can do both releases and CI with this, I assume?
11:02*peter1138 looks briefly... looks promising.
11:03<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
11:03<TrueBrain>nielsm: why not vcpkg?
11:03<nielsm>if it has everything :)
11:03<TrueBrain>it does
11:03<nielsm>I have zero experience using it
11:04<nielsm>that's why I didn't try
11:04<TrueBrain>https://github.com/TrueBrain/OpenTTD-CF/tree/windows
11:04<TrueBrain>in release-windows-msvc/Dockerfile
11:04<TrueBrain>I install vcpkg, and install the packages we use
11:04<TrueBrain>(used .. ICU is still in there)
11:04<TrueBrain>this "works"
11:04<TrueBrain>except that I needed to fix a lot of paths because .... openttd-useful is weird
11:06<TrueBrain>okay, ironicly, their Windows image doesn't have vcpkg installed :D
11:06<TrueBrain>hihi :D
11:07<TrueBrain>okay, using Windows Containers is not difficult too, if I understand this correctly
11:09<TrueBrain>nielsm: https://hackmd.io/kRpmIG-EQYuU2vJ-OiVPxA
11:09<TrueBrain>that is what I suggest how we trigger builds etc
11:09<TrueBrain>most important ones are the first (PR validation) and last (Tags)
11:09<TrueBrain>the other two are nice-to-have
11:16<TrueBrain>very cool nielsm :D This might just solve a huge resource issue :P
11:16<nielsm>what's the threat model for limiting exposure of initial check, and what is it for preventing builds of a PR until whitelist?
11:17<TrueBrain>nielsm: sorry? I dont understand either question :(
11:17<nielsm>(I see the threat model for not publishing builds of unreviewed code)
11:17<nielsm>what are you meaning to defend against
11:17<TrueBrain>"initial check", I dont get what you meant there :)
11:17<nielsm>initial check = PR validation
11:18<TrueBrain>ah; so that part only tells if it was okay yes/no, and logs
11:18<TrueBrain>but no binaries etc
11:18<TrueBrain>because the PR is considered untrusted
11:18<TrueBrain>exactly what the reason you just mentioned :)
11:18<nielsm>yes what is the threat?
11:18<nielsm>what can an attacker do with code execution at that step?
11:18<TrueBrain>exactly that; people creating PRs which remove OpenTTD and introduce their own "code"
11:19<TrueBrain>it is about not publishing the binaries
11:19<andythenorth>:o
11:19<andythenorth>it's TrueBrain
11:19<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
11:19*andythenorth was afk
11:19<TrueBrain>how I see it: new PR == untrusted code
11:19<TrueBrain>so we run our CI over it, show the logs + exit code
11:19<TrueBrain>that is it
11:20<TrueBrain>no binaries to download, nothing
11:20<TrueBrain>if someone marks the PR as "trusted", binaries can be created
11:20<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
11:20<TrueBrain>the fact that you make the binaries available, means people can fuck up :)
11:20<TrueBrain>never give the illusion those binaries are "trusted"
11:20<TrueBrain>so never produce them :)
11:21<TrueBrain>a failsafe, so to say :)
11:21<TrueBrain>(as that "hold" will be on azure, which most likely published the binaries in some form .. :D)
11:22<TrueBrain>from a security perspective: handle your untrusted code as untrusted. Not as some hybrid form
11:22<nielsm>nah that's why I suggest not using the "publish artifact" step of azure since that does in fact publish it
11:22-!-Xaroth [~Xaroth@00017153.user.oftc.net] has quit [Read error: Connection reset by peer]
11:22<nielsm>and instead upload it to a private location
11:22<TrueBrain>but that does mean the binaries do exiist :)
11:22-!-Xaroth [~Xaroth@00017153.user.oftc.net] has joined #openttd
11:22-!-Xaroth is "Xaroth Brook" on #openttd +#openttd.dev
11:22<TrueBrain>which is exactly my point :)
11:23<TrueBrain>the only "downside" with my approach, that you compile the same code twice once per PR you want to preview
11:23<TrueBrain>added bonus is that you dont need a secure private location with big markers: UNTRUSTED CODE :)
11:23<TrueBrain>or am I missing your point?
11:24-!-gelignite [~gelignite@55d4c771.access.ecotel.net] has joined #openttd
11:24-!-gelignite is "gelignite" on #openttd
11:25-!-Thedarkb1-T60 [~Thedarkb-@86-40-230-110-dynamic.agg3.kny.prp-wtd.eircom.net] has joined #openttd
11:25-!-Thedarkb1-T60 is "realname" on #openttd #oolite
11:25<LordAro>untrusted surely only really matters with your own infrastructure
11:25<LordAro>using something like azure surely pushes that onto MS
11:25<TrueBrain>only the building; we talk here about the resulting binary
11:25<TrueBrain>the building itself is a different story (with different countermeasures)
11:26<LordAro>oh, actually publishing artefacts for PRs? interesting
11:26<TrueBrain>nielsm: guess my main reasoning is: the easier we keep the processing of "untrusted" code, the less mistakes will be made
11:27<LordAro>make PR binaries private unless dev or dev approved?
11:27<TrueBrain>that is what nielsm says, yes; thank you for catching up :P
11:28<TrueBrain><3
11:28<LordAro><3
11:28-!-tokai [~tokai@00012860.user.oftc.net] has joined #openttd
11:28-!-mode/#openttd [+v tokai] by ChanServ
11:28-!-tokai is "Christian Rosentreter" on +#openttd
11:28<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
11:28<nielsm>equally stupid
11:28<TrueBrain>it does require infrastructure to store those untrusted artifacts
11:28<TrueBrain>make a mechanism to publish them
11:28<LordAro>alternatively, are PR artefacts actually desirable?
11:28<TrueBrain>etc
11:28<TrueBrain>is that worth it?
11:29<TrueBrain>(honest question btw)
11:29<TrueBrain>for me it is easier to look at it like: 1 pipeline for untrusted code, never any binaries, never any worries
11:29<TrueBrain>1 pipeline for trusted code, which has binaries it publishes
11:29<nielsm>hmm
11:30<TrueBrain>KISS, basically :D
11:30<nielsm>there is a manual intervention step too, maybe that could be used to "pause" builds until someone manually resumes it
11:30<TrueBrain>what is the gain? :)
11:30<TrueBrain>also I assumed 90% of the PRs never get a preview btw
11:31<TrueBrain>but why not just trigger a second pipeline? Isnt that a lot easier?
11:31<TrueBrain>(also to maintain)
11:32<TrueBrain>I hope we can build something that can be maintained easily for the next 10 years by as many people as possible
11:32<TrueBrain>which mostly means removing the "security" part from the equation, and making sure it cannot go wrong to start with :)
11:33<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)
11:34<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 :)
11:34<Xaroth>I don't think you're being paranoid about it tbh
11:34<TrueBrain>also for patchpacks :)
11:34<Xaroth>2 pipelines sounds like common sense
11:34<TrueBrain>it is not so much related to "common sense". These are just choices you have to make
11:34-!-tokai|noir [~tokai@00012860.user.oftc.net] has quit [Ping timeout: 480 seconds]
11:35<TrueBrain>one isn't better than the other as much as they solve different needws
11:35<nielsm>you can use the same pipeline but make the archive+publish steps dependent on Build.Reason != 'PullRequest'
11:37<TrueBrain>nielsm: for example. Still 2 pipelines in the logic sense :) How we solve it technically .. all sounds good :)
11:37<TrueBrain>I do wonder if we can take over the triggering of the build on Azure
11:37<nielsm>azure can do time-based triggers yes
11:38<TrueBrain>I was more looking for manual triggers
11:38<TrueBrain>but I can imagine they dont allow that
11:38<nielsm>there's also manual triggering
11:38<TrueBrain>really? Cool .. can you also add variables to the triggering part?
11:38<nielsm>https://0x0.st/sk2T.png
11:38<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
11:38<andythenorth>trying to prevent poisoned binaries by design is *not* tinfoil :P
11:38*andythenorth adds £0.02
11:39<TrueBrain>nielsm: now that is interseting :D
11:39<andythenorth>(hello coin miners)
11:39<TrueBrain>nielsm: as if, for example, DorpsGek_II can trigger the builds, instead of azure "sensing" it
11:39<TrueBrain>we can do cool tricks :)
11:40<TrueBrain>owh, we are going to have so much fun with this :D
11:40<TrueBrain>also means we can speed up CIs drasticly
11:41<TrueBrain>as in: run all the builds at once
11:41<TrueBrain>also means we can finally do the full matrix of compilers (to run once in a while)
11:41<TrueBrain>I wonder if there is a fair use :P
11:41<nielsm>the free tier on azure has up to 10 concurrent jobs
11:41<TrueBrain>lolz :D
11:41<TrueBrain>that is .. a lot
11:41<TrueBrain>holy crap
11:42<nielsm>a job is forcibly killed after 6 hours
11:42<TrueBrain>6 hours?! that is a shitlong time
11:42<nielsm>yep
11:42<TrueBrain>too bad GitHub Actions is still in beta
11:42<TrueBrain>that too introduces pipelines
11:42<TrueBrain>toooooo many pipeline systems
11:43<TrueBrain>well, if you can nielsm, please do try the MacOS :D Would be nice to know if that "just works"
11:43<TrueBrain>in the OpenTTD-CF are instructions how to install it, if you need any assistance
11:44<TrueBrain>there too I believe ICU was removed, not sure :)
11:45<nielsm>https://dev.azure.com/jiifurusu/OpenTTD%20test/_build/results?buildId=36
11:46<nielsm>just trying a straight build no extra deps here
11:46<nielsm>okay no liblzma
11:46<TrueBrain>we dont have many deps :)
11:46<andythenorth>ha we can watch it :)
11:47<andythenorth>like modern jenkins
11:47-!-synchris [~synchris@139.138.202.72] has joined #openttd
11:47-!-synchris is "Synesios Christou" on #openttd
11:47<TrueBrain>I like how everything runs twice :P
11:48<nielsm>what?
11:48<TrueBrain>once via your branch, once via your PR :P
11:48<nielsm>huh, didn't even notice that
11:48<nielsm>._.
11:48<TrueBrain>its free :P
11:48<TrueBrain>:D
11:48<nielsm>I should close the PR really
11:48<TrueBrain>andythenorth: yeah, the live part is very nice
11:49<nielsm>it was just one azure forced on me
11:49<TrueBrain>if this works, it means we can really move to k8s .. as we than really have no use of a dedicated machine anymore
11:49<TrueBrain>that makes me really happy
11:49<LordAro>k8s?
11:49<TrueBrain>kubernetes
11:49<LordAro>right
11:51<TrueBrain>the Digitalocean CDN also seems very solid
11:51<TrueBrain>means we can remove our own mirror network
11:51-!-sla_ro|master2 [~sla.ro@84.117.88.126] has joined #openttd
11:51-!-sla_ro|master2 is "slamaster" on #sla #openttd
11:51<TrueBrain>less complexity :D
11:51<andythenorth>\o/
11:51<TrueBrain>lol: D:\a\1\s\projects :D That folder :D
11:51-!-sla_ro|master2 [~sla.ro@84.117.88.126] has quit []
11:52<nielsm>the mac build host is fast!
11:52<TrueBrain>it really appears to be a native machine
11:53<TrueBrain>it is compiling :o
11:53<nielsm>./configure --without-liblzma --without-liblzo2 --without-png
11:53<TrueBrain>cheats! :D
11:53<LordAro>ha
11:53<nielsm>if anyone can look up the brew commandline to install those deps I'll add them :P
11:53<TrueBrain>macports installed too?
11:53<nielsm>nope, homebrew but not macports
11:53<TrueBrain>you only 'difficult' part is that you want them 'static'
11:54<TrueBrain>s/you/the/
11:54<nielsm>ahh...
11:54<nielsm>yeah dylibs are annoying
11:54<TrueBrain>yeah ...
11:54<TrueBrain>same reason we do static windows builds
11:54<TrueBrain>dlls are annoying
11: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
11:55-!-sla_ro|master [~sla.ro@84.117.88.126] has quit [Ping timeout: 480 seconds]
11:55<TrueBrain>hmm .. I wonder how difficult integration with GitHub is for warnings/errors
11:55<nielsm>https://github.com/Aegisub/Aegisub/blob/master/tools/osx-fix-libs.py
11:55<TrueBrain>you can show these on GitHub inline these days
11:56<TrueBrain>you would think Azure can do this now, given GitHub is owned by the same company :P
11:56<TrueBrain>it does report back to GitHub at least
11:57-!-jjavaholic [~jjavaholi@grahamg63.plus.com] has quit [Ping timeout: 480 seconds]
11:57<nielsm>I should also try making it package and publish the mac build artifact
11:57<nielsm>if it finishes ;)
11:57<TrueBrain>means andythenorth can test it for you :P
11:57<LordAro>our single macos user :p
11:58<TrueBrain>they dont have docker on their MacOS agents
11:58<TrueBrain>boooooeeeeee
11:58<nielsm>ms writes somewhere their mac builds are hosted on an external partner in the US, instead of on their own datacenters
11:58<nielsm>I wonder if it's that hosting company that custom designed racks for mac mini and trashcan machines
11:59<TrueBrain>that wouldn't surprise me
11:59<TrueBrain>but this is seriously awesome
11:59<TrueBrain>osxcross "works", but native builds are always better
12:00<andythenorth>is this £0.00?
12:00<nielsm>fail :(
12:00<TrueBrain>missing zlib :)
12:00<TrueBrain>configure didnt pick up on that :o
12:01<TrueBrain>BUG!!
12:02<TrueBrain>right, next week two weeks to get this linked to our current infrastructure I guess
12:02<TrueBrain>I also want to get the new website live
12:02<TrueBrain>still waiting for LordAro to make his gist into a PR
12:02<TrueBrain>:P
12:02<LordAro>:<
12:02<TrueBrain>(also still waiting for his feedback on the hackmd, but not sure that will ever happen :D )
12:02<TrueBrain>(just a poke :P)
12:03<LordAro>still got the tab open :p
12:03<TrueBrain>:D
12:03<nielsm>anyone want to set up an official ottd org with azure? :)
12:03<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 :)
12:03<TrueBrain>nielsm: next week, sure :P
12:04<TrueBrain>at least, I assume your current setup works fine for this testing etc?
12:04-!-sla_ro|master [~sla.ro@84.117.88.126] has joined #openttd
12:04-!-sla_ro|master is "slamaster" on #sla #openttd
12:05<nielsm>eh I suppose half or more of this proof of concept needs to be replaced
12:05<TrueBrain>if possible, I would love the Windows and Linux to be via docker
12:05<TrueBrain>as that means more people can locally test it
12:05<LordAro>mm, all them deprecation warnings for the objc
12:05<TrueBrain>instead of having to do it via PRs :D
12:05<nielsm>are windows deps handled as a binary bundle or with vcpkg?
12:06<nielsm>etcetc
12:06<nielsm>bbl, fod
12:06<TrueBrain>yes, food! Good idea :D
12:06<TrueBrain>again, awesome work nielsm :) Makes me really happy :D
12:07<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)
12:07<TrueBrain>s/tried/try
12:07<TrueBrain>same reason we should really look into cmake :D
12:07<TrueBrain>right, food, yes
12:08<LordAro>TrueBrain: i'll probably put some more work into cmake over christmas
12:19<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",
12:20<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
12:23-!-lugo [~lugo@000189e6.user.oftc.net] has joined #openttd
12:23-!-lugo is "..." on #openttd
12:35<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
12:42-!-sla_ro|master [~sla.ro@84.117.88.126] has quit [Read error: No route to host]
12:43-!-sla_ro|master [~sla.ro@84.117.88.126] has joined #openttd
12:43-!-sla_ro|master is "slamaster" on #sla #openttd
13:06-!-Progman [~progman@p57A2BB52.dip0.t-ipconnect.de] has joined #openttd
13:06-!-Progman is "Peter Henschel" on #openttdcoop.dev #openttd
13:29-!-Wacko1976_ [~IceChat9@027-161-128-083.dynamic.caiway.nl] has joined #openttd
13:29-!-Wacko1976_ is "The Chat Cool People Use" on #openttd #/r/openttd
13:34-!-Wacko1976 [~IceChat9@027-161-128-083.dynamic.caiway.nl] has quit [Ping timeout: 480 seconds]
13:56-!-jjavaholic [~jjavaholi@grahamg63.plus.com] has joined #openttd
13:56-!-jjavaholic is "realname" on #openttd
13:59<nielsm>this macos environment is annoying...
14:00<nielsm>but also, if configure does not find zlib it just says "not found" but doesn't yell like it does with lzma
14:01<nielsm>strange thing is that the homebrew xz package is installed, which does include liblzma2.dylib and liblzma2.a, as well as the headers
14:01<nielsm>and macos should have a system zlib that's usable
14:01<nielsm>it also won't detect the libpng I'm installing via homebrew
14:02<nielsm>but the really bad thing is I can't inspect the environment to see where the files it wants actually are
14:02<nielsm>(maybe I should instrument the build to produce some artifacts listing files etc)
14:04<andythenorth>is it full shell access to macos?
14:04<andythenorth>or some crippled interface?
14:04<nielsm>I don't have login access
14:05<nielsm>it just runs the jobs specified, through the build agent
14:05<andythenorth>hmm
14:05<andythenorth>yeah, so instrumenting the build :|
14:06<nielsm>ls -lR /usr > allthefiles.txt
14:07<andythenorth>pkgutil might do something
14:07<andythenorth>I usually play guessing games with brew though
14:09<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
14:10<TrueBrain>LordAro: ack and tnx :)
14:11<nielsm>let's try this... https://0x0.st/sk_D.txt
14:13<nielsm>the brew install step takes forever because it also does a self update
14:15<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
14:24-!-synchris [~synchris@139.138.202.72] has quit [Quit: yeeha!]
14:31-!-jjavaholic [~jjavaholi@grahamg63.plus.com] has quit [Ping timeout: 480 seconds]
14:51<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)
14:52-!-chomwitt [~chomwitt@ppp-94-66-223-44.home.otenet.gr] has quit [Ping timeout: 480 seconds]
14:59-!-glx [kvirc@000128ec.user.oftc.net] has joined #openttd
14:59-!-mode/#openttd [+v glx] by ChanServ
14:59-!-glx is "Loïc GUILLOUX" on #openttd.noai #openttd.notice +#openttd
15:03<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
15:03<TrueBrain>but again .. something we can simply try :D
15:03<TrueBrain>and it is a nice-to-have, so meh
15:04<nielsm>I got my allfiles.txt so trying to construct a configure cmdline to just ignore pkg-config statically link the various compression libs
15:05<TrueBrain>lolz
15:05<nielsm>(and use system zlib)
15:05<TrueBrain>or just tickle andythenorth to fix it :P
15:05<andythenorth>LordAro offers fixes-as-a-service ;P
15:05<nielsm>is libpng and libpng16 the same thing....?
15:06<TrueBrain>nielsm: they MIGHT be the same
15:06<TrueBrain>libpng changed their API
15:06<TrueBrain>libpng12 != libpng16
15:06<TrueBrain>libpng .. is either of the two :P
15:06<andythenorth>"The "master" branch is roughly equivalent to the "libpng16" branch. Development occurs in the "libpng16" and "libpng17" branches; "
15:09<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"
15:09<nielsm>does that look sensible?
15:10<LordAro>is all that necessary?
15:10<nielsm>it seems I have to force detection around pkg-config, and may as well static link then
15:11<LordAro>that's disappointing
15:11<LordAro>i'd be surprised if INCLUDE is doing anything
15:11<LordAro>and i'd do LIBS="blah blah"
15:11<TrueBrain>and INCLUDE and LIBS before configure :)
15:11<TrueBrain>but /usr/local, so I guess pkgconfig is just not in the place it is looking for?
15:12<LordAro>"INCLUDE" and "LIBS" appear nowhere in configure/config.lib, i don't think those are the right variables...
15:12<TrueBrain>what -should- work, or used to: --with-png=/usr/local/lib/libpng.a
15:12<TrueBrain>but .. no clue if that still is the case :P
15:12<TrueBrain>we are not helpful :(
15:13<LordAro>i was wondering that, too
15:13<LordAro>ideally of course, pkg-config would work
15:13<TrueBrain>possibly something like: --with-pkgconfig=/usr/local/bin/pkg-config or something similar might work
15:13<TrueBrain>no clue what exactly
15:13<nielsm>I tried reading config.lib but couldn't figure out what --with-somelib=whatever actually does with whatever
15:13<TrueBrain>I might have made typos :D
15:14<TrueBrain>but LordAro knows more about this stuff these days :P
15:14*andythenorth wonders what macos environment it is :P
15:14<andythenorth>and why it's so arcane
15:14<TrueBrain>it seems homebrew is just installed in /usr/local
15:14<TrueBrain>what I would expect him to do tbh
15:15<TrueBrain>brew install pkg-config at least exists
15:15<LordAro>oh, LIBS & INCLUDE do appear in config.lib, dunno what i was talking about earlier
15:15<nielsm>2018-12-16T20:14:09.2010180Z configure: error: pkg-config zlib couldn't be found
15:15<nielsm>2018-12-16T20:14:09.2015590Z configure: error: you supplied '2', but it seems invalid
15:15<nielsm>hmm
15:16<TrueBrain>yeah .. '2' means you gave the exact location
15:16<TrueBrain>bit weird error :D
15:16<TrueBrain>so it basically says: cannot find the location you told me to look, or I didnt understand it
15:17<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
15:17<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
15:17<LordAro>config.lib:2820ish
15:17<TrueBrain>config.lib has been ..... "altered" over the years :D
15:17<TrueBrain>*cough* cmake *cough* :D
15:18<+glx>as long as it's not autoconf ;)
15:18<LordAro>detect_zlib calls detect_pkg_config. detect_library is the function that uses $1 as a file
15:18<LordAro>but only lzo2 & fluidsynth use that now
15:24<nielsm>hmm, homebrew does provide a zlib.pc file but it doesn't seem to be installed
15:24<nielsm>(one that points at the system libz that is)
15:33<nielsm>hm nope, just specifying PKG_CONFIG_PATH is not good enough, it seems
15:39-!-gelignite [~gelignite@55d4c771.access.ecotel.net] has quit [Quit: Good fight, good night!]
15:55-!-sla_ro|master [~sla.ro@84.117.88.126] has quit []
16:19-!-lugo [~lugo@000189e6.user.oftc.net] has quit [Ping timeout: 480 seconds]
16:36-!-Wormnest [~Wormnest@35.136.176.177] has quit [Quit: Leaving]
16:38<andythenorth>so what's the fashionable way to do powered wagons in newgrf now?
16:51<nielsm>UI wise?
16:56<andythenorth>implementation wise
16:57<andythenorth>this is for TGV-type trains
17:02<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)
17:07-!-andythenorth is now known as Guest309
17:07-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has joined #openttd
17:07-!-andythenorth is "andythenorth" on #openttd
17:08-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
17:08-!-APTX_ is "APTX" on #kernelnewbies #openttd
17:12<andythenorth>I tried building them in 16/8 units
17:12<andythenorth>each powered
17:12<andythenorth>but it's a bit fiddly to build in depot, they have to be dragged to make the consist
17:12<andythenorth>wagons automatically are added
17:13-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Read error: Connection reset by peer]
17:13-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
17:13-!-APTX_ is "APTX" on #kernelnewbies #openttd
17:13-!-Guest309 [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has quit [Ping timeout: 480 seconds]
17:16-!-andythenorth [~andytheno@cpc87219-aztw31-2-0-cust178.18-1.cable.virginm.net] has left #openttd []
17:18-!-frosch123 [~frosch@00013ce7.user.oftc.net] has quit [Quit: be yourself, except: if you have the opportunity to be a unicorn, then be a unicorn]
17:20-!-APTX| [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
17:20-!-APTX| is "APTX" on #kernelnewbies #openttd
17:20-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Read error: Connection reset by peer]
17:25-!-Progman [~progman@p57A2BB52.dip0.t-ipconnect.de] has quit [Remote host closed the connection]
17:30-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
17:30-!-APTX_ is "APTX" on #kernelnewbies #openttd
17:30-!-APTX| [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Read error: Connection reset by peer]
17:32-!-nielsm [~nielsm@176-23-103-56-cable.dk.customer.tdc.net] has quit [Ping timeout: 480 seconds]
17:45-!-Flygon [~Flygon@114-198-109-194.dyn.iinet.net.au] has joined #openttd
17:45-!-Flygon is "Flygon" on #openttd
17:48-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Ping timeout: 480 seconds]
17:58-!-Wolf01 [~wolf01@0001288e.user.oftc.net] has quit [Quit: Once again the world is quick to bury me.]
17:59-!-Thedarkb1-T60 [~Thedarkb-@86-40-230-110-dynamic.agg3.kny.prp-wtd.eircom.net] has quit [Ping timeout: 480 seconds]
18:17-!-Thedarkb1-T60 [~Thedarkb-@86-40-230-110-dynamic.agg3.kny.prp-wtd.eircom.net] has joined #openttd
18:17-!-Thedarkb1-T60 is "realname" on #openttd #oolite
18:55-!-Wacko1976_ [~IceChat9@027-161-128-083.dynamic.caiway.nl] has quit [Ping timeout: 480 seconds]
18:56-!-jinks [~jinks@104.161.79.77] has joined #openttd
18:56-!-jinks is "Got ZNC?" on #openttd
19:15-!-Thedarkb1-T60 [~Thedarkb-@86-40-230-110-dynamic.agg3.kny.prp-wtd.eircom.net] has quit [Ping timeout: 480 seconds]
19:17-!-Thedarkb1-T60 [~Thedarkb-@86-40-230-110-dynamic.agg3.kny.prp-wtd.eircom.net] has joined #openttd
19:17-!-Thedarkb1-T60 is "realname" on #openttd #oolite
19:22-!-APTX_ [~APTX@89-70-188-215.dynamic.chello.pl] has joined #openttd
19:22-!-APTX_ is "APTX" on #kernelnewbies #openttd
19:30-!-APTX_ [~APTX@89-70-188-215.dynamic.chello.pl] has quit [Ping timeout: 480 seconds]
19:33-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
19:33-!-APTX_ is "APTX" on #kernelnewbies #openttd
19:39-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Read error: Connection reset by peer]
19:39-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
19:39-!-APTX_ is "APTX" on #kernelnewbies #openttd
19:59-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Ping timeout: 480 seconds]
20:26-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
20:26-!-APTX_ is "APTX" on #kernelnewbies #openttd
20:35-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Ping timeout: 480 seconds]
21:09-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
21:09-!-APTX_ is "APTX" on #kernelnewbies #openttd
21:18-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Ping timeout: 480 seconds]
21:20-!-Thedarkb1-T60 [~Thedarkb-@86-40-230-110-dynamic.agg3.kny.prp-wtd.eircom.net] has quit [Ping timeout: 480 seconds]
21:31-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
21:31-!-APTX_ is "APTX" on #kernelnewbies #openttd
21:43-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Ping timeout: 480 seconds]
21:47-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
21:47-!-APTX_ is "APTX" on #kernelnewbies #openttd
21:56-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Read error: Connection reset by peer]
21:57-!-APTX_ [~APTX@89-70-188-215.dynamic.chello.pl] has joined #openttd
21:57-!-APTX_ is "APTX" on #kernelnewbies #openttd
22:00-!-APTX_ [~APTX@89-70-188-215.dynamic.chello.pl] has quit [Remote host closed the connection]
22:01-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
22:01-!-APTX_ is "APTX" on #kernelnewbies #openttd
22:04-!-APTX| [~APTX@89-70-188-215.dynamic.chello.pl] has joined #openttd
22:04-!-APTX| is "APTX" on #kernelnewbies #openttd
22:04-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Read error: Connection reset by peer]
22:29-!-APTX_ [~APTX@89-70-188-215.dynamic.chello.pl] has joined #openttd
22:29-!-APTX_ is "APTX" on #kernelnewbies #openttd
22:29-!-APTX| [~APTX@89-70-188-215.dynamic.chello.pl] has quit [Ping timeout: 480 seconds]
22:49-!-APTX_ [~APTX@89-70-188-215.dynamic.chello.pl] has quit [Quit: No Ping reply in 210 seconds.]
22:59-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
22:59-!-APTX_ is "APTX" on #kernelnewbies #openttd
23:07-!-APTX| [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
23:07-!-APTX| is "APTX" on #kernelnewbies #openttd
23:08-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Read error: Connection reset by peer]
23:19-!-APTX| [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Ping timeout: 480 seconds]
23:20-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
23:20-!-APTX_ is "APTX" on #kernelnewbies #openttd
23:23-!-glx [kvirc@000128ec.user.oftc.net] has quit []
23:29-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Ping timeout: 480 seconds]
23:29-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
23:29-!-APTX_ is "APTX" on #kernelnewbies #openttd
23:37-!-APTX| [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
23:37-!-APTX| is "APTX" on #kernelnewbies #openttd
23:37-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Read error: Connection reset by peer]
23:39-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
23:39-!-APTX_ is "APTX" on #kernelnewbies #openttd
23:39-!-APTX| [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Read error: Connection reset by peer]
23:47-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has quit [Ping timeout: 480 seconds]
23:49-!-HerzogDeXtEr [~farci@dslb-178-005-115-033.178.005.pools.vodafone-ip.de] has joined #openttd
23:49-!-HerzogDeXtEr is "purple" on #openttd
23:55-!-HerzogDeXtEr1 [~farci@dslb-178-008-112-214.178.008.pools.vodafone-ip.de] has quit [Ping timeout: 480 seconds]
23:56-!-APTX_ [~APTX@2001:470:71:71d:defe:7ff:fee1:3d5d] has joined #openttd
23:56-!-APTX_ is "APTX" on #kernelnewbies #openttd
---Logclosed Mon Dec 17 00:00:40 2018