Date: Sat, 27 Jul 2013 23:47:35 GMT From: mattbw@FreeBSD.org To: svn-soc-all@FreeBSD.org Subject: socsvn commit: r255240 - in soc2013/mattbw/backend: . actions Message-ID: <201307272347.r6RNlZYk087639@socsvn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: mattbw Date: Sat Jul 27 23:47:35 2013 New Revision: 255240 URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=255240 Log: (Untested) Implement UpdateSystem. UpdateSystem can't yet be said to do anything other than proceed to install at the moment, as the lack of decent error reporting means that it is just failing with a flat "couldn't install packages". It is, however, now properly plumbed in and available through `pkcon update`. Next: UpdatePackages, hopefully. Modified: soc2013/mattbw/backend/Makefile soc2013/mattbw/backend/actions.h soc2013/mattbw/backend/actions/update_system.c soc2013/mattbw/backend/pk-backend-pkgng.c Modified: soc2013/mattbw/backend/Makefile ============================================================================== --- soc2013/mattbw/backend/Makefile Sat Jul 27 22:44:55 2013 (r255239) +++ soc2013/mattbw/backend/Makefile Sat Jul 27 23:47:35 2013 (r255240) @@ -45,7 +45,7 @@ actions/search_files.c \ actions/search_groups.c \ actions/search_names.c \ - actions/update_packages.c + actions/update_system.c SRCS+= \ query/core.c \ Modified: soc2013/mattbw/backend/actions.h ============================================================================== --- soc2013/mattbw/backend/actions.h Sat Jul 27 22:44:55 2013 (r255239) +++ soc2013/mattbw/backend/actions.h Sat Jul 27 23:47:35 2013 (r255240) @@ -43,7 +43,6 @@ gboolean simulate_install_files_thread(PkBackend *backend); gboolean simulate_install_packages_thread(PkBackend *backend); gboolean simulate_remove_packages_thread(PkBackend *backend); -gboolean simulate_update_system_thread(PkBackend *backend); gboolean update_system_thread(PkBackend *backend); #endif /* !_PKGNG_BACKEND_ACTIONS_H_ */ Modified: soc2013/mattbw/backend/actions/update_system.c ============================================================================== --- soc2013/mattbw/backend/actions/update_system.c Sat Jul 27 22:44:55 2013 (r255239) +++ soc2013/mattbw/backend/actions/update_system.c Sat Jul 27 23:47:35 2013 (r255240) @@ -25,11 +25,11 @@ #include "pkg.h" /* pkg... */ #include "../actions.h" /* update_system_thread prototype */ +#include "../db.h" /* db_open_remote */ +#include "../utils.h" /* ERR */ #include "../pkgutils.h" /* pkgutils_... */ #include "../jobs.h" /* jobs_... */ -static gboolean update_system(PkBackend *backend, bool simulate); - /* * The thread that performs an UpdateSystem operation. Should be invoked * by the pk_backend_update_system hook. @@ -37,26 +37,14 @@ gboolean update_system_thread(PkBackend *backend) { - - return update_system(backend, false); -} - -gboolean -simulate_update_system_thread(PkBackend *backend) -{ - - return update_system(backend, true); -} - -static gboolean -update_system(PkBackend *backend, bool simulate) -{ bool success; struct pkgdb *db; struct pkg_jobs *jobs; assert(backend != NULL); + success = false; + db = db_open_remote(backend); if (db == NULL) goto cleanup; @@ -65,7 +53,7 @@ * the full query approach. */ jobs = NULL; - if (pkg_jobs_new(&jobs, type, db) != EPKG_OK) { + if (pkg_jobs_new(&jobs, PKG_JOBS_UPGRADE, db) != EPKG_OK) { ERR(backend, PK_ERROR_ENUM_INTERNAL_ERROR, "could not init pkg_jobs"); @@ -80,14 +68,9 @@ (void)pk_backend_set_status(backend, PK_STATUS_ENUM_UPDATE); - if (simulate) { - success = true; - jobs_emit_packages(jobs, backend, - pkgutils_pkg_install_state); - } else - success = jobs_apply(jobs, backend, - PK_ERROR_ENUM_NO_PACKAGES_TO_UPDATE, - PK_ERROR_ENUM_PACKAGE_FAILED_TO_INSTALL); + success = jobs_apply(jobs, backend, + PK_ERROR_ENUM_NO_PACKAGES_TO_UPDATE, + PK_ERROR_ENUM_PACKAGE_FAILED_TO_INSTALL); cleanup: (void)pk_backend_finished(backend); Modified: soc2013/mattbw/backend/pk-backend-pkgng.c ============================================================================== --- soc2013/mattbw/backend/pk-backend-pkgng.c Sat Jul 27 22:44:55 2013 (r255239) +++ soc2013/mattbw/backend/pk-backend-pkgng.c Sat Jul 27 23:47:35 2013 (r255240) @@ -270,6 +270,8 @@ THREAD(backend, simulate_remove_packages_thread); } +#if 0 + void pk_backend_simulate_update_packages(PkBackend *backend, gchar **package_ids) { @@ -289,3 +291,14 @@ assert(backend != NULL); THREAD(backend, update_packages_thread); } + +#endif + +void +pk_backend_update_system(PkBackend *backend, gboolean only_trusted) +{ + + INTENTIONALLY_IGNORE(only_trusted); /* not yet supported */ + assert(backend != NULL); + THREAD(backend, update_system_thread); +}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201307272347.r6RNlZYk087639>