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