socsvn commit: r255266 - soc2013/mattbw/backend

mattbw at FreeBSD.org mattbw at FreeBSD.org
Sun Jul 28 16:51:47 UTC 2013


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);
 


More information about the svn-soc-all mailing list