From 7bd2ff685188d0d9b6ab6c6f43f6d28811936881 Mon Sep 17 00:00:00 2001 From: Dan McGee Date: Thu, 31 May 2007 02:51:28 -0400 Subject: Move DB and cache dirs away from there dependence on ROOTDIR This change allows us to use all autoconf specified paths, most notably $(localstatedir). It is quite a change and touches a lot of files, as all references to the DB and cache were done with the ROOTDIR as a prefix. * add --lock command-line option to pacman to specify the location of the lockfile (this can now be specified at configure time by setting the $localstatedir path). * Rip quite a few settings out of configure.ac as they are now picked by setting the paths during configure or make. * Fix bug with /tmp fallback for sync downloads not working correctly (related to root location, now the system tmp dir is used). * Simplified the parameters to some libalpm functions, and added get/set for the new lockfile option. * Renamed several of the DEFS to names without the PM_ prefix. Signed-off-by: Dan McGee --- lib/libalpm/handle.c | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'lib/libalpm/handle.c') diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c index 47abcb32..7eb8dc36 100644 --- a/lib/libalpm/handle.c +++ b/lib/libalpm/handle.c @@ -79,9 +79,10 @@ pmhandle_t *_alpm_handle_new() handle->access = PM_ACCESS_RW; #endif - handle->root = strdup(PM_ROOT); - handle->dbpath = strdup(PM_DBPATH); - handle->cachedir = strdup(PM_CACHEDIR); + handle->root = strdup(ROOTDIR); + handle->dbpath = strdup(DBPATH); + handle->cachedir = strdup(CACHEDIR); + handle->lockfile = strdup(LOCKFILE); handle->logmask = PM_LOG_ERROR | PM_LOG_WARNING; return(handle); @@ -111,6 +112,7 @@ void _alpm_handle_free(pmhandle_t *handle) FREE(handle->dbpath); FREE(handle->cachedir); FREE(handle->logfile); + FREE(handle->lockfile); FREE(handle->xfercommand); FREELIST(handle->dbs_sync); FREELIST(handle->noupgrade); @@ -126,7 +128,8 @@ unsigned short SYMEXPORT alpm_option_get_logmask() { return handle->logmask; } const char SYMEXPORT *alpm_option_get_root() { return handle->root; } const char SYMEXPORT *alpm_option_get_dbpath() { return handle->dbpath; } const char SYMEXPORT *alpm_option_get_cachedir() { return handle->cachedir; } -const char *alpm_option_get_logfile() { return handle->logfile; } +const char SYMEXPORT *alpm_option_get_logfile() { return handle->logfile; } +const char SYMEXPORT *alpm_option_get_lockfile() { return handle->lockfile; } unsigned short alpm_option_get_usesyslog() { return handle->usesyslog; } alpm_list_t *alpm_option_get_noupgrades() { return handle->noupgrade; } alpm_list_t *alpm_option_get_noextracts() { return handle->noextract; } @@ -228,6 +231,14 @@ void alpm_option_set_logfile(const char *logfile) } } +void SYMEXPORT alpm_option_set_lockfile(const char *lockfile) +{ + if(handle->lockfile) FREE(handle->lockfile); + if(lockfile) { + handle->lockfile = strdup(lockfile); + } +} + void alpm_option_set_usesyslog(unsigned short usesyslog) { handle->usesyslog = usesyslog; -- cgit v1.2.3-70-g09d2