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>