socsvn commit: r256843 - in soc2013/mattbw/backend: . jobs
mattbw at FreeBSD.org
mattbw at FreeBSD.org
Mon Sep 2 19:28:45 UTC 2013
Author: mattbw
Date: Mon Sep 2 19:28:44 2013
New Revision: 256843
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=256843
Log:
Make repository validation work- ish.
This seems to work better than it did before this commit, but the jobs are
still trying to match packages from other repositories.
Modified:
soc2013/mattbw/backend/jobs/do.c
soc2013/mattbw/backend/utils.c
Modified: soc2013/mattbw/backend/jobs/do.c
==============================================================================
--- soc2013/mattbw/backend/jobs/do.c Mon Sep 2 19:03:40 2013 (r256842)
+++ soc2013/mattbw/backend/jobs/do.c Mon Sep 2 19:28:44 2013 (r256843)
@@ -259,15 +259,29 @@
assert(jobs != NULL);
/* reponame can be NULL */
- success = true;
+ success = false;
+ repo = NULL;
/*
* We need to convert the repo name to an ident. This is the only
* place an ident works but a name doesn't, it seems.
*/
- repo = pkg_repo_find_name(reponame);
- if (repo != NULL) {
- success = jobs_set_repo(jobs, pkg_repo_ident(repo));
+ switch(type_of_repo_name(reponame)) {
+ case REPO_REMOTE:
+ success = jobs_set_repo(jobs,
+ pkg_repo_ident_from_name(reponame));
+ break;
+ case REPO_LOCAL:
+ case REPO_ANY:
+ /*
+ * No need to set the repository name; we're either dealing
+ * with a local package or a wildcard-repo one.
+ */
+ success = true;
+ break;
+ case REPO_INVALID:
+ success = false;
+ break;
}
if (!success) {
char *err_message;
Modified: soc2013/mattbw/backend/utils.c
==============================================================================
--- soc2013/mattbw/backend/utils.c Mon Sep 2 19:03:40 2013 (r256842)
+++ soc2013/mattbw/backend/utils.c Mon Sep 2 19:28:44 2013 (r256843)
@@ -42,7 +42,8 @@
rtype = REPO_ANY;
} else if (strcmp(name, "installed") == 0) {
rtype = REPO_LOCAL;
- } else if (pkg_repo_find_name(name) != NULL) {
+ } else if (pkg_repo_find_ident(pkg_repo_ident_from_name(name))
+ != NULL) {
rtype = REPO_REMOTE;
} else {
rtype = REPO_INVALID;
More information about the svn-soc-all
mailing list