💾 Archived View for gemini.ctrl-c.club › ~phoebos › logs › freenode-kisslinux-2020-12-23.txt captured on 2024-05-26 at 16:19:59.
⬅️ Previous capture (2021-12-17)
-=-=-=-=-=-=-
2020-12-23T02:16:05 #kisslinux <acheam> so i've done research and playing around with various CI/CD systems pretty much all day today, and here is a revised system that I have come up with: The submodule system stays the same, but the big difference is Jenkins instead of Drone. I've played around with both today, and Jenkins seems to be much more full-featured, and unlike Drone, there is no closed source enterprise version, which caused me some issues on Drone which has the open-source 2020-12-23T02:16:05 #kisslinux <acheam> version pushed off to the side a bit. Each submodule / *-bin repo will have a Jenkinsfile instead of a .drone.yml. The Jenkinsfile will be fairly short, basically just telling Jenkins to build the binary in a KISS docker (or podman) container, and to grab the tarball from `/root/.cache/kiss/bin`. These binaries are then published to Wasabi object storage. The binaries will be downloadable at a URL like https://s3.us-east-2.wasabisys.com/kiss-bin/ 2020-12-23T02:16:05 #kisslinux <acheam> pfetch#0.60-1.tar.gz. This URL is then whats put into the "sources" file of the package. 2020-12-23T02:16:11 #kisslinux <acheam> Long message, sorry 2020-12-23T02:29:55 #kisslinux <dilynm> Ever just wish you knew more, and that finding information to know more was easier? 2020-12-23T02:30:23 #kisslinux <dilynm> Like: is a static mesa *possible*? Glvnd devs seem to think such a thing is absurd! 2020-12-23T02:42:30 #kisslinux <acheam> time to find out for yourself and write some more documentation? 2020-12-23T02:43:02 #kisslinux <dilynm> :v 2020-12-23T02:43:10 #kisslinux <dilynm> I will be unable to fill this void 2020-12-23T02:43:37 #kisslinux <dilynm> I got what I thought was 'very close' and then hikari attempted to open... Very unrelated graphics driver 2020-12-23T03:22:14 #kisslinux <nerditup> acheam: sounds reasonable, sorry to hear that Drone was a bit of a dead end 2020-12-23T03:42:16 #kisslinux <mcf> dilynm: it is not possible unless you want to hack up mesa a bunch to not do dynamic dispatch. i did it once a few years ago as an experiment and decided it was a dead end 2020-12-23T03:42:31 #kisslinux <dilynm> Yeah it seems that way 2020-12-23T03:56:27 #kisslinux <dilynm> But hacking things up is so fulfilling when after getting sixteen different errors every time, it finally builds 2020-12-23T03:56:37 #kisslinux <dilynm> No idea if it *works*, but it builds :v 2020-12-23T04:08:33 #kisslinux <acheam> nerditup: you don't need to be sorry at everything :) 2020-12-23T04:43:04 #kisslinux <dilynm> After two days of fiddling, I call this a bust. Oh well 2020-12-23T06:20:45 #kisslinux <micr0> alright so kiss-find should now be working well again for everyone 2020-12-23T06:21:21 #kisslinux <micr0> the database is being updated once every 6 hours, or when i push changes to the repo 2020-12-23T06:22:44 #kisslinux <micr0> if anyone here has a repository that they would like included they can either add the kiss-repo topic on github, or mention me here, or make a pr to the repo 2020-12-23T06:23:33 #kisslinux <micr0> also if you would like it removed from the db you may mention me or make a pr 2020-12-23T19:45:38 #kisslinux <micr0> woot, rootless podman is working :) 2020-12-23T19:50:03 #kisslinux <acheam> yay 2020-12-23T19:50:10 #kisslinux <acheam> what was the issue with it earlier? 2020-12-23T19:53:44 #kisslinux <micr0> it needed shadow as a dependency 2020-12-23T19:53:46 #kisslinux <micr0> shadow or newuid 2020-12-23T20:07:00 #kisslinux <acheam> ah 2020-12-23T20:30:11 #kisslinux <micr0> acheam I think I have a just-barely-working github action for building binaries when a repo is updated. has a number of limitations and places for improvement, but now if any verison file changes are pushed to https://github.com/jedahan/kiss-repo, a binary of the package is built and added to the latest release. kiss-bin defaults to that repo, so I can `kiss bin gh && kiss install gh` instead of `kiss build gh && kiss install gh` 2020-12-23T20:31:10 #kisslinux <micr0> Once i move more of the logic from the github action to generic scripts, and find a good way of installing all dependent repos in the podman run command, i might rename `kiss bin` to `kiss cloud` or something like that xD 2020-12-23T20:34:02 #kisslinux <acheam> micr0: oh thats great! where does that leave repo-bin then? 2020-12-23T20:34:24 #kisslinux <micr0> i think repo-bin has a place 2020-12-23T20:34:46 #kisslinux <micr0> immediately, its a place people can use like normal 2020-12-23T20:35:34 #kisslinux <micr0> in the future, we may want to just have repo-bin be what builds and hosts all the binary packages 2020-12-23T20:35:43 #kisslinux <micr0> depending on how centralized/decentralized we want things 2020-12-23T20:36:20 #kisslinux <micr0> ideally, I would create a github action that lets every repo build their own binaries, and repo-bin would just be a mapping of known repos with binary packages to 'how to install them' 2020-12-23T20:36:36 #kisslinux <micr0> well, i should not say ideally, this is just me experimenting and thinking about how it *could* be 2020-12-23T20:37:03 #kisslinux <micr0> also I think there will be packages that need special care to build (lol firefox) and might not fit well on github's ci 2020-12-23T20:37:43 #kisslinux <micr0> so i think jenkins or build.sr.ht or whatever other thing we come up with (maybe just a post-push git hook on a vm?) is really useful 2020-12-23T20:44:02 #kisslinux <acheam> I will go ahead with deploying a full jenkins instance tonight then. What worries me about Github is the 2000 build minuites/month, which we could potentially reach pretty fast, especially if we do a lot of packages. I considered making our own custom webhook solution, but it looked like a real pain to do, especially with needed to validate the request, etc. Jenkins is also much more decentralized, as its open-source, anyone can run it etc. 2020-12-23T20:46:02 #kisslinux <micr0> oh yeah, i would like to migrate off github 2020-12-23T20:47:15 #kisslinux <acheam> I mean, at some point you just gotta do it... might be hard with ! 528 ! repositories though 2020-12-23T20:48:09 #kisslinux <micr0> yeah im splitting them into sr.ht, glitch, and gitea eventually 2020-12-23T20:48:24 #kisslinux <acheam> I will say, I've used GH more than I ever have in the past few days because of KISS, and I gotta say, I understand the appal 2020-12-23T20:49:13 #kisslinux <acheam> why 3 places? 2020-12-23T20:49:19 #kisslinux <micr0> i mean its fine, it was good while it lasted 2020-12-23T20:49:35 #kisslinux <micr0> acheam glitch for stuff meant to collaborate with less technical people, and for art projects 2020-12-23T20:49:55 #kisslinux <acheam> I see 2020-12-23T20:50:07 #kisslinux <micr0> gitea for stuff thats really just personal and no one should be using 2020-12-23T20:50:39 #kisslinux <micr0> sr.ht for some open source communities (probably gemini-ish and scuttlebutt-ish things) 2020-12-23T20:51:05 #kisslinux <micr0> and github for professional stuff and projects that have a decent number of users 2020-12-23T20:51:16 #kisslinux <micr0> the 2000 minutes i will easily exceed, as is 2020-12-23T20:51:31 #kisslinux <micr0> since i build the docker images every time, it takes about 3 minutes just to bootstrap 2020-12-23T20:51:59 #kisslinux <micr0> if i publish the docker images it would help, but still not for the stuff that well, most people want from bins 2020-12-23T20:55:00 #kisslinux <davidgarland> o/ 2020-12-23T20:55:03 #kisslinux <micr0> acheam would you mind updating your dockerfile to upgrade the kiss binary itself (via kiss build kiss && kiss install kiss)? 2020-12-23T20:55:17 #kisslinux <micr0> i tried adding those lines to my podman run command but it fails 2020-12-23T20:55:34 #kisslinux <acheam> micr0: Yep I can do that. The way I have it setup now is that it runs that every time it builds. 2020-12-23T20:55:44 #kisslinux <acheam> but doing it in the container already makes more sense 2020-12-23T20:56:34 #kisslinux <micr0> acheam then do you call it with /usr/bin/kiss? as it seems 'kiss' is not in the path after an install? 2020-12-23T20:57:19 #kisslinux <acheam> micr0: it is in the path. check the repo-bin repo, the two scripts are there. Its messy, but it works 2020-12-23T20:58:24 #kisslinux <davidgarland> is it considered better to invoke cpan in a build script or make perl packages into kiss packages instead? (or moreover should I avoid permanently installing perl modules and instead just have the requisite libraries located in the build directory then delete them afterwards?) 2020-12-23T21:04:18 #kisslinux <micr0> hmm then i wonder why mine fails acheam ? https://github.com/jedahan/kiss-repo/runs/1602320527?check_suite_focus=true#step:4:6158 2020-12-23T21:05:29 #kisslinux <acheam> strange, not sure why 2020-12-23T21:07:52 #kisslinux <midfavila> Anyone experiment with distcc on KISS? 2020-12-23T21:10:01 #kisslinux <acheam> micr0: Updated 2020-12-23T21:16:25 #kisslinux <micr0> thanks acheam 2020-12-23T21:16:39 #kisslinux <acheam> no problem 2020-12-23T21:16:46 #kisslinux <micr0> maybe i should pull that image instead of building it - are you publishing to quay or dockerhub? 2020-12-23T21:17:08 #kisslinux <acheam> its on dockerhub "armaanb/kiss" 2020-12-23T21:17:23 #kisslinux <acheam> I only use docker, so its just easier for me 2020-12-23T21:23:29 #kisslinux <micr0> huh acheam have you tested that kiss-build works on that image? 2020-12-23T21:23:50 #kisslinux <acheam> micr0: the script in the repo-bin repository works just fine 2020-12-23T21:24:42 #kisslinux <micr0> huh yeah `podman run armaanb/kiss kiss build` works fine... 2020-12-23T21:25:58 #kisslinux <acheam> maybe it has something to do with how podman built the container differently than docker does back when you were building it locally? 2020-12-23T21:32:07 #kisslinux <micr0> i am testing on githubs infra xD 2020-12-23T21:32:27 #kisslinux <micr0> but i am going to try podman pull first if that works 2020-12-23T21:32:51 #kisslinux <acheam> right yeah, by locally I just meant building it with podman, instead of pulling the image built with docker 2020-12-23T21:37:07 #kisslinux <micr0> good idea, trying out now 2020-12-23T21:37:38 #kisslinux <micr0> might also wanna remove the 'v' option from untarring... 2020-12-23T21:37:59 #kisslinux <acheam> err yep thats habit right there, thanks! 2020-12-23T21:38:09 #kisslinux <acheam> I did add -q to all the wgets last push 2020-12-23T21:38:52 #kisslinux <micr0> hmm, building locally with your new dockerfile worked, shrug 2020-12-23T21:38:56 #kisslinux <acheam> interesting 2020-12-23T21:42:09 #kisslinux <acheam> okay wish me luck, going to try building llvm in the container 2020-12-23T21:43:06 #kisslinux <acheam> Actually this begs the question as to whether we want to use a container that already has lots of the common build dependencies like cmake, gcc, etc already built to save time on each build 2020-12-23T21:48:32 #kisslinux <micr0> I think thats useful 2020-12-23T21:50:14 #kisslinux <acheam> is there an (b)ash way of running "kiss build $PACKAGE && kiss install $PACKAGE" over all the items of an array? 2020-12-23T21:50:32 #kisslinux <acheam> trying to find an easy way of writing a script to install like 75 packages 2020-12-23T21:51:15 #kisslinux <midfavila> can't you just `for package in foo bar j random hacker do stuff $package`? 2020-12-23T21:51:33 #kisslinux <acheam> yep thats what I was thinking of, thanks! 2020-12-23T21:51:38 #kisslinux <midfavila> np 2020-12-23T21:57:49 #kisslinux <acheam> okay, "armaanb/kiss:builder" will have all the build dependencies of firefox installed in it, which sould cover most of the build dependencies for any package 2020-12-23T21:57:58 #kisslinux <midfavila> god, compiling on a low-power mobile CPU is awful... 2020-12-23T22:00:07 #kisslinux <acheam> midfavila: to respond to your previous query, distcc would be pretty cool. I cant imagine it being very difficult to get working with KISS, but what do I know 2020-12-23T22:06:13 #kisslinux <midfavila> i certainly hope it isn't 2020-12-23T22:06:26 #kisslinux <midfavila> i was talking to one of my gentoo buddies and he says that it isn't spectacularly difficult to set it up 2020-12-23T22:07:17 #kisslinux <acheam> yeah i've played around with it a bit on gentoo and man is it nice 2020-12-23T22:08:18 #kisslinux <midfavila> Do you know if it's possible to weight a certain machine so that it does more work? 2020-12-23T22:08:39 #kisslinux <midfavila> I've never used distcc before, but I'd like to experiment with setting it up so that it's accessible over a VPN from anywheres 2020-12-23T22:09:04 #kisslinux <midfavila> having 48 threads of server to compile anything I want on my little netbook would be awesome 2020-12-23T22:10:45 #kisslinux <acheam> yes, would be nice for sure. I don't have anywhere near 48 threads, but my server + desktop + laptop pack a punch working togethor. 2020-12-23T22:11:23 #kisslinux <midfavila> I'd imagine. I don't think my desktop and laptop would help much in my setup, compared to my server 2020-12-23T22:12:01 #kisslinux <midfavila> Desktop has shit corecount but decent clocks, laptop has shit corecount and shit clocks (but like a 20 hour battery life under full load so w/e), and the server I built a little while ago is what has the insane corecount 2020-12-23T22:12:04 #kisslinux <acheam> To answer your question, im not sure, but you could definately allocate a certain number of threads for distcc on each remote, which kind of creates what you are looking for I think 2020-12-23T22:12:14 #kisslinux <midfavila> yeah, that would be fine 2020-12-23T22:12:30 #kisslinux <midfavila> basically the idea is to make the remote machine do most of the work 2020-12-23T22:12:39 #kisslinux <acheam> https://wiki.gentoo.org/wiki/Distcc#Specifying_participating_hosts 2020-12-23T22:13:37 #kisslinux <midfavila> based, thanks 2020-12-23T22:13:41 #kisslinux <midfavila> that looks like exactly what I want 2020-12-23T22:13:56 #kisslinux <acheam> no problem 2020-12-23T22:13:56 #kisslinux <acheam> should I switch to GNU grep on the docker containers, or stick to busybox and take the performance hit with kiss? 2020-12-23T22:14:24 #kisslinux <midfavila> if the containers are temporary then use busybox, if they're meant for long-term use I'd recommend gnu or ripgrep 2020-12-23T22:14:46 #kisslinux <acheam> they're deleted after the package is built 2020-12-23T22:14:52 #kisslinux <midfavila> use busybox then 2020-12-23T22:15:08 #kisslinux <acheam> okay! 2020-12-23T22:15:19 #kisslinux <acheam> what does gnugrep help with, dependency resolution? 2020-12-23T22:15:39 #kisslinux <midfavila> for the package manager? i'd imagine it's used for a lot of stuff 2020-12-23T22:15:47 #kisslinux <midfavila> I haven't actually dug through the script much myself 2020-12-23T22:16:36 #kisslinux <acheam> only 7 occurences of "grep" in the script 2020-12-23T22:17:29 #kisslinux <midfavila> there's like three of sed 2020-12-23T22:17:42 #kisslinux <midfavila> but it's still used "a lot" in that it's called often 2020-12-23T22:17:56 #kisslinux <midfavila> the count of individual commands wouldn't be a good metric anyways 2020-12-23T22:18:04 #kisslinux <midfavila> since kiss uses a lot of functions, and just calls those for stuff 2020-12-23T22:18:05 #kisslinux <midfavila> idk 2020-12-23T22:18:06 #kisslinux <acheam> ah yeah thats true, its very functional 2020-12-23T22:37:39 #kisslinux <kiedtl|lurch> I wonder if there's a way to 'profile' command useage in scripts 2020-12-23T22:37:43 #kisslinux <kiedtl|lurch> s/useage/usage/ 2020-12-23T22:37:45 #kisslinux <kissbot> <kiedtl|lurch> I wonder if there's a way to 'profile' command usage in scripts 2020-12-23T22:38:59 #kisslinux <acheam> kiedtl|lurch: lurch? 2020-12-23T22:39:26 #kisslinux <dilyn> midfavila: distcc used to be in community 2020-12-23T22:39:27 #kisslinux <dilyn> 19321f9ad1e0de1d745d7bfaa514ca6ad85627ab 2020-12-23T23:53:14 #kisslinux <onodera> brought an AMD 3700x 2020-12-23T23:53:21 #kisslinux <onodera> this thing compiled gcc in like 10 minutes 2020-12-23T23:55:21 #kisslinux <acheam> jelous 2020-12-23T23:56:29 #kisslinux <acheam> actually, I have 0 clue, why I am doing all this experimentation on my laptop today... I feel pretty silly now that I think about it. I have a much faster processor in my desktop, and here I am sitting waiting for LLVM to compile on my laptop