IRC channel logs

2022-04-16.log

back to list of logs

<muurkha>the number of hand computers is still several times the number of laptop and desktop computers
<unmatched-paren>oriansj: i have made your suggested modifications, anything else i should change? https://bootstrapping.miraheze.org/wiki/File:Tech_Tree.svg
<oriansj>heck, I have 3 RaspberryPIs and a RISC-V HiFive1 within 10 feet of me
<muurkha>nice
<unmatched-paren>"one can not save a man who wishes to drink poison" <- one can not save a man who calls the person who screams "STOP DRINKING THAT IT'S POISON" a conspiracy theorist :P
<oriansj>unmatched-paren: I believe we do bootstrap Linux in Live-bootstrap but you could put a red loop with Us currently needing Linux to bootstrap Linux
<unmatched-paren>okay...
<unmatched-paren>are there any significant languages or build systems that i'm forgetting?
<unmatched-paren>"you could put a red loop with Us currently needing Linux to bootstrap Linux
<unmatched-paren>" <- there's already a red loop from linux -> gcc and mescc -> linux
<unmatched-paren>and also linux -> make and linux -> perl
<oriansj>I was thinking that you can't build Linux without having a POSIX kernel
<muurkha>well, it won't be easy
<unmatched-paren>so is a loop on linux really necessary, because mescc itself depends on a POSIX kernel, and linux ultimately depends on mescc?
<muurkha>only for now
<unmatched-paren>yeah, of course we kill off these red and orange lines as we find/create new paths
<unmatched-paren>this graph isn't supposed to give the whole story; for example, it doesn't mention the multiple builds of musl
<unmatched-paren>it's so that people can get an idea of roughly where we're at
<oriansj>and it appears to do a good job at that
<unmatched-paren>thank you :)
<unmatched-paren>should i send a pull request to add it and the .dot file to github.com/oriansj/talk-notes?
<unmatched-paren>btw, i'm _really_ close to finishing a hand-written lexer for an extremely basic subsubsubsubsubset of Pascal :D (and once the basic framework is done, it'll be very easy to extend it to support more, of course)
<unmatched-paren>it's probably really bad code since i'm so new to programming in C
<mihi>unmatched-paren: In your graph I am missing the whole clang/LLVM ecosystem, also PHP and the various JavaScript engines. But maybe those are all trivial to bootstrap? Build tools with known bootstrap cycles (like GNU autogen) may also be added. Another source of inspiration may be https://github.com/schierlm/DebianBootstrapSuggestions/, where I created a list (about a year ago) of Debian packages that (indirectly) build-depend on
<mihi>themselves. So those packages are interesting enough to be in Debian, but hard enough to bootstrap so that Debian does not bother.
<fossy>oriansj: well, we don't really "bootstrap" Linux in live-bootstrap, i mean we build it, but from a Linux kernel
<fossy>and it should be theoretically possible to build Linux from another POSIX but no one has tried yet afaik
<oriansj>fossy: I guess we need someone who is willing to do some porting work for live-bootstrap to get it running on a *BSD and then that would atleast show a bootstrap is possible on a future bootstrapped POSIX
<unmatched-paren>mihi: i'll add php, deno, clang, and flang; i forgot about those ones. it's not a full graph of everything, only a rough sketch of our progress
<unmatched-paren>are there any other JSes other than Node and Deno?
<unmatched-paren>i thought about adding V8, but node is basically a superset of it, isn't it?
<unmatched-paren>i was not aware of GNU autogen before, thanks
<unmatched-paren>is the cycle in autogen that it is written in guile, and guile requires it?
<oriansj>unmatched-paren: latest versions I believe so but if you look in live-bootstrap it did get bootstrapped by a good deal of hard work
<civodul>unmatched-paren: few things require Autogen, and Guile is not one of them :-)
***unmatched-paren is now known as Guest5768
<mihi>unmatched-paren Guest5768: The problem with autogen manifests in its git repository: https://git.savannah.gnu.org/cgit/autogen.git/tree/agen5/agen5.tgz - first, autogen uses autoopts to generate boilerplate code and manpages for all of its utilities, and autoopts depends on autogen. Second, some of autogen's source code is autogenerated from autogen scripts as well.
<mihi>therefore, all generated source code is checked as a big blob into the git repository, and it is required to build autogen.
<oriansj>mihi: if you look at live-bootstrap, you can see work was done to solve that issue.
<oriansj>fossy: a minor request for live-bootstrap, have a download command in the README so that you don't prompt for root credentials until after the downloads are done
<stikonas[m]>oriansj, unmatched-paren: gnu autogen is NOT bootstrapped in live-bootstrap
<stikonas[m]>autogen needs guile which is bootstrapped, but it also needs autogen
<stikonas[m]>all autogen versions in the git repository require autogen
<stikonas[m]>so code archaeology wouldn't help
<stikonas[m]>oriansj: we'll probably add download only mode for rootfs.py
<stikonas[m]>so let's wait for that to land
<stikonas[m]>but I'm now doing significant refactoring
<stikonas[m]>basically rootfs.py would be much simpler
<stikonas[m]>mostly just pure copying of sysa sysb and sysc directories on top of stage-posix
<stikonas[m]>rootfs.py of course still does that in tmpfs mount but that's optional
<oriansj>stikonas: thank you for the correction ^_^