I'm working with Catalyst and trying to add packages that rely on webapp.eclass into my livecd. Catalyst builds the initial stages from scratch, then creates binary packages so that if you have to recreate the stages again, it doesn't have to recompile but just reinstalls the binary packages. However, as I understand it binary packages don't have their DEPEND packages installed first, just the RDEPEND packages. But, binary packages DO have some of the ebuild functions invoked, in particular (for this situation) the pkg_setup() function. The webapp.eclass creates a webapp_pkg_setup() function that relies on the existence of files in the webapp-config package, such as /etc/vhost/webapp-config. But, that file does not exist when I try to install the binary package because webapp-config is not installed. Since it's the webapp.eclass that adds webapp-config to the DEPEND line, and it's the webapp.eclass that creates the pkg_setup() function that uses the webapp-config file, it seems like webapp.eclass should also add webapp-config to the RDEPEND line to be sure it's installed correctly. Reproducible: Always Steps to Reproduce: 1. Find a package that inherits webapp (but doesn't override pkg_setup()) 2. Build the package and create a binary package from it 3. Remove webapp-config from your system 4. Try to install the binary package. Actual Results: The webapp_pkg_setup() will fail with an error trying to locate the /etc/vhost/webapp-config file. Expected Results: Successfully install the package (which might mean reinstalling webapp-config).
To be honest, on first reading this sounds like a Portage bug. I'll have a chat with the portage team, and get their advice. Best regards, Stu
reassigning
Fixed in Portage tree by adding the RDEPEND line. Best regards, Stu