Dear Matthew,
i checked the situation: most likely, you have
an oacs 5.4 installation. For 5.4, the files from the content repository tagged by "openacs-5-4-compat" are presented via the "install/upgrade from repository". Currently, we have the following situation:
- the files from acs-core show up correctly and can be installed correctly via upgrade/install from repo
- the application packages (assessment, attachments, bm-portlet, bulk-mail, calendar, calendar-portlet, ...) show as well up, but they can't be installed. For these files, for some reason, only the .info files are tagged with "openacs-5-4-compat".
This is really bad, since the apm-builder finds the tagged .info files and builds its apm-files from it. It would be much better not tagging any files than just tagging the .info files. I have no idea who tagged the .info file for which purpose, but this is certainly wrong. The problem that you saw with the "after install callback" happens, since the installer downloaded the more or less empty .apm file (containing just the .info file), extracts it successfully, installs all its files (just the .info file) and finds the callback in the .info file and tries to execute it.
What should be done is to tag the packages in the actual dotlrn release (based on 5.4) with "openacs-5-4-compat". Then, after the next nightly respository build, upgrade from repository will work again for 5.4 installations.
It looks to me as if this is just a problem for 5.4, head or older versions look ok.