diff options
-rw-r--r-- | doc/pacman.8 | 4 | ||||
-rw-r--r-- | lib/libalpm/alpm.h | 1 | ||||
-rw-r--r-- | lib/libalpm/be_files.c | 32 | ||||
-rw-r--r-- | lib/libalpm/db.c | 13 | ||||
-rw-r--r-- | lib/libalpm/db.h | 1 | ||||
-rw-r--r-- | src/pacman/conf.h | 1 | ||||
-rw-r--r-- | src/pacman/pacman.c | 5 | ||||
-rw-r--r-- | src/pacman/query.c | 29 | ||||
-rw-r--r-- | src/util/Makefile.am | 11 | ||||
-rw-r--r-- | 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 <regex> 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 <pacman db>\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 <pacman db>\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) { |