Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Jul 2013 16:51:46 GMT
From:      mattbw@FreeBSD.org
To:        svn-soc-all@FreeBSD.org
Subject:   socsvn commit: r255266 - soc2013/mattbw/backend
Message-ID:  <201307281651.r6SGpkd7041939@socsvn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: mattbw
Date: Sun Jul 28 16:51:46 2013
New Revision: 255266
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=255266

Log:
  Allow rejecting non-update packages at the jobs level.
  
  This is intended to be used for UpdatePackages and is a bolt-on addition
  to the jobs PackageID check, for now at least.
  

Modified:
  soc2013/mattbw/backend/jobs.c
  soc2013/mattbw/backend/jobs.h

Modified: soc2013/mattbw/backend/jobs.c
==============================================================================
--- soc2013/mattbw/backend/jobs.c	Sun Jul 28 16:31:22 2013	(r255265)
+++ soc2013/mattbw/backend/jobs.c	Sun Jul 28 16:51:46 2013	(r255266)
@@ -60,7 +60,8 @@
  * packages that match the PackageIDs match them fully.
  */
 bool
-jobs_check_package_ids(struct pkg_jobs *jobs, gchar **package_ids)
+jobs_check_package_ids(struct pkg_jobs *jobs, gchar **package_ids,
+    bool reject_non_updates)
 {
 	bool success;
 	guint count;
@@ -120,6 +121,10 @@
  				else
  					free(match_id);
  			}
+
+ 			if (success && reject_non_updates &&
+ 			    pkgutils_pkg_install_state(pkg) != PK_INFO_ENUM_UPDATING)
+ 				success = false;
  		}
  	}
 

Modified: soc2013/mattbw/backend/jobs.h
==============================================================================
--- soc2013/mattbw/backend/jobs.h	Sun Jul 28 16:31:22 2013	(r255265)
+++ soc2013/mattbw/backend/jobs.h	Sun Jul 28 16:51:46 2013	(r255266)
@@ -27,7 +27,7 @@
 typedef		PkInfoEnum (*pkg_info_ptr) (struct pkg *pkg);
 
 bool		jobs_apply(struct pkg_jobs *jobs, PkBackend *backend, PkErrorEnum no_jobs, PkErrorEnum job_failed);
-bool		jobs_check_package_ids(struct pkg_jobs *jobs, gchar **package_ids);
+bool		jobs_check_package_ids(struct pkg_jobs *jobs, gchar **package_ids, bool reject_non_updates);
 char	      **jobs_add_package_ids(struct pkg_jobs *jobs, gchar **package_ids);
 void		jobs_emit_packages(struct pkg_jobs *jobs, PkBackend *backend, pkg_info_ptr info);
 



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