From 046c8a6819a0533fb10434f30100f80bb960fe46 Mon Sep 17 00:00:00 2001 From: Chantry Xavier Date: Mon, 17 Sep 2007 01:56:23 +0200 Subject: Remove the DB consistency check from pacman and libalpm. This reverts commit dfc85cb5f516ffbcff557522e9703c5c7d88b047 and b6f3fe6957d0206485eac98fb2120578b75d0058. This DB check is already in testdb (among others). Also testdb now uses the db path set at make time by default, so specifying the db path is optional. Signed-off-by: Chantry Xavier Signed-off-by: Dan McGee --- doc/pacman.8 | 4 ---- lib/libalpm/alpm.h | 1 - lib/libalpm/be_files.c | 32 -------------------------------- lib/libalpm/db.c | 13 ------------- lib/libalpm/db.h | 1 - src/pacman/conf.h | 1 - src/pacman/pacman.c | 5 ----- src/pacman/query.c | 29 ----------------------------- src/util/Makefile.am | 11 +++++++++++ src/util/testdb.c | 20 ++++++++++++-------- 10 files changed, 23 insertions(+), 94 deletions(-) diff --git a/doc/pacman.8 b/doc/pacman.8 index 4825f4a7..79097783 100644 --- a/doc/pacman.8 +++ b/doc/pacman.8 @@ -157,10 +157,6 @@ useful in combination with \fB--info\fP and \fB--list\fP. This will search each locally-installed package for names or descriptions that matche \fIregexp\fP. .TP -.B \-t, --test -Test the consistancy of the local pacman database, and alert you of any -problems found while searching. Returns 0 on success, >0 otherwise. -.TP .B \-u, --upgrades Lists all packages that are out of date on the local system. This option works best if the sync database is refreshed using \fB-Sy\fP. diff --git a/lib/libalpm/alpm.h b/lib/libalpm/alpm.h index 1506e3d5..81137e6d 100644 --- a/lib/libalpm/alpm.h +++ b/lib/libalpm/alpm.h @@ -164,7 +164,6 @@ alpm_list_t *alpm_db_whatprovides(pmdb_t *db, const char *name); pmgrp_t *alpm_db_readgrp(pmdb_t *db, const char *name); alpm_list_t *alpm_db_getgrpcache(pmdb_t *db); -alpm_list_t *alpm_db_test(pmdb_t *db); alpm_list_t *alpm_db_search(pmdb_t *db, const alpm_list_t* needles); alpm_list_t *alpm_db_get_upgrades(void); diff --git a/lib/libalpm/be_files.c b/lib/libalpm/be_files.c index 3e1a2969..8998f678 100644 --- a/lib/libalpm/be_files.c +++ b/lib/libalpm/be_files.c @@ -62,38 +62,6 @@ int _alpm_db_install(pmdb_t *db, const char *dbfile) return unlink(dbfile); } -alpm_list_t *_alpm_db_test(pmdb_t *db) -{ - struct dirent *ent; - char path[PATH_MAX]; - char text[PATH_MAX+1]; - struct stat buf; - alpm_list_t *ret = NULL; - - while ((ent = readdir(db->handle)) != NULL) { - if(!strcmp(ent->d_name, ".") || !strcmp(ent->d_name, "..")) { - continue; - } - /* check for desc, depends, and files */ - snprintf(path, PATH_MAX, "%s/%s/desc", db->path, ent->d_name); - if(stat(path, &buf)) { - snprintf(text, PATH_MAX, _("%s: description file is missing"), ent->d_name); - ret = alpm_list_add(ret, strdup(text)); - } - snprintf(path, PATH_MAX, "%s/%s/depends", db->path, ent->d_name); - if(stat(path, &buf)) { - snprintf(text, PATH_MAX, _("%s: dependency file is missing"), ent->d_name); - ret = alpm_list_add(ret, strdup(text)); - } - snprintf(path, PATH_MAX, "%s/%s/files", db->path, ent->d_name); - if(stat(path, &buf)) { - snprintf(text, PATH_MAX, _("%s: file list is missing"), ent->d_name); - ret = alpm_list_add(ret, strdup(text)); - } - } - return(ret); -} - int _alpm_db_open(pmdb_t *db) { ALPM_LOG_FUNC; diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c index 09e146e6..61c74a77 100644 --- a/lib/libalpm/db.c +++ b/lib/libalpm/db.c @@ -420,19 +420,6 @@ alpm_list_t SYMEXPORT *alpm_db_getgrpcache(pmdb_t *db) return(_alpm_db_get_grpcache(db)); } -/** Tests a database - * @param db pointer to the package database to search in - * @return the list of problems found on success, NULL on error - */ -alpm_list_t SYMEXPORT *alpm_db_test(pmdb_t *db) -{ - /* Sanity checks */ - ASSERT(handle != NULL, return(NULL)); - ASSERT(db != NULL, return(NULL)); - - return(_alpm_db_test(db)); -} - /** Searches a database * @param db pointer to the package database to search in * @param needles the list of strings to search for diff --git a/lib/libalpm/db.h b/lib/libalpm/db.h index 15cc4c4c..3ee49770 100644 --- a/lib/libalpm/db.h +++ b/lib/libalpm/db.h @@ -57,7 +57,6 @@ pmdb_t *_alpm_db_register_sync(const char *treename); /* be.c, backend specific calls */ int _alpm_db_install(pmdb_t *db, const char *dbfile); -alpm_list_t *_alpm_db_test(pmdb_t *db); int _alpm_db_open(pmdb_t *db); void _alpm_db_close(pmdb_t *db); void _alpm_db_rewind(pmdb_t *db); diff --git a/src/pacman/conf.h b/src/pacman/conf.h index 2f4b0bc4..85889d19 100644 --- a/src/pacman/conf.h +++ b/src/pacman/conf.h @@ -48,7 +48,6 @@ typedef struct __config_t { unsigned short op_q_owns; unsigned short op_q_search; unsigned short op_q_changelog; - unsigned short op_q_test; unsigned short op_q_upgrade; unsigned short op_s_clean; diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index 138389fa..2b748a1c 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -121,7 +121,6 @@ static void usage(int op, char *myname) printf(_(" -s, --search search locally-installed packages for matching strings\n")); printf(_(" -t, --orphans list all packages not required by any package\n")); printf(_(" -u, --upgrades list all packages that can be upgraded\n")); - printf(_(" --test check the consistency of the local database\n")); } else if(op == PM_OP_SYNC) { printf("%s: %s {-S --sync} [%s] [%s]\n", str_usg, myname, str_opt, str_pkg); printf("%s:\n", str_opt); @@ -284,7 +283,6 @@ static int parseargs(int argc, char *argv[]) {"ask", required_argument, 0, 1006}, {"cachedir", required_argument, 0, 1007}, {"asdeps", no_argument, 0, 1008}, - {"test", no_argument, 0, 1009}, {0, 0, 0, 0} }; @@ -338,9 +336,6 @@ static int parseargs(int argc, char *argv[]) case 1008: config->flags |= PM_TRANS_FLAG_ALLDEPS; break; - case 1009: - config->op_q_test = 1; - break; case 'A': config->op = (config->op != PM_OP_MAIN ? 0 : PM_OP_ADD); break; case 'F': config->op = (config->op != PM_OP_MAIN ? 0 : PM_OP_UPGRADE); diff --git a/src/pacman/query.c b/src/pacman/query.c index 476ca152..26a1bd8f 100644 --- a/src/pacman/query.c +++ b/src/pacman/query.c @@ -213,29 +213,6 @@ static int query_group(alpm_list_t *targets) return ret; } -static int query_test(void) -{ - int ret = 0; - alpm_list_t *testlist; - - printf(_("Checking database for consistency... ")); - testlist = alpm_db_test(db_local); - if(testlist == NULL) { - printf(_("check complete.\n")); - return(0); - } else { - /* on failure, increment the ret val by 1 for each failure */ - alpm_list_t *i; - printf(_("check failed!\n")); - fflush(stdout); - for(i = testlist; i; i = alpm_list_next(i)) { - fprintf(stderr, "%s\n", (char*)alpm_list_getdata(i)); - ret++; - } - return(ret); - } -} - static int query_upgrades(void) { alpm_list_t *syncpkgs; @@ -338,12 +315,6 @@ int pacman_query(alpm_list_t *targets) return(ret); } - /* check DB consistancy */ - if(config->op_q_test) { - ret = query_test(); - return(ret); - } - /* check for package upgrades */ if(config->op_q_upgrade) { ret = query_upgrades(); diff --git a/src/util/Makefile.am b/src/util/Makefile.am index edc5a95d..97a0ffa1 100644 --- a/src/util/Makefile.am +++ b/src/util/Makefile.am @@ -1,5 +1,16 @@ +# paths set at make time +conffile = ${sysconfdir}/pacman.conf +dbpath = ${localstatedir}/lib/pacman/ +cachedir = ${localstatedir}/cache/pacman/pkg/ + bin_PROGRAMS = vercmp testpkg testdb +DEFS = -DLOCALEDIR=\"@localedir@\" \ + -DCONFFILE=\"$(conffile)\" \ + -DROOTDIR=\"$(ROOTDIR)\" \ + -DDBPATH=\"$(dbpath)\" \ + -DCACHEDIR=\"$(cachedir)\" \ + @DEFS@ INCLUDES = -I$(top_srcdir)/lib/libalpm AM_CFLAGS = -pedantic -D_GNU_SOURCE diff --git a/src/util/testdb.c b/src/util/testdb.c index a81a5e8b..d59d0108 100644 --- a/src/util/testdb.c +++ b/src/util/testdb.c @@ -135,19 +135,23 @@ int main(int argc, char **argv) { int retval = 0; /* default = false */ pmdb_t *db = NULL; - char dbpath[PATH_MAX]; + char *dbpath; + char localdbpath[PATH_MAX]; alpm_list_t *i; - if(argc != 2) { - fprintf(stderr, "usage: %s \n", basename(argv[0])); + if(argc == 1) { + dbpath = DBPATH; + } else if(argc == 3 && strcmp(argv[1], "-b") == 0) { + dbpath = argv[2]; + } else { + fprintf(stderr, "usage: %s -b \n", basename(argv[0])); return(1); } - snprintf(dbpath, PATH_MAX, "%s/local", argv[1]); - - retval = db_test(dbpath); + snprintf(localdbpath, PATH_MAX, "%s/local", dbpath); + retval = db_test(localdbpath); if(retval) { - exit(retval); + return(retval); } if(alpm_initialize() == -1) { @@ -158,7 +162,7 @@ int main(int argc, char **argv) /* let us get log messages from libalpm */ alpm_option_set_logcb(output_cb); - alpm_option_set_dbpath(argv[1]); + alpm_option_set_dbpath(dbpath); db = alpm_db_register_local(); if(db == NULL) { -- cgit v1.2.3