-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi everyone,
As many of you probably know already, bug 46223 [1] prevents the proper uninstallation of a package when one or more of the eclasses that it inherits are missing from the live portage tree. There are essentially two ways to solve this problem: Approach #1: Reuse the saved environment which contains a mixture of eclasses and parts of the package manager (such as portage's ebuild.sh) that performed the installation. Approach #2: Save copies of the raw eclasses and use them, together with the saved ebuild, to recreate the environment. A major advantage of approach #1 is that it can potentially provide complete restoration of the install-time environment. The major disadvantage is that the saved environment needs to be purified so that parts of the package manager that did the install do not interfere with the package manager that does the uninstall. The purification process could potentially be complex or error prone, making it difficult to maintain or unreliable. Simplicity is the major advantage approach #2. The eclasses that are used by a package could be stored in eclasses.tbz2 (much like enviroment.bz2 is currently stored for each installed package), and the environment could be recreated from scratch by using the ebuild and eclasses in the normal inherit process. This wouldn't necessarily allow access to the complete build-time or install-time environment, but that feature is not currently available anyway. If we save the raw eclasses for each installed package, we can easily gain the ability to remove eclasses from the portage tree and make incompatible api changes when necessary, without the complexity of environment purification. What do people think about these two approaches? Personally, I would prefer approach #2 for the sake of simplicity and maintainability. The sooner that we start storing eclasses.tbz2 for each installed package, the sooner that we will be able to have more freedom with the eclasses in the live portage tree. Zac [1] http://bugs.gentoo.org/show_bug.cgi?id=46223 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (GNU/Linux) iD8DBQFFTF58/ejvha5XGaMRApOeAJ9CncD89mRUy/mhyVZnhFjmazjYYACfYhdy 4qLqBySCLvAyuNm58bqXZnY= =Ailg -----END PGP SIGNATURE----- -- gentoo-dev@gentoo.org mailing list