This is a brief outline mainly for my own use in getting a hooks and other scripting point backend written for libalpm.
These things can become objects with the listed methods attached.
- Any alpm_option_* method
- Any alpm_trans_* method (since we only have one transaction per handle)
- alpm_fetch_pkgurl (although probably not needed in backend...)
- alpm_find_satisfier (TODO: why doesn't this take handle)
- alpm_errno (and add convenience function for strerror)
- Any alpm_pkg_get_* method
- Any other alpm_pkg_* methods?
- alpm_pkg_changelog_read (TODO: change so pkg is first argument)
- Any alpm_db_* method
- alpm_db_update (TODO: change so db is first parameter)
- alpm_pkg_vercmp (TODO: change this name, why does it have pkg in it)
These are attached to nothing except the top-level alpm library object.