I just keep a copy of the books handy, and archive a collection of sources and build-scripts ripped from the book and Slackware's SlackBuilds. I also document in my scripts required, recommended, optional, and runtime dependencies per package.
Dependency hell doesn't have to be a hell if you avoid the complexity and don't overthink it. It's only as simple as you make it out to be.
The book and properly maintained build-scripts with documentation inside are all you need. Then just archive the sources after building. Easy and simple and you can always dump old archives and scripts.
I maintain my B/LFS build like a FreeBSD system with my own custom version of build scripts like the ports collection. When the Changelog gets updated, I follow suit. I maintain the core of LFS as it's own entity. Afterwards, I update everything but the glibc kernel headers unless I rebuild the system when glibc gets updated. That's when you should rebuild and only then. Otherwise just ride the Changelog and update as needed.
|