Re: [gentoo-portage-dev] [RFC] Label profiles with EAPI for compatibility checks
On Fri, Oct 3, 2008 at 5:09 PM, Zac Medico [EMAIL PROTECTED] wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi everyone, Please consider a new eapi profile configuration file that will designate the EAPI to which any package atoms within a given layer of the profile stack must conform. This will allow package managers to bail out with an informative error message if the user accidentally selects a profile containing an EAPI that is not supported by the currently installed package manager. Long Long Ago there was a conversation about versioning profiles; is there some reason why you prefer the eapi method (which arguably has a smaller scope) over full profile api versioning (PAPI?) Arguably we could use both in the future as well. In order to allow mixed EAPIs in the profiles, and to avoid having to configure the EAPI in every single layer, each directory of the profile stack should be able to either override or inherit the EAPI value that may have been defined in a previous layer of the profile stack. If no EAPI has been previously defined then it can be assumed to be 0. The format of the configuration file can be very simple, containing only the EAPI value and nothing more. For example, a file containing just a single 0 character, followed by a newline, could be created at profiles/base/eapi in order to explicitly declare that atoms in the base profile conform to EAPI 0. However, this particular declaration would be redundant since the base profile does not inherit from any other profile and therefore it's EAPI would be assumed to be 0 anyway. Does this seem like a good approach? Are there any suggestions for improvements or alternative approaches? PAPI :) - -- Thanks, Zac -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkjmtEYACgkQ/ejvha5XGaNtSQCfXb2OQAYCEAe0Uuuu7Ou+DxyV QZsAn0VpUbKqHJP0XRZSg6mhFKeUNXui =qR8c -END PGP SIGNATURE-
Re: [gentoo-portage-dev] [RFC] Label profiles with EAPI for compatibility checks
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Alec Warner wrote: On Fri, Oct 3, 2008 at 5:09 PM, Zac Medico [EMAIL PROTECTED] wrote: Hi everyone, Please consider a new eapi profile configuration file that will designate the EAPI to which any package atoms within a given layer of the profile stack must conform. This will allow package managers to bail out with an informative error message if the user accidentally selects a profile containing an EAPI that is not supported by the currently installed package manager. Long Long Ago there was a conversation about versioning profiles; is there some reason why you prefer the eapi method (which arguably has a smaller scope) over full profile api versioning (PAPI?) I'm not sure what the specific intentions of PAPI are, but the EAPI approach that I've suggested is intended to enable different layers of the stack to contain dependency atoms that conform to different EAPIs. For example, the base profile could remain at EAPI 0 and could thus be shared between some older profiles that conform to EAPI 0 (at all layers) and some newer profiles that contain some layers which require EAPI 1 or EAPI 2. By allowing a mix of different layers with different EAPIs, the intention is to promote code sharing since we can use a common base profile between older and newer profiles, yet still be able to use new EAPIs in newer profiles. Arguably we could use both in the future as well. In order to allow mixed EAPIs in the profiles, and to avoid having to configure the EAPI in every single layer, each directory of the profile stack should be able to either override or inherit the EAPI value that may have been defined in a previous layer of the profile stack. If no EAPI has been previously defined then it can be assumed to be 0. The format of the configuration file can be very simple, containing only the EAPI value and nothing more. For example, a file containing just a single 0 character, followed by a newline, could be created at profiles/base/eapi in order to explicitly declare that atoms in the base profile conform to EAPI 0. However, this particular declaration would be redundant since the base profile does not inherit from any other profile and therefore it's EAPI would be assumed to be 0 anyway. Does this seem like a good approach? Are there any suggestions for improvements or alternative approaches? PAPI :) Would PAPI provide the same benefits in terms of code sharing by allowing layers with different PAPIs to be mixed? - -- Thanks, Zac -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkjnrLYACgkQ/ejvha5XGaMvpgCgiRYrpXxCbbHsULEMdxfoYbsZ n7QAoNR3IiMYMX70YnlzTwrEWfgWXv7m =WaSP -END PGP SIGNATURE-
[gentoo-portage-dev] [RFC] Label profiles with EAPI for compatibility checks
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi everyone, Please consider a new eapi profile configuration file that will designate the EAPI to which any package atoms within a given layer of the profile stack must conform. This will allow package managers to bail out with an informative error message if the user accidentally selects a profile containing an EAPI that is not supported by the currently installed package manager. In order to allow mixed EAPIs in the profiles, and to avoid having to configure the EAPI in every single layer, each directory of the profile stack should be able to either override or inherit the EAPI value that may have been defined in a previous layer of the profile stack. If no EAPI has been previously defined then it can be assumed to be 0. The format of the configuration file can be very simple, containing only the EAPI value and nothing more. For example, a file containing just a single 0 character, followed by a newline, could be created at profiles/base/eapi in order to explicitly declare that atoms in the base profile conform to EAPI 0. However, this particular declaration would be redundant since the base profile does not inherit from any other profile and therefore it's EAPI would be assumed to be 0 anyway. Does this seem like a good approach? Are there any suggestions for improvements or alternative approaches? - -- Thanks, Zac -BEGIN PGP SIGNATURE- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkjmtEYACgkQ/ejvha5XGaNtSQCfXb2OQAYCEAe0Uuuu7Ou+DxyV QZsAn0VpUbKqHJP0XRZSg6mhFKeUNXui =qR8c -END PGP SIGNATURE-