Huang: Rust: A Critical Retrospective
Huang: Rust: A Critical Retrospective
Posted May 21, 2022 21:06 UTC (Sat) by chuckwolber (subscriber, #138181)Parent article: Huang: Rust: A Critical Retrospective
"... one fix to this would be to re-configure our build system to run in some sort of a chroot environment or a virtual machine that fixes the paths in a way that almost anyone else could reproduce"
Those problems (and more) are why bitbake is such a powerful embedded build tool. It is inconceivable to me that Bunnie has not yet encountered and spent time evaluating Yocto/OpenEmbedded, so I am very curious what his objections are.
Posted May 22, 2022 18:47 UTC (Sun)
by smoogen (subscriber, #97)
[Link]
Posted May 23, 2022 12:18 UTC (Mon)
by NAR (subscriber, #1313)
[Link]
I understand that
Posted May 23, 2022 13:18 UTC (Mon)
by dskoll (subscriber, #1630)
[Link]
I haven't worked with vanilla Yocto/OpenEmbedded, but I spent a painful 18 months dealing with Petalinux from Xilinx (based on Yocto) and I'm scarred for life. I'll be happy never to touch it again, which is very likely since I stopped doing embedded development in 2020.
Bitbake is indeed powerful... but the various recipes and ways of overriding them are badly-documented and filled with magic. Most vendors' layers are full of opaque recipes and zillions of variables whose meanings are not very clear.
Huang: Rust: A Critical Retrospective
"... about 5700 lines of code from various third parties that manipulates files, directories, and environment variables, and runs other programs on my machine every time I do a build."
Huang: Rust: A Critical Retrospective
paranoidsecurity-conscious developers don't like this. But this is not specific for these "new" languages. I mean in how does someone install software written in C? Downloads some .tar.gz from somewhere, untars it, then executes ./configure
. The generated (i.e. write-only) configure script creates files, calls the compiler, executes random stuff, etc. Then make
will also manipulate files, environment variables, etc. This is not a new problem - maybe the environment is new, but those generated Makefiles are as much opaque as the auto-executed code in those crates.
Huang: Rust: A Critical Retrospective