mirror of
https://github.com/moparisthebest/pacman
synced 2025-01-08 12:28:00 -05:00
Abstract has_scriptlet() to package ops struct
Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
c00e05992e
commit
580fe21065
@ -163,6 +163,20 @@ int _cache_get_epoch(pmpkg_t *pkg)
|
|||||||
return pkg->epoch;
|
return pkg->epoch;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int _cache_has_scriptlet(pmpkg_t *pkg)
|
||||||
|
{
|
||||||
|
ALPM_LOG_FUNC;
|
||||||
|
|
||||||
|
/* Sanity checks */
|
||||||
|
ASSERT(handle != NULL, return(-1));
|
||||||
|
ASSERT(pkg != NULL, return(-1));
|
||||||
|
|
||||||
|
if(!(pkg->infolevel & INFRQ_SCRIPTLET)) {
|
||||||
|
_alpm_local_db_read(pkg->origin_data.db, pkg, INFRQ_SCRIPTLET);
|
||||||
|
}
|
||||||
|
return pkg->scriptlet;
|
||||||
|
}
|
||||||
|
|
||||||
alpm_list_t *_cache_get_depends(pmpkg_t *pkg)
|
alpm_list_t *_cache_get_depends(pmpkg_t *pkg)
|
||||||
{
|
{
|
||||||
LAZY_LOAD(INFRQ_DESC, NULL);
|
LAZY_LOAD(INFRQ_DESC, NULL);
|
||||||
@ -302,6 +316,7 @@ static struct pkg_operations local_pkg_ops = {
|
|||||||
.get_isize = _cache_get_isize,
|
.get_isize = _cache_get_isize,
|
||||||
.get_reason = _cache_get_reason,
|
.get_reason = _cache_get_reason,
|
||||||
.get_epoch = _cache_get_epoch,
|
.get_epoch = _cache_get_epoch,
|
||||||
|
.has_scriptlet = _cache_has_scriptlet,
|
||||||
.get_licenses = _cache_get_licenses,
|
.get_licenses = _cache_get_licenses,
|
||||||
.get_groups = _cache_get_groups,
|
.get_groups = _cache_get_groups,
|
||||||
.get_depends = _cache_get_depends,
|
.get_depends = _cache_get_depends,
|
||||||
|
@ -112,6 +112,7 @@ off_t _pkg_get_size(pmpkg_t *pkg) { return pkg->size; }
|
|||||||
off_t _pkg_get_isize(pmpkg_t *pkg) { return pkg->isize; }
|
off_t _pkg_get_isize(pmpkg_t *pkg) { return pkg->isize; }
|
||||||
pmpkgreason_t _pkg_get_reason(pmpkg_t *pkg) { return pkg->reason; }
|
pmpkgreason_t _pkg_get_reason(pmpkg_t *pkg) { return pkg->reason; }
|
||||||
int _pkg_get_epoch(pmpkg_t *pkg) { return pkg->epoch; }
|
int _pkg_get_epoch(pmpkg_t *pkg) { return pkg->epoch; }
|
||||||
|
int _pkg_has_scriptlet(pmpkg_t *pkg) { return pkg->scriptlet; }
|
||||||
|
|
||||||
alpm_list_t *_pkg_get_licenses(pmpkg_t *pkg) { return pkg->licenses; }
|
alpm_list_t *_pkg_get_licenses(pmpkg_t *pkg) { return pkg->licenses; }
|
||||||
alpm_list_t *_pkg_get_groups(pmpkg_t *pkg) { return pkg->groups; }
|
alpm_list_t *_pkg_get_groups(pmpkg_t *pkg) { return pkg->groups; }
|
||||||
@ -142,6 +143,7 @@ struct pkg_operations default_pkg_ops = {
|
|||||||
.get_isize = _pkg_get_isize,
|
.get_isize = _pkg_get_isize,
|
||||||
.get_reason = _pkg_get_reason,
|
.get_reason = _pkg_get_reason,
|
||||||
.get_epoch = _pkg_get_epoch,
|
.get_epoch = _pkg_get_epoch,
|
||||||
|
.has_scriptlet = _pkg_has_scriptlet,
|
||||||
.get_licenses = _pkg_get_licenses,
|
.get_licenses = _pkg_get_licenses,
|
||||||
.get_groups = _pkg_get_groups,
|
.get_groups = _pkg_get_groups,
|
||||||
.get_depends = _pkg_get_depends,
|
.get_depends = _pkg_get_depends,
|
||||||
@ -338,17 +340,7 @@ int SYMEXPORT alpm_pkg_changelog_close(const pmpkg_t *pkg, void *fp)
|
|||||||
|
|
||||||
int SYMEXPORT alpm_pkg_has_scriptlet(pmpkg_t *pkg)
|
int SYMEXPORT alpm_pkg_has_scriptlet(pmpkg_t *pkg)
|
||||||
{
|
{
|
||||||
ALPM_LOG_FUNC;
|
return pkg->ops->has_scriptlet(pkg);
|
||||||
|
|
||||||
/* Sanity checks */
|
|
||||||
ASSERT(handle != NULL, return(-1));
|
|
||||||
ASSERT(pkg != NULL, return(-1));
|
|
||||||
|
|
||||||
if(pkg->origin == PKG_FROM_LOCALDB
|
|
||||||
&& !(pkg->infolevel & INFRQ_SCRIPTLET)) {
|
|
||||||
_alpm_local_db_read(pkg->origin_data.db, pkg, INFRQ_SCRIPTLET);
|
|
||||||
}
|
|
||||||
return pkg->scriptlet;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void find_requiredby(pmpkg_t *pkg, pmdb_t *db, alpm_list_t **reqs)
|
static void find_requiredby(pmpkg_t *pkg, pmdb_t *db, alpm_list_t **reqs)
|
||||||
|
@ -58,6 +58,7 @@ struct pkg_operations {
|
|||||||
off_t (*get_isize) (pmpkg_t *);
|
off_t (*get_isize) (pmpkg_t *);
|
||||||
pmpkgreason_t (*get_reason) (pmpkg_t *);
|
pmpkgreason_t (*get_reason) (pmpkg_t *);
|
||||||
int (*get_epoch) (pmpkg_t *);
|
int (*get_epoch) (pmpkg_t *);
|
||||||
|
int (*has_scriptlet) (pmpkg_t *);
|
||||||
|
|
||||||
alpm_list_t *(*get_licenses) (pmpkg_t *);
|
alpm_list_t *(*get_licenses) (pmpkg_t *);
|
||||||
alpm_list_t *(*get_groups) (pmpkg_t *);
|
alpm_list_t *(*get_groups) (pmpkg_t *);
|
||||||
@ -75,10 +76,7 @@ struct pkg_operations {
|
|||||||
int (*changelog_close) (const pmpkg_t *, void *);
|
int (*changelog_close) (const pmpkg_t *, void *);
|
||||||
|
|
||||||
/* still to add:
|
/* still to add:
|
||||||
* free()
|
|
||||||
* dup()
|
|
||||||
* checkmd5sum() ?
|
* checkmd5sum() ?
|
||||||
* has_scriptlet()
|
|
||||||
* compute_requiredby()
|
* compute_requiredby()
|
||||||
*/
|
*/
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user