Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Sep 2013 19:28:45 GMT
From:      mattbw@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r256843 - in soc2013/mattbw/backend: . jobs
Message-ID:  <201309021928.r82JSjJM064153@socsvn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201309021928.r82JSjJM064153>