diff options
author | Nathan Jones <nathanj@insightbb.com> | 2007-11-10 02:13:28 +0100 |
---|---|---|
committer | Dan McGee <dan@archlinux.org> | 2007-11-11 16:44:26 +0100 |
commit | 5c58b3d500d0971747af9a0c978ff6cfac668882 (patch) | |
tree | 07e424646e1e528ae94d5e9740980344746f2d98 /lib/libalpm | |
parent | 5cd6ffda722c79cf4689e559f214bcc27561fa5c (diff) | |
download | pacman-5c58b3d500d0971747af9a0c978ff6cfac668882.tar.gz pacman-5c58b3d500d0971747af9a0c978ff6cfac668882.tar.xz |
Add IgnoreGroup and --ignoregroup option.
This will be used in the next commit.
Signed-off-by: Nathan Jones <nathanj@insightbb.com>
Signed-off-by: Dan McGee <dan@archlinux.org>
Diffstat (limited to 'lib/libalpm')
-rw-r--r-- | lib/libalpm/alpm.h | 4 | ||||
-rw-r--r-- | lib/libalpm/handle.c | 21 | ||||
-rw-r--r-- | lib/libalpm/handle.h | 1 |
3 files changed, 26 insertions, 0 deletions
diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 20d77876..f8558e1b 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -130,6 +130,10 @@ alpm_list_t *alpm_option_get_holdpkgs(); void alpm_option_add_holdpkg(const char *pkg); void alpm_option_set_holdpkgs(alpm_list_t *holdpkgs); +alpm_list_t *alpm_option_get_ignoregrps(); +void alpm_option_add_ignoregrp(const char *grp); +void alpm_option_set_ignoregrps(alpm_list_t *ignoregrps); + time_t alpm_option_get_upgradedelay(); void alpm_option_set_upgradedelay(time_t delay); diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c index af549498..78ac1171 100644 --- a/lib/libalpm/handle.c +++ b/lib/libalpm/handle.c @@ -100,6 +100,7 @@ void _alpm_handle_free(pmhandle_t *handle) FREELIST(handle->noextract); FREELIST(handle->ignorepkg); FREELIST(handle->holdpkg); + FREELIST(handle->ignoregrp); FREE(handle); } @@ -211,6 +212,15 @@ alpm_list_t SYMEXPORT *alpm_option_get_holdpkgs() return handle->holdpkg; } +alpm_list_t SYMEXPORT *alpm_option_get_ignoregrps() +{ + if (handle == NULL) { + pm_errno = PM_ERR_HANDLE_NULL; + return NULL; + } + return handle->ignoregrp; +} + time_t SYMEXPORT alpm_option_get_upgradedelay() { if (handle == NULL) { @@ -461,6 +471,17 @@ void SYMEXPORT alpm_option_set_holdpkgs(alpm_list_t *holdpkgs) if(holdpkgs) handle->holdpkg = holdpkgs; } +void SYMEXPORT alpm_option_add_ignoregrp(const char *grp) +{ + handle->ignoregrp = alpm_list_add(handle->ignoregrp, strdup(grp)); +} + +void alpm_option_set_ignoregrps(alpm_list_t *ignoregrps) +{ + if(handle->ignoregrp) FREELIST(handle->ignoregrp); + if(ignoregrps) handle->ignoregrp = ignoregrps; +} + void SYMEXPORT alpm_option_set_upgradedelay(time_t delay) { handle->upgradedelay = delay; diff --git a/lib/libalpm/handle.h b/lib/libalpm/handle.h index 0874ecd3..63a46884 100644 --- a/lib/libalpm/handle.h +++ b/lib/libalpm/handle.h @@ -55,6 +55,7 @@ typedef struct _pmhandle_t { alpm_list_t *noextract; /* List of packages NOT to extract */ /*TODO is this used?*/ alpm_list_t *ignorepkg; /* List of packages to ignore */ alpm_list_t *holdpkg; /* List of packages which 'hold' pacman */ + alpm_list_t *ignoregrp; /* List of groups to ignore */ /* options */ unsigned short usesyslog; /* Use syslog instead of logfile? */ /* TODO move to frontend */ |