mirror of
https://github.com/moparisthebest/pacman
synced 2025-02-28 09:21:53 -05:00
Add remove counterparts to alpm_option_add_* functions
Fixes FS#7428. Added functions to remove cachedir, noupgrade, noextract, ignorepkg, holdpkg and ignoregrp. Signed-off-by: Allan McRae <mcrae_allan@hotmail.com> [Dan: fix whitespace] Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
d8a10a8e72
commit
cca4ec647e
@ -104,6 +104,7 @@ int alpm_option_set_dbpath(const char *dbpath);
|
|||||||
alpm_list_t *alpm_option_get_cachedirs();
|
alpm_list_t *alpm_option_get_cachedirs();
|
||||||
int alpm_option_add_cachedir(const char *cachedir);
|
int alpm_option_add_cachedir(const char *cachedir);
|
||||||
void alpm_option_set_cachedirs(alpm_list_t *cachedirs);
|
void alpm_option_set_cachedirs(alpm_list_t *cachedirs);
|
||||||
|
int alpm_option_remove_cachedir(const char *cachedir);
|
||||||
|
|
||||||
const char *alpm_option_get_logfile();
|
const char *alpm_option_get_logfile();
|
||||||
int alpm_option_set_logfile(const char *logfile);
|
int alpm_option_set_logfile(const char *logfile);
|
||||||
@ -117,22 +118,27 @@ void alpm_option_set_usesyslog(unsigned short usesyslog);
|
|||||||
alpm_list_t *alpm_option_get_noupgrades();
|
alpm_list_t *alpm_option_get_noupgrades();
|
||||||
void alpm_option_add_noupgrade(const char *pkg);
|
void alpm_option_add_noupgrade(const char *pkg);
|
||||||
void alpm_option_set_noupgrades(alpm_list_t *noupgrade);
|
void alpm_option_set_noupgrades(alpm_list_t *noupgrade);
|
||||||
|
int alpm_option_remove_noupgrade(const char *pkg);
|
||||||
|
|
||||||
alpm_list_t *alpm_option_get_noextracts();
|
alpm_list_t *alpm_option_get_noextracts();
|
||||||
void alpm_option_add_noextract(const char *pkg);
|
void alpm_option_add_noextract(const char *pkg);
|
||||||
void alpm_option_set_noextracts(alpm_list_t *noextract);
|
void alpm_option_set_noextracts(alpm_list_t *noextract);
|
||||||
|
int alpm_option_remove_noextract(const char *pkg);
|
||||||
|
|
||||||
alpm_list_t *alpm_option_get_ignorepkgs();
|
alpm_list_t *alpm_option_get_ignorepkgs();
|
||||||
void alpm_option_add_ignorepkg(const char *pkg);
|
void alpm_option_add_ignorepkg(const char *pkg);
|
||||||
void alpm_option_set_ignorepkgs(alpm_list_t *ignorepkgs);
|
void alpm_option_set_ignorepkgs(alpm_list_t *ignorepkgs);
|
||||||
|
int alpm_option_remove_ignorepkg(const char *pkg);
|
||||||
|
|
||||||
alpm_list_t *alpm_option_get_holdpkgs();
|
alpm_list_t *alpm_option_get_holdpkgs();
|
||||||
void alpm_option_add_holdpkg(const char *pkg);
|
void alpm_option_add_holdpkg(const char *pkg);
|
||||||
void alpm_option_set_holdpkgs(alpm_list_t *holdpkgs);
|
void alpm_option_set_holdpkgs(alpm_list_t *holdpkgs);
|
||||||
|
int alpm_option_remove_holdpkg(const char *pkg);
|
||||||
|
|
||||||
alpm_list_t *alpm_option_get_ignoregrps();
|
alpm_list_t *alpm_option_get_ignoregrps();
|
||||||
void alpm_option_add_ignoregrp(const char *grp);
|
void alpm_option_add_ignoregrp(const char *grp);
|
||||||
void alpm_option_set_ignoregrps(alpm_list_t *ignoregrps);
|
void alpm_option_set_ignoregrps(alpm_list_t *ignoregrps);
|
||||||
|
int alpm_option_remove_ignoregrp(const char *grp);
|
||||||
|
|
||||||
time_t alpm_option_get_upgradedelay();
|
time_t alpm_option_get_upgradedelay();
|
||||||
void alpm_option_set_upgradedelay(time_t delay);
|
void alpm_option_set_upgradedelay(time_t delay);
|
||||||
|
@ -395,6 +395,29 @@ void SYMEXPORT alpm_option_set_cachedirs(alpm_list_t *cachedirs)
|
|||||||
if(cachedirs) handle->cachedirs = cachedirs;
|
if(cachedirs) handle->cachedirs = cachedirs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int SYMEXPORT alpm_option_remove_cachedir(const char *cachedir)
|
||||||
|
{
|
||||||
|
void *vdata = NULL;
|
||||||
|
char *newcachedir;
|
||||||
|
size_t cachedirlen;
|
||||||
|
/* verify cachedir ends in a '/' */
|
||||||
|
cachedirlen = strlen(cachedir);
|
||||||
|
if(cachedir[cachedirlen-1] != '/') {
|
||||||
|
cachedirlen += 1;
|
||||||
|
}
|
||||||
|
newcachedir = calloc(cachedirlen + 1, sizeof(char));
|
||||||
|
strncpy(newcachedir, cachedir, cachedirlen);
|
||||||
|
newcachedir[cachedirlen-1] = '/';
|
||||||
|
handle->cachedirs = alpm_list_remove(handle->cachedirs, newcachedir,
|
||||||
|
_alpm_str_cmp, &vdata);
|
||||||
|
FREE(newcachedir);
|
||||||
|
if(vdata != NULL) {
|
||||||
|
FREE(vdata);
|
||||||
|
return(1);
|
||||||
|
}
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
int SYMEXPORT alpm_option_set_logfile(const char *logfile)
|
int SYMEXPORT alpm_option_set_logfile(const char *logfile)
|
||||||
{
|
{
|
||||||
char *oldlogfile = handle->logfile;
|
char *oldlogfile = handle->logfile;
|
||||||
@ -436,6 +459,18 @@ void SYMEXPORT alpm_option_set_noupgrades(alpm_list_t *noupgrade)
|
|||||||
if(noupgrade) handle->noupgrade = noupgrade;
|
if(noupgrade) handle->noupgrade = noupgrade;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int SYMEXPORT alpm_option_remove_noupgrade(const char *pkg)
|
||||||
|
{
|
||||||
|
void *vdata = NULL;
|
||||||
|
handle->noupgrade = alpm_list_remove(handle->noupgrade, pkg,
|
||||||
|
_alpm_str_cmp, &vdata);
|
||||||
|
if(vdata != NULL) {
|
||||||
|
FREE(vdata);
|
||||||
|
return(1);
|
||||||
|
}
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
void SYMEXPORT alpm_option_add_noextract(const char *pkg)
|
void SYMEXPORT alpm_option_add_noextract(const char *pkg)
|
||||||
{
|
{
|
||||||
handle->noextract = alpm_list_add(handle->noextract, strdup(pkg));
|
handle->noextract = alpm_list_add(handle->noextract, strdup(pkg));
|
||||||
@ -447,6 +482,18 @@ void SYMEXPORT alpm_option_set_noextracts(alpm_list_t *noextract)
|
|||||||
if(noextract) handle->noextract = noextract;
|
if(noextract) handle->noextract = noextract;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int SYMEXPORT alpm_option_remove_noextract(const char *pkg)
|
||||||
|
{
|
||||||
|
void *vdata = NULL;
|
||||||
|
handle->noextract = alpm_list_remove(handle->noextract, pkg,
|
||||||
|
_alpm_str_cmp, &vdata);
|
||||||
|
if(vdata != NULL) {
|
||||||
|
FREE(vdata);
|
||||||
|
return(1);
|
||||||
|
}
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
void SYMEXPORT alpm_option_add_ignorepkg(const char *pkg)
|
void SYMEXPORT alpm_option_add_ignorepkg(const char *pkg)
|
||||||
{
|
{
|
||||||
handle->ignorepkg = alpm_list_add(handle->ignorepkg, strdup(pkg));
|
handle->ignorepkg = alpm_list_add(handle->ignorepkg, strdup(pkg));
|
||||||
@ -458,6 +505,18 @@ void alpm_option_set_ignorepkgs(alpm_list_t *ignorepkgs)
|
|||||||
if(ignorepkgs) handle->ignorepkg = ignorepkgs;
|
if(ignorepkgs) handle->ignorepkg = ignorepkgs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int SYMEXPORT alpm_option_remove_ignorepkg(const char *pkg)
|
||||||
|
{
|
||||||
|
void *vdata = NULL;
|
||||||
|
handle->ignorepkg = alpm_list_remove(handle->ignorepkg, pkg,
|
||||||
|
_alpm_str_cmp, &vdata);
|
||||||
|
if(vdata != NULL) {
|
||||||
|
FREE(vdata);
|
||||||
|
return(1);
|
||||||
|
}
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
void SYMEXPORT alpm_option_add_holdpkg(const char *pkg)
|
void SYMEXPORT alpm_option_add_holdpkg(const char *pkg)
|
||||||
{
|
{
|
||||||
handle->holdpkg = alpm_list_add(handle->holdpkg, strdup(pkg));
|
handle->holdpkg = alpm_list_add(handle->holdpkg, strdup(pkg));
|
||||||
@ -469,6 +528,18 @@ void SYMEXPORT alpm_option_set_holdpkgs(alpm_list_t *holdpkgs)
|
|||||||
if(holdpkgs) handle->holdpkg = holdpkgs;
|
if(holdpkgs) handle->holdpkg = holdpkgs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int SYMEXPORT alpm_option_remove_holdpkg(const char *pkg)
|
||||||
|
{
|
||||||
|
void *vdata = NULL;
|
||||||
|
handle->holdpkg = alpm_list_remove(handle->holdpkg, pkg,
|
||||||
|
_alpm_str_cmp, &vdata);
|
||||||
|
if(vdata != NULL) {
|
||||||
|
FREE(vdata);
|
||||||
|
return(1);
|
||||||
|
}
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
void SYMEXPORT alpm_option_add_ignoregrp(const char *grp)
|
void SYMEXPORT alpm_option_add_ignoregrp(const char *grp)
|
||||||
{
|
{
|
||||||
handle->ignoregrp = alpm_list_add(handle->ignoregrp, strdup(grp));
|
handle->ignoregrp = alpm_list_add(handle->ignoregrp, strdup(grp));
|
||||||
@ -480,6 +551,18 @@ void alpm_option_set_ignoregrps(alpm_list_t *ignoregrps)
|
|||||||
if(ignoregrps) handle->ignoregrp = ignoregrps;
|
if(ignoregrps) handle->ignoregrp = ignoregrps;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int SYMEXPORT alpm_option_remove_ignoregrp(const char *grp)
|
||||||
|
{
|
||||||
|
void *vdata = NULL;
|
||||||
|
handle->ignoregrp = alpm_list_remove(handle->ignoregrp, grp,
|
||||||
|
_alpm_str_cmp, &vdata);
|
||||||
|
if(vdata != NULL) {
|
||||||
|
FREE(vdata);
|
||||||
|
return(1);
|
||||||
|
}
|
||||||
|
return(0);
|
||||||
|
}
|
||||||
|
|
||||||
void SYMEXPORT alpm_option_set_upgradedelay(time_t delay)
|
void SYMEXPORT alpm_option_set_upgradedelay(time_t delay)
|
||||||
{
|
{
|
||||||
handle->upgradedelay = delay;
|
handle->upgradedelay = delay;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user