nothing but gcc, a few shell scripts, and a network connection
Sounds like LFS to me. If you choose Gentoo you will have the Portage package manager. Concerns with breaking packages are quite low these days. First we had the tool revdep-rebuild to run to scan our libraries to find broken links but now, Portage is able to identify breaks being introduced and intentionally leaves an older library until you perform a rebuild. It's actually preventing breakage so at no point should you have an application that can't launch due to an upgrade somewhere else on the system. Note that you can still use revdep-rebuild to be sure, and that Portage has the command "emerge @preserved-rebuild" to instruct it to start recompiling all packages that were flagged.
When an emerge is called either deps are rebuilt on the spot or the above procedure is performed. With these two scenarios covered, it is rather difficult to end up with something broken unless you are trying to break things by uninstalling packages that you know are deps for others deliberately.
(Score: 2) by DarkMorph on Sunday August 09 2015, @01:18PM
Sounds like LFS to me. If you choose Gentoo you will have the Portage package manager. Concerns with breaking packages are quite low these days. First we had the tool revdep-rebuild to run to scan our libraries to find broken links but now, Portage is able to identify breaks being introduced and intentionally leaves an older library until you perform a rebuild. It's actually preventing breakage so at no point should you have an application that can't launch due to an upgrade somewhere else on the system. Note that you can still use revdep-rebuild to be sure, and that Portage has the command "emerge @preserved-rebuild" to instruct it to start recompiling all packages that were flagged.
When an emerge is called either deps are rebuilt on the spot or the above procedure is performed. With these two scenarios covered, it is rather difficult to end up with something broken unless you are trying to break things by uninstalling packages that you know are deps for others deliberately.