summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/libalpm/be_local.c34
-rw-r--r--lib/libalpm/db.c37
-rw-r--r--lib/libalpm/db.h2
3 files changed, 34 insertions, 39 deletions
diff --git a/lib/libalpm/be_local.c b/lib/libalpm/be_local.c
index 05bd47cf..e97c0055 100644
--- a/lib/libalpm/be_local.c
+++ b/lib/libalpm/be_local.c
@@ -322,6 +322,25 @@ static struct pkg_operations local_pkg_ops = {
.changelog_close = _cache_changelog_close,
};
+static int checkdbdir(pmdb_t *db)
+{
+ struct stat buf;
+ const char *path = _alpm_db_path(db);
+
+ if(stat(path, &buf) != 0) {
+ _alpm_log(PM_LOG_DEBUG, "database dir '%s' does not exist, creating it\n",
+ path);
+ if(_alpm_makepath(path) != 0) {
+ RET_ERR(PM_ERR_SYSTEM, -1);
+ }
+ } else if(!S_ISDIR(buf.st_mode)) {
+ _alpm_log(PM_LOG_WARNING, _("removing invalid database: %s\n"), path);
+ if(unlink(path) != 0 || _alpm_makepath(path) != 0) {
+ RET_ERR(PM_ERR_SYSTEM, -1);
+ }
+ }
+ return(0);
+}
static int is_dir(const char *path, struct dirent *entry)
{
@@ -411,6 +430,21 @@ int _alpm_local_db_populate(pmdb_t *db)
return(count);
}
+/* Note: the return value must be freed by the caller */
+static char *get_pkgpath(pmdb_t *db, pmpkg_t *info)
+{
+ size_t len;
+ char *pkgpath;
+ const char *dbpath;
+
+ dbpath = _alpm_db_path(db);
+ len = strlen(dbpath) + strlen(info->name) + strlen(info->version) + 3;
+ MALLOC(pkgpath, len, RET_ERR(PM_ERR_MEMORY, NULL));
+ sprintf(pkgpath, "%s%s-%s/", dbpath, info->name, info->version);
+ return(pkgpath);
+}
+
+
int _alpm_local_db_read(pmdb_t *db, pmpkg_t *info, pmdbinfrq_t inforeq)
{
FILE *fp = NULL;
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index 1adf549b..af68a508 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -796,41 +796,4 @@ int splitname(const char *target, pmpkg_t *pkg)
return(0);
}
-
-/* TODO: move these two functions to be_local once be_sync no longer uses them */
-
-int checkdbdir(pmdb_t *db)
-{
- struct stat buf;
- const char *path = _alpm_db_path(db);
-
- if(stat(path, &buf) != 0) {
- _alpm_log(PM_LOG_DEBUG, "database dir '%s' does not exist, creating it\n",
- path);
- if(_alpm_makepath(path) != 0) {
- RET_ERR(PM_ERR_SYSTEM, -1);
- }
- } else if(!S_ISDIR(buf.st_mode)) {
- _alpm_log(PM_LOG_WARNING, _("removing invalid database: %s\n"), path);
- if(unlink(path) != 0 || _alpm_makepath(path) != 0) {
- RET_ERR(PM_ERR_SYSTEM, -1);
- }
- }
- return(0);
-}
-
-/* Note: the return value must be freed by the caller */
-char *get_pkgpath(pmdb_t *db, pmpkg_t *info)
-{
- size_t len;
- char *pkgpath;
- const char *dbpath;
-
- dbpath = _alpm_db_path(db);
- len = strlen(dbpath) + strlen(info->name) + strlen(info->version) + 3;
- MALLOC(pkgpath, len, RET_ERR(PM_ERR_MEMORY, NULL));
- sprintf(pkgpath, "%s%s-%s/", dbpath, info->name, info->version);
- return(pkgpath);
-}
-
/* vim: set ts=2 sw=2 noet: */
diff --git a/lib/libalpm/db.h b/lib/libalpm/db.h
index 45ebd637..d28ace62 100644
--- a/lib/libalpm/db.h
+++ b/lib/libalpm/db.h
@@ -101,8 +101,6 @@ alpm_list_t *_alpm_db_get_grpcache(pmdb_t *db);
pmgrp_t *_alpm_db_get_grpfromcache(pmdb_t *db, const char *target);
int splitname(const char *target, pmpkg_t *pkg);
-int checkdbdir(pmdb_t *db);
-char *get_pkgpath(pmdb_t *db, pmpkg_t *info);
#endif /* _ALPM_DB_H */