diff options
author | Dave Reisner <dreisner@archlinux.org> | 2014-11-16 17:41:00 -0500 |
---|---|---|
committer | Dave Reisner <dreisner@archlinux.org> | 2014-11-16 17:42:23 -0500 |
commit | 1f4a917495864544862f28b080a5b9fe6dd8865b (patch) | |
tree | bd18f6261360f4eab5110a52d79ec5ed5242bc54 /expac.c | |
parent | e54969e6ad8f6fe23c2703ef100e9dbeb050b1fe (diff) | |
download | expac-1f4a917495864544862f28b080a5b9fe6dd8865b.tar.xz |
handle RootDir and DBPath from pacman config
Diffstat (limited to 'expac.c')
-rw-r--r-- | expac.c | 14 |
1 files changed, 11 insertions, 3 deletions
@@ -53,7 +53,6 @@ static char const digits[] = "0123456789"; static char const printf_flags[] = "'-+ #0I"; -alpm_db_t *db_local = NULL; alpm_list_t *targets = NULL; bool opt_readone = false; bool opt_verbose = false; @@ -353,6 +352,7 @@ static bool backup_file_is_modified(const alpm_backup_t *backup_file) { _cleanup_free_ char *md5sum = NULL; bool modified; + /* TODO: respect expac->dbroot */ snprintf(fullpath, sizeof(fullpath), "/%s", backup_file->name); md5sum = alpm_compute_md5sum(fullpath); @@ -655,7 +655,9 @@ void expac_free(Expac *expac) { int expac_new(Expac **expac, int argc, char **argv) { Expac *e; enum _alpm_errno_t alpm_errno = 0; - config_t config = { NULL, 0, 0 }; + config_t config = { NULL, 0, 0, NULL, NULL }; + const char *dbroot = "/"; + const char *dbpath = "/var/lib/pacman"; int r; r = parse_options(argc, argv); @@ -670,7 +672,13 @@ int expac_new(Expac **expac, int argc, char **argv) { if (r < 0) return r; - e->alpm = alpm_initialize("/", "/var/lib/pacman", &alpm_errno); + if (config.dbpath) + dbpath = config.dbpath; + + if (config.dbroot) + dbroot = config.dbroot; + + e->alpm = alpm_initialize(dbroot, dbpath, &alpm_errno); if (!e->alpm) return -alpm_errno; |