2020-08-12T03:30:19 #kisslinux Is it safe to make a symbolic link between /lib/libc.so and /lib/libc.so.6? 2020-08-12T03:30:28 #kisslinux This application works if I do so 2020-08-12T03:30:37 #kisslinux But i'm not sure if it is safe to do so 2020-08-12T03:47:59 #kisslinux rrm 2020-08-12T04:30:13 #kisslinux Another question does the kiss package manager support making tars out of packages that are from git so they can be compiled offline 2020-08-12T16:25:13 #kisslinux dylanaraps: in k imo for the xsnprintf lines in the getline loop, for size you should pass sizeof(srcp) (or sizeof(desp) for the other one) instead of PATH_MAX, so if you change the size of those buffers you only need to change them in one place 2020-08-12T16:38:27 #kisslinux oh man... i think `kirc` is finally "usable", lol! 2020-08-12T16:39:17 #kisslinux and backspace works! apparently VERASE is not set by default? 2020-08-12T17:33:28 #kisslinux What's kirc 2020-08-12T17:35:09 #kisslinux an irc client that i have been developing 2020-08-12T17:35:21 #kisslinux and E5ten has been fixing :P 2020-08-12T17:36:05 #kisslinux https://github.com/mcpcpc/kirc 2020-08-12T17:38:55 #kisslinux still a ways to go before i can say it’s ready for “release”. 2020-08-12T18:49:33 #kisslinux Hey, everyone. I'm looking at switching to KISS from CRUX, and noticed it has an option to use the 9base coreutils as an alternative to busybox, which is pretty awesome; only problem is that the package manager seems to rely on busybox's implementation of diff in particular (or maybe GNU-like extensions in general?), as when replacing something like Busybox diff with 9base's diff, it fails to compare checksum 2020-08-12T18:49:33 #kisslinux n't stat -". Is this a known issue? 2020-08-12T18:53:37 #kisslinux is it that 9front doesnt support POSIX fully too? 2020-08-12T18:56:14 #kisslinux Potentially, but from what I understand it does. Admittedly part of why I wanted to use KISS is to experiment with alternative userspaces and the like, so I'm somewhat ignorant in that regard. 2020-08-12T18:59:42 #kisslinux https://k1ss.org/guidestones says "All distribution tooling and shell code must be written in a portable way." with the only documented exception being "sed -i". The diff portability might be a bug 2020-08-12T18:59:59 #kisslinux surprising if diff doesnt support - 2020-08-12T19:00:20 #kisslinux *nod* 2020-08-12T19:00:27 #kisslinux I'll do a clean install just to be absolutely sure 2020-08-12T19:00:35 #kisslinux midfavila: doubt that's needed 2020-08-12T19:00:48 #kisslinux just try to use 9base's diff with those args 2020-08-12T19:01:00 #kisslinux something like https://github.com/kisslinux/kiss/blob/master/kiss#L474 2020-08-12T19:01:18 #kisslinux alright, one sec, gotta reinstall them 2020-08-12T19:02:27 #kisslinux 9base isn't POSIX though, it is a replication of the plan9 tools. POSIX wasn't a thing back then 2020-08-12T19:03:32 #kisslinux I am the maintainer of 9base, I didn't use its diff before, sorry about that 2020-08-12T19:05:24 #kisslinux Oh, it's not a problem at all! At the moment I'm just tinkering with KISS anyways, so this is good to learn about 2020-08-12T19:10:46 #kisslinux yeah, it definitely seems like it might be a 9base diff issue. I figured I'd pop a new install anyways, and after removing the busybox symlink and switching to 9base using `kiss a`, I'm getting the same error 2020-08-12T19:10:47 #kisslinux rpi 2020-08-12T19:10:51 #kisslinux rip, even. 2020-08-12T19:12:03 #kisslinux could maybe just not install 9base diff 2020-08-12T19:12:06 #kisslinux and keep busyboxs 2020-08-12T19:13:07 #kisslinux yeah, but that seems kind of redundant. if I have to I can just find a POSIX-compliant alternative or somethin' 2020-08-12T19:13:13 #kisslinux worst comes to worst I'll stick with bbox 2020-08-12T19:28:23 #kisslinux i'm making a package to help bootstrap my kiss installation, called talyn-config. in the package directory, i have files/etc/{fstab,inittab}, files/home/micr0/{.gitignore,.profile}, etc. I am trying to install stuff with `install -D etc/fstab "$1/etc/fstab"` but getting "install: can't stat 'etc/fstab': No such file or directory". any suggestions? 2020-08-12T19:32:15 #kisslinux Interesting, it seems kiss does not preserve the files/ layout. so you cannot have multiple files with the same name, or really any directory structure 2020-08-12T19:33:15 #kisslinux in fact i wonder if i had files/dirA/file and files/dirB/file which one would get installed during build 2020-08-12T19:52:11 #kisslinux E5ten: Yeah. Will be doing that. Regardless... I did some benchmarks and the performance is identical unless /a lot/ of files need to be installed. 2020-08-12T19:52:31 #kisslinux (Python for example has 3800 files so a speedup is seen) 2020-08-12T19:52:54 #kisslinux how much of a speedup? 2020-08-12T19:53:16 #kisslinux From 3s down to 1s roughly 2020-08-12T19:54:08 #kisslinux was the goal to rewrite everything, or just -remove -install? 2020-08-12T19:54:21 #kisslinux Initially it was the whole thing. 2020-08-12T19:54:29 #kisslinux Then I decided to focus on install/remove. 2020-08-12T19:54:34 #kisslinux Now it's not /that/ worth it. 2020-08-12T19:54:38 #kisslinux I have other plans though. 2020-08-12T19:55:44 #kisslinux Installation/removal were my first candidates for a C rewrite as they are where things are typically slow. 2020-08-12T19:56:07 #kisslinux Conflict resolution (prior to install) is another place. 2020-08-12T19:56:59 #kisslinux Now... the package manager calls cp/rm/whatever _once per file_. If I were to bunch them together and call these commands less, we'd see near the same performance. 2020-08-12T19:57:04 #kisslinux 3s is still not bad, assuming that python is one of the bigger packages 2020-08-12T19:57:12 #kisslinux yah ^ 2020-08-12T19:57:15 #kisslinux It's one of the bigger packages in terms of number of files. 2020-08-12T19:57:27 #kisslinux right, that's what I meant 2020-08-12T19:57:43 #kisslinux Speed is more based on disk speed here 2020-08-12T19:57:50 #kisslinux I have some rust code which built some basic kiss packages 2020-08-12T19:57:56 #kisslinux Shell is just slower because we call commands per-file 2020-08-12T19:58:56 #kisslinux You can see the function here: https://github.com/kisslinux/kiss/blob/master/kiss#L899-L947 2020-08-12T19:59:26 #kisslinux I can see the function, doesn't mean I will understand the shell code within :P 2020-08-12T19:59:37 #kisslinux dylanaraps would this be considered a bug? https://gist.github.com/jedahan/7400afcd3d7a0ee44685de15e6b28455 2020-08-12T20:00:11 #kisslinux Nope 2020-08-12T20:00:16 #kisslinux Sources can overwrite sources 2020-08-12T20:00:41 #kisslinux This is a feature 2020-08-12T20:00:52 #kisslinux is there a way to specify which file to install? 2020-08-12T20:01:24 #kisslinux Well. Each source is copied to the cache directory for build in the order they appear in the sources file. 2020-08-12T20:01:25 #kisslinux lets say i want files/a/file to be installed to /home/a/file, and files/b/file to be installed to /home/b/file? 2020-08-12T20:02:02 #kisslinux Wait 2020-08-12T20:02:04 #kisslinux its kinda the same surprise i have that checksums flatten the path 2020-08-12T20:02:09 #kisslinux I may be misunderstood. 2020-08-12T20:02:10 #kisslinux dylanaraps: what happens to files in /etc, how are they installed? 2020-08-12T20:02:27 #kisslinux j`ey: 3-way handshake similar to Arch's pacman. 2020-08-12T20:02:34 #kisslinux micro0: Care to elaborate a little? 2020-08-12T20:02:39 #kisslinux oh yeah I remember 2020-08-12T20:02:44 #kisslinux I just need to find that code 2020-08-12T20:03:08 #kisslinux Honestly, I'm not happy with /etc/ in general. 2020-08-12T20:03:15 #kisslinux pkg_etc 2020-08-12T20:03:51 #kisslinux The package manager must install these files but /not/ keep track of them. What then happens to updates to these files, etc? It's quite convoluted. 2020-08-12T20:04:11 #kisslinux what's wrong with the 3 way handshake style? 2020-08-12T20:05:22 #kisslinux hello 2020-08-12T20:05:41 #kisslinux I'd personally prefer that all config files be tracked by the package manager and installed somewhere outside /etc/. It's then up to the user to move them to /etc/ if they'd like to use one. Just an idea 2020-08-12T20:05:58 #kisslinux Dunno. 2020-08-12T20:06:01 #kisslinux This has flaws too. 2020-08-12T20:06:25 #kisslinux I barely touch /etc/ anyway. Mine is rather clean so I'm OK with things as they are. 2020-08-12T20:06:31 #kisslinux There are two things going on here dylanaraps. The first is I have a package with files/a/file and files/b/file, and want to install files/a/file to /home/a/file and files/b/file to /home/b/file. 2020-08-12T20:06:31 #kisslinux (personally) 2020-08-12T20:06:41 #kisslinux micr0: I get it now. 2020-08-12T20:06:47 #kisslinux The package manager flattens the path. 2020-08-12T20:06:51 #kisslinux yep 2020-08-12T20:06:53 #kisslinux Checksums are only for one file. 2020-08-12T20:07:00 #kisslinux The last in the list overwrites the first. 2020-08-12T20:07:07 #kisslinux Yeah? 2020-08-12T20:07:18 #kisslinux the first fix i thought of would be a major breaking change but maybe theres a way to transition to it 2020-08-12T20:07:43 #kisslinux the second issue is more an inconsistency, that kiss c outputs two checksums, even though the package manager flattens the path 2020-08-12T20:08:04 #kisslinux If that is the case, it may be an easy fix. 2020-08-12T20:08:40 #kisslinux (Package manager turns files/a/file into a/file, creates a and copies file there) 2020-08-12T20:09:07 #kisslinux that would be a good improvement 2020-08-12T20:09:09 #kisslinux I still need to dive into the code and think about this more but that sounds OK at first glance. 2020-08-12T20:09:19 #kisslinux personally, I think what would be the least magic is: use full paths everywhere 2020-08-12T20:09:32 #kisslinux checksums, and in install, keep the whole files/a/file path 2020-08-12T20:10:01 #kisslinux but it would be a breaking change, unless you wrote a 'first check full path, then flattened' at least for a little while 2020-08-12T20:10:14 #kisslinux Yup. 2020-08-12T20:10:52 #kisslinux It'd be rather complex for a while. 2020-08-12T20:11:09 #kisslinux Have you tried this: 2020-08-12T20:11:13 #kisslinux files/a/b a 2020-08-12T20:11:17 #kisslinux oops 2020-08-12T20:11:20 #kisslinux files/a/file a 2020-08-12T20:11:22 #kisslinux files/b/file b 2020-08-12T20:11:23 #kisslinux ? 2020-08-12T20:11:50 #kisslinux Actually. I'll stop being lazy and try it here. :P 2020-08-12T20:11:52 #kisslinux dylanaraps: I was just thinking about using some KISS_HOOKS to overwrite any changes I had to etc anyway 2020-08-12T20:12:28 #kisslinux its funny, github gist has the same restriction as the current kiss package manager - i cannot have two files with the same name, and they are not allowed to have / in the name xD 2020-08-12T20:12:38 #kisslinux lol... 2020-08-12T20:14:00 #kisslinux Yeah. My suggestion does as described. 2020-08-12T20:15:02 #kisslinux The intention with sources is to deal with files. The second field in the format deals with destination directories. 2020-08-12T20:16:44 #kisslinux wait you are able to specify two different sources with the same basename? 2020-08-12T20:16:49 #kisslinux in build? 2020-08-12T20:16:50 #kisslinux Yes 2020-08-12T20:17:00 #kisslinux hmm i cannot reproduce that 2020-08-12T20:17:09 #kisslinux What do you mean by build? 2020-08-12T20:17:32 #kisslinux is the syntax with being created relative from the initial build directory. 2020-08-12T20:17:54 #kisslinux So 'files/a/file a' will copy the file to a directory called 'a' in the build directory. 2020-08-12T20:18:11 #kisslinux Otherwise the file itself is just copied to the initial build directory. 2020-08-12T20:18:38 #kisslinux By using two destination directories (in this case identical to the source location), you can have both files. 2020-08-12T20:18:47 #kisslinux ohhh 2020-08-12T20:18:53 #kisslinux lemme try 2020-08-12T20:19:02 #kisslinux I have it working here 2020-08-12T20:19:59 #kisslinux https://termbin.com/qom1 2020-08-12T20:20:47 #kisslinux Ok so if my sources file looks like this, it works: http://ix.io/2u0C 2020-08-12T20:21:16 #kisslinux I guess i would imagine the default be to just copy over the sources directory verbatim, but I can just update all my packages to do that manually 2020-08-12T20:22:07 #kisslinux I also still think its a bit weird that checksums flatten things 2020-08-12T20:22:13 #kisslinux but thats a separate thought 2020-08-12T20:22:19 #kisslinux Should just need to be 'a', 'b'. 2020-08-12T20:23:14 #kisslinux It doesn't /really/ matter. Ordering will always match ordering in sources, otherwise a checksum mismatch will occur. 2020-08-12T20:23:30 #kisslinux Has no effect on checksum verification 2020-08-12T20:26:03 #kisslinux Here's my full package: https://termbin.com/1q5p 2020-08-12T20:26:28 #kisslinux Yeah I mean, it all works, I just need to think about it more to shake off why it feels either magical or inconsistent 2020-08-12T20:26:30 #kisslinux micr0: We could drop the file name from the checksums entirely. 2020-08-12T20:26:48 #kisslinux It's not actually needed. 2020-08-12T20:27:01 #kisslinux Handy for someone looking at it, sure! 2020-08-12T20:27:10 #kisslinux But then, it'd be handier to have the full path. 2020-08-12T20:27:15 #kisslinux exactly 2020-08-12T20:27:28 #kisslinux if its for humans, i'd prefer the full path to match the one in sources 2020-08-12T20:27:41 #kisslinux Though... this is the first talk of duplicates a year and a half into the distribution's life. lol 2020-08-12T20:27:41 #kisslinux if its for machines, i'd prefer dropping it to really indicate 'this is for machines' 2020-08-12T20:27:47 #kisslinux Yes 2020-08-12T20:27:54 #kisslinux I feel that's better. 2020-08-12T20:28:26 #kisslinux a real wrench in the works would be supporting directories in sources xD 2020-08-12T20:29:05 #kisslinux so I could just have 'files/' as my only sources line but lets table that request for a few weeks 2020-08-12T20:29:09 #kisslinux I don't see why that's needed when the current format supports that. 2020-08-12T20:30:33 #kisslinux sorry, i mean being a directory 2020-08-12T20:30:41 #kisslinux Ah 2020-08-12T20:30:53 #kisslinux I think that would add a lot of implementation complexity 2020-08-12T20:31:03 #kisslinux depending on how things are implemented right now 2020-08-12T20:31:08 #kisslinux OK. It'd copy /contents/ to the build directory. 2020-08-12T20:31:22 #kisslinux Second field can be used to specify a destination. 2020-08-12T20:31:26 #kisslinux it would also break the 1 line in sources = 1 line in checksums though if checksums is only for machines, whatevs 2020-08-12T20:31:48 #kisslinux checksums would have to be skipped. 2020-08-12T20:31:55 #kisslinux OR. It could tar the directory. 2020-08-12T20:31:59 #kisslinux Checksum that. 2020-08-12T20:32:05 #kisslinux Then extract to copy. 2020-08-12T20:32:17 #kisslinux Existing tar code could then handle it. 2020-08-12T20:32:37 #kisslinux That's disgusting lol 2020-08-12T20:33:00 #kisslinux yknow i was thinking of doing that manually but then what popped into my head was "well but its nice to see each file in the checksums file, and would be a pain to have to re-tar when editing" 2020-08-12T20:33:24 #kisslinux lol 2020-08-12T20:33:50 #kisslinux Easy solution to transition over to checksums files without file names... 2020-08-12T20:33:56 #kisslinux Just ignore second field when comparing them. 2020-08-12T20:34:05 #kisslinux That way it supports both at once. 2020-08-12T20:34:24 #kisslinux This has no effect on verification whatsoever. 2020-08-12T20:34:40 #kisslinux um starting to lose you a bit 2020-08-12T20:34:51 #kisslinux so right now, we dont look at second field of checksums 2020-08-12T20:35:00 #kisslinux Package manager just does a diff 2020-08-12T20:35:14 #kisslinux It checks that the files match. 2020-08-12T20:35:25 #kisslinux If they don't in /any/ way, verification fails. 2020-08-12T20:35:45 #kisslinux By making the package manager only diff the first column (the checksums themselves), we'd support both formats at once. 2020-08-12T20:36:12 #kisslinux This is the only part which must /always/ match 1:1. 2020-08-12T20:37:09 #kisslinux if we wanted to support sources/ to be a directory, we could a) skip checksumming the directory, b) tar and checksum magic, c) drop the second column in checksums, or d) change the second column in checksums to be the full path 2020-08-12T20:37:43 #kisslinux Also note: We haven't yet made a breaking change to the package format since it was defined. 2020-08-12T20:38:12 #kisslinux d only works if whatever recursive file listing function kiss uses is consistent 2020-08-12T20:38:57 #kisslinux It'd either be the file command (no fixed ordering) or a glob. Could even be a glob + file for the purposes of fixing the order. 2020-08-12T20:38:58 #kisslinux yeah this is why its engineering - balancing simplicity, features, speed, stability 2020-08-12T20:39:05 #kisslinux :P 2020-08-12T20:39:45 #kisslinux nice part about changing checksums is that the file is meant to be output by kiss checksum and committed so that isnt bad at all 2020-08-12T20:40:26 #kisslinux supporting directories i think is also a non-breaking change, in that it is an added, optional feature (though maybe you want enforcing a trailing / to differentiate) 2020-08-12T20:41:02 #kisslinux Yes 2020-08-12T20:41:17 #kisslinux I exclude extensions to the format as these have had no effect on existing syntax 2020-08-12T20:41:43 #kisslinux I don't know enough about file or POSIX globbing rules (*shudder*) to trust anything that isn't as heavy-handed as just like running `sort` 2020-08-12T20:41:53 #kisslinux That too 2020-08-12T20:41:57 #kisslinux How could I forget sort 2020-08-12T20:42:42 #kisslinux sort on filename for humans, sort on checksum for robots. both would work. 2020-08-12T20:46:25 #kisslinux Checking only first column can be down with: awk 'NR==FNR{a[$1];next} !(($1) in a) {exit 1}' file1 file2 2020-08-12T20:46:44 #kisslinux Returns 1 for mismatch, 0 if match. 2020-08-12T21:36:37 #kisslinux Chromium just wants me dead, and by extension qt5-webengine 2020-08-12T21:37:03 #kisslinux What's up with devs ASSUMING libstdc++ for Linux and libc++ for osx, as if Linux users just can't have llvm... 2020-08-12T21:39:35 #kisslinux micr0: [200~https://github.com/kisslinux/kiss/commit/fecf4995f8b580714a2517d9dab6521876c27bd2~ 2020-08-12T22:09:48 #kisslinux woah, thanks dylanaraps! 2020-08-12T22:10:03 #kisslinux also the code changes seem easier to follow 2020-08-12T22:11:26 #kisslinux that awk line is a bit of an eye sore tho 2020-08-12T22:11:38 #kisslinux herro o/ 2020-08-12T22:16:29 #kisslinux micr0: https://github.com/kisslinux/kiss/commit/99f61fc3403ba393da1ee35d39ec5d302f5ef5e4 2020-08-12T22:17:25 #kisslinux Absolute paths should /maybe/ use KISS_ROOT. Not sure yet. 2020-08-12T22:17:51 #kisslinux Also need to see if 'path/.' is POSIX or not. 2020-08-12T22:18:04 #kisslinux (This makes cp copy contents instead of the directory itself) 2020-08-12T22:18:07 #kisslinux do you have an idea of what absolutee paths could be used for? 2020-08-12T22:18:13 #kisslinux No idea 2020-08-12T22:18:25 #kisslinux This change may not stick 2020-08-12T22:18:32 #kisslinux (Goes for any change really) 2020-08-12T22:19:20 #kisslinux I prefer getting a commit done regardless as it logs the work in Git. 2020-08-12T22:20:08 #kisslinux and no packages will use that feature until it's released anyway 2020-08-12T22:20:37 #kisslinux No packages in the official repositories will ever use it. Nor Community. 2020-08-12T22:20:56 #kisslinux (relative directories, if needed, yes. absolute ones, no) 2020-08-12T22:21:10 #kisslinux (same for files, as is already the case) 2020-08-12T22:21:34 #kisslinux oh 2020-08-12T22:22:27 #kisslinux It's not something /good/ per se but I don't see why the package manager shouldn't support it. 2020-08-12T22:27:07 #kisslinux Anyway 2020-08-12T22:27:09 #kisslinux I need to sleep 2020-08-12T22:27:11 #kisslinux o/