I'd like to say good things, but there are a few big issues first.<p>It goes to the effort of downloading the sha256 hashes... For a filename. It never actually confirms a download is accurate with them. (curl --fail is not enough. You can have connections close nicely, but the file not be transferred correctly.)<p>It depends on bchroot for the heavy lifting, which is a beta product still, though interesting, and your own... And the habit of placing binaries in git do give me some twinges of concern. It would take more time than I have to audit bchroot. I have some concerns about binding /tmp and /dev the way you do... But a bigger concern is the assumption that /bin/bash will be available. What if it isn't?<p>It copies _my_ resolv.conf into the chroot blindly, despite the fact that many network managers may overwrite this file, and that my computer can move between networks where this may change. It'd be better to at least symlink the file. Best would be running a network manager.<p>It assumes x86_64. Reasonable-ish, but not always accurate. A Raspberry Pi is just as strong a target. Use uname -m. You'll probably hit issues otherwise.<p>Speaking of which, if you feel the need to grab resolv, you probably want hosts as well.<p>avenv-update finds and sorts binaries from a few static locations. It'd be much better if it could rely on a PATH variable.<p>---<p>As a _first_ chroot manager attempt, it's not awful.<p>You set the right failure flags for sh, and handle most of the fail conditions nicely.<p>... But never trust the internet to hand you blindly what you ask for.<p>... And never trust the assumptions you've made about what it's running on will also be accurate.
Please don't put binary artifacts in git; GitHub offers "releases," which are essentially download buckets attached to git tags, from which one can download tars. To the best of my knowledge they're still curl-into-bash-able (or I guess into tar, in your case)
It uses xbps!<p><pre><code> $ venv/bin/xbps-install -Sy libreoffice xorg-fonts # you can imagine that as kind of like a chrooted void linux
</code></pre>
I wonder how easy this is to do with other package managers? Is this a feature specific to xbps?
I'll not use this, because I've had enough of Python and will do my best to not start any new Python programs (also I don't know how is this better than virtualenv), but the README is truly awesome.
To my haters:
It's clearly a prototype. 60 lines of shell script will always have their own issues. What I'd love to hear is thoughts on the general approach! Is this cool enough to do proper?
Is this a serious project?<p>> Linux only support<p>><p>> Tell your employer to stop using Macintosh<p>... because that doesn’t seem like a sign of a serious project to me...