💾 Archived View for gemini.ctrl-c.club › ~phoebos › logs › kisslinux-2022-07-27.txt captured on 2023-01-29 at 03:46:31.

View Raw

More Information

-=-=-=-=-=-=-

[2022-07-27T00:56:17Z] <noocsharp> illiliti: didn't aosp recently rewrite their bluetooth stack in rust?
[2022-07-27T01:01:37Z] <illiliti> idk
[2022-07-27T03:49:37Z] <dilyn> :o o/
[2022-07-27T04:42:06Z] <noocsharp> who are you
[2022-07-27T05:15:45Z] <dilyn> i'm a ~ghost~
[2022-07-27T05:15:52Z] <dilyn> of maintainers past
[2022-07-27T05:56:33Z] <vbt[m]> welcome dylan
[2022-07-27T07:07:34Z] <testuser[m]12> Hi
[2022-07-27T08:04:05Z] <Ogromny> Hi everybody
[2022-07-27T08:12:53Z] <testuser[m]12> The answer is no, those are very common dependencies on any system/distribution that why we use them in the core daemon and they fit pretty well in our design.
[2022-07-27T08:17:47Z] <testuser[m]12> A Bluetooth application communicates with the Bluetooth process through Binder. The Bluetooth process uses JNI to communicate with the Bluetooth stack and provides developers with access to various Bluetooth profiles.
[2022-07-27T11:47:34Z] <wael[m]> is there a `lspci` like that can actually list PCI device names like GNU lspci?
[2022-07-27T12:03:37Z] <stjohn> wael: Is there a GNU lspci? It's not part of util-linux. There's a KISS package for pciutils in the community repo and that doesn't appear to be a GNU project.
[2022-07-27T12:11:59Z] <wael[m]> busybox provides lspci
[2022-07-27T12:12:00Z] <wael[m]> pciutils provides it as well, but can be picked by alternatives, thanks!!
[2022-07-27T12:12:57Z] <wael[m]> but how do i switch it out? i cant figure out how to swap with kiss
[2022-07-27T12:13:33Z] <wael[m]> nvm, just had to specify the path
[2022-07-27T12:13:34Z] <stjohn> You can do this: `kiss a | grep ^pciutils | kiss a -`
[2022-07-27T12:59:54Z] <illiliti> toybox lspci can display names also
[2022-07-27T13:00:43Z] <illiliti> it needs hwdata first, specifically pci.ids
[2022-07-27T13:02:09Z] <Ogromny> Does firefox need dbus and so be built without `--disable-dbus` to have push notification working ?
[2022-07-27T13:12:51Z] <testuser[m]12> Yeah
[2022-07-27T13:13:04Z] <testuser[m]12> Why do u need notifications from a browser though
[2022-07-27T13:14:39Z] <Ogromny> I'm pretty much forced to use discord for work so...
[2022-07-27T13:14:42Z] <stjohn> I've seen them used by lichess to notify you that it's your turn in a correspondence game. Not really a *need* so much as a use, though.
[2022-07-27T13:15:20Z] <Ogromny> (All my co-workers chat via discord)
[2022-07-27T13:22:51Z] <stjohn> Oh yeah that is a pain in the arse. You could use the desktop app, or go a different way and use a third-party client (there is a plugin for libpurple).
[2022-07-27T13:24:41Z] <illiliti> until you get banned for not complying with vendor lock policy heh
[2022-07-27T13:25:10Z] <stjohn> BURN IT WITH FIRE
[2022-07-27T13:25:43Z] <illiliti> i wish i could lol
[2022-07-27T14:59:35Z] <phinxy> My kiss -a has 7 pages of gobject-introspection conflicts with glib..
[2022-07-27T15:00:57Z] <phinxy> I suppose I remove glib since gobject-introspection.git provides both 1.0 and 2.0?
[2022-07-27T17:19:09Z] <riteo> hiiiiiiii!
[2022-07-27T17:22:31Z] <wael[m]> hiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii!!!!!!!!!!!!!!
[2022-07-27T17:24:17Z] <testuser[m]12> riteo: huiiii
[2022-07-27T18:18:25Z] <riteo> lately I got this completely dumbass idea
[2022-07-27T18:18:42Z] <riteo> what if each package had like, some package-manager-specific configure options?
[2022-07-27T18:19:03Z] <illiliti> use flags?
[2022-07-27T18:19:08Z] <riteo> kinda
[2022-07-27T18:19:15Z] <illiliti> bad idea
[2022-07-27T18:19:19Z] <riteo> but only package-specific and "embedded" in the version
[2022-07-27T18:20:01Z] <riteo> like "I'm using gcc 12.1.0[libasan=true]" or something like that
[2022-07-27T18:20:37Z] <riteo> are package specific use flags a bad idea too?
[2022-07-27T18:20:39Z] <ioraff> still would require quite a bit of monkeying with the build scripts
[2022-07-27T18:20:53Z] <riteo> yeah, but forking a package just for a configure flag is silly IMO
[2022-07-27T18:21:04Z] <riteo> they'd be just enviroment variables probably
[2022-07-27T18:21:15Z] <riteo> or what, arguments? We're talking about simple things
[2022-07-27T18:21:28Z] <ioraff> I disagree. keeps the build scripts as simple as possible
[2022-07-27T18:21:59Z] <riteo> yeah but then you gotta mantain a lot of packages just for stupid changes
[2022-07-27T18:22:15Z] <riteo> and it's worse when you're talking about stuff like gcc/firefox which has potentially a lot of patches and whatnot
[2022-07-27T18:22:18Z] <illiliti> it isn't worth the effort riteo. use flags will result in code smell, just check any gentoo ebuild and understand how terrible it is
[2022-07-27T18:22:31Z] <riteo> I'll take a look
[2022-07-27T18:23:07Z] <ioraff> don't really need to maintain them. just symlink every file except the build script.
[2022-07-27T18:23:31Z] <ioraff> are you still working on a package manager?
[2022-07-27T18:25:31Z] <riteo> I never started it tbh, just collected a lot of ideas
[2022-07-27T18:25:38Z] <riteo> I'm kinda tight due to godot's beta being close
[2022-07-27T18:26:11Z] <riteo> still, in my package manager this whole mess would be partially irrelevant since the juice would be in the final built format and installer, the simplest and most important pieces
[2022-07-27T18:26:17Z] <riteo> the package builder would come later
[2022-07-27T18:26:33Z] <riteo> I just never talked about this silly idea which for some reason is sticking to me
[2022-07-27T18:27:08Z] <riteo> btw I can't find some examples, I tried with both firefox or GCC but the first is like, extremely complicated only at building it and GCC is inherting 99% of stuff
[2022-07-27T18:27:19Z] <riteo> s/inherting/inheriting/g
[2022-07-27T18:27:35Z] <riteo> ioraff: the issue is exactly with the symlinking approach
[2022-07-27T18:27:52Z] <riteo> if I want to make a single-line edit to the build file I can symlink how I want
[2022-07-27T18:27:57Z] <riteo> it won't work
[2022-07-27T18:28:36Z] <riteo> and also 99% of packages have of important pretty much just the build file or patches, with new flags or tricks being implemented expecially there
[2022-07-27T18:31:34Z] <qwerty111> Hi, does anyone use f2fs? What are the advantages over ext4?
[2022-07-27T18:32:26Z] <ioraff> I used it awhile back. I believe the advantages come mostly with raw solid-state (e.g. SD card) storage
[2022-07-27T18:32:41Z] <ioraff> riteo: I don't follow
[2022-07-27T18:32:50Z] <riteo> illiliti: I can kinda see what you mean, but it looks like they've made it super complicated
[2022-07-27T18:33:39Z] <riteo> ioraff: most of my forks are simply single line changes to enable simple features or maybe add a single dependency, but mostly the former
[2022-07-27T18:34:35Z] <riteo> my approach would try to make it as least variable and generic as possible
[2022-07-27T18:34:58Z] <illiliti> i used to use f2fs before i switched to zfs. in short it has no noticeable advantage, so don't bother really
[2022-07-27T18:35:02Z] <riteo> ideally, any gcc 12.1.0[libasan=yes] package would be identical, independently of the machine
[2022-07-27T18:36:19Z] <riteo> although I admit that this example is kinda bad, as I would probably make some fragmentated packages (gcc-libasan, gcc-doc, and so on), but I imagine this being pretty controversial
[2022-07-27T18:36:42Z] <ioraff> sure. but the maintenance cost of that is minimal if every other file is symlinked, since build files don't change often.
[2022-07-27T18:37:03Z] <riteo> uh, sure? I always noticed the opposite pretty much
[2022-07-27T18:37:11Z] <riteo> most of the stuff happens in the build file
[2022-07-27T18:38:45Z] <riteo> also it's not like some packages don't have specific behaviour-altering-variables or conditions already
[2022-07-27T18:40:16Z] <illiliti> you could split configure flags into its own file, but still, this doesn't give you full flexibility over build file and needlessly complicates things
[2022-07-27T18:42:08Z] <riteo> that'd be way more complicated. Souldn't it be enough to use something like ${LIBASAN---disable-libasan}?
[2022-07-27T18:42:37Z] <riteo> perhaps by just setting it
[2022-07-27T18:43:24Z] <illiliti> you're inventing use flags
[2022-07-27T18:44:01Z] <riteo> I'm really having trouble understanding why they're bad
[2022-07-27T18:44:11Z] <riteo> I mean, I understand that global use flags are bad
[2022-07-27T18:45:14Z] <illiliti> what if in order to enable or disable asan, you need more logic that just --disable/enable flag? that's where things become messy
[2022-07-27T18:45:41Z] <ioraff> most stuff happens with patches
[2022-07-27T18:46:04Z] <ioraff> I suppose we could relegate more complicated logic to forks
[2022-07-27T18:46:15Z] <riteo> sorry, my laptop froze
[2022-07-27T18:47:02Z] <riteo> illiliti: I see your example, but theoretically this stuff would only be used for relatively simple things
[2022-07-27T18:47:26Z] <riteo> if you need something more complex you'd probably need a separate package I think
[2022-07-27T18:48:13Z] <riteo> also it's not like a user-forked package requires a lot of extra logic
[2022-07-27T18:48:34Z] <Ogromny> USE flags are terrible, use gentoo daily for some month and you'll understand why Kiss should never have those
[2022-07-27T18:48:54Z] <riteo> you know what, I should try gentoo sometimes
[2022-07-27T18:49:06Z] <Ogromny> Honestly it's a great OS
[2022-07-27T18:49:17Z] <Ogromny> you will learn a LOT of things
[2022-07-27T18:49:37Z] <riteo> my version would be extremely more limited on purpose though
[2022-07-27T18:49:40Z] <Ogromny> Simple and customizable AF
[2022-07-27T18:49:51Z] <riteo> at least AFAIK from gentoo's docs
[2022-07-27T18:50:28Z] <illiliti> riteo: use flags also could introduce circular dependency in some circumstances
[2022-07-27T18:51:02Z] <Ogromny> The only drawback with Gentoo it's that it's so easy to do a dependency circle and resolving it with emerge is a mess
[2022-07-27T18:51:43Z] <wael[m]> i personally never really liked gentoo for how hard and complex it was to manage
[2022-07-27T18:52:02Z] <illiliti> gentoo is garbage
[2022-07-27T18:52:06Z] <riteo> I think I'm starting to see why it's not a great idea
[2022-07-27T18:52:14Z] <riteo> but I would really like to improve this whole forking situation
[2022-07-27T18:52:37Z] <riteo> as I get slower and more messy updates due to this and I personally get annoyed by it
[2022-07-27T18:53:03Z] <Ogromny> The one thing that I really liked from gentoo was virtual package, like you install rustup or whatever that manage rust version and it'll automatically install rust (a fake package with nothing in it)
[2022-07-27T18:53:33Z] <wael[m]> what kind of USE flags could even be implemented in KISS? the repositories are made for Wayland and no Dbus or pulseaudio.
[2022-07-27T18:53:45Z] <illiliti> provides is not bad idea yeah, but it complicates dependency handling
[2022-07-27T18:54:03Z] <riteo> Ogromny: I said it before. It'd be for simple configuration changes
[2022-07-27T18:54:04Z] <wael[m]> what about conflicts?
[2022-07-27T18:54:21Z] <riteo> like adding support for certain features at configure time
[2022-07-27T18:54:42Z] <Ogromny> You can check if some package are installed to enable some option
[2022-07-27T18:54:50Z] <illiliti> conflicts? we have kiss a already which is fine
[2022-07-27T18:54:51Z] <riteo> that's exactly what I want to avoid
[2022-07-27T18:55:04Z] <riteo> I think they talked about feature conflicts?
[2022-07-27T18:55:21Z] <illiliti> ah
[2022-07-27T18:55:25Z] <Ogromny> Like maybe check if dbus is installed and if it's not add --disable-dbus or whatever to the build
[2022-07-27T18:55:42Z] <riteo> Ogromny: in my mind the ideal would be packages which build identically everywhere
[2022-07-27T18:55:55Z] <illiliti> > that's where things become messy
[2022-07-27T18:55:56Z] <Ogromny> $(kiss s dbus) || "--disable-dbus"
[2022-07-27T18:56:01Z] <riteo> it's the #1 issue IMO on kiss, that packages are too brittle since they take everything they can find from the system
[2022-07-27T18:56:42Z] <riteo> btw regarding the provides thing: what if a package could depend on a file, instead of another package?
[2022-07-27T18:56:53Z] <riteo> that'd allow for easier package/implementation replacements
[2022-07-27T18:57:04Z] <wael[m]> Ogromny: i wish dbus checking would actually be implemented, but dbus is considered bloat anyway.
[2022-07-27T18:57:26Z] <illiliti> that's how alpine apk work riteo
[2022-07-27T18:57:42Z] <riteo> oh, nice, I like apk tbf
[2022-07-27T18:58:39Z] <riteo> I think that idea might work instead
[2022-07-27T18:58:57Z] <riteo> but I seriously how to fix the "stupid forks" problem, since it fragments work so much
[2022-07-27T19:00:03Z] <riteo> and wastes so much time for anybody not wanting an extremely embedded like minimal system, since the base packages disable pretty much completely everything and then once I want to use some weird feature (like gcc's address sanitizer) I have to fork a whole package just for that
[2022-07-27T19:01:36Z] <illiliti> forking is fine in kiss. don't be afraid of it
[2022-07-27T19:02:33Z] <riteo> perhaps what could be improved would be the forking experience? Because having to run `kiss-outdated` in my local fork repo and having to check for any difference in the new one is pretty boring
[2022-07-27T19:02:51Z] <riteo> and by pretty I mean a lot
[2022-07-27T19:03:21Z] <illiliti> i see
[2022-07-27T19:04:00Z] <riteo> I seriously feel like there's some way of fixing this issue, but can't put my finger on it
[2022-07-27T19:04:50Z] <illiliti> i feel you
[2022-07-27T19:05:19Z] <riteo> kiss's approach of "switch to simpler software" isn't working in this case since even python (some might call it bloated, but it's needed pretty much everywhere) required me to fork the package
[2022-07-27T19:05:42Z] <ioraff> environmental variables for simple things doesn't sound bad
[2022-07-27T19:06:08Z] <riteo> and in my silly idea they would be bound to the version or somehow in the package data
[2022-07-27T19:06:35Z] <riteo> I don't think I would let it allow to change dependencies, although I'm not sure about the implications of either options
[2022-07-27T19:06:43Z] <riteo> but I'm slowly getting convinced that there must be another way
[2022-07-27T19:07:19Z] <riteo> I should look at my fork depo for more data and allow myself to think out of the box instead of grabbing onto this thing
[2022-07-27T19:07:56Z] <riteo> also because I got inspired from what? pip? pip's shit
[2022-07-27T19:08:15Z] <testuser[m]12> Make everything use dlopen
[2022-07-27T19:08:17Z] <ioraff> you could change build and depends with KISS_HOOK
[2022-07-27T19:08:20Z] <testuser[m]12> Run time use flags
[2022-07-27T19:08:22Z] <ioraff> yeah pip is horrible
[2022-07-27T19:08:27Z] <riteo> testuser[m]12: bingo
[2022-07-27T19:08:30Z] <riteo> powered by dbus
[2022-07-27T19:08:35Z] <riteo> and a systemd module
[2022-07-27T19:08:41Z] <riteo> systemless packages, those are the future
[2022-07-27T19:08:53Z] <riteo> systemless but with systemd(tm)
[2022-07-27T19:09:41Z] <riteo> ioraff: nah, that'd be too brittle and complicated tbf
[2022-07-27T19:10:29Z] <ioraff> fair. I only use it to change compiler flags
[2022-07-27T19:10:39Z] <riteo> the thing is though, that this complexity must eventually get in somewhere
[2022-07-27T19:11:15Z] <riteo> either we completely subvert the whole architecture of certain pieces (s6 style I think), or we put more complexity somewhere
[2022-07-27T19:11:39Z] <riteo> now, that could be the package manager, some extra tool for handling forks or the build scripts
[2022-07-27T19:12:00Z] <riteo> but with such a dumb system it's bound to become more complex, the challenge's not doing that
[2022-07-27T19:12:37Z] <riteo> another big issue's that KISS is monolithic, so there's very little room for dumb extremely cohesive components (UNIX style)
[2022-07-27T19:12:50Z] <riteo> (although I get why some find it a good thing)
[2022-07-27T19:13:20Z] <Ogromny> Or with create a pseudo build file, like build.patch that take a build file and change some lines like a patch file
[2022-07-27T19:13:30Z] <illiliti> > user is smart, kiss is dumb
[2022-07-27T19:13:35Z] <illiliti> do you remember that? maybe it's good thing to keep things dumb?
[2022-07-27T19:13:49Z] <riteo> I completely agree about keeping things as dumb as possible
[2022-07-27T19:13:52Z] <Ogromny> like build.pseudo, first line is the real build file and the rest is the patch
[2022-07-27T19:13:55Z] <riteo> that's the issue I'm exposing
[2022-07-27T19:14:15Z] <riteo> Ogromny: I thought about it, but a lot of patches (dunno, one for each feature) sound a nightmare to maintain
[2022-07-27T19:14:43Z] <riteo> I get that this whole thing's purpose is to not waste a lot of time collectively wanting to modify/update each package for dumb things, but this risks becoming torture
[2022-07-27T19:15:27Z] <riteo> illiliti: what I meant by my reasoning above is that perhaps we should look at it in another potentially radical way
[2022-07-27T19:16:03Z] <riteo> as our absolutely biggest priority is keeping the package system as dumb as possible (recall the VERSION thing and its controversiality)?
[2022-07-27T19:17:01Z] <riteo> that's also why I probably wanted to split the package system into two or more binaries, to keep them at doing the stupidest things and allowing for ad-hoc solutions, different implementations or who knows what
[2022-07-27T19:18:23Z] <riteo> although I should surely look at more unix style subvertive solutions like s6. I'm starting to think that (in this context) we're imposing ourselves some specific structure to follow, the same that gentoo follows and that resulted in useflags
[2022-07-27T19:18:59Z] <riteo> because effectively, there's not a lot of room for custom solutions in our current structure
[2022-07-27T19:19:34Z] <riteo> hope I'm not being annoying with these extremely abstract ideas and that perhaps I'm giving some to y'all
[2022-07-27T19:21:16Z] <Ogromny> Nah, fresh/divergent idea are always a good things
[2022-07-27T19:21:47Z] <riteo> welp, gotta move my laptop, I'll keep reading the logs but I should rejoin later I think, cya!
[2022-07-27T19:21:57Z] <Ogromny> Cya !
[2022-07-27T19:22:00Z] <ioraff> see ya
[2022-07-27T19:33:40Z] <dilyn> did somebody mention ~~use flags~~
[2022-07-27T19:34:46Z] <wael[m]> yes, infact it was riteo
[2022-07-27T19:35:46Z] <dilyn> believe it or not, jail
[2022-07-27T19:39:29Z] <illiliti> > that's also why I probably wanted to split the package system into two or more binaries, to keep them at doing the stupidest things and allowing for ad-hoc
[2022-07-27T19:39:39Z] <illiliti> despite the fact that i prefer single static binary, i like this idea
[2022-07-27T19:40:24Z] <dilyn> what is this from?
[2022-07-27T19:40:59Z] <illiliti> it's riteo idea
[2022-07-27T19:41:08Z] <dilyn> ah
[2022-07-27T19:41:21Z] <dilyn> My favorite implementation was hook-editable build scripts
[2022-07-27T19:41:21Z] <illiliti> pkg_resolve_deps | pkg_build | pkg_install iirc
[2022-07-27T19:43:28Z] <dilyn> isn't splitting it like that essentially just func1() {} func2() {} ... though?
[2022-07-27T19:44:45Z] <dilyn> we could probably modify `kiss` to accomplish that...
[2022-07-27T19:44:52Z] <dilyn> I don't see the *point*, but it could be done :v
[2022-07-27T19:47:33Z] <illiliti> i don't what exactly riteo wants to implement, but it's not that simple since riteo wants to add ad-hoc functionality to it
[2022-07-27T19:48:36Z] <illiliti> e.g pkg_resolve_deps | add_missing_dep | pkg_build | remove_garbage | pkg_install
[2022-07-27T19:48:49Z] <dilyn> aha
[2022-07-27T19:49:06Z] <dilyn> riteo can do what I do; fork kiss and patch:P
[2022-07-27T19:52:18Z] <illiliti> https://github.com/kisslinux/kiss/commit/93b598d5faae57443a7cdc2aa9a85bd1fce9732c
[2022-07-27T19:55:01Z] <dilyn> Yeah I know why he did it, I just really enjoyed the feature
[2022-07-27T19:55:24Z] <dilyn> simplified my own repository substantially. Once the change was reverted, I just decided to maintain my own repository and not use anyone else's
[2022-07-27T20:44:47Z] <riteo> hiiiii!
[2022-07-27T20:44:50Z] <riteo> mobile riteo here
[2022-07-27T20:45:13Z] <riteo> I read the logs, and I just wanted that by "ad hoc solution" I meant more weird package builders or who knows what, although that was a pretty big hypotetical. I should still let in the idea of throwing these pseudo use flags away and allowing myself to do weirder things
[2022-07-27T20:46:18Z] <riteo> s/I just wanted that/I just wanted to say that/g
[2022-07-27T21:00:13Z] <illiliti> riteo: do you plan to add maintainer file to packages?
[2022-07-27T21:01:46Z] <riteo> that's really secondary, but tbf I'd like to not rely exclusively on git
[2022-07-27T21:02:15Z] <riteo> and I don't reallt like the need to commit exclusively by the maintainer
[2022-07-27T21:02:42Z] <riteo> so I think that I'd probably add it, althout it would surely be an extension more than anything
[2022-07-27T21:04:00Z] <illiliti> and what do you think about sandbox build? does it fit into your design?
[2022-07-27T21:04:35Z] <dilyn> Add SPDX lines to the build file as well :v
[2022-07-27T21:04:36Z] <riteo> absolutely, as I said ideally reproducible and system-indipendent packages are great
[2022-07-27T21:04:46Z] <riteo> am I overengineering
[2022-07-27T21:04:49Z] <dilyn> or just a meta file
[2022-07-27T21:04:49Z] <riteo> be honest
[2022-07-27T21:05:11Z] <riteo> I'm not against package metadata at all tbh
[2022-07-27T21:05:23Z] <riteo> it's hell to understand what a package's for
[2022-07-27T21:07:29Z] <illiliti> well, it's better to sort packages like gentoo does than introducing metadata. eg libs in sys-libs and so on
[2022-07-27T21:07:46Z] <riteo> but I's make metadata an extension, I don't think that everyone wants it and it's surely not needed
[2022-07-27T21:07:55Z] <riteo> just add it if a repo wants it :p
[2022-07-27T21:09:00Z] <Ogromny> anybody tried to do a BSD fork with kiss ? Like OpenBSD/Kiss 
[2022-07-27T21:09:10Z] <Ogromny> Or FreeBSD
[2022-07-27T21:09:10Z] <riteo> i think midfavilla
[2022-07-27T21:09:37Z] <illiliti> merakor/cem(carbs author) tried but failed
[2022-07-27T21:09:43Z] <Ogromny> Ah :(
[2022-07-27T21:15:21Z] <riteo> so can you guys be honest
[2022-07-27T21:15:25Z] <riteo> am I overengineering
[2022-07-27T21:17:23Z] <Ogromny> Bro you fine don't worry
[2022-07-27T21:17:32Z] <Ogromny> You just want tge best
[2022-07-27T21:17:38Z] <Ogromny> the*
[2022-07-27T21:18:47Z] <dilyn> "over-engineering" is just a poor euphemism for "bad programming"
[2022-07-27T21:19:03Z] <dilyn> you should think about this in terms of scope
[2022-07-27T21:19:49Z] <riteo> I'm trying to set one for sure, although tbf my project wants to be more a testbed for package manager ideas
[2022-07-27T21:20:10Z] <dilyn> kiss outsources or leaves out things like maintainer information and licenses because they're out-of-scope. kiss has a hard dependency on git as coded to be fully-featured, and so we can easily outsource knowing the maintainer of any package based on the infrastructure kiss operates in
[2022-07-27T21:20:11Z] <riteo> that's also why I want to take a highly modular approach
[2022-07-27T21:20:33Z] <riteo> I see
[2022-07-27T21:20:34Z] <dilyn> is this maybe a bad move? sure, but that's the design choice for kiss. It's not under-engineered, it's just moving the engineering to some where else
[2022-07-27T21:21:14Z] <riteo> yeah tbf I critique kiss' ossession for removing actual features from stuff
[2022-07-27T21:21:25Z] <illiliti> riteo: btw what do you think about nix approach? personally i hate declarative config cuz it limits control over system
[2022-07-27T21:21:26Z] <riteo> I get that less is more, but nothing is not good
[2022-07-27T21:22:02Z] <riteo> nix's idea is cool, I think that they put in a way too complicated way
[2022-07-27T21:23:04Z] <riteo> btw switching to the laptop, brb
[2022-07-27T21:23:13Z] <illiliti> same thing with guix
[2022-07-27T21:25:31Z] <illiliti> would be awesome if we have nix without declarative garbage
[2022-07-27T21:25:40Z] <illiliti> and without systemd of course
[2022-07-27T21:40:16Z] <riteo> hiiiiiii!
[2022-07-27T21:40:18Z] <riteo> I'm back!
[2022-07-27T21:40:34Z] <Ogromny> !!
[2022-07-27T21:42:07Z] <riteo> illiliti: regarding sorting packages, gentoo's approach is still pretty tedious to do and doesn't encourage multiple repos as much as kiss does
[2022-07-27T21:42:17Z] <riteo> and I love multiple separately maintained repos
[2022-07-27T21:43:00Z] <riteo> I really want to note that I'm not at all against all of kiss, I think it's definiltely a pioneer of an alternative way and reasoning behind the managing of a linux distro
[2022-07-27T21:43:45Z] <riteo> it's staples are extremely important to me, like the 0 bus factor, the KISS principle and the self-maintainibility aspects are all fundamental in this kind of system
[2022-07-27T21:44:51Z] <riteo> but as I already said some time ago, it feels a bit toyish, kinda like a prototype. I saw quite a few people leaving because they couldn't package certain software and that was kinda sad to see
[2022-07-27T21:45:10Z] <illiliti> you could implement recursive repositories
[2022-07-27T21:45:21Z] <illiliti> like, if directory contains build file, then it's package, else it's repo
[2022-07-27T21:45:54Z] <riteo> mh
[2022-07-27T21:46:01Z] <riteo> it'd still be hard to know about the package
[2022-07-27T21:46:24Z] <illiliti> why
[2022-07-27T21:46:27Z] <riteo> and the fact that we minimalist guys name their software in very simple ways doesn't help with search engines
[2022-07-27T21:47:14Z] <riteo> illiliti: just knowing the category (which btw, would have to be standardized, ergo another mess) wouldn't be enough to satisfy most of people's curiosity tbh
[2022-07-27T21:47:24Z] <riteo> the most we got was a README file, implemented by nobody except dylan
[2022-07-27T21:48:03Z] <riteo> that was a genius move IMO, distro specific documentation shipped per-package and easily readable by anyone
[2022-07-27T21:48:39Z] <riteo> actually I added a README file to the kakoune package. I never found the time to add it to lvm too, but at least I'd like to do it someday
[2022-07-27T21:49:19Z] <riteo> in fact one of my original ideas was more of a kiss extension with some extra stuff, like an optional metadata format at the start of the README
[2022-07-27T21:49:23Z] <riteo> now stuff drastically changed though
[2022-07-27T21:49:48Z] <riteo> I kept the notes in chronological order, if they weren't in italian I would've sent them here probably
[2022-07-27T21:50:25Z] <riteo> Although the big descriptive comment of the first principles (which are still valid IIRC) is in english
[2022-07-27T21:51:04Z] <riteo> I chose to write them first in the prototype script (which I never started) so that I would not forget the then sudden blurbs of ideas
[2022-07-27T21:53:16Z] <riteo> yeah it was meant to be kiss-compatible
[2022-07-27T22:01:34Z] <illiliti> meant? you don't intend to be compatible with kiss anymore?
[2022-07-27T22:03:32Z] <riteo> technically, it would be
[2022-07-27T22:03:44Z] <riteo> but I'd experiment with an alternative system too
[2022-07-27T22:03:56Z] <riteo> technically it can be compatible with _any_ packaging system
[2022-07-27T22:04:10Z] <illiliti> that's interesting
[2022-07-27T22:04:11Z] <riteo> that's the great thing about the modularity of the whole system
[2022-07-27T22:04:47Z] <riteo> I mean, anybody can repackage stuff from one binary format to another, so that's not that big of a thing now that I think about it
[2022-07-27T22:05:15Z] <riteo> although I meant more like building straight to the new system's package format, but that doesn't sound that cool either
[2022-07-27T22:05:31Z] <illiliti> i think i understand now the level of modularity stuff you have in mind
[2022-07-27T22:06:02Z] <riteo> yeah, the actual and most important focus is the final binary package and the installation thing, which are* (*should) be trivial
[2022-07-27T22:06:17Z] <riteo> and that's what I want, the dumbest most absolute stuff in the most essentials steps
[2022-07-27T22:07:16Z] <riteo> the main idea for the binary package is a pax(?) archive with one or more folder: "root", which represents, well, the root and then any possible extensions
[2022-07-27T22:07:59Z] <riteo> I chose deliberately to make this extendable because unfortunately software changes constantly (I know, slippery slope), but it would be a complete mess to repackage the world because it becomes unconfortable to package something needed
[2022-07-27T22:08:35Z] <riteo> there shouldn't me much else though, probably just a "meta" folder and perhaps (if we don't want to put it there) the original package recipe
[2022-07-27T22:08:45Z] <riteo> into it's own folder
[2022-07-27T22:08:51Z] <riteo> s/it's/its/
[2022-07-27T22:08:59Z] <illiliti> nice
[2022-07-27T22:09:31Z] <riteo> also (and this can be probably controversial), the metadata would use the filesystem as a key-value "db"
[2022-07-27T22:09:47Z] <riteo> so, a maintainer file with the maintainer, a description file with the description and so on
[2022-07-27T22:09:54Z] <riteo> easy to parse and clean
[2022-07-27T22:10:53Z] <riteo> this part should be easy and fun to implement even in C, although I've never continued that C book tbrh
[2022-07-27T22:10:57Z] <illiliti> you could also investigate squashfs format instead of pax, but it is less(?) portable
[2022-07-27T22:11:08Z] <riteo> yeah it doesn't make me go crazy
[2022-07-27T22:11:13Z] <riteo> it got a shitton of dependencies
[2022-07-27T22:11:21Z] <riteo> and by shitton I mean it
[2022-07-27T22:11:32Z] <riteo> I couldn't compile it here without wasting wayyy too much time
[2022-07-27T22:12:10Z] <riteo> wait, I think I'm confusing stuff up
[2022-07-27T22:13:38Z] <riteo> did something happen
[2022-07-27T22:15:45Z] <illiliti> https://git.alpinelinux.org/aports/tree/main/squashfs-tools/APKBUILD#n10
[2022-07-27T22:15:51Z] <illiliti> doesn't seem it has a lot of deps
[2022-07-27T22:16:28Z] <illiliti> but it needs kernel support to be efficient yeah
[2022-07-27T22:16:32Z] <illiliti> afaik
[2022-07-27T22:16:34Z] <riteo> I think I'm confusing it with another compression readonly filesystem
[2022-07-27T22:17:11Z] <riteo> but btw I think I'd still look after posix compatibility
[2022-07-27T22:17:32Z] <riteo> I mean, while not everybody got a pax extraction tool it should be kind of compatible with start
[2022-07-27T22:17:39Z] <riteo> s/start/star/
[2022-07-27T22:18:01Z] <riteo> if not being a direct implementation of it(?)
[2022-07-27T22:19:48Z] <riteo> here it is, I was confusing it with noneother than dwarfs
[2022-07-27T22:20:03Z] <riteo> https://github.com/mhx/dwarfs
[2022-07-27T22:20:27Z] <riteo> it's extremely efficient with duplicate files (even than ZPAQ AFAICT) but holy moly does it have a lot of dependencies
[2022-07-27T22:20:47Z] <illiliti> looks bloated indeed
[2022-07-27T22:21:15Z] <riteo> and that's a real waste IMO
[2022-07-27T22:22:48Z] <riteo> I have no idea what I pressed, but catgirl got angry
[2022-07-27T22:23:23Z] <riteo> I was saying: from the README it looks like it's 10 times faster at compressing and 6 times smaller than squashfs
[2022-07-27T22:23:46Z] <riteo> oh sorry the opposite
[2022-07-27T22:23:50Z] <riteo> 6 times faster and 10 times smaller
[2022-07-27T22:24:30Z] <riteo> but still, I think that probably pax would be the best option as it's standard, compatible and simple(?)
[2022-07-27T22:24:42Z] <riteo> at least if squashfs hasn't got some benefit of which I don't kno
[2022-07-27T22:24:46Z] <riteo> s/kno/know/
[2022-07-27T22:25:49Z] <wael[m]> you seem to be full of ideas and confidence 
[2022-07-27T22:26:25Z] <riteo> confidence none lmao
[2022-07-27T22:26:38Z] <riteo> my ideas document goes back and forwards
[2022-07-27T22:27:13Z] <riteo> half of the stuff I'm telling you might change from one moment to the others. It's pretty much just frustation behind some stuff and "inspiration" taken from everywhere
[2022-07-27T22:27:41Z] <riteo> I can explain to you what thing I've "taken" from what
[2022-07-27T22:28:36Z] <riteo> like, my package system's motto would be pracitally a mawww citation: "riteo's experiment for a better package manager"
[2022-07-27T22:28:54Z] <riteo> (with the due credit, I'm not an asshole)
[2022-07-27T22:30:01Z] <wael[m]> is it going to be forked from KISS? or self made?
[2022-07-27T22:30:07Z] <riteo> the unix-y weird aspect would come from s6 (although I should study it more), the weird scrapped idea came from pip I think while the solid/immutable core _I think_ comes from hare
[2022-07-27T22:30:20Z] <riteo> absolutely self made probably in C
[2022-07-27T22:30:30Z] <riteo> also because I got an obsession for PD stuff, expecially when it's core
[2022-07-27T22:30:36Z] <riteo> (Public Domain)
[2022-07-27T22:33:08Z] <wael[m]> like XBPS?
[2022-07-27T22:33:43Z] <riteo> what was it?
[2022-07-27T22:33:46Z] <riteo> void's package system?
[2022-07-27T22:34:11Z] <illiliti> aye
[2022-07-27T22:34:12Z] <riteo> it's MIT AFAICT?
[2022-07-27T22:34:16Z] <illiliti> bsd2
[2022-07-27T22:34:46Z] <riteo> then the answer is no, I think
[2022-07-27T22:34:50Z] <riteo> unless I got it wrong
[2022-07-27T22:35:16Z] <riteo> although the hashing of the metadata is what I got in mind too originally
[2022-07-27T22:35:22Z] <riteo> yeah I still hadn't shared that idea
[2022-07-27T22:35:54Z] <riteo> but basically everything is checksummed, even the metadata, so that you can sign a master checksum and call it a day with pgp signing
[2022-07-27T22:35:55Z] <wael[m]> well since you did say package manager, is that exactly what you meant? not a whole distribution?
[2022-07-27T22:36:04Z] <riteo> ehhhhhhhhh
[2022-07-27T22:36:20Z] <riteo> technically I'd argue that what makes a distro is the package system
[2022-07-27T22:36:42Z] <riteo> but I'm talking about specifically the package system, although I wouldn't be too scared to make my own
[2022-07-27T22:36:55Z] <riteo> perhaps leeching into kiss' depos with a compatibility builder
[2022-07-27T22:37:02Z] <wael[m]> true, but consider things like musl and SSL implementation, etc etc
[2022-07-27T22:37:26Z] <riteo> ooooh, I don't know void very well but it would surely be kiss inspired
[2022-07-27T22:37:40Z] <riteo> as I said before I take really at heart KISS Linux's base principles
[2022-07-27T22:37:53Z] <riteo> mainly the three listed in the website main page
[2022-07-27T22:38:18Z] <riteo> wait one's the package depo
[2022-07-27T22:38:29Z] <wael[m]> so like kiss, musl, openssl, busybox
[2022-07-27T22:39:17Z] <riteo> yeah I remembered that there were written the three principles or something, well, they're the 0 bus factor and extensibility pretty much
[2022-07-27T22:39:19Z] <riteo> yeah, like kiss
[2022-07-27T22:39:25Z] <riteo> musl, openssl, busybox
[2022-07-27T22:39:32Z] <riteo> although I might experiment with some stuff
[2022-07-27T22:39:49Z] <riteo> like bearssl and some shims like oasis did, or some more permissive coreutils implementation
[2022-07-27T22:40:34Z] <riteo> I also liked the idea of some indipendent ship for packages to put init stuff into, I could probably make a device managing too
[2022-07-27T22:40:39Z] <riteo> s/ship/shim/
[2022-07-27T22:41:47Z] <riteo> and hell, I might even try to make most stuff statically linked in my distro, but I don't know how far that might go
[2022-07-27T22:43:13Z] <wael[m]> someone made a kiss repo dedicated to it, you should check it out
[2022-07-27T22:43:19Z] <riteo> dylin?
[2022-07-27T22:43:36Z] <riteo> IIRC he tried making a static repo
[2022-07-27T22:44:41Z] <wael[m]> hovercat
[2022-07-27T22:44:50Z] <riteo> oh, didn't know about that
[2022-07-27T22:45:21Z] <riteo> but in the end the objective is making a "more usable" version of kiss which allows packaging even some less... Ideal software and in general to not shit itself at every update
[2022-07-27T22:45:31Z] <wael[m]> I didn't know about dilyns static repo  either, I like the concept but I can't even statically link dwm or st
[2022-07-27T22:45:50Z] <riteo> that aspect is actually quite underdocumented AFAICT
[2022-07-27T22:45:57Z] <wael[m]> riteo: I mean, I don't see any current problems of kiss yet
[2022-07-27T22:46:16Z] <riteo> I mean, there are surely people talking about it, but there are not many actual practical examples
[2022-07-27T22:46:25Z] <riteo> wael[m]: with time I found quite a lot in a way
[2022-07-27T22:46:42Z] <wael[m]> what's the most important one?
[2022-07-27T22:46:52Z] <riteo> I'd argue lack of sandboxing
[2022-07-27T22:47:07Z] <riteo> packages keep constantly taking stuff from the system when you don't want to
[2022-07-27T22:47:09Z] <wael[m]> so, like a chroot?
[2022-07-27T22:47:17Z] <riteo> they continuously change and keep finding reasons to fail
[2022-07-27T22:47:26Z] <riteo> kinda, although a proper sandbox can avoid it I think
[2022-07-27T22:47:37Z] <riteo> just allow it to see the files of the packages it depends to and you're done
[2022-07-27T22:48:03Z] <ioraff> a reasonable statically-linked system would need to have incremental builds
[2022-07-27T22:48:13Z] <riteo> lately I'm allowing to be more radical, but you can absolutely make a kiss compatible improved version, I just want to allow myself to experiment with crazy ideas, since there's so much that could be done
[2022-07-27T22:48:20Z] <riteo> ioraff: isn't ccache enough?
[2022-07-27T22:48:30Z] <riteo> or am I understanding "incremental builds" wrong?
[2022-07-27T22:49:08Z] <illiliti> also sandbox would prevent packages fetching data from internet at build time
[2022-07-27T22:50:18Z] <riteo> yeah that brings on the other big issue, although "technically" not that big according who you ask, which aren't few here I think
[2022-07-27T22:50:37Z] <riteo> most shitty but needed software can't be reasonably packaged, ask to the people who tried to package java
[2022-07-27T22:50:57Z] <riteo> it's hell, expecially wanting to respect the (actually pretty good) no-internet build
[2022-07-27T22:51:06Z] <riteo> ... rule
[2022-07-27T22:51:26Z] <illiliti> only package manager should be allowed to connect to internet. tarballs must be self-contained imo
[2022-07-27T22:51:38Z] <riteo> absolutely agree
[2022-07-27T22:52:08Z] <riteo> tbf I have a way to call this part of kiss' philosophy but I think it might be offensive
[2022-07-27T22:52:15Z] <riteo> but I absolutely love it
[2022-07-27T22:52:31Z] <riteo> not the nickname, the philosophy part
[2022-07-27T22:52:53Z] <riteo> dunno if I can say, tell me if it's bad, I'll find a replacement
[2022-07-27T22:53:34Z] <Ogromny> Pretty good idea imho
[2022-07-27T22:54:47Z] <ioraff> riteo: not really. if a library update is ABI-compatible, one should just be able to re-link the dependent binary. if a header changes, or the build system is (poorly) written with absolute paths, then ccache won't be useful.
[2022-07-27T22:55:16Z] <riteo> the thing is though that some stuff fails to build if you don't clean the build directory
[2022-07-27T22:56:45Z] <ioraff> then perhaps the only way to do it is rewrite the build system for every package, like oasis.
[2022-07-27T22:56:59Z] <ioraff> s/do it/do it reasonably/
[2022-07-27T22:57:09Z] <riteo> I mean
[2022-07-27T22:57:15Z] <riteo> you can do that with my hypotetical system
[2022-07-27T22:57:29Z] <riteo> but the thing kind of stays even then
[2022-07-27T22:57:40Z] <riteo> godot for example required a clean build at one point due to some messed up object files
[2022-07-27T22:58:15Z] <riteo> and there are from what I can tell quite a few types of bugs that come from this
[2022-07-27T23:01:24Z] <riteo> switching to mobile again, brb
[2022-07-27T23:02:35Z] <riteo> here I am
[2022-07-27T23:03:01Z] <illiliti> how do you plan to deal with go and rust? these bastards require internet to fetch deps unless you hack them or repackage tarballs
[2022-07-27T23:03:22Z] <riteo> that's actually why I wanted to take the kuoichai route, sort of
[2022-07-27T23:03:40Z] <riteo> worst case you make a new remote type, I can explain if you want
[2022-07-27T23:09:32Z] <riteo> but I think that if we didn't want to make that kuiochai-style solution (which I really liked tbh), we could make a pre-build in-package hook which downloads stuff
[2022-07-27T23:10:01Z] <riteo> since most of the stuff is AFAICT "use my shitty package manager to fetch stuff"
[2022-07-27T23:36:44Z] <riteo> small ot thing
[2022-07-27T23:37:03Z] <riteo> does anybody know whether gcc's asan works on musl
[2022-07-27T23:37:38Z] <riteo> it keeps insisting that there's no asan in the start of the library path, even when statically linked
[2022-07-27T23:39:03Z] <illiliti> no idea
[2022-07-27T23:39:50Z] <illiliti> i would not be surprised if it works only on glibc
[2022-07-27T23:40:17Z] <riteo> I'm leaning towards that direction
[2022-07-27T23:40:58Z] <riteo> I should try with LLVM but bruh, godot's CI's failing with GCC's one, not LLVM's one for some reason