Forum OpenACS Improvement Proposals (TIPs): Tip #20 (Approved): Update package dependencies on major release
This TIP proposes that a major releases require an update to the APM package dependencies in the .info files to the corresponding APM versions in the emerging major release.
A major release typically involves significant changes to the kernel and a corresponding update to various packages, such as the ii8n
initiative for the 5.0 release.
- End-users get a consistent system.
- OpenACS developers have to respond to fewer bugs based on version incompatibilities.
- Upgrade scripts are provided so little impact on end-user and sysadmin.
Are you saying that we should bump up the dependency information in the .info file for all the packages that have things like noquote, etc..
This makes sense, because they really do depend on the new noquote, internationalization, etc..
So you're saying we should just require that they be done correctly to be in the release?
One note I would like to make here is that right now there is no easy way to say that a package requires a certain release number of OpenACS core (you would have to enumerate all the core packages). I guess in practice though you would never upgrade one core package without upgrading all of them.
Proposal is that ALL packages get bumped to require latest version of any package they require.
Am also wondering whether there should be explicit kernel dependencies.
I thought I picked them up for 4.6.3 ... this should be on our release checklist.
Hmmm, I never thought about it. So, all packages, no matter if nothing is changed, should increase their version number and require the latest version of whatver packages it requires?
This is most important if packages are distributed seperately from OpenACS. I suppose it makes sense to just coordinate all the "core" package versions because you can use them apart.
So my only suggestion is - at the time of release - freeze everything - increment ALL dependencies of ALL modules to require latest (5.0) versions.
A little drift is OK, but I think a major release is a good opportunity to get all the packages up to the same watermark for the reasons stated earlier (encourage people to move forward, fewer version incompatibility bugs, etc).