IRC channel logs

2021-02-20.log

back to list of logs

<fossy>stikonas: argh, true
<stikonas>well, hopefully fewer mass rebuilds in the future
<stikonas>this one fixes quite a few problems that we observed before...
<fossy>what other ones are there?
<stikonas>problems?
<fossy>yeah
<fossy>perl
<stikonas>well, so far I don't know any more
<stikonas>well, perl got fixed
<stikonas>by pder's musl rebuild
<fossy>yeah
<stikonas>well, weak sybols are hacky but so far seem to work
<stikonas>might be a good idea to rebuild after binutils
<stikonas>but that's rebuilding on top
<stikonas>i.e. new Parts
<stikonas>not changing existing parts
<fossy>yes
<stikonas>hmm, but so far perl doesn't look that scary
<stikonas>bison took more effort...
<stikonas>fossy: this is now ready for review https://github.com/fosslinux/live-bootstrap/pull/44
<stikonas>although, not ready for merge
<stikonas>(need to rebase on top of cp and musl PRs once they are merged)
<stikonas>I've also done a few perl cleanups (so that we don't have to hardcode version so many times)
<stikonas>fossy: do you think we should rebuild tcc again? after pder's musl recompilation
<stikonas>so that tcc also has non-buggy floats in case it uses them
<fossy>stikonas: so let me clarify
<fossy>tcc-mes has buggy floats
<fossy>musl is compiled, and musl has buggy floats
<stikonas>well, display is buggy I think
<fossy>tcc-musl then has buggy floats
<stikonas>tcc-mes just displays garbage when you print floats
<fossy>musl is recompiled so now musl does not have buggy floats but tcc-musl may still have buggy floats
<fossy>correct?
<stikonas>tcc-musl displays 0 instead of floats
<stikonas>and musl recompiled works fine
<stikonas>yes, you are correct
<fossy>yes, probably worth it to recompile tcc again then
<stikonas>although, tcc-musl might not use floats for anything
<stikonas>but safer to recompile
<fossy>it def uses floats
<stikonas>yeah, let's rebuild then
<stikonas>and by the way, tcc from guix is also just as buggy
<fossy>:D
<stikonas>fossy: by the way, I was thinking about src_cleanup too, but it's not clear how to properly implement it. Some cleanup actions are best done before default_src_install and some after
<stikonas>maybe we then need 2 cleanup stages
<stikonas>something like src_cleanup_preinstall and src_cleanup_postinstall
<Hagfish>that looks like a common pattern from package managers and test frameworks
<Hagfish>speaking of which (and i apologise if this is an ill-informed question) would it make sense to have a test suite for some of the functions in the bootstrap code?
<Hagfish>i guess to some extent the bootstrap process itself is the test, but maybe there are engineering reasons for having unit tests
<Hagfish>it would be cool, for example, to have a test which proves that if a source package has the wrong checksum, it is rejected
<Hagfish>but i wouldn't know how to write that test in a way that doesn't either make the existing code more complicated, or involve simulating network connections
<OriansJ>Hagfish: or just use existing network test tools
<pder>what do you guys think about combining Part 20 and Part 21 into one part that that is all building tcc-musl toolchain?
<pder>These are the steps: build musl with tcc-mes, build tcc with tcc-0.9.26 followed by tcc-musl, rebuild musl with tcc-musl, rebuild tcc with tcc-musl.
<Hagfish>hmm, that does sound like a fairly self-contained process
<Hagfish>i'm thinking that each Part should be like a puzzle that someone could try to reduce the number of steps for (without decreasing the readability)
<Hagfish>and each puzzle shouldn't have too many irrelevant parts in
<Hagfish>so i guess it's a trade off, but i would try to consider what sort of knowledge someone would need to tackle a single Part on its own
<pder>On the other hand, the build is more oriented to working on one directory or package at a time
<pder>*build system
<Hagfish>good point, yeah
<fossy>stikonas[m]: maybe src_cleanup() and root_cleanup()
<fossy>one to clean up the source files and another to clean up the rootfs
<fossy>although sometimes we may need to cleanup the rootfs pre install, true
<gforce_de1977>getting proper PPC bootstrap support working is more interesting these days, the mars rover uses it: https://en.wikipedia.org/wiki/RAD750
<gforce_de1977>8-)
<gforce_de1977>also interesting: only the helicopter uses Linux, the rest is VxWorks stuff
<OriansJ>gforce_de1977: PowerPCv1.1 (32bit) is just another on the long list of bootstraps that will have to be done.
<stikonas>fossy: so regarding /dev/null, the file I'm deleting it's just file. In principle we can create a proper /dev/null device node but musl's configure script breaks it (not sure why)
<stikonas>so if we want to create real node, we should probably wait until after musl
<stikonas>(but we have mknod now)
<OriansJ>stikonas: when in doubt strip the configure out
<OriansJ>autotools and configure are about figuring about what you have installed. In bootstrapping we know EXACTLY what we have.
<stikonas>OriansJ: it's not autotools
<stikonas>it's a small handwritten configure script
<stikonas>fossy: any idea why this failed https://github.com/fosslinux/live-bootstrap/pull/43/checks?check_run_id=1941412273?
<stikonas>I rebased on top of your changes
<stikonas>oh, I see...
<stikonas>I actually changed string in executable
<stikonas>ok, fixed
<gforce_de1977>stikonas: please do at least: rm /dev/null || true
<gforce_de1977>stikonas: if there *is* a /dev/null, the command has rc!=0
<stikonas[m]>Well, in principle I can add test -f too, but why would there be /dev/null?
<stikonas[m]>Where are you running that script?
<stikonas>gforce_de1977: ok, I pushed that test -f variant
<stikonas>but it will only be useful if we device to rebuild musl after we create real /dev/null and only if we figure out why configure was breaking real /dev/null
<gforce_de1977>stikonas: no problem, it's something cosmetic for later
<gforce_de1977>stikonas[m]: in my qemu-kernel, there *is* a /dev/null
<stikonas[m]>Strange, isn't /dev/null created by user space, not kernel?
<stikonas>anyway, I've added it in case it will be useful later (if we decide to rebuild musl)
<stikonas>it's harmless anyway
***ChanServ sets mode: +o rekado_
***rekado_ is now known as rekado
<pder>fossy: can you please update the README and resync the step numbers run.sh and kaem.after.run with the addition of the checksumming?
<stikonas>fossy: so I've rebased cleanup patch and fixed checksums now https://github.com/fosslinux/live-bootstrap/pull/43
<stikonas[m]>Thanks! I'll rebase perl once you merge the other two PRs
***mihi_ is now known as mihi
<fossy>stikonas[m]: you're welcome
<fossy>pingidy ping ping for pder?
<fossy>right, back to the linux kernel we go
<stikonas>fossy: pder asked if you can do checksums
<stikonas>[16:34] <pder> fossy: can you please update the README and resync the step numbers run.sh and kaem.after.run with the addition of the checksumming?
<stikonas>I guess at least cp shouldn't be too hard...
<stikonas>but the other musl rebuild will probably be annoying
<stikonas>I think it will affect all checksums
<stikonas>but oh well... And my PR is already blocked on those two