ChanServ changed the topic of #kisslinux to: Unnofficial KISS Linux community channel | | post logs or else | song of the day
midfavila has quit [Remote host closed the connection]
midfavila has joined #kisslinux
<wael[m]> Hi
pbsds has quit [Ping timeout: 260 seconds]
<testuser[m]> Hi
rohan has joined #kisslinux
chomwitt has joined #kisslinux
sam_sepi0l has quit [Quit: Textual IRC Client:]
<virutalmachineus> HI!
pbsds has joined #kisslinux
<testuser[m]> phoebos:
<testuser[m]> any idea why installing baselayout with KISS_ROOT set doesn't set correct perms for /tmp etc?
<Ogromny> Hi
<Ogromny> Do any of you use River ?
<Ogromny> If yes, how did you compile it ? It requires libevdev, but on Kiss we use libudev-zero right ? It will fuck up the system if I install libevdev too ?
<Ogromny> I have absolutely 0 knowledges on evdev/udev/libinput things
<testuser[m]> evdev is unrealted to libudev-zero
<testuser[m]> it needs libevdev, but that's currently bundled into libinput
<testuser[m]> will be fixed by this
<Ogromny> Oh thanks !
<Ogromny> Hope the PR will be merged soon
<testuser[m]> its ready to merge
<testuser[m]> but i havent tested it much
<wael[m]> does mako get split into another package in that PR?
<testuser[m]> yea
<testuser[m]> 3 python packages
<wael[m]> or does it remove the ability to build dependencies at build time and instead does them in package
<testuser[m]> so bad
<wael[m]> so bad indeed
<Ogromny> Any of you use zig ?
<Ogromny> Zig's working fine except when I try to link libc I got a segfault. GDB say absolutely nothing, it seems that there is only a _start function in the binary
<testuser[m]> you're using the official binary?
<testuser[m]> it happens with that for some reason
<Ogromny> I built zig with the package from community
<Ogromny> I tried with a master build of zig, same issue
<phoebos> maybe to do with this
<Ogromny> phoebos: Zig build fine, but whenever I try to build a zig app linked with libc it segfaults...
<testuser[m]> he's not talking about the zig isue
<Ogromny> Oh my bad
<phoebos> ah testuser[m]: file_rwx gets st_mode & 0777 so it doesn't realise the sticky bit is set
<phoebos> ie. /tmp is 1777, but file_rwx /tmp gives 777
rohan has quit [Ping timeout: 268 seconds]
rohan has joined #kisslinux
<phoebos> this is the kind of place where a bit of C makes it much easier
<phoebos> testuser[m]: with reverting 1933a19e105d83a512c9312022ba1d57bc04fd73 and the PR I opened, I think it is fixed?
rohan has quit [Ping timeout: 268 seconds]
rohan has joined #kisslinux
<phoebos> not sure why explicit tar -p is required though. it should be used by default for root
<testuser[m]> im installing as user
<testuser[m]> wrks
<phoebos> oh yeah
<phoebos> KISS_ROOT is owned by whoever
<phoebos> works with explicit -p?
<testuser[m]> same with and without
<testuser[m]> as use
<testuser[m]> user
<phoebos> what's your umask
<testuser[m]> 0022
<phoebos> same
<phoebos> without -p, /tmp in KISS_ROOT is 0755
<phoebos> with -p, 1777
<phoebos> with -p but without rwx patch, 0777
<testuser[m]> s
<testuser[m]> ig ill just spoof uid with bwrap
<testuser[m]> works fine with that
<testuser[m]> along with ur patch
<testuser[m]> the script is garbage but much better than manually creating ta
<testuser[m]> tar
<testuser[m]> i need to fix the error handlig
<testuser[m]> it doesnt work if kiss build fails, the whole script ends with
<testuser[m]> "Terminated"
rohan has quit [Ping timeout: 260 seconds]
sad_plan has joined #kisslinux
<sad_plan> o/
<wael[m]> \o
rohan has joined #kisslinux
midfavila has quit [Remote host closed the connection]
<testuser[m]> phoebos why are `old`, `sys` and `new` checksums compared for /etc, can't we just `if hash(new) != hash(existing) mv new`
<testuser[m]> why does it matter what the original checksum was
midfavila has joined #kisslinux
midfavila has quit [Remote host closed the connection]
<testuser[m]> oh it's just to avoid saving the file as .new if it's same as the original one
midfavila has joined #kisslinux
<testuser[m]> is that really needed though, removing that logic will get rid of storing checksums anywhere which simplifies the b3 transition a bit
<testuser[m]> ioraff: illiliti ?
<testuser[m]> Wait nvm
<testuser[m]> I forgot the main purpose lol
<testuser[m]> it'll keep installing .new files otherwise even if everything is unchanged
<phoebos> testuser[m]: who owned KISS_ROOT when you were testing earlier
<testuser[m]> phoebos: my user
<testuser[m]> uid 1000
midfavila has quit [Remote host closed the connection]
<phoebos> i don't understand why you didn't need tar -p but i do
<testuser[m]> it doesnt work either way with non-root user
<testuser[m]> btw i think i figured out a way to reduce conflict detection time by inf %
<testuser[m]> make the whole file list into a fat (/file1|/file2) expr instead of 1000 individual patterns
<testuser[m]> runs in 0.06s instead of 10s but idk if it even works so
<testuser[m]> this is for 5000 files
<phoebos> ooh sounds nice
<phoebos> testuser[m]: kiss owns /bin/tar ?
<testuser[m]> busybox
<testuser[m]> actually
<phoebos> ah
<testuser[m]> not in kiss
<testuser[m]> i was trying with raw tar
<testuser[m]> but it should be the same so
<phoebos> gtar?
<testuser[m]> i mean i was trying iwth busybox tar outside of kiss
<phoebos> ok
<testuser[m]> yea busybox tar is shit
<testuser[m]> λ ls -ld busy/tmp
<testuser[m]> drwxrwxrwt 2 testuser testuser 40 Oct 3 18:58 gnoo/tmp
<testuser[m]> drwxr-xr-t 2 testuser testuser 40 Oct 3 18:58 busy/tmp
<testuser[m]> λ ls -ld gnoo/tmp
<testuser[m]> btw how does `grep -q ":/var/db/kiss/installed/" "$_tmp_file" || safe=1` ever match ? my grep doesn't seem to do anything if i try `echo test | grep :t`
<testuser[m]> : means line starting with substr i think
midfavila has joined #kisslinux
<testuser[m]> maybe he meant to use ^
<testuser[m]> OH
<testuser[m]> its cuz when grepping on multiple files it appends : after filename
<phoebos> ah
<phoebos> : has no special meaning except in [::]
<testuser[m]> now tell me
<testuser[m]> how to escape filenames to safely includein (|)
<illiliti> what are you trying to do?
<testuser[m]> make pkg_conflicts do grep -E '(/usr/bin/file1|/usr/bin/file2|...)' /var/db/kiss/installed/*/manifest
<testuser[m]> instead of making file1 file2 as individual patterns
<testuser[m]> grep can make a trie with -E
midfavila has quit [Remote host closed the connection]
<illiliti> it already does it via -f, no?
<phoebos> escape .[\*^$, don't escape 1-9(){}
<illiliti> -f pattern_file
<phoebos> oh yeah thats a better way
<testuser[m]> illiliti: no
<testuser[m]> what it does with -f is equivalent to -e
<testuser[m]> not -E
midfavila has joined #kisslinux
<testuser[m]> and that works cuz it tells grep to treat is as a string not a pattern
<testuser[m]> so .* | etc arent an issue
<illiliti> why do you need -E
<testuser[m]> but to make it go big fast it must be made into a ( pattern )
<phoebos> is the grep -Fxf the slow bit
<testuser[m]> for fast
<testuser[m]> look
<testuser[m]> wait
<illiliti> i would say that -E is slower
<illiliti> generally
<testuser[m]> ignore the partial matches i have to figure that out
<midfavila> -E being slower would make sense considering it uses a more complex regex engine.
<testuser[m]> 116x diff
<illiliti> which grep?
<testuser[m]> busybox
<illiliti> try gnu
midfavila has quit [Quit: Leaving.]
<testuser[m]> hmmmm yea its 0s vs 0.06s
<testuser[m]> ig ggrep does this sort of optimization by itself
<illiliti> just use gnu grep
<illiliti> no need to attempt to workaround busybox using -E and stuff like that
<illiliti> iirc freebsd grep is also fast
<testuser[m]> btw
<testuser[m]> like wireguard-tools's wg-quick needs /usr/bin/ip set to iproute2
<testuser[m]> what would be a good way to indicate that somewhere
<testuser[m]> i mean like without swapping /usr/bin/ip
<testuser[m]> prefixing all of iproute's binaries?
<illiliti> post-install message
<testuser[m]> but it seems hacky
<testuser[m]> busybox so bad
<testuser[m]> [#] ip -4 route add dev wg0 table 51820
<testuser[m]> ip: invalid argument '51820' to 'table'
<testuser[m]> is this something missing inside busybox or an actual bug
<illiliti> the ideal option would be to make it work with busybox
<illiliti> probably busybox has no idea about table arg
<testuser[m]> then thats probably out of scope for a KISS specific patch
<illiliti> is upstream interested in busybox compatibility?
<illiliti> but considering how they recklessly harcoded bash and shit, i guess no
<testuser[m]> I meant more like adding the feature to busybox
<testuser[m]> I don't think there's a "portable" alternative to that rule
ella-0_ has joined #kisslinux
<illiliti> so you want to contribute a patch to busybox? do it then
<illiliti> btw what about toybox
ella-0 has quit [Read error: Connection reset by peer]
<sad_plan> toybox needs a patch for removing the bash make dep. unless we wanna put bash into the repo..
<sad_plan> its also.. way less complete
<testuser[m]> illiliti: can u read today's conversation about tar and sticky bits
<illiliti> phoebos has sent a fix already and you merged, no?
<phoebos> i'm still unsure about tar -p
<illiliti> or fix depends on tar implementation?
midfavila has joined #kisslinux
<testuser[m]> Its a partial fix
<testuser[m]> sticky bit is preserved, but only as root with busybox tar
<testuser[m]> stick bit is not preserved as regular user with busybox tar
<testuser[m]> but it works in both cases with gtar
<phoebos> ^ only with tar -p
sereg has joined #kisslinux
<illiliti> i doubt that we can do anything with this bug
<testuser[m]> ~~other than C rewrite~~
<midfavila> speaking of bugs and C,
<midfavila> could one you guys take a hot minute to do me a small favor?
<illiliti> not with tar
<illiliti> we could use pax
<midfavila> i need someone to compile XMag with tcc, then attempt to magnify a section of the display and report back any errors
<illiliti> also i doubt that current fix is good fix
<midfavila> there seems to be a problem with tcc potentially generating incorrect output with programs that use Xt inheritance operations... whatever that means
<illiliti> some systems don't support setting sticky bit on files
<illiliti> this could be problematic
<testuser[m]> phoebos: are there more cases that rwx needs to handle other than stick and rwx stuff already present? Eg if you were to do something like this, will it work?
<phoebos> isn't that just adding rw-rw-rw-
<phoebos> rwx handles that already
rohan has quit [Ping timeout: 264 seconds]
rohan has joined #kisslinux
<illiliti> imho we should use chroot() rather than inventing our own using KISS_ROOT
<testuser[m]> wdym
<illiliti> i mean chroot() looks cleaner than prepending KISS_ROOT to everything
<illiliti> chroot(KISS_ROOT)
<testuser[m]> You mean in terms of post install files?
<testuser[m]> How else would pkgs get installer
<testuser[m]> if ur talking about KISS
<testuser[m]> not the post* hooks
<testuser[m]> And i think for hooks we should chroot cuz there can be many hooks like for adding users, which won't work without chrot
ioraff has joined #kisslinux
<illiliti> i mean in general. if i haven't missed anything, chroot(KISS_ROOT) is a cleaner way
<illiliti> but as you noted, how kiss would access ~/.cache/kiss/bin. does it need such access
ioraff has quit [Client Quit]
<illiliti> re adding users, imo packages shouldn't modify anything in /etc
<illiliti> they can only add new files and/or modify only their own files
<illiliti> that's something we should enforce in sandbox
<testuser[m]> illiliti: what about openssl certificate updaye
<illiliti> it's ok cuz /etc/ssl/* is owned by openssl
<illiliti> to be exact, openssl is a sole app that writes to /etc/ssl/*
<illiliti> things get messy when apps start write to /etc/shells
<illiliti> or /etc/passwd
<illiliti> and on remove, they don't cleanup their shit
<sad_plan> midfavila: I managed to build tinyx statically, if youre interested in doing so yourself
<midfavila> that would be something I'd be interested in seeing, yeah
<sad_plan> set XSERVERCFLAGS_CFLAGS to --static. maybe -static works for you, but for me it didnt seem to work.
<sad_plan> you may also have to add some libs to XSERVERLIBS_LIBS aswell. I had to add libz, freetype and harfbuzz and libpng. I also set *.a aswell to begin with. dunno if it made any difference tbh.
<midfavila> could you package the changes and send me a copy?
<sad_plan> just the buildscript?
<midfavila> correct
<sad_plan> there you go
<midfavila> thanks, I'll fiddle with it next time I'm looking at tinyx
<midfavila> for now I've put any X-related stuff off to the side
<sad_plan> youre welcome :D
<sad_plan> alot of other stuff to figure out first?
<midfavila> no, stuff that I'm not capable of figuring out right now
<midfavila> tinycc doesn't generate executables that use motif or athena properly
<midfavila> that's not something I can fix
<midfavila> xwx
<sad_plan> well I cant help you there unfortunatly.
<sad_plan> do you have to use those though?
<sad_plan> I mean, if I cant use tool x, then sometimes I look for tool y or z instead, that might fit the bill
<midfavila> do i have to use athena/motif, or do i have to use tcc?
<sad_plan> athena/motif
<midfavila> technically no to the former, yes for the latter
<midfavila> i could just use programs that exclusively use xlib directly
<midfavila> but that's a horrible idea
<midfavila> motif and athena are the only toolkits that my system can build
<midfavila> so
<sad_plan> but they dont generate executables, so dont build properly now do they? but whats wrong with using xlibs tools?
<sad_plan> I mostly like tools that depend purly on xlibs, as theyre likely simpler to build statically..
<midfavila> the code is valid and some athena programs work as they should
<sad_plan> some are anyway, not everyone
<midfavila> this is a problem in tcc that needs to be resolved
<sad_plan> hm, ok
<midfavila> anyway, while i can appreciate that mindset, going toolkit-less isn't viable for larger-scale projects, I think
<sad_plan> im not saying you should drop something you initially need, but if some other tool can accomplish what you want, why not give that a try? I get that some tools might not be easily replacable though.
<sad_plan> also dont waste too much time on 1 issue. if you cant figure it out, do something else for some time, then come back to it afterwards
<sad_plan> I do that all the time. makes troublesome issues.. abit less troublesome imo
<wael[m]> illiliti: why does mdev still have to run as a service when baseinit specifies mdev to kernel via /proc/sys/kernel/hotplug
<illiliti> because mdev need to listen to uevents
<illiliti> /proc/sys/kernel/hotplug is an old way for that
<illiliti> it can fork bomb system
<illiliti> because it fork/execs mdev for each uevent
<illiliti> testuser[m]: mirror to github doesn't seem to work?
<testuser[m]> illiliti: I forgot to sync it
<testuser[m]> Codeberg interval is disabled
<testuser[m]> So i have to click the mirror. Button manually
<illiliti> got it
<testuser[m]> I'd set up a cron job but the endpoint for triggering push mirror is only going to be available in the next gitea version
<testuser[m]> It's present in latest git
rohan has quit [Ping timeout: 252 seconds]
rohan has joined #kisslinux
<testuser[m]> Synced all repos
<phoebos> why does codeberg add so many crap tags to merge commit message
<testuser[m]> Idk
<testuser[m]> Ask on
rohan has quit [Ping timeout: 265 seconds]
rohan has joined #kisslinux
rohan has quit [Ping timeout: 268 seconds]
<phoebos> eh
rohan has joined #kisslinux
<testuser[m]> It's a gitea setting
<illiliti> is it possible to drop python packages from unbundle branch?
<testuser[m]> illiliti: why
<testuser[m]> mesa needs mako for codegen
<testuser[m]> templation
<testuser[m]> docutils can be remover
<testuser[m]> But you'll still have markupsafe and mako
<illiliti> i would like to keep repos free of python packages
<illiliti> there's no rush to drop them
<illiliti> and this is not a blocker also
<illiliti> we could merge unbundle branch once it done
<illiliti> just having python-free repo would be good for general sanity
<illiliti> at least making it clear that they are present solely as dependencies for mesa, mpv would be enough too
<illiliti> and not intended or guaranteed to work with normal use cases
<illiliti> btw has anyone investigated netbsd patch that removes nodejs dep for firefox?
<testuser[m]> You'd have to generate the nodejs junk outside
<testuser[m]> Just like openssl
<illiliti> it is generated already
<testuser[m]> But we have to update it
<illiliti> true but how often
<testuser[m]> However often devtools and stuff are updated
<testuser[m]> I'll check the exact files
rohan has quit [Ping timeout: 246 seconds]
rohan has joined #kisslinux
rohan has quit [Ping timeout: 265 seconds]
sad_plan has quit [Quit: nyaa~]
chomwitt has quit [Ping timeout: 268 seconds]
jslick1 has joined #kisslinux
jslick has quit [Ping timeout: 250 seconds]
jslick1 is now known as jslick