diff options
Diffstat (limited to 'src/pacman')
-rw-r--r-- | src/pacman/database.c | 4 | ||||
-rw-r--r-- | src/pacman/pacman.c | 9 | ||||
-rw-r--r-- | src/pacman/query.c | 11 | ||||
-rw-r--r-- | src/pacman/remove.c | 2 | ||||
-rw-r--r-- | src/pacman/sync.c | 11 |
5 files changed, 17 insertions, 20 deletions
diff --git a/src/pacman/database.c b/src/pacman/database.c index 5fd33ea5..36433f33 100644 --- a/src/pacman/database.c +++ b/src/pacman/database.c @@ -31,8 +31,6 @@ #include "conf.h" #include "util.h" -extern pmdb_t *db_local; - /** * @brief Modify the 'local' package database. * @@ -43,6 +41,7 @@ extern pmdb_t *db_local; int pacman_database(alpm_list_t *targets) { alpm_list_t *i; + pmdb_t *db_local; int retval = 0; pmpkgreason_t reason; @@ -65,6 +64,7 @@ int pacman_database(alpm_list_t *targets) return(1); } + db_local = alpm_option_get_localdb(); for(i = targets; i; i = alpm_list_next(i)) { char *pkgname = i->data; if(alpm_db_set_pkgreason(db_local, pkgname, reason) == -1) { diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index c2670604..45500cfb 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -57,7 +57,6 @@ #include "conf.h" #include "package.h" -pmdb_t *db_local; /* list of targets specified on command line */ static alpm_list_t *pm_targets; @@ -1433,14 +1432,6 @@ int main(int argc, char *argv[]) list_display("Targets :", pm_targets); } - /* Opening local database */ - db_local = alpm_db_register_local(); - if(db_local == NULL) { - pm_printf(PM_LOG_ERROR, _("could not register 'local' database (%s)\n"), - alpm_strerrorlast()); - cleanup(EXIT_FAILURE); - } - /* Log commandline */ if(needs_root()) { cl_to_log(argc, argv); diff --git a/src/pacman/query.c b/src/pacman/query.c index fc6a2a56..c79133d1 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -37,8 +37,6 @@ #include "conf.h" #include "util.h" -extern pmdb_t *db_local; - static char *resolve_path(const char *file) { char *str = NULL; @@ -102,6 +100,7 @@ static int query_fileowner(alpm_list_t *targets) char *append; size_t max_length; alpm_list_t *t; + pmdb_t *db_local; /* This code is here for safety only */ if(targets == NULL) { @@ -117,6 +116,8 @@ static int query_fileowner(alpm_list_t *targets) append = path + strlen(path); max_length = PATH_MAX - (append - path) - 1; + db_local = alpm_option_get_localdb(); + for(t = targets; t; t = alpm_list_next(t)) { char *filename, *dname, *rpath; const char *bname; @@ -220,6 +221,7 @@ static int query_search(alpm_list_t *targets) { alpm_list_t *i, *searchlist; int freelist; + pmdb_t *db_local = alpm_option_get_localdb(); /* if we have a targets list, search for packages matching it */ if(targets) { @@ -286,6 +288,8 @@ static int query_group(alpm_list_t *targets) alpm_list_t *i, *j; char *grpname = NULL; int ret = 0; + pmdb_t *db_local = alpm_option_get_localdb(); + if(targets == NULL) { for(j = alpm_db_get_grpcache(db_local); j; j = alpm_list_next(j)) { pmgrp_t *grp = alpm_list_getdata(j); @@ -471,6 +475,7 @@ int pacman_query(alpm_list_t *targets) int match = 0; alpm_list_t *i; pmpkg_t *pkg = NULL; + pmdb_t *db_local; /* First: operations that do not require targets */ @@ -495,6 +500,8 @@ int pacman_query(alpm_list_t *targets) } } + db_local = alpm_option_get_localdb(); + /* operations on all packages in the local DB * valid: no-op (plain -Q), list, info, check * invalid: isfile, owns */ diff --git a/src/pacman/remove.c b/src/pacman/remove.c index 52f92ec0..82d1c384 100644 --- a/src/pacman/remove.c +++ b/src/pacman/remove.c @@ -31,8 +31,6 @@ #include "util.h" #include "conf.h" -extern pmdb_t *db_local; - /** * @brief Remove a specified list of packages. * diff --git a/src/pacman/sync.c b/src/pacman/sync.c index 278f15e5..7353f7ee 100644 --- a/src/pacman/sync.c +++ b/src/pacman/sync.c @@ -37,8 +37,6 @@ #include "package.h" #include "conf.h" -extern pmdb_t *db_local; - /* if keep_used != 0, then the db files which match an used syncdb * will be kept */ static int sync_cleandb(const char *dbpath, int keep_used) { @@ -144,6 +142,7 @@ static int sync_cleancache(int level) { alpm_list_t *i; alpm_list_t *sync_dbs = alpm_option_get_syncdbs(); + pmdb_t *db_local = alpm_option_get_localdb(); int ret = 0; for(i = alpm_option_get_cachedirs(); i; i = alpm_list_next(i)) { @@ -295,7 +294,7 @@ static int sync_synctree(int level, alpm_list_t *syncs) return(success > 0); } -static void print_installed(pmpkg_t *pkg) +static void print_installed(pmdb_t *db_local, pmpkg_t *pkg) { const char *pkgname = alpm_pkg_get_name(pkg); const char *pkgver = alpm_pkg_get_version(pkg); @@ -316,6 +315,7 @@ static int sync_search(alpm_list_t *syncs, alpm_list_t *targets) alpm_list_t *i, *j, *ret; int freelist; int found = 0; + pmdb_t *db_local = alpm_option_get_localdb(); for(i = syncs; i; i = alpm_list_next(i)) { pmdb_t *db = alpm_list_getdata(i); @@ -366,7 +366,7 @@ static int sync_search(alpm_list_t *syncs, alpm_list_t *targets) printf(")"); } - print_installed(pkg); + print_installed(db_local, pkg); /* we need a newline and initial indent first */ printf("\n "); @@ -519,6 +519,7 @@ static int sync_info(alpm_list_t *syncs, alpm_list_t *targets) static int sync_list(alpm_list_t *syncs, alpm_list_t *targets) { alpm_list_t *i, *j, *ls = NULL; + pmdb_t *db_local = alpm_option_get_localdb(); if(targets) { for(i = targets; i; i = alpm_list_next(i)) { @@ -556,7 +557,7 @@ static int sync_list(alpm_list_t *syncs, alpm_list_t *targets) if (!config->quiet) { printf("%s %s %s", alpm_db_get_name(db), alpm_pkg_get_name(pkg), alpm_pkg_get_version(pkg)); - print_installed(pkg); + print_installed(db_local, pkg); printf("\n"); } else { printf("%s\n", alpm_pkg_get_name(pkg)); |