[pacman-dev] DRAFT: API changes for pacman-3.5
Xavier Chantry
chantry.xavier at gmail.com
Sat Feb 19 08:43:48 EST 2011
On Mon, Feb 7, 2011 at 4:58 AM, Allan McRae <allan at archlinux.org> wrote:
> This is a draft for the README file update for pacman-3.5.
>
> I have flagged two areas that I am not particularly clear at what happened.
> I would be great if the people involved in those changes could make the
> appropriate adjustments.
>
I am afraid that would be me.
>
>
> ## HELP!!!
> - these changes...
> -int alpm_sync_target(char *target);
> -int alpm_sync_dbtarget(char *db, char *target);
> -int alpm_add_target(char *target);
> -int alpm_remove_target(char *target);
> +int alpm_add_pkg(pmpkg_t *pkg);
> +int alpm_remove_pkg(pmpkg_t *pkg);
>
- the interface to add/remove targets was changed to take pmpkg_t
rather than char * which was ambiguous.
alpm_sync_target(char *target) and alpm_sync_dbtarget(char *db, char
*target) are replaced by alpm_add_pkg(pmpkg_t *pkg).
Packages can come from alpm_db_get_pkg (for normal targets),
alpm_find_dbs_satisfier (for versioned provisions) or
alpm_find_grp_pkgs (for groups).
alpm_add_target(char *target) is replaced by alpm_pkg_load + alpm_add_pkg.
alpm_remove_target is replaced by alpm_remove_pkg(pmpkg_t *pkg), with
packages coming from alpm_db_get_pkg(db_local, target) or
alpm_db_readgrp(db_local, target) + alpm_grp_get_pkgs(grp).
>
> ## HELP!!!
> - alpm_deptest() is replaced by the more flexibile alpm_find_satisfier()
> -int alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep);
> alpm_list_t *alpm_checkdeps(alpm_list_t *pkglist, int reversedeps,
> alpm_list_t *remove, alpm_list_t *upgrade);
> -alpm_list_t *alpm_deptest(pmdb_t *db, alpm_list_t *targets);
> +pmpkg_t *alpm_find_satisfier(alpm_list_t *pkgs, const char *depstring);
> +pmpkg_t *alpm_find_dbs_satisfier(alpm_list_t *dbs, const char
> *depstring);
>
>
- alpm_deptest() is replaced by the more flexible alpm_find_satisfier()
- alpm_depcmp(pmpkg_t *pkg, pmdepend_t *dep) was removed because the
low levels function dealing with pmdepend_t (splitdep and depfree come
to mind) are not exposed, which makes depcmp useless to a frontend.
(I mentioned alpm_find_dbs_satisfier above in the target change)
More information about the pacman-dev
mailing list